Behovet for å kryptere korrespondanse oppsto i den antikke verden, og enkle erstatningssiffer dukket opp. Krypterte meldinger avgjorde skjebnen til mange kamper og påvirket historiens gang. Over tid fant folk opp flere og mer avanserte krypteringsmetoder.
Kode og chiffer er forresten forskjellige begreper. Den første betyr å erstatte hvert ord i meldingen med et kodeord. Den andre er å kryptere hvert symbol med informasjon ved hjelp av en spesifikk algoritme.
Etter at matematikken begynte å kode informasjon og teorien om kryptografi ble utviklet, oppdaget forskere mange nyttige egenskaper ved denne anvendte vitenskapen. For eksempel har dekodingsalgoritmer hjulpet med å nøste opp døde språk som gammelegyptisk eller latin.
Steganography
Steganografi er eldre enn koding og kryptering. Denne kunsten har eksistert i veldig lang tid. Det betyr bokstavelig t alt "skjult skrift" eller "sifferskrift". Selv om steganografi ikke helt oppfyller definisjonene av en kode eller chiffer, er den ment å skjule informasjon fra fremmede.øye.
Steganografi er den enkleste chifferen. Svelgenoter dekket av voks er typiske eksempler, eller en melding på et barbert hode som skjuler seg under voksent hår. Det klareste eksemplet på steganografi er metoden beskrevet i mange engelske (og ikke bare) detektivbøker, når meldinger sendes gjennom en avis, hvor bokstaver er upåfallende merket.
Den største ulempen med steganografi er at en oppmerksom fremmed kan legge merke til det. Derfor, for å hindre at den hemmelige meldingen lett kan leses, brukes kryptering og kodingsmetoder i forbindelse med steganografi.
ROT1 og Caesar-chiffer
Navnet på denne chifferen er ROTate 1 bokstav fremover, og den er kjent for mange skolebarn. Det er et enkelt substituttchiffer. Essensen ligger i det faktum at hver bokstav krypteres ved å skifte alfabetisk med 1 bokstav fremover. A -> B, B -> C, …, Z -> A. For eksempel krypterer vi uttrykket "vår Nastya gråter høyt" og vi får "generell Obtua dspnlp rmbsheu".
ROT1-chifferet kan generaliseres til et vilkårlig antall forskyvninger, så kalles det ROTN, der N er tallet som krypteringen av bokstaver skal forskyves med. I denne formen har chifferen vært kjent siden antikken og kalles "Cæsar-chifferet".
Caesar-chiffer er veldig enkelt og raskt, men det er et enkelt enkelt permutasjons-chiffer og er derfor lett å bryte. Med en slik ulempe er den bare egnet for barnslige spøk.
Transposisjons- eller permutasjonschiffer
Disse typene enkle permutasjonschiffer er mer seriøse og ble aktivt brukt for ikke så lenge siden. Under den amerikanske borgerkrigen og første verdenskrig ble den brukt til å sende meldinger. Algoritmen hans består i å omorganisere bokstavene på steder - skriv meldingen i omvendt rekkefølge eller omorganiser bokstavene i par. La oss for eksempel kryptere uttrykket "Morsekode er også et chiffer" -> "akubza ezrom - pinnsvin rfish".
Med en god algoritme som bestemte vilkårlige permutasjoner for hver karakter eller gruppe av dem, ble chifferen motstandsdyktig mot enkel cracking. Men! Bare i rett tid. Siden chifferen lett brytes av enkel brute force eller ordbokmatching, kan i dag enhver smarttelefon håndtere dekryptering. Derfor, med fremkomsten av datamaskiner, flyttet dette chiffer også inn i kategorien for barn.
Morsekode
ABC er et medium for informasjonsutveksling og hovedoppgaven er å gjøre meldinger enklere og mer forståelige for overføring. Selv om dette er i strid med hva kryptering er ment for. Likevel fungerer det som de enkleste chiffer. I morsesystemet har hver bokstav, tall og skilletegn sin egen kode, som består av en gruppe streker og prikker. Når du sender en melding via telegrafen, representerer streker og prikker lange og korte signaler.
Telegraf og morsekode… Morse var den som først patenterte "sin" oppfinnelse i 1840, selv om lignende enheter hadde blitt oppfunnet i Russland og England før ham. Men hvem bryr seg nå … Telegraf og alfabetMorsekode hadde en veldig stor innvirkning på verden, og tillot nesten øyeblikkelig overføring av meldinger over kontinentale avstander.
monoalfabetisk erstatning
ROTN- og morsekoden beskrevet ovenfor er eksempler på monoalfabetiske erstatningsfonter. Prefikset "mono" betyr at under kryptering erstattes hver bokstav i den opprinnelige meldingen med en annen bokstav eller kode fra det eneste krypteringsalfabetet.
Å tyde enkle erstatningssiffer er ikke vanskelig, og dette er deres største ulempe. De løses ved enkel oppregning eller frekvensanalyse. For eksempel er det kjent at de mest brukte bokstavene i det russiske språket er "o", "a", "i". Dermed kan det antas at i chifferteksten betyr bokstavene som forekommer oftest enten "o", eller "a", eller "og". Basert på disse vurderingene kan meldingen dekrypteres selv uten datasøk.
Det er kjent at Mary I, dronning av Skottland fra 1561 til 1567, brukte et veldig komplekst monoalfabetisk substitusjonssiffer med flere kombinasjoner. Likevel klarte fiendene hennes å tyde meldingene, og informasjonen var nok til å dømme dronningen til døden.
Gronsfeld-chiffer, eller polyalfabetisk erstatning
Enkle chiffer er erklært ubrukelige av kryptografi. Derfor har mange av dem blitt forbedret. Gronsfeld-chifferet er en modifikasjon av Cæsar-chifferet. Denne metoden er mye mer motstandsdyktig mot hacking og ligger i det faktum at hvert tegn i den kodede informasjonen er kryptert ved hjelp av et av de forskjellige alfabetene, som gjentas syklisk. Det kan sies at dette er en flerdimensjonal applikasjondet enkleste substitusjons-chifferet. Faktisk er Gronsfeld-chifferet veldig likt Vigenère-chifferet som er omt alt nedenfor.
ADFGX-krypteringsalgoritme
Dette er det mest kjente chiffer fra første verdenskrig brukt av tyskerne. Chifferen har fått navnet sitt fordi krypteringsalgoritmen førte alle chiffergrammer til veksling av disse bokstavene. Valget av selve bokstavene ble bestemt av deres bekvemmelighet når de ble sendt over telegraflinjer. Hver bokstav i chifferen er representert med to. La oss se på en mer interessant versjon av ADFGX-firkanten som inkluderer tall og kalles 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-kvadreringsalgoritmen er som følger:
- Velg tilfeldige n bokstaver for kolonner og rader.
- Bygge en N x N-matrise.
- Skriv inn alfabetet, tallene, tegnene tilfeldig spredt over cellene inn i matrisen.
La oss lage en lignende rute for det russiske språket. La oss for eksempel lage 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 matrisen ser merkelig ut fordi en rad med celler inneholder to bokstaver. Dette er akseptabelt, meningen med meldingen går ikke tapt. Den kan enkelt gjenopprettes. Krypter uttrykket "Compact cipher" ved å bruke denne tabellen:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | |
Phrase | K | O | M | P | A | K | T | N | S | Y | Ш | & | F | R |
Cipher | bw | gv | gb | where | ag | bw | db | ab | dg | helvete | wa | helvete | bb | ha |
Dermed ser den endelige krypterte meldingen slik ut: "bvgvgbgdagbvdbabdgvdvaadbbga". Selvfølgelig utførte tyskerne en lignende linje gjennom flere chiffer. Og til slutt ble det veldig stabiltfor å knekke den krypterte meldingen.
Vigenère-chiffer
Dette chifferet er en størrelsesorden som er mer motstandsdyktig mot sprekker enn monoalfabetiske, selv om det er et enkelt teksterstatningschiffer. På grunn av den robuste algoritmen ble det imidlertid lenge ansett som umulig å hacke. Den første omtale av det dateres tilbake til 1500-tallet. Vigenère (en fransk diplomat) blir feilaktig kreditert som oppfinneren. For bedre å forstå hva som står på spill, bør du vurdere Vigenère-bordet (Vigenère square, tabula recta) for det russiske språket.
La oss begynne å kode uttrykket "Kasperovich ler". Men for at kryptering skal lykkes, trengs et nøkkelord – la det være «passord». La oss nå starte kryptering. For å gjøre dette skriver vi nøkkelen så mange ganger at antall bokstaver fra den tilsvarer antall bokstaver i den krypterte frasen, ved å gjenta nøkkelen eller kutte:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
setning: | K | A | С | P | E | R | O | B | & | W | С | M | E | E | T | С | I |
Nøkkel | P | A | R | O | L | b | P | A | R | O | L | b | P | A | R | O | L |
Nå, ved å bruke Vigenère-tabellen, som i koordinatplanet, ser vi etter en celle som er skjæringspunktet mellom bokstavpar, 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 skjønner at "Kasperovich ler"="bvusnyugschzh eykhzhgal".
Å knekke Vigenère-chifferet er så vanskelig fordi frekvensanalyse må vite lengden på nøkkelordet for å fungere. Så hacket er å tilfeldig kaste lengden på nøkkelordet og prøve å knekke den hemmelige meldingen.
Det skal også nevnes at i tillegg til en helt tilfeldig nøkkel, kan en helt annen Vigenère-tabell brukes. I dette tilfellet består Vigenère-plassen av et linje-for-linje skrevet russisk alfabet med en forskyvning på én. Som refererer oss til ROT1-chifferet. Og akkurat som i Cæsar-chifferet, kan forskyvningen være hva som helst. Dessuten trenger ikke rekkefølgen på bokstavene være alfabetisk. I dette tilfellet kan selve bordet være nøkkelen, uten å vite hvilken det vil være umulig å lese meldingen, til og med å kjenne nøkkelen.
Koder
Ekte koder består av kamper for hverord i en egen kode. For å jobbe med dem trengs såk alte kodebøker. Faktisk er dette den samme ordboken, som bare inneholder oversettelser av ord til koder. Et typisk og forenklet eksempel på koder er ASCII-tabellen – en internasjonal chiffer av enkle tegn.
Den største fordelen med koder er at de er svært vanskelige å tyde. Frekvensanalyse fungerer nesten ikke når de blir hacket. Svakheten ved kodene er faktisk selve bøkene. For det første er forberedelsen deres en kompleks og kostbar prosess. For det andre, for fiender blir de til et ønsket objekt, og avskjæringen av en del av boken tvinger deg til å endre alle kodene fullstendig.
På 1900-tallet brukte mange stater koder for å overføre hemmelige data, og endret kodeboken etter en viss periode. Og de jaktet også aktivt på bøker av naboer og motstandere.
Enigma
Alle vet at Enigma var nazistenes viktigste chiffermaskin under andre verdenskrig. Enigmas struktur inkluderer en kombinasjon av elektriske og mekaniske kretser. Hvordan chifferen vil slå ut avhenger av den første konfigurasjonen av Enigma. Samtidig endrer Enigma automatisk konfigurasjonen under drift, og krypterer én melding på flere måter gjennom hele dens lengde.
I motsetning til de enkleste chiffer ga "Enigma" billioner av mulige kombinasjoner, noe som gjorde det nesten umulig å knekke kryptert informasjon. På sin side fikk nazistene utarbeidet en bestemt kombinasjon for hver dag, som debrukes på en bestemt dag til å sende meldinger. Derfor, selv om Enigma f alt i fiendens hender, gjorde den ingenting for å dekryptere meldinger uten å angi riktig konfigurasjon hver dag.
Hack "Enigma" ble aktivt prøvd under hele Hitlers militærkampanje. I England, i 1936, ble en av de første dataenhetene (Turing-maskinen) bygget for dette, som ble prototypen på datamaskiner i fremtiden. Hans oppgave var å simulere driften av flere dusin Enigmas samtidig og kjøre avlyttede nazistiske meldinger gjennom dem. Men selv Turing-maskinen klarte bare av og til å knekke meldingen.
Offentlig nøkkelkryptering
Den mest populære av krypteringsalgoritmene, som brukes over alt i teknologi og datasystemer. Dens essens ligger som regel i nærvær av to nøkler, hvorav den ene overføres offentlig, og den andre er hemmelig (privat). Den offentlige nøkkelen brukes til å kryptere meldingen og den private nøkkelen brukes til å dekryptere den.
Den offentlige nøkkelen er oftest et veldig stort tall som bare har to divisorer, ikke medregnet én og selve tallet. Sammen danner disse to divisorene en hemmelig nøkkel.
La oss se på et enkelt eksempel. La den offentlige nøkkelen være 905. Dens divisorer er tallene 1, 5, 181 og 905. Da blir den hemmelige nøkkelen for eksempel tallet 5181. Sier du for lett? Hva om i rollenoffentlig nummer vil være et tall med 60 sifre? Matematisk vanskelig å beregne divisorene for et stort tall.
For et mer levende eksempel, se for deg at du tar ut penger fra en minibank. Ved lesing av kortet krypteres personopplysninger med en viss offentlig nøkkel, og på bankens side dekrypteres informasjonen med en hemmelig nøkkel. Og denne offentlige nøkkelen kan endres for hver operasjon. Og det er ingen måter å raskt finne nøkkeldelere når du avskjærer den.
Skriftholdbarhet
Den kryptografiske styrken til en krypteringsalgoritme er evnen til å motstå hacking. Denne parameteren er den viktigste for enhver kryptering. Åpenbart er det enkle erstatnings-chifferet, som kan dekrypteres av enhver elektronisk enhet, en av de mest ustabile.
I dag er det ingen enhetlige standarder som det vil være mulig å vurdere styrken til chifferen. Dette er en møysommelig og lang prosess. Det er imidlertid en rekke kommisjoner som har laget standarder på dette området. For eksempel minimumskravene for Advanced Encryption Standard eller AES-krypteringsalgoritmen utviklet av NIST USA.
Til referanse: Vernam-chifferet er anerkjent som det mest motstandsdyktige chifferet mot brudd. Samtidig er fordelen at den ifølge algoritmen er den enkleste chifferen.