Jednostavne šifre: opis popularnih kodova i šifri

Sadržaj:

Jednostavne šifre: opis popularnih kodova i šifri
Jednostavne šifre: opis popularnih kodova i šifri
Anonim

Potreba za šifriranjem korespondencije pojavila se u antičkom svijetu i pojavile su se jednostavne zamjenske šifre. Šifrirane poruke određivale su sudbinu mnogih bitaka i utjecale na tijek povijesti. S vremenom su ljudi izumili 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 kodirati informacije i razvila se teorija kriptografije, znanstvenici su otkrili mnoga korisna svojstva ove primijenjene znanosti. Na primjer, algoritmi za dekodiranje pomogli su razotkriti mrtve jezike kao što su staroegipatski ili latinski.

Steganografija

Steganografija starija je od kodiranja i enkripcije. Ova umjetnost postoji već jako dugo. To doslovno znači "skriveno pisanje" ili "šifrirano pisanje". Iako steganografija ne zadovoljava u potpunosti definicije koda ili šifre, namjera joj je sakriti informacije od stranaca.oko.

Steganografija ili kriptografija
Steganografija ili kriptografija

Steganografija je najjednostavnija šifra. Progutane bilješke prekrivene voskom tipični su 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žljiv stranac može primijetiti. Stoga, kako bi se spriječilo lako čitanje tajne poruke, koriste se metode šifriranja i kodiranja zajedno sa steganografijom.

ROT1 i Cezarova šifra

Naziv ove šifre je ROTate 1 slovo naprijed, a poznat je mnogim školarcima. To je jednostavna supstitucijska šifra. Njegova bit leži u činjenici da je svako slovo šifrirano pomicanjem po abecedi za 1 slovo naprijed. A -> B, B -> C, …, Z -> A. Na primjer, šifriramo izraz "naša Nastya glasno plače" i dobivamo "general Obtua dspnlp rmbsheu".

Šifra ROT1 može se generalizirati na proizvoljan broj pomaka, tada se zove ROTN, gdje je N broj za koji treba pomaknuti šifriranje slova. U ovom obliku, šifra je poznata od davnina i naziva se "Cezarova šifra".

Ćirilični disk za Cezarovu šifru
Ćirilični disk za Cezarovu šifru

Cezarova šifra je vrlo jednostavna i brza, ali je jednostavna šifra s jednom permutacijom i stoga je lako razbiti. Imajući takav nedostatak, prikladan je samo za djetinjaste šale.

transpozicijske ili permutacijske šifre

Ove vrste jednostavnih permutacijskih šifri su ozbiljnije i aktivno su korištene ne tako davno. Tijekom američkog građanskog rata i Prvog svjetskog rata koristio se za slanje poruka. Njegov se algoritam sastoji u preuređivanja slova na mjesta - napišite poruku obrnutim redoslijedom ili preuredite slova u parove. Na primjer, šifrirajmo izraz "Morseova azbuka je također šifra" -> "akubza ezrom - jež rfish".

S dobrim algoritmom koji je određivao proizvoljne permutacije za svaki znak ili njihovu skupinu, šifra je postala otporna na jednostavno pucanje. Ali! Samo u svoje vrijeme. Budući da se šifra lako razbija jednostavnom grubom silom ili podudaranjem rječnika, danas svaki pametni telefon može podnijeti njezinu dešifriranje. Stoga je s pojavom računala i ova šifra prešla u kategoriju dječjih.

Morseova kod

ABC je medij razmjene informacija i njegova je glavna zadaća učiniti poruke lakšim i razumljivijim za prijenos. Iako je to suprotno onome čemu je enkripcija namijenjena. Ipak, radi kao najjednostavnije šifre. U Morseovom sustavu svako slovo, broj i interpunkcijski znak imaju svoju šifru, sastavljenu od skupine crtica i točaka. Prilikom slanja poruke telegrafom, crtice i točke predstavljaju duge i kratke signale.

