Eenvoudige syfers: beskrywing van gewilde kodes en syfers

INHOUDSOPGAWE:

Eenvoudige syfers: beskrywing van gewilde kodes en syfers
Eenvoudige syfers: beskrywing van gewilde kodes en syfers
Anonim

Die behoefte om korrespondensie te enkripteer het in die antieke wêreld ontstaan, en eenvoudige vervangingsyfers het verskyn. Geënkripteerde boodskappe het die lot van baie veldslae bepaal en die verloop van die geskiedenis beïnvloed. Met verloop van tyd het mense al hoe meer gevorderde enkripsiemetodes uitgevind.

Kode en syfer is, terloops, verskillende konsepte. Die eerste beteken dat elke woord in die boodskap met 'n kodewoord vervang word. Die tweede is om elke simbool van inligting te enkripteer deur 'n spesifieke algoritme te gebruik.

Nadat wiskunde inligting begin enkodeer het en die teorie van kriptografie ontwikkel is, het wetenskaplikes baie nuttige eienskappe van hierdie toegepaste wetenskap ontdek. Dekoderingsalgoritmes het byvoorbeeld gehelp om dooie tale soos antieke Egipties of Latyn te ontrafel.

Steganography

Steganografie is ouer as kodering en enkripsie. Hierdie kuns bestaan al baie lank. Dit beteken letterlik "versteekte skrif" of "gesyferskrif". Alhoewel steganografie nie heeltemal aan die definisies van 'n kode of syfer voldoen nie, is dit bedoel om inligting vir vreemdelinge weg te steek.oog.

Steganografie of kriptografie
Steganografie of kriptografie

Steganografie is die eenvoudigste syfer. Gesluknote wat met was bedek is, is tipiese voorbeelde, of 'n boodskap op 'n geskeerde kop wat onder gegroeide hare wegkruip. Die duidelikste voorbeeld van steganografie is die metode wat in baie Engelse (en nie net nie) speurboeke beskryf word, wanneer boodskappe deur 'n koerant versend word, waar letters onopvallend gemerk is.

Die grootste nadeel van steganografie is dat 'n oplettende vreemdeling dit kan opmerk. Daarom, om te verhoed dat die geheime boodskap maklik gelees word, word enkripsie- en koderingsmetodes in samewerking met steganografie gebruik.

ROT1 en Caesar-syfer

Die naam van hierdie syfer is Draai 1 letter vorentoe, en dit is aan baie skoolkinders bekend. Dit is 'n eenvoudige vervangingssyfer. Die kern daarvan lê in die feit dat elke letter geënkripteer word deur alfabeties met 1 letter vorentoe te skuif. A -> B, B -> C, …, Z -> A. Byvoorbeeld, ons enkripteer die frase "ons Nastya huil hard" en ons kry "algemene Obtua dspnlp rmbsheu".

Die ROT1-syfer kan veralgemeen word na 'n arbitrêre aantal afwykings, dan word dit ROTN genoem, waar N die getal is waarmee die enkripsie van letters verskuif moet word. In hierdie vorm is die syfer bekend sedert antieke tye en word die "Caesar-syfer" genoem.

Cyrilliese skyf vir Caesar se syfer
Cyrilliese skyf vir Caesar se syfer

Caesar-syfer is baie eenvoudig en vinnig, maar dit is 'n eenvoudige enkelpermutasie-syfer en is dus maklik om te breek. Met so 'n nadeel is dit net geskik vir kinderlike poetse.

Transposisionele of permutasie-syfers

Hierdie tipe eenvoudige permutasie-syfers is ernstiger en is nie so lank gelede aktief gebruik nie. Tydens die Amerikaanse Burgeroorlog en die Eerste Wêreldoorlog is dit gebruik om boodskappe te stuur. Sy algoritme bestaan daarin om die letters op plekke te herrangskik – skryf die boodskap in omgekeerde volgorde of herrangskik die letters in pare. Kom ons enkripteer byvoorbeeld die frase "Morse-kode is ook 'n syfer" -> "akubza ezrom - krimpvarkie rfish".

Met 'n goeie algoritme wat arbitrêre permutasies vir elke karakter of groep daarvan bepaal het, het die syfer bestand teen eenvoudige krake geword. Maar! Slegs betyds. Aangesien die syfer maklik deur eenvoudige brute krag of woordeboekpassing gebreek word, kan enige slimfoon vandag die dekripsie daarvan hanteer. Daarom, met die koms van rekenaars, het hierdie syfer ook in die kategorie van kinders ingeskuif.

Morse-kode

Die ABC is 'n medium van inligting-uitruiling en sy hooftaak is om boodskappe makliker en meer verstaanbaar te maak vir oordrag. Alhoewel dit in stryd is met waarvoor enkripsie bedoel is. Nietemin werk dit soos die eenvoudigste syfers. In die Morse-stelsel het elke letter, nommer en leesteken sy eie kode, wat uit 'n groep strepies en kolletjies bestaan. Wanneer 'n boodskap met die telegraaf gestuur word, verteenwoordig strepies en kolletjies lang en kort seine.

Cyrillies en Latyn in Morsekode
Cyrillies en Latyn in Morsekode

Telegraaf en Morsekode… Morse was die een wat "sy" uitvinding die eerste keer in 1840 gepatenteer het, hoewel soortgelyke toestelle voor hom in Rusland en Engeland uitgevind is. Maar wie gee nou om … Telegraaf en alfabetMorsekode het 'n baie groot impak op die wêreld gehad, wat byna onmiddellike oordrag van boodskappe oor kontinentale afstande moontlik gemaak het.

Monoalfabetiese vervanging

Die ROTN- en Morsekode wat hierbo beskryf word, is voorbeelde van mono-alfabetiese vervangingslettertipes. Die voorvoegsel "mono" beteken dat elke letter van die oorspronklike boodskap tydens enkripsie vervang word deur 'n ander letter of kode uit die enigste enkripsie-alfabet.

Om eenvoudige vervangingsyfers te ontsyfer is nie moeilik nie, en dit is hul grootste nadeel. Hulle word opgelos deur eenvoudige opsomming of frekwensie-analise. Byvoorbeeld, dit is bekend dat die mees gebruikte letters van die Russiese taal "o", "a", "i" is. Daar kan dus aanvaar word dat in die syferteks die letters wat die meeste voorkom, of "o", of "a", of "en" beteken. Op grond van hierdie oorwegings kan die boodskap gedekripteer word selfs sonder 'n rekenaarsoektog.

Dit is bekend dat Maria I, Koningin van Skotte van 1561 tot 1567, 'n baie komplekse monoalfabetiese substitusiesyfer met verskeie kombinasies gebruik het. Tog kon haar vyande die boodskappe ontsyfer, en die inligting was genoeg om die koningin ter dood te veroordeel.

Gronsfeld-syfer, of poli-alfabetiese vervanging

Eenvoudige syfers word deur kriptografie nutteloos verklaar. Daarom is baie van hulle verbeter. Die Gronsfeld-syfer is 'n wysiging van die Caesar-syfer. Hierdie metode is baie meer bestand teen inbraak en lê in die feit dat elke karakter van die geënkodeerde inligting geïnkripteer word met een van die verskillende alfabette, wat siklies herhaal word. Daar kan gesê word dat dit 'n multidimensionele toepassing isdie eenvoudigste vervangingsyfer. Trouens, die Gronsfeld-syfer is baie soortgelyk aan die Vigenère-syfer wat hieronder bespreek word.

ADFGX-enkripsiealgoritme

Dit is die bekendste syfer van die Eerste Wêreldoorlog wat deur die Duitsers gebruik is. Die syfer het sy naam gekry omdat die enkripsiealgoritme alle syfergramme na die afwisseling van hierdie letters gelei het. Die keuse van die letters self is bepaal deur hul gerief wanneer dit oor telegraaflyne versend word. Elke letter in die syfer word deur twee voorgestel. Kom ons kyk na 'n meer interessante weergawe van die ADFGX-vierkant wat getalle insluit en ADFGVX genoem word.

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

Die ADFGX-kwadraatalgoritme is soos volg:

  1. Kies ewekansige n letters vir kolomme en rye.
  2. Bou 'n N x N-matriks.
  3. Voer die alfabet, syfers, karakters wat ewekansig oor die selle versprei is in die matriks in.

Kom ons maak 'n soortgelyke vierkant vir die Russiese taal. Kom ons skep byvoorbeeld 'n vierkant 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

Hierdie matriks lyk vreemd omdat 'n ry selle twee letters bevat. Dit is aanvaarbaar, die betekenis van die boodskap gaan nie verlore nie. Dit kan maklik herstel word. Enkripteer die frase "Kompakte syfer" deur hierdie tabel te gebruik:

1 2 3 4 5 6 7 8 9 10 11 12 13 14
Frase K O M P A K T N S Y Ш & F R
Cipher bw gv gb where ag bw db ab dg hel wa hel bb ha

Dus, die finale geënkripteerde boodskap lyk soos volg: "bvgvgbgdagbvdbabdgvdvaadbbga". Natuurlik het die Duitsers 'n soortgelyke lyn deur verskeie meer syfers uitgevoer. En op die ou end het dit baie stabiel uitgedraaiom die geënkripteerde boodskap te kraak.

Vigenère-syfer

Hierdie syfer is 'n orde van grootte wat meer bestand is teen krake as mono-alfabetiese, hoewel dit 'n eenvoudige teksvervangingsyfer is. As gevolg van die robuuste algoritme is dit egter lank as onmoontlik beskou om te hack. Die eerste vermelding daarvan dateer uit die 16de eeu. Vigenère ('n Franse diplomaat) word verkeerdelik as die uitvinder daarvan gekrediteer. Om beter te verstaan wat op die spel is, oorweeg die Vigenère-tabel (Vigenère-vierkant, tabula recta) vir die Russiese taal.

Vigenère-tabel met Russiese alfabet
Vigenère-tabel met Russiese alfabet

Kom ons begin die frase "Kasperovich lag" kodeer. Maar vir enkripsie om te slaag, is 'n sleutelwoord nodig - laat dit "wagwoord" wees. Kom ons begin nou met enkripsie. Om dit te doen, skryf ons die sleutel soveel keer dat die aantal letters daarvan ooreenstem met die aantal letters in die geënkripteerde frase, deur die sleutel te herhaal of te knip:

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

Nou, met behulp van die Vigenère-tabel, soos in die koördinaatvlak, soek ons na 'n sel wat die snypunt van pare letters is, en ons kry: K + P=b, A + A=B, C + P=C, ens.

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

Ons kry dat "Kasperovich lag"="bvusnyugschzh eykhzhgal".

Om die Vigenère-syfer te kraak is so moeilik omdat frekwensie-analise die lengte van die sleutelwoord moet weet om te werk. Die hack is dus om die lengte van die sleutelwoord lukraak te gooi en die geheime boodskap te probeer kraak.

Dit moet ook genoem word dat benewens 'n heeltemal ewekansige sleutel, 'n heeltemal ander Vigenère-tabel gebruik kan word. In hierdie geval bestaan die Vigenère-vierkant uit 'n reël-vir-reël geskrewe Russiese alfabet met 'n verskuiwing van een. Wat ons na die ROT1-syfer verwys. En net soos in die Caesar-syfer, kan die verrekening enigiets wees. Boonop hoef die volgorde van die letters nie alfabeties te wees nie. In hierdie geval kan die tabel self die sleutel wees, sonder om te weet watter dit onmoontlik sal wees om die boodskap te lees, selfs om die sleutel te ken.

Kodes

Regte kodes bestaan uit wedstryde vir elkeenwoorde van 'n aparte kode. Om daarmee te werk, is sogenaamde kodeboeke nodig. Trouens, dit is dieselfde woordeboek, wat slegs vertalings van woorde in kodes bevat. 'n Tipiese en vereenvoudigde voorbeeld van kodes is die ASCII-tabel - 'n internasionale syfer van eenvoudige karakters.

ASCII kode tabel
ASCII kode tabel

Die grootste voordeel van kodes is dat dit baie moeilik is om te ontsyfer. Frekwensie-analise werk amper nie wanneer hulle gekap word nie. Die swakheid van die kodes is in werklikheid die boeke self. Eerstens is hul voorbereiding 'n komplekse en duur proses. Tweedens, vir vyande verander dit in 'n gewenste voorwerp en die onderskepping van selfs 'n deel van die boek dwing jou om al die kodes heeltemal te verander.

In die 20ste eeu het baie state kodes gebruik om geheime data oor te dra, en die kodeboek na 'n sekere tydperk verander. En hulle het ook aktief gejag na boeke van bure en teenstanders.

Enigma

Almal weet dat Enigma die Nazi's se vernaamste syfermasjien tydens die Tweede Wêreldoorlog was. Enigma se struktuur sluit 'n kombinasie van elektriese en meganiese stroombane in. Hoe die syfer sal uitdraai hang af van die aanvanklike konfigurasie van Enigma. Terselfdertyd verander Enigma outomaties sy konfigurasie tydens werking, en enkripteer een boodskap op verskeie maniere oor sy hele lengte.

In teenstelling met die eenvoudigste syfers, het "Enigma" triljoene moontlike kombinasies gegee, wat die kraak van geënkripteerde inligting byna onmoontlik gemaak het. Op hul beurt het die Nazi's 'n sekere kombinasie vir elke dag laat voorberei, wat hulleop 'n spesifieke dag gebruik om boodskappe te stuur. Daarom, selfs al het Enigma in die hande van die vyand geval, het dit niks gedoen om boodskappe te dekripteer sonder om elke dag die korrekte konfigurasie in te voer nie.

Nazi Enigma-syfermasjien
Nazi Enigma-syfermasjien

Hack "Enigma" is aktief probeer tydens die hele militêre veldtog van Hitler. In Engeland is in 1936 een van die eerste rekenaartoestelle (Turing-masjien) hiervoor gebou, wat in die toekoms die prototipe van rekenaars geword het. Sy taak was om die werking van etlike dosyn Enigmas gelyktydig te simuleer en onderskepte Nazi-boodskappe daardeur te laat loop. Maar selfs die Turing-masjien was net af en toe in staat om die boodskap te kraak.

publieke sleutel-enkripsie

Die gewildste van die enkripsiealgoritmes, wat oral in tegnologie en rekenaarstelsels gebruik word. Die essensie daarvan lê, as 'n reël, in die teenwoordigheid van twee sleutels, waarvan een in die openbaar oorgedra word, en die tweede geheim (privaat). Die publieke sleutel word gebruik om die boodskap te enkripteer en die private sleutel word gebruik om dit te dekripteer.

Publieke sleutel enkripsie-algoritme
Publieke sleutel enkripsie-algoritme

Die publieke sleutel is meestal 'n baie groot getal wat net twee delers het, sonder om een en die getal self te tel. Saam vorm hierdie twee delers 'n geheime sleutel.

Kom ons kyk na 'n eenvoudige voorbeeld. Laat die publieke sleutel 905 wees. Sy delers is die getalle 1, 5, 181 en 905. Dan sal die geheime sleutel byvoorbeeld die getal 5181 wees. Sê jy te maklik? Wat as in die rolopenbare nommer sal 'n nommer met 60 syfers wees? Wiskundig moeilik om die delers van 'n groot getal te bereken.

Vir 'n meer aanskoulike voorbeeld, stel jou voor dat jy geld by 'n OTM onttrek. Wanneer die kaart gelees word, word persoonlike data met 'n sekere publieke sleutel geënkripteer, en aan die bank se kant word die inligting met 'n geheime sleutel gedekripteer. En hierdie publieke sleutel kan vir elke operasie verander word. En daar is geen maniere om vinnig sleutelverdelers te vind wanneer dit onderskep word nie.

Lontduursaamheid

Die kriptografiese sterkte van 'n enkripsiealgoritme is die vermoë om inbraak te weerstaan. Hierdie parameter is die belangrikste vir enige enkripsie. Uiteraard is die eenvoudige vervangingsyfer, wat deur enige elektroniese toestel gedekripteer kan word, een van die mees onstabiele.

Vandag is daar geen eenvormige standaarde waarvolgens dit moontlik sal wees om die sterkte van die syfer te bepaal nie. Dit is 'n moeisame en lang proses. Daar is egter 'n aantal kommissies wat standaarde op hierdie gebied opgestel het. Byvoorbeeld, die minimum vereistes vir die Advanced Encryption Standard of AES enkripsie-algoritme ontwikkel deur NIST USA.

Vir verwysing: die Vernam-syfer word erken as die syfer wat die meeste weerstand bied teen breek. Terselfdertyd is die voordeel daarvan dat dit volgens sy algoritme die eenvoudigste syfer is.

Aanbeveel: