Vienkārši šifri: populāru kodu un šifru apraksts

Satura rādītājs:

Vienkārši šifri: populāru kodu un šifru apraksts
Vienkārši šifri: populāru kodu un šifru apraksts
Anonim

Nepieciešamība šifrēt korespondenci radās antīkajā pasaulē, un parādījās vienkārši aizstāšanas šifri. Šifrēti ziņojumi noteica daudzu kauju likteni un ietekmēja vēstures gaitu. Laika gaitā cilvēki izgudroja arvien progresīvākas šifrēšanas metodes.

Kods un šifrs, starp citu, ir dažādi jēdzieni. Pirmais nozīmē katra vārda aizstāšanu ziņojumā ar koda vārdu. Otrais ir katra informācijas simbola šifrēšana, izmantojot īpašu algoritmu.

Pēc tam, kad matemātika sāka kodēt informāciju un tika izstrādāta kriptogrāfijas teorija, zinātnieki atklāja daudzas noderīgas šīs lietišķās zinātnes īpašības. Piemēram, dekodēšanas algoritmi ir palīdzējuši atšķetināt mirušās valodas, piemēram, seno ēģiptiešu vai latīņu valodu.

Steganogrāfija

Steganogrāfija ir vecāka par kodēšanu un šifrēšanu. Šī māksla pastāv jau ļoti ilgu laiku. Tas burtiski nozīmē "slēptā rakstīšana" vai "šifrēta rakstīšana". Lai gan steganogrāfija ne visai atbilst koda vai šifra definīcijām, tā ir paredzēta, lai slēptu informāciju no svešiniekiem.acs.

Steganogrāfija vai kriptogrāfija
Steganogrāfija vai kriptogrāfija

Steganogrāfija ir vienkāršākais šifrs. Norītas notis, kas pārklātas ar vasku, ir tipiski piemēri vai vēstījums uz noskūtas galvas, kas slēpjas zem izaugušiem matiem. Spilgtākais steganogrāfijas piemērs ir daudzās angļu (un ne tikai) detektīvu grāmatās aprakstītā metode, kad ziņas tiek pārraidītas caur avīzi, kur burti ir neuzkrītoši marķēti.

Steganogrāfijas galvenais trūkums ir tas, ka uzmanīgs svešinieks to var pamanīt. Tāpēc, lai slepenais ziņojums nebūtu viegli nolasāms, kopā ar steganogrāfiju tiek izmantotas šifrēšanas un kodēšanas metodes.

ROT1 un Cēzara šifrs

Šī šifra nosaukums ir ROTate 1 burtu uz priekšu, un to zina daudzi skolēni. Tas ir vienkāršs aizstāšanas šifrs. Tās būtība slēpjas faktā, ka katrs burts tiek šifrēts, pārejot alfabētiskā secībā par 1 burtu uz priekšu. A -> B, B -> C, …, Z -> A. Piemēram, mēs šifrējam frāzi "mūsu Nastja skaļi raud" un iegūstam "vispārējo Obtua dspnlp rmbsheu".

Šifru ROT1 var vispārināt līdz patvaļīgam nobīdēm, tad to sauc par ROTN, kur N ir skaitlis, par kuru jāpārvieto burtu šifrēšana. Šādā formā šifrs ir zināms kopš seniem laikiem un tiek saukts par "ķeizara šifru".

Kirilicas disks Cēzara šifram
Kirilicas disks Cēzara šifram

Cēzara šifrs ir ļoti vienkāršs un ātrs, taču tas ir vienkāršs vienas permutācijas šifrs, un tāpēc to ir viegli uzlauzt. Tā kā ir šāds trūkums, tas ir piemērots tikai bērnišķīgām palaidnībām.

Transpozīcijas vai permutācijas šifri

Šie vienkāršo permutācijas šifru veidi ir nopietnāki un tika aktīvi izmantoti ne tik sen. Amerikas pilsoņu kara un Pirmā pasaules kara laikā to izmantoja ziņojumu sūtīšanai. Viņa algoritms sastāv no burtu pārkārtošanas pa vietām - uzrakstiet ziņojumu apgrieztā secībā vai pārkārtojiet burtus pa pāriem. Piemēram, šifrēsim frāzi "Morzes kods ir arī šifrs" -> "akubza ezrom - ezis rfish".