Ćirilica i latinica u Morseovom kodu
Ćirilica i latinica u Morseovom kodu

Telegraf i Morseova azbuka… Morse je bio prvi koji je patentirao "svoj" izum 1840. godine, iako su slični uređaji izumljeni u Rusiji i Engleskoj prije njega. Ali koga sad briga… Telegraf i abecedaMorseov kod je imao vrlo velik utjecaj na svijet, omogućujući gotovo trenutni prijenos poruka na kontinentalne udaljenosti.

Monoalfabetska zamjena

Gore opisani ROTN i Morseov kod primjeri su jednoabecednih zamjenskih fontova. Prefiks "mono" znači da se tijekom enkripcije svako slovo izvorne poruke zamjenjuje drugim slovom ili kodom iz jedine abecede šifriranja.

Dešifriranje jednostavnih zamjenskih šifri nije teško, a to je njihov glavni nedostatak. Rješavaju se 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 pojavljuju najčešće znače ili "o", ili "a", ili "i". Na temelju ovih razmatranja, poruka se može dešifrirati čak i bez računalne pretrage.

Poznato je da je Marija I., kraljica Škotske od 1561. do 1567., koristila vrlo složenu jednoalfabetsku supstitucijsku šifru s nekoliko kombinacija. Ipak su njezini neprijatelji uspjeli dešifrirati poruke, a informacije su bile dovoljne da kraljicu osude na smrt.

Gronsfeldova šifra, ili višeabecedna zamjena

Jednostavne šifre kriptografija proglašava beskorisnima. 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 supstitucijska šifra. Zapravo, Gronsfeldova šifra je vrlo slična Vigenèreovoj šifri o kojoj se govori u nastavku.

ADFGX algoritam enkripcije

Ovo je najpoznatija šifra iz Prvog svjetskog rata koju su koristili Nijemci. Š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 prilikom prijenosa telegrafskim linijama. Svako slovo u šifri je predstavljeno s dva. Pogledajmo zanimljiviju verziju kvadrata ADFGX 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:

  1. Odaberite nasumično n slova za stupce i retke.
  2. Izgradnja N x N matrice.
  3. Unesite abecedu, brojeve, znakove nasumično razbacane 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. To je prihvatljivo, smisao poruke se ne gubi. Lako se može obnoviti. Šifrirajte izraz "Kompaktna šifra" pomoću ove tablice:

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 šifrirana poruka izgleda ovako: "bvgvgbgdagbvdbabdgvdvaadbbga". Naravno, Nijemci su proveli sličnu liniju kroz još nekoliko šifri. I na kraju je ispalo vrlo stabilnoza probijanje šifrirane poruke.

Vigenèreova šifra

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. stoljeća. Vigenère (francuski diplomat) pogrešno je pripisan kao njegov izumitelj. Da biste bolje razumjeli o čemu je riječ, razmotrite Vigenèreovu tablicu (Vigenèreov kvadrat, tabula recta) za ruski jezik.

Vigenèreova tablica s ruskim alfabetom
Vigenèreova tablica s ruskim alfabetom

Počnimo kodirati frazu "Kasperovich se smije". No da bi enkripcija uspjela potrebna je ključna riječ – neka to bude “password”. Sada krenimo s š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 tablicu, kao u koordinatnoj ravnini, tražimo ćeliju koja je sjecište parova slova, i dobivamo: 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

Shvatili smo da se "Kasperovich smije"="bvusnyugschzh eykhzhgal".

Probijanje Vigenèreove šifre je tako teško jer analiza frekvencije mora znati duljinu ključne riječi da bi uspjela. Dakle, hak je nasumično izbaciti duljinu ključne riječi i pokušati provaliti tajnu poruku.

