Behovet av att kryptera korrespondens uppstod i den antika världen, och enkla substitutionschiffer dök upp. Krypterade meddelanden avgjorde ödet för många strider och påverkade historiens gång. Med tiden uppfann människor mer och mer avancerade krypteringsmetoder.
Kod och chiffer är förresten olika begrepp. Det första innebär att ersätta varje ord i meddelandet med ett kodord. Den andra är att kryptera varje symbol med information med en specifik algoritm.
Efter att matematiken började koda information och teorin om kryptografi utvecklades, upptäckte forskare många användbara egenskaper hos denna tillämpade vetenskap. Till exempel har avkodningsalgoritmer hjälpt till att reda ut döda språk som forntida egyptiska eller latin.
Steganography
Steganografi är äldre än kodning och kryptering. Denna konst har funnits väldigt länge. Det betyder bokstavligen "dold skrift" eller "chifferskrivning". Även om steganografi inte riktigt uppfyller definitionerna av en kod eller ett chiffer, är det avsett att dölja information från främlingar.öga.
Steganografi är det enklaste chiffret. Sväljningsnoter täckta med vax är typiska exempel, eller ett meddelande på ett rakat huvud som gömmer sig under vuxit hår. Det tydligaste exemplet på steganografi är metoden som beskrivs i många engelska (och inte bara) deckarböcker, när meddelanden sänds genom en tidning, där bokstäver är oansenligt markerade.
Den största nackdelen med steganografi är att en uppmärksam främling kan lägga märke till det. Därför, för att förhindra att det hemliga meddelandet lätt kan läsas, används kryptering och kodningsmetoder i samband med steganografi.
ROT1 och Caesar-chiffer
Namnet på detta chiffer är ROTera 1 bokstav framåt, och det är känt för många skolbarn. Det är ett enkelt substitutionschiffer. Dess kärna ligger i det faktum att varje bokstav krypteras genom att alfabetiskt flyttas 1 bokstav framåt. A -> B, B -> C, …, Z -> A. Till exempel krypterar vi frasen "vår Nastya gråter högt" och vi får "general Obtua dspnlp rmbsheu".
ROT1-chifferet kan generaliseras till ett godtyckligt antal förskjutningar, sedan kallas det ROTN, där N är numret med vilket krypteringen av bokstäver ska skiftas. I denna form har chiffret varit känt sedan urminnes tider och kallas "Caesar-chifferet".
Caesar-chifferet är väldigt enkelt och snabbt, men det är ett enkelt enstaka permutationschiffer och är därför lätt att bryta. Med en sådan nackdel är den bara lämplig för barnsliga spratt.
Transpositions- eller permutationschiffer
De här typerna av enkla permutationschiffer är mer seriösa och användes aktivt för inte så länge sedan. Under det amerikanska inbördeskriget och första världskriget användes den för att skicka meddelanden. Hans algoritm består i att ordna om bokstäverna på sina ställen - skriv meddelandet i omvänd ordning eller ordna om bokstäverna i par. Låt oss till exempel kryptera frasen "Morsekod är också ett chiffer" -> "akubza ezrom - hedgehog rfish".
Med en bra algoritm som bestämde godtyckliga permutationer för varje karaktär eller grupp av dem, blev chifferet resistent mot enkel sprickbildning. Men! Bara i sinom tid. Eftersom chiffret lätt bryts av enkel brute force eller ordboksmatchning, kan idag vilken smartphone som helst hantera dess dekryptering. Därför, med tillkomsten av datorer, flyttade detta chiffer också in i kategorin barns.
Morsekod
ABC är ett medium för informationsutbyte och dess huvudsakliga uppgift är att göra meddelanden enklare och mer begripliga för överföring. Även om detta strider mot vad kryptering är avsett för. Ändå fungerar det som de enklaste chiffer. I morsesystemet har varje bokstav, siffra och skiljetecken sin egen kod, som består av en grupp av streck och punkter. När du skickar ett meddelande med telegrafen representerar streck och punkter långa och korta signaler.
Telegraf och morsekod… Morse var den som först patenterade "sin" uppfinning 1840, även om liknande anordningar hade uppfunnits i Ryssland och England före honom. Men vem bryr sig nu… Telegraf och alfabetMorsekod hade en mycket stor inverkan på världen och möjliggjorde nästan omedelbar överföring av meddelanden över kontinentala avstånd.
monoalfabetisk substitution
ROTN- och morsekoden som beskrivs ovan är exempel på monoalfabetiska ersättningsteckensnitt. Prefixet "mono" betyder att under kryptering ersätts varje bokstav i det ursprungliga meddelandet med en annan bokstav eller kod från det enda krypteringsalfabetet.
Det är inte svårt att dechiffrera enkla substitutionschiffer, och detta är deras största nackdel. De löses genom enkel uppräkning eller frekvensanalys. Till exempel är det känt att de mest använda bokstäverna i det ryska språket är "o", "a", "i". Man kan alltså anta att i chiffertexten de bokstäver som förekommer oftast betyder antingen "o", eller "a", eller "och". Baserat på dessa överväganden kan meddelandet dekrypteras även utan datorsökning.
Det är känt att Mary I, drottning av Skottland från 1561 till 1567, använde ett mycket komplext monoalfabetiskt substitutionschiffer med flera kombinationer. Ändå kunde hennes fiender tyda meddelandena, och informationen var tillräcklig för att döma drottningen till döden.
Gronsfeld-chiffer, eller polyalfabetisk substitution
Enkla chiffer förklaras värdelösa av kryptografi. Därför har många av dem förbättrats. Gronsfeld-chifferet är en modifikation av Caesar-chifferet. Denna metod är mycket mer motståndskraftig mot hackning och ligger i det faktum att varje tecken i den kodade informationen krypteras med ett av de olika alfabeten, som upprepas cykliskt. Man kan säga att detta är en flerdimensionell applikationdet enklaste substitutionschifferet. Faktum är att Gronsfeld-chifferet är mycket likt Vigenère-chifferet som diskuteras nedan.
ADFGX-krypteringsalgoritm
Detta är det mest kända chiffer från första världskriget som användes av tyskarna. Chifferet fick sitt namn eftersom krypteringsalgoritmen ledde alla chiffergram till växlingen av dessa bokstäver. Valet av själva bokstäverna bestämdes av deras bekvämlighet när de sänds över telegraflinjer. Varje bokstav i chiffret representeras av två. Låt oss titta på en mer intressant version av ADFGX-rutan som innehåller siffror och kallas ADFGVX.
A | D | F | G | V | X | |
A | J | Q | A | 5 | H | D |
D | 2 | E | R | V | 9 | Z |
F | 8 | Y | I | N | K | V |
G | U | P | B | F | 6 | O |
V | 4 | G | X | S | 3 | T |
X | W | L | Q | 7 | C | 0 |
ADFGX-kvadreringsalgoritmen är följande:
- Välj slumpmässiga n bokstäver för kolumner och rader.
- Bygga en N x N-matris.
- Ange alfabetet, siffrorna, tecknen slumpmässigt utspridda över cellerna i matrisen.
Låt oss skapa en liknande ruta för det ryska språket. Låt oss till exempel skapa en kvadrat ABCD:
A | B | B | G | D | |
A | E/E | N | b/b | A | I/Y |
B | W | V/F | G/R | З | D |
B | Sh/Sh | B | L | X | I |
G | R | M | O | Yu | P |
D | F | T | T | S | U |
Denna matris ser konstig ut eftersom en rad med celler innehåller två bokstäver. Detta är acceptabelt, innebörden av meddelandet går inte förlorad. Det kan enkelt återställas. Kryptera frasen "Kompakt chiffer" med denna tabell:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
Fras | K | O | M | P | A | K | T | N | S | Y | Ш | & | F | R |
Cipher | bw | gv | gb | where | ag | bw | db | ab | dg | helvete | wa | helvete | bb | ha |
Det slutgiltiga krypterade meddelandet ser alltså ut så här: "bvgvgbgdagbvdbabdgvdvaadbbga". Naturligtvis genomförde tyskarna en liknande linje genom flera fler chiffer. Och till slut blev det väldigt stabiltför att knäcka det krypterade meddelandet.
Vigenère-chiffer
Detta chiffer är en storleksordning som är mer motståndskraftigt mot sprickor än monoalfabetiska, även om det är ett enkelt textersättnings-chiffer. Men på grund av den robusta algoritmen ansågs det länge vara omöjligt att hacka. Det första omnämnandet av det går tillbaka till 1500-talet. Vigenère (en fransk diplomat) krediteras felaktigt som dess uppfinnare. För att bättre förstå vad som står på spel, överväg Vigenère-bordet (Vigenère square, tabula recta) för det ryska språket.
Låt oss börja koda frasen "Kasperovich skrattar". Men för att kryptering ska lyckas krävs ett nyckelord - låt det vara "lösenord". Låt oss nu börja kryptering. För att göra detta skriver vi nyckeln så många gånger att antalet bokstäver från den motsvarar antalet bokstäver i den krypterade frasen, genom att upprepa nyckeln eller klippa:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Fras: | K | A | С | P | E | R | O | B | & | W | С | M | E | E | T | С | I |
Key | P | A | R | O | L | b | P | A | R | O | L | b | P | A | R | O | L |
Nu, med hjälp av Vigenère-tabellen, som i koordinatplanet, letar vi efter en cell som är skärningspunkten mellan bokstäverpar, och vi får: K + P=b, A + A=B, C + P=C, etc.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Cipher: | b | B | B | Yu | С | N | Yu | G | Sch | F | E | Y | X | F | G | A | L |
Vi förstår att "Kasperovich skrattar"="bvusnyugschzh eykhzhgal".
Knäcka Vigenère-chifferet är så svårt eftersom frekvensanalys måste veta längden på nyckelordet för att fungera. Så hacket är att slumpmässigt kasta längden på nyckelordet och försöka knäcka det hemliga meddelandet.
Det bör också nämnas att förutom en helt slumpmässig nyckel kan en helt annan Vigenère-tabell användas. I det här fallet består Vigenère-torget av ett rad för rad skrivet ryskt alfabet med en förskjutning på ett. Vilket hänvisar oss till ROT1-chifferet. Och precis som i Caesar-chifferet kan förskjutningen vara vad som helst. Dessutom behöver bokstävernas ordning inte vara alfabetisk. I det här fallet kan själva tabellen vara nyckeln, utan att veta vilken kommer det att vara omöjligt att läsa meddelandet, ens att känna till nyckeln.
Koder
Riktiga koder består av matchningar för varjeord i en separat kod. För att arbeta med dem behövs så kallade kodböcker. I själva verket är detta samma ordbok, som bara innehåller översättningar av ord till koder. Ett typiskt och förenklat exempel på koder är ASCII-tabellen - ett internationellt chiffer av enkla tecken.
Den största fördelen med koder är att de är mycket svåra att tyda. Frekvensanalys fungerar nästan inte när de hackas. Kodernas svaghet är i själva verket själva böckerna. För det första är deras förberedelse en komplex och dyr process. För det andra, för fiender förvandlas de till ett önskat objekt och avlyssningen av en del av boken tvingar dig att ändra alla koder helt.
På 1900-talet använde många stater koder för att överföra hemliga data, och ändrade kodboken efter en viss period. Och de jagade också aktivt efter böcker om grannar och motståndare.
Enigma
Alla vet att Enigma var nazisternas främsta chiffermaskin under andra världskriget. Enigmas struktur inkluderar en kombination av elektriska och mekaniska kretsar. Hur chiffret kommer att bli beror på den initiala konfigurationen av Enigma. Samtidigt ändrar Enigma automatiskt sin konfiguration under drift och krypterar ett meddelande på flera sätt över hela dess längd.
I motsats till de enklaste chifferna gav "Enigma" biljoner möjliga kombinationer, vilket gjorde det nästan omöjligt att knäcka krypterad information. I sin tur lät nazisterna förbereda en viss kombination för varje dag, vilket deanvänds en viss dag för att skicka meddelanden. Därför, även om Enigma föll i fiendens händer, gjorde den ingenting för att dekryptera meddelanden utan att ange rätt konfiguration varje dag.
Hack "Enigma" prövades aktivt under Hitlers hela militärkampanj. I England byggdes 1936 en av de första datorenheterna (Turing-maskinen) för detta, som blev prototypen för datorer i framtiden. Hans uppgift var att simulera driften av flera dussin Enigmas samtidigt och köra avlyssnade nazistiska meddelanden genom dem. Men även Turing-maskinen kunde bara ibland knäcka budskapet.
Public nyckelkryptering
Den mest populära av krypteringsalgoritmerna, som används överallt i teknik och datorsystem. Dess väsen ligger som regel i närvaron av två nycklar, varav en sänds offentligt och den andra är hemlig (privat). Den offentliga nyckeln används för att kryptera meddelandet och den privata nyckeln används för att dekryptera det.
Den publika nyckeln är oftast ett mycket stort tal som bara har två divisorer, inte en och själva talet. Tillsammans bildar dessa två delare en hemlig nyckel.
Låt oss överväga ett enkelt exempel. Låt den publika nyckeln vara 905. Dess delare är talen 1, 5, 181 och 905. Då blir den hemliga nyckeln till exempel talet 5181. Säger du för lätt? Tänk om i rollenoffentligt nummer kommer att vara ett nummer med 60 siffror? Matematiskt svårt att beräkna divisorerna för ett stort tal.
För ett mer levande exempel, föreställ dig att du tar ut pengar från en bankomat. Vid läsning av kortet krypteras personuppgifter med en viss publik nyckel och på bankens sida dekrypteras informationen med en hemlig nyckel. Och denna publika nyckel kan ändras för varje operation. Och det finns inga sätt att snabbt hitta nyckeldelare när du avlyssnar den.
Teckensnittets hållbarhet
Den kryptografiska styrkan hos en krypteringsalgoritm är förmågan att motstå hackning. Denna parameter är den viktigaste för all kryptering. Uppenbarligen är det enkla substitutionschifferet, som kan dekrypteras av vilken elektronisk enhet som helst, ett av de mest instabila.
Idag finns det inga enhetliga standarder enligt vilka det skulle vara möjligt att bedöma chifferns styrka. Detta är en mödosam och lång process. Det finns dock ett antal kommissioner som har tagit fram standarder på detta område. Till exempel minimikraven för Advanced Encryption Standard eller AES-krypteringsalgoritmen utvecklad av NIST USA.
För referens: Vernam-chifferet är känt som det mest motståndskraftiga chiffret mot brott. Samtidigt är fördelen att den, enligt dess algoritm, är det enklaste chiffer.