Izmantojot labu algoritmu, kas noteica patvaļīgas permutācijas katrai rakstzīmei vai to grupai, šifrs kļuva izturīgs pret vienkāršu uzlaušanu. Bet! Tikai noteiktajā laikā. Tā kā šifru var viegli sabojāt ar vienkāršu brutālu spēku vai vārdnīcas saskaņošanu, šodien jebkurš viedtālrunis var tikt galā ar tā atšifrēšanu. Tāpēc līdz ar datoru parādīšanos šis šifrs pārcēlās arī uz bērnu kategoriju.

Morzes kods

ABC ir informācijas apmaiņas līdzeklis, un tā galvenais uzdevums ir padarīt ziņojumus vieglāku un saprotamāku nosūtīšanai. Lai gan tas ir pretrunā tam, kam ir paredzēta šifrēšana. Tomēr tas darbojas kā vienkāršākie šifri. Morzes sistēmā katram burtam, ciparam un pieturzīmei ir savs kods, ko veido domuzīmju un punktu grupa. Sūtot ziņojumu, izmantojot telegrāfu, domuzīmes un punkti apzīmē garus un īsus signālus.

Kirilica un latīņu valoda Morzes kodā
Kirilica un latīņu valoda Morzes kodā

Telegrāfs un Morzes kods… Mors bija tas, kurš pirmo reizi patentēja "savu" izgudrojumu 1840. gadā, lai gan pirms viņa līdzīgas ierīces tika izgudrotas Krievijā un Anglijā. Bet kam tas tagad rūp … Telegrāfs un alfabētsMorzes kodam bija ļoti liela ietekme uz pasauli, nodrošinot gandrīz tūlītēju ziņojumu pārsūtīšanu kontinentālos attālumos.

Monoalfabētiskā aizstāšana

Iepriekš aprakstītais ROTN un Morzes kods ir monoalfabētisko aizstāšanas fontu piemēri. Prefikss "mono" nozīmē, ka šifrēšanas laikā katrs sākotnējā ziņojuma burts tiek aizstāts ar citu burtu vai kodu no vienīgā šifrēšanas alfabēta.

Vienkāršu aizstāšanas šifru atšifrēšana nav sarežģīta, un tas ir to galvenais trūkums. Tos risina ar vienkāršu uzskaiti vai biežuma analīzi. Piemēram, ir zināms, ka krievu valodā visbiežāk lietotie burti ir “o”, “a”, “i”. Tādējādi var pieņemt, ka šifrētajā tekstā sastopamie burti visbiežāk nozīmē vai nu "o", vai "a", vai "un". Pamatojoties uz šiem apsvērumiem, ziņojumu var atšifrēt pat bez datora meklēšanas.

Ir zināms, ka Marija I, Skotijas karaliene no 1561. līdz 1567. gadam, izmantoja ļoti sarežģītu monoalfabētisko aizstāšanas šifru ar vairākām kombinācijām. Tomēr viņas ienaidnieki spēja atšifrēt ziņojumus, un ar informāciju pietika, lai karalienei piespriestu nāvi.

Gronsfelda šifrs vai polialfabēta aizstāšana

Kriptogrāfija vienkāršos šifrus pasludina par nederīgiem. Tāpēc daudzi no tiem ir uzlaboti. Gronsfelda šifrs ir Cēzara šifra modifikācija. Šī metode ir daudz izturīgāka pret uzlaušanu un slēpjas faktā, ka katra kodētās informācijas rakstzīme tiek šifrēta, izmantojot kādu no dažādajiem alfabētiem, kas tiek cikliski atkārtoti. Var teikt, ka šī ir daudzdimensionāla lietojumprogrammavienkāršākais aizstāšanas šifrs. Faktiski Gronsfelda šifrs ir ļoti līdzīgs Vigenère šifram, par kuru runāts tālāk.

ADFGX šifrēšanas algoritms

Šis ir slavenākais Pirmā pasaules kara šifrs, ko izmantoja vācieši. Šifrs ieguva savu nosaukumu, jo šifrēšanas algoritms noveda visas šifrēšanas shēmas uz šo burtu maiņu. Pašu burtu izvēli noteica to ērtība, pārraidot pa telegrāfa līnijām. Katrs burts šifrā ir attēlots ar diviem. Apskatīsim interesantāku ADFGX kvadrāta versiju, kurā ir iekļauti skaitļi un ko sauc par 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 kvadrātu noteikšanas algoritms ir šāds:

  1. Izvēlieties nejaušus n burtus kolonnām un rindām.
  2. N x N matricas izveide.
  3. Matricā ievadiet alfabētu, ciparus un rakstzīmes, kas nejauši izkaisītas pa šūnām.

Uztaisīsim līdzīgu kvadrātu krievu valodai. Piemēram, izveidosim kvadrātu 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

Šī matrica izskatās dīvaina, jo šūnu rindā ir divi burti. Tas ir pieņemami, ziņojuma nozīme nezaudē. To var viegli atjaunot. Šifrējiet frāzi "Kompakts šifrs", izmantojot šo tabulu:

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Frāze K O M P A K T N S Y Ш & F R
Šifrs bw gv gb kur ag bw db ab dg elle wa elle bb ha

Tādējādi pēdējais šifrētais ziņojums izskatās šādi: "bvgvgbgdagbvdbabdgvdvaadbbga". Protams, vācieši veica līdzīgu līniju, izmantojot vēl vairākus šifrus. Un beigās tas izrādījās ļoti stabilslai uzlauztu šifrēto ziņojumu.

Vigenère šifrs

Šis šifrs ir par lielumu izturīgāks pret plaisāšanu nekā monoalfabētiskais šifrs, lai gan tas ir vienkāršs teksta aizstāšanas šifrs. Tomēr robustā algoritma dēļ to ilgi uzskatīja par neiespējamu uzlauzt. Pirmā pieminēšana par to ir datēta ar 16. gadsimtu. Vigenère (franču diplomāts) kļūdaini tiek uzskatīts par tā izgudrotāju. Lai labāk saprastu, kas ir uz spēles, apsveriet Vigenère tabulu (Vigenère kvadrāts, tabula recta) krievu valodai.

Vigenère galds ar krievu alfabētu
Vigenère galds ar krievu alfabētu

Sāksim kodēt frāzi "Kasperovičs smejas". Bet, lai šifrēšana izdotos, ir nepieciešams atslēgvārds – lai tas būtu "parole". Tagad sāksim šifrēšanu. Lai to izdarītu, mēs ierakstām atslēgu tik reižu, lai burtu skaits no tās atbilstu burtu skaitam šifrētajā frāzē, atkārtojot atslēgu vai izgriežot:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Frāze: K A С P E R O B & W С M E E T С I
Atslēga P A R O L b P A R O L b P A R O L

Tagad, izmantojot Vigenère tabulu, tāpat kā koordinātu plaknē, mēs meklējam šūnu, kas ir burtu pāru krustpunkts, un mēs iegūstam: K + P=b, A + A=B, C + P=C utt.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Šifrs: b B B Yu С N Yu G Sch F E Y X F G A L

Mēs saprotam, ka "Kasperovičs smejas"="bvusnyugschzh eykhzhgal".

Vigenère šifra uzlauzšana ir tik sarežģīta, jo frekvences analīzei ir jāzina atslēgvārda garums, lai tas darbotos. Tāpēc uzlauzt ir nejauši ievadīt atslēgvārda garumu un mēģināt uzlauzt slepeno ziņojumu.

Jāpiemin arī, ka papildus pilnīgi nejaušai atslēgai var izmantot pavisam citu Vigenère tabulu. Šajā gadījumā Vigenère laukumu veido pa rindiņai rakstīts krievu alfabēts ar vienu nobīdi. Tas attiecas uz ROT1 šifru. Un tāpat kā Cēzara šifrā, nobīde var būt jebkas. Turklāt burtu secībai nav jābūt alfabēta secībai. Šajā gadījumā atslēga var būt pati tabula, kuru nezinot, ziņojumu nebūs iespējams izlasīt, pat zinot atslēgu.

Kodi

Reālie kodi sastāv no atbilstības katramatsevišķa koda vārdi. Lai strādātu ar tiem, ir nepieciešamas tā sauktās kodu grāmatas. Faktiski šī ir tā pati vārdnīca, kurā ir tikai vārdu tulkojumi kodos. Tipisks un vienkāršots kodu piemērs ir ASCII tabula - starptautisks vienkāršu rakstzīmju šifrs.

ASCII kodu tabula
ASCII kodu tabula

Kodu galvenā priekšrocība ir tā, ka tos ir ļoti grūti atšifrēt. Frekvences analīze gandrīz nedarbojas, ja tie tiek uzlauzti. Kodu vājā vieta patiesībā ir pašas grāmatas. Pirmkārt, to sagatavošana ir sarežģīts un dārgs process. Otrkārt, ienaidniekiem tie pārvēršas par vēlamo objektu, un pat grāmatas daļas pārtveršana liek pilnībā mainīt visus kodus.

20. gadsimtā daudzi štati izmantoja kodus slepenu datu pārsūtīšanai, pēc noteikta perioda mainot kodu grāmatu. Un viņi arī aktīvi medīja kaimiņu un pretinieku grāmatas.