Također treba spomenuti da se osim potpuno slučajnog ključa može koristiti i potpuno drugačija Vigenèreova tablica. U ovom slučaju, Vigenèreov kvadrat sastoji se od redak po red napisane ruske abecede s pomakom od jedan. Što nas upućuje na šifru ROT1. I baš kao u Cezar šifri, offset može biti bilo što. Štoviše, redoslijed slova ne mora biti abecedni. U ovom slučaju, sama tablica može biti ključ, bez znanja kojega neće biti moguće pročitati poruku, čak ni znajući ključ.

Kodovi

Pravi kodovi se sastoje od podudaranja za svakiriječi zasebnog 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 tablica - međunarodna šifra jednostavnih znakova.

Tablica ASCII kodova
Tablica ASCII kodova

Glavna prednost kodova je da ih je vrlo teško dešifrirati. Analiza frekvencije gotovo ne radi kada su hakirani. Slabost kodova su, zapravo, 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. stoljeću mnoge su države koristile kodove za prijenos tajnih podataka, mijenjajući šifrarnik nakon određenog razdoblja. A također su aktivno lovili knjige susjeda i protivnika.

Enigma

Svi znaju da je Enigma bila glavni nacistički stroj za šifriranje tijekom Drugog svjetskog rata. Struktura Enigme uključuje kombinaciju električnih i mehaničkih krugova. Kako će šifra ispasti ovisi o početnoj konfiguraciji Enigme. U isto vrijeme, Enigma automatski mijenja svoju konfiguraciju tijekom rada, šifrirajući jednu poruku na nekoliko načina cijelom dužinom.

Za razliku od najjednostavnijih šifri, "Enigma" je dala trilijune mogućih kombinacija, što je učinilo probijanje šifriranih informacija gotovo nemogućim. Zauzvrat, nacisti su za svaki dan imali pripremljenu određenu kombinaciju koju sukoristi se na određeni dan za slanje poruka. Stoga, čak i ako je Enigma pala u ruke neprijatelja, nije učinila ništa za dešifriranje poruka bez unosa ispravne konfiguracije svaki dan.

Nacistički stroj za šifriranje Enigma
Nacistički stroj za šifriranje Enigma

Hakiranje "Enigme" aktivno je pokušavano tijekom cijele Hitlerove vojne kampanje. U Engleskoj je 1936. za to izgrađen jedan od prvih računalnih uređaja (Turingov stroj), koji je u budućnosti postao prototip računala. Njegov je zadatak bio simulirati rad nekoliko desetaka Enigma istovremeno i kroz njih propuštati presretnute nacističke poruke. Ali čak je i Turingov stroj samo povremeno uspijevao probiti poruku.

Ekripcija javnim ključem

Najpopularniji algoritam za šifriranje, koji se koristi posvuda u tehnologiji i računalnim sustavima. Njegova je bit, u pravilu, u prisutnosti 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.

Algoritam šifriranja javnog ključa
Algoritam šifriranja javnog ključa

Javni ključ je najčešće vrlo 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? Što ako u ulozijavni broj će biti broj sa 60 znamenki? Matematički je teško izračunati djelitelje velikog broja.

Za slikovitiji primjer, zamislite da podižete novac s bankomata. Prilikom čitanja kartice osobni podaci se šifriraju određenim javnim ključem, a na strani banke tajnim ključem dešifriraju se podaci. I ovaj javni ključ može se mijenjati za svaku operaciju. I nema načina da brzo pronađete ključne djelitelje kada ga presretnete.

Trajnost fonta

Kriptografska snaga algoritma za enkripciju je sposobnost odupiranja hakiranju. Ovaj parametar je najvažniji za bilo koju enkripciju. Očito, jednostavna zamjenska šifra, koju može dešifrirati bilo koji elektronički 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 niz komisija koje su izradile standarde u ovom području. Na primjer, minimalni zahtjevi za Advanced Encryption Standard ili AES enkripcijski algoritam koji je razvio NIST USA.

Za referencu: Vernamova šifra je prepoznata kao najotpornija šifra na razbijanje. Istovremeno, njegova je prednost što je, prema svom algoritmu, najjednostavnija šifra.

Preporučeni: