Simple ciphers: beskrivelse af populære koder og ciphers

Indholdsfortegnelse:

Simple ciphers: beskrivelse af populære koder og ciphers
Simple ciphers: beskrivelse af populære koder og ciphers
Anonim

Behovet for at kryptere korrespondance opstod i den antikke verden, og der dukkede simple substitutionscifre op. Krypterede beskeder bestemte skæbnen for mange kampe og påvirkede historiens gang. Med tiden opfandt folk flere og mere avancerede krypteringsmetoder.

Kode og cipher er i øvrigt forskellige begreber. Den første betyder, at hvert ord i beskeden erstattes med et kodeord. Den anden er at kryptere hvert symbol med information ved hjælp af en specifik algoritme.

Efter at matematik begyndte at kode information og teorien om kryptografi blev udviklet, opdagede videnskabsmænd mange nyttige egenskaber ved denne anvendte videnskab. For eksempel har afkodningsalgoritmer hjulpet med at optrevle døde sprog som f.eks. oldægyptisk eller latin.

Steganography

Steganografi er ældre end kodning og kryptering. Denne kunst har eksisteret i meget lang tid. Det betyder bogstaveligt t alt "skjult skrift" eller "chifferskrift". Selvom steganografi ikke helt opfylder definitionerne af en kode eller chiffer, er det beregnet til at skjule information fra fremmede.øje.

Steganografi eller kryptografi
Steganografi eller kryptografi

Steganografi er den enkleste chiffer. Synkede noter dækket af voks er typiske eksempler eller en besked på et barberet hoved, der gemmer sig under vokset hår. Det klareste eksempel på steganografi er den metode, der beskrives i mange engelske (og ikke kun) detektivbøger, når beskeder transmitteres gennem en avis, hvor bogstaver er upåfaldende markeret.

Den største ulempe ved steganografi er, at en opmærksom fremmed kan bemærke det. For at forhindre, at den hemmelige besked let kan læses, anvendes kryptering og kodningsmetoder i forbindelse med steganografi.

ROT1 og Cæsar-chiffer

Navnet på denne chiffer er ROTate 1 bogstav frem, og det er kendt af mange skolebørn. Det er en simpel substitutions-chiffer. Dens essens ligger i, at hvert bogstav er krypteret ved at skifte alfabetisk med 1 bogstav fremad. A -> B, B -> C, …, Z -> A. For eksempel krypterer vi sætningen "vores Nastya græder højt", og vi får "generel Obtua dspnlp rmbsheu".

ROT1-chifferet kan generaliseres til et vilkårligt antal forskydninger, så kaldes det ROTN, hvor N er det tal, som krypteringen af bogstaver skal forskydes med. I denne form har cifferet været kendt siden oldtiden og kaldes "Cæsar-cifferet".

Kyrillisk skive til Cæsars chiffer
Kyrillisk skive til Cæsars chiffer

Cæsar-chiffer er meget simpelt og hurtigt, men det er en simpel enkelt permutation-ciffer og er derfor let at bryde. Da den har sådan en ulempe, er den kun egnet til barnlige spøg.

Transpositions- eller permutationscifre

Disse typer simple permutations-cifre er mere seriøse og blev aktivt brugt for ikke så længe siden. Under den amerikanske borgerkrig og 1. verdenskrig blev den brugt til at sende beskeder. Hans algoritme består i at omarrangere bogstaverne steder - skriv beskeden i omvendt rækkefølge eller omarranger bogstaverne i par. Lad os f.eks. kryptere sætningen "Morsekode er også en cipher" -> "akubza ezrom - hedgehog rfish".

Med en god algoritme, der bestemte vilkårlige permutationer for hver karakter eller gruppe af dem, blev chifferen modstandsdygtig over for simpel krakning. Men! Først i rette tid. Da chifferen let brydes ved simpel brute force eller ordbogsmatchning, kan enhver smartphone i dag håndtere dens dekryptering. Derfor, med fremkomsten af computere, flyttede denne chiffer også ind i kategorien børn.

morsekode

ABC er et medium for informationsudveksling, og dens hovedopgave er at gøre meddelelser nemmere og mere forståelige til transmission. Selvom dette er i modstrid med hvad kryptering er beregnet til. Ikke desto mindre fungerer det som de enkleste cifre. I morsesystemet har hvert bogstav, tal og tegnsætningstegn sin egen kode, der består af en gruppe bindestreger og prikker. Når du sender en besked ved hjælp af telegrafen, repræsenterer streger og prikker lange og korte signaler.

Kyrillisk og latin i morsekode
Kyrillisk og latin i morsekode

Telegraf og morsekode… Morse var den, der første gang patenterede "sin" opfindelse i 1840, selvom lignende anordninger var blevet opfundet i Rusland og England før ham. Men hvem bekymrer sig nu … Telegraf og alfabetMorsekode havde en meget stor indvirkning på verden og tillod næsten øjeblikkelig transmission af beskeder over kontinentale afstande.