Enigma

Ikviens zina, ka Enigma Otrā pasaules kara laikā bija nacistu galvenā šifrēšanas iekārta. Enigma struktūra ietver elektrisko un mehānisko ķēžu kombināciju. Kā izrādīsies šifrs, ir atkarīgs no Enigma sākotnējās konfigurācijas. Tajā pašā laikā Enigma darbības laikā automātiski maina savu konfigurāciju, šifrējot vienu ziņojumu vairākos veidos visā tā garumā.

Atšķirībā no vienkāršākajiem šifriem, "Enigma" sniedza triljoniem iespējamo kombināciju, kas padarīja šifrētas informācijas uzlauzšanu gandrīz neiespējamu. Savukārt nacisti katrai dienai bija sagatavojuši noteiktu kombināciju, ko viņiizmanto konkrētā dienā, lai nosūtītu ziņojumus. Tāpēc, pat ja Enigma nonāca ienaidnieka rokās, tā neko nedarīja, lai atšifrētu ziņojumus, katru dienu neievadot pareizo konfigurāciju.

Naci Enigma šifrēšanas mašīna
Naci Enigma šifrēšanas mašīna

Hack "Enigma" tika aktīvi tiesāts visas Hitlera militārās kampaņas laikā. Anglijā 1936. gadā šim nolūkam tika uzbūvēta viena no pirmajām skaitļošanas ierīcēm (Tjūringa mašīna), kas nākotnē kļuva par datoru prototipu. Viņa uzdevums bija simulēt vairāku desmitu Enigmu darbību vienlaikus un caur tiem palaist pārtvertās nacistu ziņas. Bet pat Tjūringa mašīna tikai reizēm spēja uzlauzt ziņojumu.

Publiskās atslēgas šifrēšana

Populārākais no šifrēšanas algoritmiem, ko izmanto visur tehnoloģijās un datorsistēmās. Tās būtība, kā likums, slēpjas divu atslēgu klātbūtnē, no kurām viena tiek pārraidīta publiski, bet otrā ir slepena (privāta). Publiskā atslēga tiek izmantota, lai šifrētu ziņojumu, un privātā atslēga tiek izmantota, lai to atšifrētu.

Publiskās atslēgas šifrēšanas algoritms
Publiskās atslēgas šifrēšanas algoritms

Publiskā atslēga visbiežāk ir ļoti liels skaitlis, kuram ir tikai divi dalītāji, neskaitot vienu un pašu skaitli. Šie divi dalītāji kopā veido slepeno atslēgu.

Apskatīsim vienkāršu piemēru. Publiskā atslēga būs 905. Tās dalītāji ir skaitļi 1, 5, 181 un 905. Tad slepenā atslēga būs, piemēram, skaitlis 5181. Tu saki pārāk viegli? Kā būtu, ja lomāpubliskais numurs būs skaitlis ar 60 cipariem? Matemātiski grūti aprēķināt liela skaitļa dalītājus.

Lai iegūtu spilgtāku piemēru, iedomājieties, ka izņemat naudu no bankomāta. Nolasot karti, personas dati tiek šifrēti ar noteiktu publisko atslēgu, bet bankas pusē informācija tiek atšifrēta ar slepeno atslēgu. Un šo publisko atslēgu var mainīt katrai darbībai. Un, to pārtverot, nav iespējams ātri atrast galvenos dalītājus.

Fonta noturība

Šifrēšanas algoritma kriptogrāfiskais spēks ir spēja pretoties uzlaušanai. Šis parametrs ir vissvarīgākais jebkurai šifrēšanai. Acīmredzot vienkāršais aizstāšanas šifrs, ko var atšifrēt ar jebkuru elektronisku ierīci, ir viens no nestabilākajiem.

Šodien nav vienotu standartu, pēc kuriem būtu iespējams novērtēt šifra stiprumu. Tas ir darbietilpīgs un ilgs process. Tomēr ir vairākas komisijas, kas ir izstrādājušas standartus šajā jomā. Piemēram, minimālās prasības uzlabotajam šifrēšanas standartam vai AES šifrēšanas algoritmam, ko izstrādājis NIST USA.

Uzziņai: Vernam šifrs ir atzīts par šifru, kas ir visizturīgākais pret bojājumiem. Tajā pašā laikā tā priekšrocība ir tāda, ka saskaņā ar tā algoritmu tas ir vienkāršākais šifrs.

Ieteicams: