Potreba za šifriranjem korespondencije pojavila se u antičkom svijetu i pojavile su se jednostavne zamjenske šifre. Šifrovane poruke određivale su sudbinu mnogih bitaka i uticale na tok istorije. Vremenom su ljudi izmišljali sve naprednije metode šifriranja.
Šifra i šifra su, inače, različiti koncepti. Prvi znači zamjenu svake riječi u poruci kodnom riječi. Drugi je šifriranje svakog simbola informacije pomoću specifičnog algoritma.
Nakon što je matematika počela da kodira informacije i razvijena teorija kriptografije, naučnici su otkrili mnoga korisna svojstva ove primijenjene nauke. Na primjer, algoritmi za dekodiranje pomogli su da se razotkriju mrtvi jezici kao što su staroegipatski ili latinski.
Steganografija
Steganografija je starija od kodiranja i enkripcije. Ova umjetnost postoji već dugo vremena. To doslovno znači "skriveno pisanje" ili "šifrirano pisanje". Iako steganografija ne zadovoljava u potpunosti definicije šifre ili šifre, ona je namijenjena skrivanju informacija od stranaca.oko.
Steganografija je najjednostavnija šifra. Progutane bilješke prekrivene voskom su tipični primjeri ili poruka na obrijanoj glavi koja se skriva ispod izrasle kose. Najjasniji primjer steganografije je metoda opisana u mnogim engleskim (i ne samo) detektivskim knjigama, kada se poruke prenose kroz novine, gdje su slova neupadljivo označena.
Glavni nedostatak steganografije je to što je pažljivi stranac može primijetiti. Stoga, kako bi se spriječilo lako čitanje tajne poruke, koriste se metode šifriranja i kodiranja u sprezi sa steganografijom.
ROT1 i Cezarova šifra
Naziv ove šifre je ROTate 1 slovo naprijed, i poznat je mnogim školarcima. To je jednostavna supstitucijska šifra. Njegova suština leži u činjenici da se svako slovo šifrira pomicanjem po abecednom redu za 1 slovo naprijed. A -> B, B -> C, …, Z -> A. Na primjer, šifriramo frazu "naša Nastya glasno plače" i dobijamo "general Obtua dspnlp rmbsheu".
Šifra ROT1 se može generalizirati na proizvoljan broj pomaka, tada se zove ROTN, gdje je N broj za koji treba pomjeriti šifriranje slova. U ovom obliku, šifra je poznata od davnina i naziva se "Cezarova šifra".
Cezarova šifra je vrlo jednostavna i brza, ali je jednostavna šifra sa jednom permutacijom i stoga je lako razbiti. Imajući takav nedostatak, pogodan je samo za djetinjaste šale.
transpozicijske ili permutacijske šifre
Ove vrste jednostavnih permutacionih šifri su ozbiljnije i aktivno su se koristile ne tako davno. Tokom Američkog građanskog rata i Prvog svjetskog rata koristio se za slanje poruka. Njegov algoritam se sastoji u preuređivanju slova na mjesta - napišite poruku obrnutim redoslijedom ili preuredite slova u parove. Na primjer, šifrirajmo frazu "Morseova azbuka je također šifra" -> "akubza ezrom - jež rfish".
Sa dobrim algoritmom koji je određivao proizvoljne permutacije za svaki karakter ili grupu njih, šifra je postala otporna na jednostavno razbijanje. Ali! Samo u dogledno vrijeme. Budući da se šifra lako razbija jednostavnim grubom silom ili podudaranjem rječnika, danas svaki pametni telefon može podnijeti njegovu dešifriranje. Stoga je pojavom kompjutera i ova šifra prešla u kategoriju dječjih.
Morseova kod
ABC je medij za razmjenu informacija i njegov glavni zadatak je da poruke učini lakšim i razumljivijim za prijenos. Iako je to suprotno onome čemu je šifriranje namijenjeno. Ipak, radi kao najjednostavnije šifre. U Morzeovom sistemu, svako slovo, broj i interpunkcijski znak imaju svoj kod, sastavljen od grupe crtica i tačaka. Prilikom slanja poruke telegrafom, crtice i tačke predstavljaju duge i kratke signale.
Telegraf i Morzeov kod… Morse je bio prvi koji je patentirao "svoj" izum 1840. godine, iako su slični uređaji izmišljeni u Rusiji i Engleskoj prije njega. Ali koga sad briga… Telegraf i abecedaMorzeov kod je imao veoma veliki uticaj na svet, omogućavajući skoro trenutni prenos poruka na kontinentalne udaljenosti.
Monoalfabetska zamjena
ROTN i Morzeov kod opisan gore su primjeri jednoalfabetskih zamjenskih fontova. Prefiks "mono" znači da se tokom šifriranja svako slovo originalne poruke zamjenjuje drugim slovom ili kodom iz jedine abecede šifriranja.
Dešifriranje jednostavnih supstitucijskih šifri nije teško, a to je njihov glavni nedostatak. Oni se rješavaju jednostavnim nabrajanjem ili analizom frekvencija. Na primjer, poznato je da su najčešće korištena slova ruskog jezika “o”, “a”, “i”. Dakle, može se pretpostaviti da u šifriranom tekstu slova koja se javljaju najčešće znače ili "o", ili "a", ili "i". Na osnovu ovih razmatranja, poruka se može dešifrirati čak i bez kompjuterske pretrage.
Poznato je da je Marija I, kraljica Škotske od 1561. do 1567. godine, koristila vrlo složenu jednoalfabetsku supstitucijsku šifru sa nekoliko kombinacija. Ipak, njeni neprijatelji su uspeli da dešifruju poruke, a informacije su bile dovoljne da kraljicu osude na smrt.
Gronsfeld šifra, ili polialfabetska zamjena
Jednostavne šifre kriptografija proglašava beskorisnim. Stoga su mnogi od njih poboljšani. Gronsfeldova šifra je modifikacija Cezarove šifre. Ova metoda je mnogo otpornija na hakiranje i leži u činjenici da je svaki znak kodirane informacije šifriran pomoću jedne od različitih abeceda, koje se ciklički ponavljaju. Može se reći da je ovo višedimenzionalna aplikacijanajjednostavnija supstituciona šifra. Zapravo, Gronsfeldova šifra je vrlo slična Vigenèreovoj šifri o kojoj se govori u nastavku.
ADFGX algoritam šifriranja
Ovo je najpoznatija šifra iz Prvog svetskog rata koju su koristili Nemci. Šifra je dobila ime jer je algoritam šifriranja doveo sve šifrograme do izmjenjivanja ovih slova. Izbor samih slova bio je određen njihovom praktičnošću kada se prenose preko telegrafskih linija. Svako slovo u šifri je predstavljeno sa dva. Pogledajmo zanimljiviju verziju ADFGX kvadrata koji uključuje brojeve i zove se ADFGVX.
A | D | F | G | V | X | |
A | J | Q | A | 5 | H | D |
D | 2 | E | R | V | 9 | Z |
F | 8 | Y | ja | 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 kvadratni algoritam je sljedeći:
- Odaberite nasumično n slova za kolone i redove.
- Izgradnja N x N matrice.
- Unesite abecedu, brojeve, znakove nasumično raspoređene po ćelijama u matricu.
Napravimo sličan kvadrat za ruski jezik. Na primjer, napravimo kvadrat ABCD:
A | B | B | G | D | |
A | E/E | N | b/b | A | I/Y |
B | W | V/F | G/R | Z | D |
B | Sh/Sh | B | L | X | ja |
G | R | M | O | Yu | P |
D | F | T | T | S | U |
Ova matrica izgleda čudno jer red ćelija sadrži dva slova. Ovo je prihvatljivo, smisao poruke se ne gubi. Može se lako obnoviti. Šifrirajte frazu "Kompaktna šifra" koristeći ovu tablicu:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
Fraza | K | O | M | P | A | K | T | N | S | Y | Š | & | F | R |
Šifra | bw | gv | gb | gdje | ag | bw | db | ab | dg | pakao | wa | pakao | bb | ha |
Dakle, konačna šifrovana poruka izgleda ovako: "bvgvgbgdagbvdbabdgvdvaadbbga". Naravno, Nijemci su sproveli sličnu liniju kroz još nekoliko šifri. I na kraju je ispalo vrlo stabilnoda razbijete šifrovanu poruku.
Vigenère cipher
Ova šifra je za red veličine otpornija na pucanje od monoabecedne šifre, iako je jednostavna šifra za zamjenu teksta. Međutim, zbog robusnog algoritma, dugo se smatralo nemogućim hakirati. Prvi spomen o njemu datira iz 16. veka. Vigenère (francuski diplomata) je pogrešno pripisan kao njegov pronalazač. Da biste bolje razumjeli o čemu je riječ, uzmite u obzir Vigenèreovu tabelu (Vigenèreov kvadrat, tabula recta) za ruski jezik.
Počnimo s kodiranjem fraze "Kasperovich se smije". Ali da bi enkripcija uspjela, potrebna je ključna riječ - neka to bude "password". Sada počnimo sa šifriranjem. Da bismo to učinili, pišemo ključ toliko puta da broj slova iz njega odgovara broju slova u šifriranoj frazi, ponavljanjem ključa ili rezanjem:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Fraza: | K | A | S | P | E | R | O | B | & | W | S | M | E | E | T | S | ja |
Ključ | P | A | R | O | L | b | P | A | R | O | L | b | P | A | R | O | L |
Sada, koristeći Vigenèreovu tabelu, kao u koordinatnoj ravni, tražimo ćeliju koja je presek parova slova, i dobijamo: K + P=b, A + A=B, C + P=C, itd.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
Šifra: | b | B | B | Yu | S | N | Yu | G | Sch | F | E | Y | X | F | G | A | L |
Shvatamo da se "Kasperovich smije"="bvusnyugschzh eykhzhgal".
Probijanje Vigenèreove šifre je tako teško jer analiza frekvencije mora znati dužinu ključne riječi da bi uspjela. Dakle, hak je nasumično izbaciti dužinu ključne riječi i pokušati provaliti tajnu poruku.
Također treba napomenuti da se pored potpuno slučajnog ključa može koristiti i potpuno drugačija Vigenère tabela. U ovom slučaju, Vigenèreov kvadrat se sastoji od red po red pisane ruske abecede sa pomakom od jedan. Što nas upućuje na ROT1 šifru. I baš kao u Cezar šifri, ofset može biti bilo šta. Osim toga, redoslijed slova ne mora biti abecedni. U ovom slučaju, tabela sama po sebi može biti ključ, bez znanja koje će biti nemoguće pročitati poruku, čak ni znajući ključ.
Kodovi
Pravi kodovi se sastoje od podudaranja za svakiriječi posebnog koda. Za rad s njima potrebne su takozvane šifrarke. Zapravo, ovo je isti rječnik, koji samo sadrži prijevode riječi u kodove. Tipičan i pojednostavljen primjer kodova je ASCII tabela - međunarodna šifra jednostavnih znakova.
Glavna prednost kodova je da ih je vrlo teško dešifrirati. Analiza frekvencija gotovo da ne radi kada su hakovani. Slabost kodova su, u stvari, same knjige. Prvo, njihova priprema je složen i skup proces. Drugo, za neprijatelje se pretvaraju u željeni objekt i presretanje čak i dijela knjige prisiljava vas da potpuno promijenite sve kodove.
U 20. veku, mnoge države su koristile kodove za prenos tajnih podataka, menjajući šifrarnik nakon određenog perioda. Takođe su aktivno lovili knjige komšija i protivnika.
Enigma
Svi znaju da je Enigma bila glavna nacistička mašina za šifrovanje tokom Drugog svetskog rata. Struktura Enigme uključuje kombinaciju električnih i mehaničkih kola. Kako će šifra ispasti ovisi o početnoj konfiguraciji Enigme. Istovremeno, Enigma automatski mijenja svoju konfiguraciju tokom rada, šifrirajući jednu poruku na nekoliko načina cijelom dužinom.
Za razliku od najjednostavnijih šifri, "Enigma" je dala trilione mogućih kombinacija, što je učinilo probijanje šifriranih informacija gotovo nemogućim. Zauzvrat, nacisti su imali pripremljenu određenu kombinaciju za svaki dan, koju su onikoristi se određenog dana za slanje poruka. Stoga, čak i ako je Enigma pala u ruke neprijatelja, nije učinila ništa da dešifruje poruke bez unosa ispravne konfiguracije svaki dan.
Hak "Enigma" je aktivno pokušavan tokom čitave Hitlerove vojne kampanje. U Engleskoj je 1936. za to izgrađen jedan od prvih računarskih uređaja (Turingova mašina), koji je u budućnosti postao prototip računara. Njegov zadatak je bio da simulira rad nekoliko desetina Enigmi istovremeno i kroz njih propušta presretnute nacističke poruke. Ali čak je i Turingova mašina samo povremeno bila u stanju da provali poruku.
Šifriranje javnog ključa
Najpopularniji algoritam za šifrovanje, koji se koristi svuda u tehnologiji i računarskim sistemima. Njegova suština je, po pravilu, u prisustvu dva ključa, od kojih se jedan prenosi javno, a drugi tajni (privatni). Javni ključ se koristi za šifriranje poruke, a privatni ključ se koristi za dešifriranje.
Javni ključ je najčešće veoma veliki broj koji ima samo dva djelitelja, ne računajući jedan i sam broj. Zajedno, ova dva djelitelja čine tajni ključ.
Razmotrimo jednostavan primjer. Neka javni ključ bude 905. Njegovi djelitelji su brojevi 1, 5, 181 i 905. Tada će tajni ključ biti, na primjer, broj 5181. Kažete da je previše lako? Šta ako u ulozijavni broj će biti broj sa 60 cifara? Matematički teško izračunati djelitelje velikog broja.
Za slikovitiji primjer, zamislite da podižete novac sa bankomata. Prilikom čitanja kartice, lični podaci se šifruju određenim javnim ključem, a na strani banke se podaci dešifruju tajnim ključem. I ovaj javni ključ se može promijeniti za svaku operaciju. I nema načina da se brzo pronađu ključni djelitelji kada ga presretnete.
Trajnost fonta
Kriptografska snaga algoritma za šifrovanje je sposobnost da se odupre hakiranju. Ovaj parametar je najvažniji za bilo koju enkripciju. Očigledno, jednostavna zamjenska šifra, koju može dešifrirati bilo koji elektronski uređaj, jedna je od najnestabilnijih.
Danas ne postoje jedinstveni standardi po kojima bi bilo moguće procijeniti snagu šifre. Ovo je naporan i dug proces. Međutim, postoji veliki broj komisija koje su izradile standarde u ovoj oblasti. Na primjer, minimalni zahtjevi za Advanced Encryption Standard ili AES algoritam šifriranja koji je razvio NIST USA.
Za referencu: Vernamova šifra je prepoznata kao najotpornija šifra na razbijanje. Istovremeno, njegova prednost je što je po svom algoritmu najjednostavnija šifra.