monoalfabetisk substitution

ROTN- og morsekoden beskrevet ovenfor er eksempler på monoalfabetiske erstatningsskrifttyper. Præfikset "mono" betyder, at hvert bogstav i den originale besked under kryptering erstattes af et andet bogstav eller kode fra det eneste krypteringsalfabet.

Det er ikke svært at dechifrere simple substitutionscifre, og dette er deres største ulempe. De løses ved simpel opregning eller frekvensanalyse. For eksempel er det kendt, at de mest brugte bogstaver i det russiske sprog er "o", "a", "i". Det kan således antages, at i chifferteksten betyder de bogstaver, der oftest forekommer, enten "o", eller "a" eller "og". Baseret på disse overvejelser kan beskeden dekrypteres selv uden en computersøgning.

Det er kendt, at Mary I, dronning af Skotter fra 1561 til 1567, brugte en meget kompleks monoalfabetisk substitutionsciffer med flere kombinationer. Alligevel var hendes fjender i stand til at tyde beskederne, og informationen var nok til at dømme dronningen til døden.

Gronsfeld-chiffer eller polyalfabetisk substitution

Simple cifre erklæres ubrugelige af kryptografi. Derfor er mange af dem blevet forbedret. Gronsfeld-cifferet er en modifikation af Cæsar-cifferet. Denne metode er meget mere modstandsdygtig over for hacking og ligger i, at hver karakter af den kodede information er krypteret ved hjælp af et af de forskellige alfabeter, som gentages cyklisk. Det kan siges, at dette er en multidimensionel applikationden enkleste substitutionsciffer. Faktisk minder Gronsfeld-cifferet meget om Vigenère-cifferet, der diskuteres nedenfor.

ADFGX-krypteringsalgoritme

Dette er den mest berømte chiffer fra Første Verdenskrig, der blev brugt af tyskerne. Chifferen har fået sit navn, fordi krypteringsalgoritmen førte alle chiffergrammer til vekslen mellem disse bogstaver. Valget af selve bogstaverne var bestemt af deres bekvemmelighed, når de blev transmitteret over telegraflinjer. Hvert bogstav i chifferen er repræsenteret af to. Lad os se på en mere interessant version af ADFGX-firkanten, der indeholder tal og kaldes 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-kvaderingsalgoritmen er som følger:

  1. Vælg tilfældige n bogstaver til kolonner og rækker.
  2. Opbygning af en N x N-matrix.
  3. Indtast alfabetet, tallene, tegnene tilfældigt spredt over cellerne i matrixen.

Lad os lave en lignende firkant til det russiske sprog. Lad os f.eks. oprette en firkant 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

Denne matrix ser mærkelig ud, fordi en række af celler indeholder to bogstaver. Dette er acceptabelt, betydningen af beskeden går ikke tabt. Det kan nemt genoprettes. Krypter sætningen "Compact cipher" ved hjælp af denne tabel:

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

Den endelige krypterede besked ser således ud: "bvgvgbgdagbvdbabdgvdvaadbbga". Naturligvis udførte tyskerne en lignende linje gennem flere flere cifre. Og til sidst viste det sig meget stabiltfor at knække den krypterede besked.

Vigenère-cifer

Denne ciffer er en størrelsesorden, der er mere modstandsdygtig over for revner end monoalfabetiske, selv om den er en simpel teksterstatningsciffer. På grund af den robuste algoritme blev det dog længe anset for umuligt at hacke. Den første omtale af det går tilbage til det 16. århundrede. Vigenère (en fransk diplomat) er fejlagtigt krediteret som dens opfinder. For bedre at forstå, hvad der er på spil, kan du overveje Vigenère-bordet (Vigenère square, tabula recta) for det russiske sprog.

Vigenère bord med russisk alfabet
Vigenère bord med russisk alfabet

Lad os begynde at kode sætningen "Kasperovich griner". Men for at kryptering skal lykkes, skal der et nøgleord til - lad det være "adgangskode". Lad os nu starte kryptering. For at gøre dette skriver vi nøglen så mange gange, at antallet af bogstaver fra den svarer til antallet af bogstaver i den krypterede sætning, ved at gentage nøglen eller klippe:

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

Nu, ved hjælp af Vigenère-tabellen, som i koordinatplanet, leder vi efter en celle, der er skæringspunktet mellem bogstavpar, og vi får: K + P=b, A + A=B, C + P=C osv.

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 forstår, at "Kasperovich griner"="bvusnyugschzh eykhzhgal".

At knække Vigenère-chifferet er så svært, fordi frekvensanalyse skal kende længden af nøgleordet for at virke. Så hacket er at tilfældigt smide længden af nøgleordet og prøve at knække den hemmelige besked.

Det skal også nævnes, at der udover en helt tilfældig nøgle kan bruges en helt anden Vigenère-tabel. I dette tilfælde består Vigenère-pladsen af et linje-for-linje skrevet russisk alfabet med et skift på et. Hvilket henviser os til ROT1-chifferet. Og ligesom i Cæsar-chifferet kan forskydningen være hvad som helst. Desuden behøver rækkefølgen af bogstaverne ikke være alfabetisk. I dette tilfælde kan selve bordet være nøglen, uden at vide hvilken det vil være umuligt at læse beskeden, selv at kende nøglen.

Koder

Reelle koder består af kampe for hverord i en separat kode. For at arbejde med dem er der brug for såkaldte kodebøger. Faktisk er dette den samme ordbog, der kun indeholder oversættelser af ord til koder. Et typisk og forenklet eksempel på koder er ASCII-tabellen - en international chiffer af simple tegn.

ASCII kode tabel
ASCII kode tabel

Den største fordel ved koder er, at de er meget svære at tyde. Frekvensanalyse virker næsten ikke, når de bliver hacket. Kodernes svaghed er i virkeligheden selve bøgerne. For det første er deres forberedelse en kompleks og dyr proces. For det andet, for fjender bliver de til et ønsket objekt, og aflytning af selv en del af bogen tvinger dig til at ændre alle koderne fuldstændigt.

I det 20. århundrede brugte mange stater koder til at overføre hemmelige data, og ændrede kodebogen efter en vis periode. Og de jagede også aktivt efter bøger om naboer og modstandere.

Enigma

Alle ved, at Enigma var nazisternes vigtigste chiffermaskine under Anden Verdenskrig. Enigmas struktur omfatter en kombination af elektriske og mekaniske kredsløb. Hvordan chifferen vil vise sig afhænger af den indledende konfiguration af Enigma. Samtidig ændrer Enigma automatisk sin konfiguration under drift og krypterer én besked på flere måder i hele dens længde.

I modsætning til de simpleste cifre gav "Enigma" billioner af mulige kombinationer, hvilket gjorde det næsten umuligt at knække krypteret information. Til gengæld fik nazisterne forberedt en bestemt kombination til hver dag, som debruges på en bestemt dag til at sende beskeder. Derfor, selvom Enigma faldt i fjendens hænder, gjorde den intet for at dekryptere beskeder uden at indtaste den korrekte konfiguration hver dag.

Nazi Enigma chiffermaskine
Nazi Enigma chiffermaskine

Hack "Enigma" blev aktivt prøvet under hele Hitlers militærkampagne. I England blev der i 1936 bygget en af de første computerenheder (Turing-maskine), som blev prototypen på computere i fremtiden. Hans opgave var at simulere driften af adskillige dusin gåder samtidigt og køre opsnappede nazistiske beskeder gennem dem. Men selv Turing-maskinen var kun lejlighedsvis i stand til at knække beskeden.

Public nøglekryptering

Den mest populære af krypteringsalgoritmerne, som bruges over alt i teknologi og computersystemer. Dens essens ligger som regel i tilstedeværelsen af to nøgler, hvoraf den ene transmitteres offentligt, og den anden er hemmelig (privat). Den offentlige nøgle bruges til at kryptere beskeden, og den private nøgle bruges til at dekryptere den.

Offentlig nøgle krypteringsalgoritme
Offentlig nøgle krypteringsalgoritme

Den offentlige nøgle er oftest et meget stort tal, der kun har to divisorer, ikke medregnet én og selve tallet. Sammen danner disse to divisorer en hemmelig nøgle.

Lad os overveje et simpelt eksempel. Lad den offentlige nøgle være 905. Dens divisorer er tallene 1, 5, 181 og 905. Så bliver den hemmelige nøgle f.eks. tallet 5181. Siger du for let? Hvad nu hvis i rollenoffentligt nummer vil være et nummer med 60 cifre? Matematisk vanskeligt at beregne divisorerne for et stort tal.

For et mere levende eksempel, forestil dig, at du hæver penge i en hæveautomat. Ved læsning af kortet krypteres persondata med en bestemt offentlig nøgle, og på bankens side dekrypteres oplysningerne med en hemmelig nøgle. Og denne offentlige nøgle kan ændres for hver operation. Og der er ingen måder, hvorpå du hurtigt kan finde nøgledelere, når du opsnapper det.

Skriftholdbarhed

Den kryptografiske styrke af en krypteringsalgoritme er evnen til at modstå hacking. Denne parameter er den vigtigste for enhver kryptering. Det er klart, at den simple substitutionsciffer, som kan dekrypteres af enhver elektronisk enhed, er en af de mest ustabile.

I dag er der ingen ensartede standarder, efter hvilke det ville være muligt at vurdere chifferens styrke. Dette er en besværlig og lang proces. Der er dog en række kommissioner, der har udarbejdet standarder på dette område. For eksempel minimumskravene til Advanced Encryption Standard eller AES-krypteringsalgoritmen udviklet af NIST USA.

Til reference: Vernam-cifferet er anerkendt som det mest modstandsdygtige ciffer mod brud. Samtidig er dens fordel, at den ifølge dens algoritme er den enkleste chiffer.

Anbefalede: