Introduksjon til kryptografi. Bøker. Last ned DJVU-bøker, PDF gratis. Gratis elektronisk bibliotek V.V. Yashchenko, introduksjon til kryptografi

Bøker. Last ned DJVU-bøker, PDF gratis. Gratis elektronisk bibliotek
V.V. Yashchenko, introduksjon til kryptografi

Du kan (programmet vil markere med gult)
Du kan se en liste over bøker om høyere matematikk sortert alfabetisk.
Du kan se en liste over bøker om høyere fysikk sortert alfabetisk.

• Gratis nedlasting av bok, volum 1,69 Mb, djvu-format
Andre utgave, red. Yashchenko V.V., september 1999

Damer og herrer!! For å laste ned filer av elektroniske publikasjoner uten "feil", klikk på den understrekede lenken med filen HØYRE museknapp, velg kommandoen "Lagre målet som ..." ("Lagre målet som ...") og lagre den elektroniske publikasjonsfilen på din lokale datamaskin. Elektroniske publikasjoner er vanligvis i Adobe PDF- og DJVU-formater.

Kapittel 1. Grunnleggende begreper om kryptografi
1. Introduksjon
2. Emne for kryptografi
3. Matematisk grunnlag
4. Nye veibeskrivelser
5. Konklusjon

Kapittel 2. Kryptografi og kompleksitetsteori
1. Introduksjon
2. Kryptografi og hypotese
3. Enveisfunksjoner
4. Pseudo-tilfeldige generatorer
5. Null kunnskapsbevis

Kapittel 3. Kryptografiske protokoller
1. Introduksjon
2. Integritet. Autentisering og elektroniske signaturprotokoller
3. Ikke-sporbarhet. Elektroniske penger
4. Protokoller som "kaste en mynt på telefonen"
5. Nok en gang om å dele en hemmelighet
6. La oss spille "kubki". Avstemningsreferat
7. Utover standard gjetninger. Konfidensiell melding
8. I stedet for en konklusjon

Kapittel 4. Algoritmiske problemer ved tallteori
1. Introduksjon
2. RSA-krypteringssystem
3. Kompleksitet av tallteoretiske algoritmer
4. Hvordan skille et sammensatt tall fra et primtall
5. Hvordan bygge store primtall
6. Hvordan sjekke et stort tall for enkelhets skyld
7. Hvordan faktorisere sammensatte tall
8. Diskret logaritme
9. Konklusjon

Kapittel 5. Matematikken til hemmelig deling
1. Introduksjon
2. Dele en hemmelighet for vilkårlige tilgangsstrukturer
3. Lineær separasjon av hemmeligheten
4. Perfekt separasjon av hemmelighet og matroid

Kapittel 6. Datamaskin og kryptografi
1. I stedet for å introdusere
2. Litt teori
3. Hvordan krypterer jeg en fil?
4. Lær av andres feil
5. I stedet for en konklusjon

Kapittel 7. Kryptoolympiader for skolebarn
1. Introduksjon
2. Erstatningskoder
3. Permutasjonskoder
4. Multi-alfabetiske erstatningssiffer med en periodisk nøkkel
5. Vilkår for problemene ved OL i matematikk og kryptografi
6. Veibeskrivelser og løsninger

Vedlegg: et utdrag fra K. Shannons artikkel "Theory of communication in secret systems"

Kort sammendrag av boken

Under totalt. utg. V.V. Yashchenko. Forfattere: V.V. Yashchenko (redaktør, kapittel 1), N.P. Varnovsky (kapittel 2, 3), Yu.V. Nesterenko (kapittel 4), G.A.Kabatiansky (kapittel 5), P.N Devyanin, VG Proskurin, AV Cheremushkin (kapittel 6), PA Gyrdymov, A. Yu Zubov, AV Zyazin, VN Ovchinnikov (kapittel 7).

For første gang på russisk gir boken en systematisk presentasjon av kryptografiens vitenskapelige grunnlag, fra de enkleste eksempler og grunnleggende konsepter til moderne kryptografiske konstruksjoner. Å forstå prinsippene for kryptografi har blitt et behov for mange i forbindelse med utbredt bruk av kryptografiske informasjonssikkerhetsverktøy. Derfor kan boken være nyttig for den generelle leseren. Boken er beregnet på studenter ved matematikk oger.

Kryptografi - vitenskapen om chiffer - har vært klassifisert i lang tid, siden den ble brukt hovedsakelig for å beskytte stats- og militærhemmeligheter. For tiden brukes metoder og metoder for kryptografi for å sikre informasjonssikkerhet ikke bare for staten, men også for enkeltpersoner og organisasjoner. Dette er ikke nødvendigvis et spørsmål om hemmeligheter. For mye forskjellig informasjon "vandrer" rundt i verden i digital form. Og over denne informasjonen "henger" trusler om uvennlig bekjentskap, akkumulering, substitusjon, forfalskning, etc. De mest pålitelige metodene for beskyttelse mot slike trusler er gitt av kryptografi.

Så langt er kryptoalgoritmer for en vanlig forbruker en forseglet hemmelighet, selv om mange allerede har måttet bruke noen kryptografiske midler: kryptering av e-post, smarte bankkort osv. Naturligvis er hovedspørsmålet for brukeren om dette kryptografiske verktøyet gir pålitelig beskyttelse. Men selv å formulere dette elementære spørsmålet riktig er ikke lett. Hvilken fiende forsvarer vi oss mot? Hva er evnene til denne motstanderen? Hvilke mål kan han forfølge? Hvordan måle beskyttelsespålitelighet? Listen over slike spørsmål kan fortsettes. For å svare på dem trenger brukeren kunnskap om de grunnleggende begrepene kryptografi.

En populær utstilling av det vitenskapelige grunnlaget for kryptografi (vi snakker bare om "ikke-statlig" kryptografi; deler av kryptografi knyttet til statssikkerhet bør forbli hemmelige) er hensikten med denne boken. Den kan også brukes som læremiddel. Det finnes ingen lignende bøker på russisk ennå. Materialer fra en rekke kapitler ble publisert av forfatterne tidligere i andre utgaver (kapittel 1 - i boken til SA Dorichenko, VV Yashchenko, "25 etudes on ciphers", Moskva: TEIS, 1994; kapittel 1, 2, 4, 5 - i tidsskriftet "Mathematical education", tredje serie, nummer 2, M .: MCNMO, 1998; Kapittel 7 - i avisen "Informatika" (ukentlig bilag til avisen "1. september"), N 4, januar 1998). Under utarbeidelsen av denne publikasjonen har dette materialet blitt revidert og supplert. Presentasjonen av stoffet er laget for en leser med en matematisk tankegang.

I utgangspunktet er kapitlene uavhengige av hverandre (dette oppnås gjennom noen repetisjoner) og de kan leses i hvilken som helst rekkefølge. Kapittel 1 – innledende – anbefales for alle å lese, fordi det forklarer alle grunnleggende begreper innen moderne kryptografi på et populært nivå: chiffer, nøkkel, styrke, elektronisk digital signatur, kryptografisk protokoll osv. I andre kapitler er en del av materialet. gjentas, men i mer dybde. Kapittel 2, 3, 4, 5 bruker noe av den høyere matematikkunnskapen som er kjent for elever i matematikkklasser og elever. Kapittel 6 er rettet mot dataeksperter. Kapittel 7 inneholder materiell til olympiader i kryptografi for skoleelever og det kreves derfor ingen kunnskap utenfor skolens læreplan for å lese det.

Advarsel: De kryptografiske verktøyene og programvareproduktene nevnt i denne boken brukes kun for å illustrere generelle kryptografiske ideer; Forfatterne hadde ikke til hensikt å evaluere eller sammenligne de kryptografiske verktøyene som er tilgjengelige på markedet.

Kryptografi ble satt på et vitenskapelig grunnlag i stor grad takket være arbeidet til den fremragende amerikanske vitenskapsmannen Claude Shannon. Hans rapport «The matematical theory of cryptography» ble utarbeidet i en hemmelig versjon i 1945, avklassifisert og utgitt i 1948, oversatt til russisk i 1963. Siden «Works on information theory and cybernetics» (1963) av K. Shannon ble en bibliografisk sjeldenhet , har vi tatt med hoveddelen av K. Shannons artikkel «Theory of communication in secret systems» i vedlegget. Dette banebrytende verket anbefales å lese for alle som er interessert i kryptografi.

For en profesjonell forståelse av kryptografiske algoritmer og evnen til å vurdere deres styrker og svakheter, kreves seriøs matematisk opplæring (på nivå med universitetets matematiske avdelinger). Dette skyldes det faktum at moderne kryptografi er basert på dype resultater fra slike grener av matematikken som teorien om beregningskompleksitet, tallteori, algebra, informasjonsteori, etc. De som ønsker å studere kryptografi seriøst kan anbefales gjennomgangsmonografien " Cryptography in Banking" av MI Anokhin, Varnovsky N.P., Sidelnikova V.M., Yashchenko V.V., Moskva: MEPhI, 1997.

Hvordan formidle nødvendig informasjon til rett adressat i hemmelighet fra andre? Hver av leserne til forskjellige tider og med forskjellige mål har sannsynligvis prøvd å løse dette praktiske problemet for seg selv (for å gjøre det lettere for ytterligere referanser, vil vi kalle det "TP-problemet", det vil si problemet med hemmelig overføring). Etter å ha valgt en passende løsning, gjentok han sannsynligvis oppfinnelsen av en av metodene for skjult informasjonsoverføring, som er mer enn tusen år gammel.

Når man reflekterer over TP-oppgaven, er det ikke vanskelig å komme til at det er tre muligheter.
1. Lag en absolutt pålitelig kommunikasjonskanal mellom abonnenter utilgjengelig for andre.
2. Bruk en offentlig kommunikasjonskanal, men skjul selve informasjonsoverføringen.
3. Bruk en offentlig kommunikasjonskanal, men overfør nødvendig informasjon gjennom den i en slik transformert form at bare adressaten kunne gjenopprette den.

La oss kommentere disse tre mulighetene.
1. Gitt dagens utviklingsnivå for vitenskap og teknologi, er det praktisk talt urealistisk å lage en slik kommunikasjonskanal mellom eksterne abonnenter for gjentatt overføring av store mengder informasjon.
2. Steganografi er engasjert i utviklingen av midler og metoder for å skjule overføringen av en melding.

De første sporene etter steganografiske metoder går tapt i antikken. For eksempel er denne metoden for å skjule en skriftlig melding kjent: slavens hode ble barbert, en melding ble skrevet i hodebunnen, og etter hårveksten ble slaven sendt til adressaten. Fra detektivhistorier er ulike metoder for hemmelig skriving mellom linjer med vanlig, ubeskyttet tekst velkjent: fra melk til komplekse kjemiske reagenser med påfølgende bearbeiding.

Også kjent fra detektiver er "microdot"-metoden: en melding tas opp ved hjelp av moderne teknologi på et veldig lite medium (microdot), som sendes med et vanlig brev, for eksempel under et stempel eller et annet sted på et forhåndsbestemt sted.

For tiden, på grunn av den utbredte bruken av datamaskiner, er det mange subtile metoder for å "gjemme" beskyttet informasjon inne i store mengder informasjon som er lagret på en datamaskin. Et illustrativt eksempel på å skjule en tekstfil i en grafikk finner du på Internett; den er også gitt i tidsskriftet "Computerra", N48 (225) av 1. desember 1997, på side 62. (Det skal bemerkes at forfatterne av artikkelen i tidsskriftet feilaktig klassifiserer steganografi som kryptografi. tekster, men generelt sett sett, steganografi og kryptografi er fundamentalt forskjellige retninger i teorien og praksisen om informasjonsbeskyttelse.)

3. Kryptografi er engasjert i utvikling av metoder for å transformere (kryptere) informasjon for å beskytte den mot ulovlige brukere. Slike metoder og måter å transformere informasjon på kalles chiffer.

Kryptering (kryptering) er prosessen med å bruke et chiffer på beskyttet informasjon, dvs. konvertere beskyttet informasjon (ren tekst) til en kryptert melding (chiffertekst, kryptogram) ved å bruke visse regler i chifferen.

Dekryptering er den omvendte prosessen med kryptering, det vil si transformasjonen av en kryptert melding til beskyttet informasjon ved å bruke visse regler i chifferen.

Kryptografi er en anvendt vitenskap, den bruker de siste prestasjonene fra grunnleggende vitenskaper og først av alt matematikk. På den annen side avhenger alle de spesifikke oppgavene til kryptografi i hovedsak av utviklingsnivået til teknologi og teknologi, av kommunikasjonsmidler som brukes og metoder for overføring av informasjon.

Temaet kryptografi. Hva er temaet kryptografi? For å svare på dette spørsmålet, la oss gå tilbake til TP-problemet for å klargjøre situasjonen og begrepene som brukes. Først og fremst merker vi at denne oppgaven kun oppstår for informasjon som må beskyttes. Vanligvis i slike tilfeller sier de at informasjonen inneholder en hemmelighet eller er beskyttet, privat, konfidensiell, hemmelig. For de mest typiske, ofte oppståtte situasjonene av denne typen, har til og med spesielle konsepter blitt introdusert:
- statshemmeligheter;
- en militær hemmelighet;
- handelshemmelighet;
- juridiske hemmeligheter;
- medisinsk konfidensialitet, etc.

Videre vil vi snakke om den beskyttede informasjonen, med tanke på følgende funksjoner ved slik informasjon:
- det er en viss krets av legitime brukere som har rett til å eie denne informasjonen;
- det er ulovlige brukere som forsøker å beslaglegge denne informasjonen for å gjøre den til egen fordel, og til legitime brukere til skade.

Bøker, bøker last ned, last ned bøker, bøker på nett, les på nettet, last ned bøker gratis, les bøker, les bøker på nettet, les, bibliotek på nettet, bøker les, les gratis på nettet, les bøker gratis, e-bok, les på nett bøker, beste bøker matematikk og fysikk, interessante bøker matematikk og fysikk, e-bøker, bøker gratis, bøker for gratis nedlasting, gratis nedlasting av bøker for matematikk og fysikk, last ned bøker gratis i sin helhet, nettbibliotek, bøker gratis, les bøker på nett gratis uten å registrere matematikk og fysikk, les bøker på nettet gratis matematikk og fysikk, elektronisk bibliotek matematikk og fysikk, bøker for å lese matematikk og fysikk på nett, bokverdenen matematikk og fysikk, les gratis matematikk og fysikk, bibliotek online matematikk og fysikk, lese bøker matematikk og fysikk, bøker på nett for gratis matematikk og fysikk, populære bøker matematikk og fysikk, bibliotek med gratis bøker matematikk og fysikk, last ned elektr. nettbok matematikk og fysikk, gratis nettbibliotek matematikk og fysikk, e-bøker nedlasting, lærebøker online matematikk og fysikk, e-bøker bibliotek matematikk og fysikk, e-bøker gratis nedlasting uten registrering matematikk og fysikk, gode bøker matematikk og fysikk, last ned bøker fullstendig matematikk og fysikk, elektronisk bibliotek lese gratis matematikk og fysikk, elektronisk bibliotek gratis nedlasting matematikk og fysikk, nettsteder for nedlasting av bøker matematikk og fysikk, smartbøker matematikk og fysikk, søk etter bøker matematikk og fysikk, last ned e-bøker gratis matematikk og fysikk, e-bok nedlasting matematikk og fysikk, de beste bøkene matematikk og fysikk, elektronisk bibliotek for gratis matematikk og fysikk, les online gratis bøker matematikk og fysikk, boknettsted matematikk og fysikk, elektronisk bibliotek, nettbøker å lese , bok elektronisk matematikk og fysikk, nettsted for nedlasting av bøker gratis og uten registrering , gratis nettbibliotek for matematikk og fysikk, hvor gratis nedlasting av bøker matematikk og fysikk, les bøker gratis og uten registrering matematikk og fysikk, lærebøker laster ned matematikk og fysikk, last ned gratis e-bøker matematikk og fysikk, last ned gratis bøker i sin helhet, bibliotek online gratis, de beste e-bøkene matematikk og fysikk, nettbibliotek for bøker matematikk og fysikk, last ned e-bøker gratis uten registrering, nettbibliotek for gratis nedlasting, hvor kan du laste ned gratis bøker, e-biblioteker gratis, e- bøker gratis, gratis e-biblioteker, nettbibliotek gratis, les bøker gratis, bøker på nettet gratis les, les gratis online, interessante bøker lese online matematikk og fysikk, lese bøker online matematikk og fysikk, elektronisk bibliotek online matematikk og fysikk, gratis bibliotek med elektroniske bøker matematikk og fysikk, nettbibliotek les, les gratis og uten registrering ai matematikk og fysikk, finn boken matematikk og fysikk, katalog over bøker matematikk og fysikk, last ned bøker online gratis matematikk og fysikk, internettbibliotek matematikk og fysikk, last ned gratis bøker uten registrering matematikk og fysikk, hvor du kan laste ned bøker gratis matematikk og fysikk, hvor du kan laste ned bøker, nettsteder for gratis nedlasting av bøker, lese online, lese et bibliotek, lese bøker på nettet gratis uten registrering, bibliotekbøker, gratis nettbibliotek, lese nettbibliotek gratis, lese bøker gratis og uten registrering, e-bibliotek last ned bøker gratis, les online er gratis.

,
Siden 2017 fornyer vi mobilversjonen av nettsiden for mobiltelefoner (forkortet tekstdesign, WAP-teknologi) - den øverste knappen i øvre venstre hjørne av nettsiden. Hvis du ikke har tilgang til Internett via en personlig datamaskin eller en Internett-terminal, kan du bruke mobiltelefonen til å besøke nettsiden vår (forkortet design) og om nødvendig lagre dataene fra nettsiden til minnet på mobiltelefonen din . Lagre bøker og artikler på mobiltelefonen (mobilt internett) og last dem ned fra telefonen til datamaskinen. Praktisk nedlasting av bøker via en mobiltelefon (til telefonminnet) og til datamaskinen via et mobilt grensesnitt. Rask Internett uten unødvendige tagger, gratis (til prisen av Internett-tjenester) og uten passord. Materialet er kun gitt til informasjonsformål. Direkte lenker til filer med bøker og artikler på nettstedet og salg av disse av tredjeparter er forbudt.

Merk. Praktisk tekstlenke for fora, blogger, sitering av nettstedmateriale, html-kode kan kopieres og enkelt limes inn på nettsidene dine når du siterer materiale fra nettstedet vårt. Materialet er kun gitt til informasjonsformål. Lagre også bøker på mobiltelefonen din via Internett (det finnes en mobilversjon av siden - lenke øverst til venstre på siden) og last dem ned fra telefonen til datamaskinen. Direkte lenker til bokfiler er forbudt.

Introduksjon til kryptografi og kryptering, del én. Forelesning i Yandex

For umiddelbart å forstå materiale om offentlig nøkkelinfrastruktur, nettverkssikkerhet og HTTPS, må du kjenne til det grunnleggende om kryptografisk teori. En av de raskeste måtene å lære dem på er å se eller lese en forelesning av Vladimir ivlad Ivanov. Vladimir er en kjent spesialist på nettverk og deres beskyttelsessystemer. Han jobbet i Yandex i lang tid, var en av lederne for vår operasjonsavdeling.


Det er første gang vi publiserer dette foredraget, sammen med transkripsjonen. La oss starte med den første delen. Under klippet finner du teksten og en del av lysbildene.


Jeg leste en gang forelesninger om krypt ved Moscow State University, og de tok meg seks måneder. Jeg skal prøve å fortelle deg alt om to og en halv time. Har aldri gjort det. Så la oss prøve.

Hvem forstår hva DES er? AES? TLS? Binomial kartlegging?

Vi vil prøve å snakke i generelle termer, fordi det er vanskelig og dypt å analysere det vil ikke fungere: det er lite tid og grunnleggende trening bør være ganske stor. Vi vil operere med generelle begreper ganske overfladisk.

Vi vil snakke om hva kryptografiske primitiver er, enkle ting, som du senere kan bygge mer komplekse ting, protokoller fra.

Vi vil snakke om tre primitiver: symmetrisk kryptering, meldingsautentisering og asymmetrisk kryptering. Mange protokoller vokser ut av dem.

I dag skal vi prøve å snakke litt om hvordan nøkler genereres. Generelt, la oss snakke om hvordan du sender en sikker melding ved å bruke kryptoprimitivene vi har fra en bruker til en annen.

Når folk snakker om krypt generelt, er det noen grunnleggende prinsipper. En av dem er Kerkhoffs-prinsippet, som sier at åpen kildekode er svært viktig i kryptografi. Mer spesifikt gir den generell kunnskap om protokolldesignet. Poenget er veldig enkelt: de kryptografiske algoritmene som brukes i et bestemt system bør ikke være en hemmelighet som sikrer stabiliteten. Ideelt sett er det nødvendig å bygge systemer slik at deres kryptografiske side er fullt kjent for angriperen og den eneste hemmeligheten er den kryptografiske nøkkelen som brukes i dette systemet.

Moderne og kommersielt tilgjengelige krypteringssystemer - alle eller nesten alle eller de beste av dem - er bygget av komponenter som er velkjente i design og drift. Det eneste hemmelige med dem er krypteringsnøkkelen. Det er bare ett betydelig unntak kjent for meg - et sett med hemmelige kryptografiske protokoller for alle slags offentlige organisasjoner. I USA heter det NSA suite B, og i Russland er det alle mulige merkelige hemmelige krypteringsalgoritmer som til en viss grad brukes av militæret og offentlige etater.

Jeg vil ikke si at slike algoritmer er til stor nytte for dem, bortsett fra at det er omtrent som atomfysikk. Du kan prøve å forstå utformingen av protokollen for å forstå tankeretningen til menneskene som utviklet den, og på en eller annen måte komme i forkant av den andre siden. Jeg vet ikke hvor relevant dette prinsippet er etter dagens standarder, men folk som vet om det mer enn meg gjør nettopp det.

Situasjonen er forskjellig med hver kommersiell protokoll du kommer over. Et åpent system brukes overalt, alle holder seg til dette prinsippet.

Det første kryptografiske primitivet er symmetriske chiffer.


De er veldig enkle. Vi har en slags algoritme, hvis input er en ren tekst og noe som kalles en nøkkel, en eller annen verdi. Utgangen er en kryptert melding. Når vi ønsker å dekryptere det, er det viktig at vi tar samme krypteringsnøkkel. Og ved å bruke den på en annen algoritme, dekrypteringsalgoritmen, får vi ren tekst tilbake fra chifferteksten.


Hva er de viktige nyansene her? I de fleste vanlige symmetriske krypteringsalgoritmene som man kan støte på, er størrelsen på chifferteksten alltid den samme som størrelsen på renteksten. Moderne krypteringsalgoritmer opererer på nøkkelstørrelser. Nøkkelstørrelser måles i bits. Gjeldende størrelse er fra 128 til 256 biter for symmetriske krypteringsalgoritmer. Vi snakker om resten, inkludert blokkstørrelsen, senere.


Historisk sett, i det konvensjonelle 4. århundre f.Kr., var det to metoder for chifferdesign: substitusjons- og permutasjonschiffer. Substitusjonssiffer er en algoritme der de på den tiden erstattet en bokstav i meldingen med en annen i henhold til et eller annet prinsipp. En enkel substitusjonssiffer - i henhold til tabellen: vi tar tabellen der det står skrevet at vi endrer A til Z, B til Yu, osv. Videre krypterer vi ved å bruke denne tabellen, og dechiffrerer den ved å bruke den.

Hvor kompleks er algoritmen etter din mening når det gjelder nøkkelstørrelse? Hvor mange nøkkelalternativer er det? Rekkefølgen på faktoren til lengden på alfabetet. Vi tar et bord. Hvordan bygger vi det? La oss si at det er en tabell med 26 tegn. Vi kan erstatte bokstaven A med hvilken som helst av dem, bokstaven B - med hvilken som helst av de resterende 25, C - med hvilken som helst av de resterende 24 ... Vi får 26 * 25 * 24 * ... - det vil si den faktorielle av 26. Faktorialet til alfabetets dimensjon.

Hvis du tar log 2 26!, ville det vært mye. Jeg tror du definitivt vil få i området 100 biter av nøkkellengden, eller enda mer. Det viste seg at fra synspunktet til den formelle presentasjonen av sikkerhet, er den spesifiserte krypteringsalgoritmen ganske god. 100 bits er akseptabelt. Samtidig så alle, sannsynligvis i barndom eller ungdomsår, når de ble møtt med kodinger, at slike algoritmer er trivielt dekryptert. Det er ingen problemer med dekoding.

I lang tid har det vært alle slags substitusjonsalgoritmer i forskjellige konstruksjoner. En av dem, enda mer primitiv, er Cæsar-chifferet, der tabellen ikke er dannet av en tilfeldig permutasjon av tegn, men av en forskyvning med tre tegn: A endres til D, B til E, osv. veldig enkelt: i motsetning til tabellen substitusjon, er det bare 25 varianter i Cæsar-nøkkelen med 26 bokstaver i alfabetet - uten å regne med den trivielle krypteringen i seg selv. Og du kan bare ordne opp med et fullstendig søk. Det er litt kompleksitet her.

Hvorfor er tabelloppslag-chifferet så enkelt? Hvor oppstår problemet der vi enkelt, selv uten å vite noe om kryptografi, kan dekryptere tabelloppslag? Det handler om frekvensanalyse. Det er de vanligste bokstavene - noen I eller E. Deres utbredelse er stor, vokaler er mye mer vanlig enn konsonanter, og det er negative par som aldri finnes i naturlige språk - noe som bb. Jeg ga til og med elevene mine oppgaven med å lage en automatisk substitusjonssifferdekoder, og i prinsippet var det mange som gjorde det.

Hva er problemet? Det er nødvendig å forvrenge statistikken over bokstavfordelingen slik at vanlige bokstaver ikke skinner så mye i chifferteksten. Den åpenbare måten: la oss kryptere de vanligste bokstavene ikke i ett tegn, men i fem forskjellige, for eksempel. Hvis bokstaven forekommer i gjennomsnitt fem ganger oftere, så la oss bytte på hverandre - først vil vi kryptere det første tegnet, deretter det andre, det tredje osv. Så får vi en tilordning av bokstavene ikke 1 til 1, men betinget 26 k 50. Statistikk vil dermed bli brutt. Dette er det første eksemplet på et polyalfabetisk chiffer som på en eller annen måte fungerte. Imidlertid er det ganske mange problemer med det, og viktigst av alt, det er veldig upraktisk å jobbe med bordet.

Vi tar ordet VASYA som en nøkkel. Vi tar budskapet MASHA. Vi bruker Cæsar-chifferet, men regner fra disse bokstavene. For eksempel er B den tredje bokstaven i alfabetet. Vi må flytte den tilsvarende bokstaven i klarteksten med tre bokstaver. M skifter til P. A i A. Sh - ved 16, hopper vi over bokstaven A, vi får, betinget, D. Jeg vil skifte A til I. PADYA.

Hva er praktisk i den resulterende chifferen? Det var to identiske bokstaver, men som et resultat ble de kryptert til forskjellige. Dette er kult fordi det gjør statistikken uskarp. Metoden fungerte bra inntil en gang på 1800-tallet, nylig på bakgrunn av kryptografiens historie, fant de ut hvordan de skulle bryte den. Hvis du ser på en melding på flere dusin ord, og nøkkelen er ganske kort, så ser hele strukturen ut som flere Cæsar-siffer. Vi sier: ok, la oss vurdere hver fjerde bokstav - den første, femte, niende - som et Cæsar-chiffer. Og la oss se etter statistiske mønstre blant dem. Vi vil definitivt finne dem. Så tar vi den andre, sjette, tiende og så videre. Vi finner den igjen. Dette vil gjenopprette nøkkelen. Det eneste problemet er å finne ut hvor lang den er. Det er ikke veldig vanskelig, men hvor lenge kan det være? Vel 4, vel 10 tegn. Å gå gjennom 6 alternativer fra 4 til 10 er ikke veldig vanskelig. Et enkelt angrep - det var tilgjengelig uten datamaskiner, bare med en penn og et ark.

Hvordan lage et uknuselig chiffer av denne tingen? Ta nøkkelen til tekststørrelsen. En karakter ved navn Claude Shannon i det tjuende århundre, i 1946, skrev det klassiske første verket om kryptografi som en gren av matematikken, hvor han formulerte et teorem. Lengden på nøkkelen er lik lengden på meldingen - han brukte XOR i stedet for modulo addisjon lik lengden på alfabetet, men i denne situasjonen er det ikke veldig viktig. Nøkkelen er tilfeldig generert, er en sekvens av tilfeldige biter, og utgangen vil også være en tilfeldig sekvens av biter. Teorem: hvis vi har en slik nøkkel, så er en slik konstruksjon absolutt motstandsdyktig. Beviset er ikke veldig komplisert, men jeg skal ikke snakke om det nå.

Det er viktig at du kan lage et uknuselig chiffer, men det har ulemper. For det første må nøkkelen være helt tilfeldig. For det andre bør den aldri gjenbrukes. For det tredje må lengden på nøkkelen være lik lengden på meldingen. Hvorfor kan du ikke bruke samme nøkkel til å kryptere forskjellige meldinger? Fordi, ved å avskjære denne nøkkelen neste gang, vil det være mulig å dekryptere alle meldinger? Nei. Vil Cæsar-chifferet være synlig i de første tegnene? Jeg skjønte ikke helt. Det virker ikke.

La oss ta to meldinger: MASHA, kryptert med nøkkelen VASYA, og et annet ord, som også hadde nøkkelen VASYA, - VERA. Vi får noe sånt som følgende: ZESHYA. La oss legge til de to mottatte meldingene, og slik at de to nøklene blir gjensidig slettet. Som et resultat får vi bare forskjellen mellom en meningsfull chiffertekst og en meningsfull chiffertekst. På XOR er det mer praktisk enn å legge til langs lengden av alfabetet, men det er praktisk talt ingen forskjell.

Hvis vi får forskjellen mellom to meningsfulle chiffertekster, så blir det videre som regel mye lettere, siden tekstene i naturlig språk har høy redundans. Ofte kan vi gjette hva som skjer ved å gjøre forskjellige antakelser, hypoteser. Og det viktigste er at hver riktig hypotese vil avsløre for oss en del av nøkkelen, og derfor deler av to chiffertekster. Noe sånt som dette. Derfor er det dårlig.

I tillegg til substitusjonssiffer, var det også transposisjonssiffer. Med dem er alt også ganske enkelt. Vi tar VASYAIs melding, skriver den inn i en blokk av en viss lengde, for eksempel i DIDOM, og leser resultatet på samme måte.

Ikke Gud vet hva en ting. Hvordan bryte det er også klart - vi vil sortere ut alle mulige varianter av permutasjoner. Det er ikke veldig mange av dem. Vi tar lengden på blokken, velger og gjenoppretter.

Som neste iterasjon ble følgende metode valgt: vi tar alt likt, og på toppen skriver vi en nøkkel - SIMON. La oss omorganisere kolonnene slik at bokstavene er i alfabetisk rekkefølge. Som et resultat får vi en ny nøkkelpermutasjon. Den er allerede mye bedre enn den gamle, siden antallet permutasjoner er mye større og det ikke alltid er lett å plukke det opp.

Hvert moderne chiffer er på en eller annen måte basert på disse to prinsippene - substitusjon og permutasjon. Nå er bruken deres mye mer kompleks, men selve de grunnleggende prinsippene har forblitt de samme.


Hvis vi snakker om moderne chiffer, er de delt inn i to kategorier: strøm og blokk. Strømchifferet er utformet på en slik måte at det faktisk er en tilfeldig tallgenerator, hvis utgang vi legger til modulo 2, "xorim", med vår chiffertekst, som du kan se på lysbildet mitt. Tidligere sa jeg: hvis lengden på den resulterende nøkkelstrømmen - det er nøkkelen - er helt tilfeldig, aldri gjenbrukes og lengden er lik lengden på meldingen, så har vi en absolutt sterk chiffer, ubrytelig.

Spørsmålet oppstår: hvordan generere en tilfeldig, lang og evig nøkkel for en slik chiffer? Hvordan fungerer strømchiffer generelt? I hovedsak er de en tilfeldig tallgenerator basert på en slags frø. Startverdien er chiffernøkkelen, svaret.

Det er ett merkelig unntak fra denne historien - chifferblokker. Dette er en ekte spionhistorie om ekte spionasje. Noen mennesker som trenger absolutt stabil kommunikasjon genererer tilfeldige tall - for eksempel å bokstavelig talt kaste en terning eller bokstavelig talt ta baller ut av en tromme, som i lotto. Lag to ark der disse tilfeldige tallene skrives ut. Ett ark gis til mottakeren, og det andre er igjen hos avsender. Når de vil chatte, bruker de denne strømmen av tilfeldige tall som nøkkelstrømmen. Nei, historien er ikke hentet fra en helt fjern fortid. Jeg har en skikkelig radioavlytting fra 15. oktober 2014: 7 2 6, 7 2 6, 7 2 6. Dette er kallesignalet. 4 8 3, 4 8 3, 4 8 3. Dette er nummeret på chifferblokken. 5 0, 5 0, 5 0. Dette er antall ord. 8 4 4 7 9 8 4 4 7 9 2 0 5 1 4 2 0 5 1 4 osv. 50 slike numeriske grupper. Jeg vet ikke hvor, et sted ikke i Russland satt det en mann med penn og blyant ved en vanlig radiomottaker og skrev ned disse tallene. Etter å ha skrevet dem ned, tok han ut en lignende ting, brettet dem modulo 10 og mottok meldingen. Det fungerer med andre ord virkelig, og et slikt budskap lar seg ikke knekke. Hvis virkelig gode tilfeldige tall ble generert og han senere brente et stykke papir med en nøkkel, kan hacking ikke gjøres på noen måte, i det hele tatt.

Men det er en del problemer her. Den første er hvordan du genererer virkelig gode tilfeldige tall. Verden rundt oss er deterministisk, og hvis vi snakker om datamaskiner, er de fullstendig deterministiske.

For det andre, å levere nøkler av denne størrelsen ... hvis vi snakker om å overføre meldinger fra 55 digitale grupper, så er det ikke veldig vanskelig å gjøre dette, men å overføre flere gigabyte med tekst er allerede et alvorlig problem. Derfor trengs det noen algoritmer som faktisk genererer pseudo-tilfeldige tall basert på en liten startverdi, og som kan brukes som slike strømmealgoritmer.


Den mest brukte algoritmen av denne typen kalles RC4. Den ble utviklet av Ron Rivest for rundt 25 år siden og har vært aktivt brukt i svært lang tid, det var den vanligste algoritmen for TLS, alle dens forskjellige varianter, inkludert HTTPS. Men i det siste har RC4 begynt å vise sin alder. Det er en rekke angrep for ham. Den brukes aktivt i WEP. Det var ett godt foredrag av Anton, en historie som viser: dårlig bruk av en anstendig krypteringsalgoritme, selv etter dagens standarder, fører til at hele systemet er kompromittert.

RC4 er enkel. Lysbildet beskriver arbeidet hans i sin helhet. Det er en intern bytetilstand på 256 byte. Ved hvert trinn i denne tilstanden er det to tall, to pekere til forskjellige byte i tilstanden. Og på hvert trinn er det et tillegg mellom disse tallene - de er plassert et sted i staten. Byten mottatt derfra er den neste byten i den numeriske sekvensen. Ved å rotere denne knappen på denne måten, utføre en lignende handling ved hvert trinn, får vi hver neste byte. Vi kan motta neste byte av en numerisk sekvens for alltid, i en strøm.

En stor fordel med RC4 er at den er helt intrabyte, noe som betyr at programvareimplementeringen fungerer ganske raskt - mye raskere, flere ganger, om ikke titalls ganger raskere enn DES-chifferet som er sammenlignbart og eksisterer omtrent samtidig som det. Dette er grunnen til at RC4 har blitt så populær. Det var en forretningshemmelighet for RSA i lang tid, men så, et sted på 90-tallet, publiserte noen anonymt kildekoden til enheten hans på cypherpunks e-postliste. Som et resultat oppsto det mye drama, det var rop, sier de, hvordan kan det ha seg at noen usømmelige mennesker stjal RSAs intellektuelle eiendom og publiserte den. RSA begynte å true alle patenter, alle typer rettsforfølgelse. For å unngå dem kalles ikke alle implementeringer av algoritmen som er i åpen kildekode RC4, men ARC4 eller ARCFOUR. A - påstått. Vi snakker om et chiffer, som i alle testtilfeller sammenfaller med RC4, men teknisk sett virker det som om det ikke er det.

Hvis du konfigurerer SSH eller OpenSSL, vil du ikke finne RC4 i den, men du vil finne ARC4 eller noe lignende. Enkel konstruksjon, den er allerede gammel, det er angrep på den nå, og den er lite anbefalt for bruk.


Det har vært flere forsøk på å erstatte den. Sannsynligvis, etter min forutinntatte mening, den mest vellykkede var Salsa20-chifferet og flere av dets tilhengere fra karakteren Dan Berstein, viden kjent i snevre kretser. For Linux-brukere er han ofte kjent som forfatteren av qmail.

Salsa20 er mer kompleks enn DES. Blokkdiagrammet er komplekst, men det har flere interessante og kule egenskaper. Til å begynne med utføres den alltid i en begrenset tid, hver av sine runder, noe som er viktig for å beskytte mot timingangrep. Dette er angrep der angriperen observerer oppførselen til krypteringssystemet ved å mate det forskjellige chiffertekster eller forskjellige nøkler bak denne svarte boksen. Og ved å forstå endringer i responstiden eller i strømforbruket til systemet, kan han trekke konklusjoner om nøyaktig hvilke prosesser som har skjedd inne. Hvis du tror angrepet er svært konstruert, er det ikke det. Angrep av denne typen på smartkort er svært utbredt - veldig praktisk, siden angriperen har full tilgang til boksen. Det eneste han som regel ikke kan gjøre i den er å lese selve nøkkelen. Det er vanskelig, men han kan gjøre alt annet - sende inn forskjellige meldinger der og prøve å tyde dem.

Salsa20 er designet slik at den alltid kjører på konstant, lik tid. Internt består den av bare tre primitiver: en konstant tidsforskyvning, og addisjonsmodulo 2 og modulo 32, 32-bits ord. Salsa20 er enda raskere enn RC4. Den har ennå ikke fått så utbredt aksept i mainstream-kryptografi – vi har ikke en chifferpakke for TLS ved bruk av Salsa20 – men den er fortsatt sakte i ferd med å bli mainstream. Dette chifferet ble en av vinnerne av eSTREAM-konkurransen for å velge det beste strømchifferet. Det var fire av dem, og Salsa er en av dem. Det begynner sakte å dukke opp i alle slags åpen kildekode-produkter. Kanskje snart – kanskje om et par år – kommer det til og med en chiffersuite i TLS med Salsa20. Jeg liker ham virkelig.

Det er en viss mengde kryptoanalyse på den, det er til og med angrep. Fra utsiden ser det ut som en bekk, som genererer en sekvens av nesten vilkårlig lengde, 2 64, basert på nøkkelen. Men innvendig fungerer det som en blokk. Algoritmen har et sted hvor du kan erstatte blokknummeret, og den vil returnere den spesifiserte blokken.

Hva er problemet med strømchiffer? Hvis du har en strøm av data som reiser over et nettverk, er en strømchiffer nyttig for det. En pakke fløy inn til deg, du krypterte den og sendte den. Den neste fløy inn - de brukte denne skalaen og ga den videre. Den første byten, den andre, den tredje går gjennom nettverket. Komfortabel.

Hvis dataene, for eksempel en gigabyte-fil i sin helhet, er kryptert på disken med et strømchiffer, må du først generere gammaen til chifferstrømmen med 1 gigabyte for å kunne lese de siste 10 bytene, og ta deretter de siste 10 bytene fra den. Veldig ubehagelig.

I Salsa er dette problemet løst, siden det mottar input, blant annet nummeret på blokken som må genereres. Deretter brukes algoritmen på blokknummeret 20 ganger. 20 runder - og vi får 512 biter av utgangsstrømmen.

Det mest vellykkede angrepet er 8 runder. Selve den er 256-bit, og vanskelighetsgraden for et angrep i 8 runder er 250 eller 251 biter. Det anses å være veldig stabilt, bra. Det er en offentlig kryptoanalyse for det. Til tross for all den avskyelige personligheten til Berstein i dette aspektet, virker det for meg som om tingen er bra og den har en større fremtid.

Historisk sett har det vært mange strømchiffer. De er de første ikke bare innen kommersiell kryptering, men også i militær. De brukte det som ble kalt lineære skiftregistre.

Hva er problemene her? For det første, i klassiske strømchiffer, ikke i Salsa, for å dekryptere den siste verdien av en gigabyte-fil, den siste byten, må du først generere en sekvens per gigabyte. Fra den bruker du bare den siste byten. Veldig ubehagelig.

Strømchiffer er dårlig egnet for systemer med inkonsekvent tilgang, det vanligste eksemplet er harddisken.

Det er ett problem til, vi vil snakke om det videre. Det manifesterer seg veldig tydelig i strømchiffer. De to problemene kombinert har gjort det flott å bruke en annen mekanisme.

En annen mekanisme for symmetrisk kryptering kalles blokkchiffer. Det er ordnet litt annerledes. Den genererer ikke denne nøkkelstrømmen, som må korreleres med vår chiffertekst, men fungerer på samme måte - som en oppslagstabell. Den tar en tekstblokk med fast lengde, sender ut den samme tekstblokken, og det er det.

Blokkstørrelsen i moderne chiffer er vanligvis 128 biter. Det er forskjellige variasjoner, men som regel snakker vi om 128 eller 256 biter, hverken mer eller mindre. Nøkkelstørrelsen er nøyaktig den samme som for strømmealgoritmer: 128 eller 256 biter i moderne implementeringer, innvendig og utvendig.

Av alle de mye brukte blokkchifrene kan nå to navngis - DES og AES. DES er et veldig gammelt chiffer, like gammelt som RC4. DES har for tiden en blokkstørrelse på 64 biter og en nøkkelstørrelse på 56 biter. Den ble opprettet hos IBM under navnet Lucifer. Da den ble designet av Horst Feistel hos IBM, foreslo de 128 bits for blokkstørrelsen. Og nøkkelstørrelsen var variabel, fra 124 til 192 biter.

Da DES begynte å passere standardisering, ble det sendt inn for vurdering, inkludert NSA. Derfra kom den tilbake med en blokkstørrelse redusert til 64 biter og en nøkkelstørrelse redusert til 56 biter.


For 20 år siden bråket hele denne historien mye. Alle sa - de må ha lagt inn et bokmerke der, forferdelig, de valgte en slik blokkstørrelse for å kunne angripe. Den store fordelen med DES er imidlertid at det er den første chifferen som ble standardisert og deretter ble grunnlaget for kommersiell kryptografi.

Han ble angrepet mye og forsket mye. Det er et stort antall av alle slags angrep. Men det er fortsatt ikke et eneste praktisk gjennomførbart angrep, til tross for dens ganske ærverdige alder. Det eneste er at nøkkelstørrelsen på 56 biter nå rett og slett er uakseptabel, og du kan angripe brutalt.

Hvordan fungerer DES? Feistel gjorde en kul ting som heter Feistel-nettet. Hun driver med blokker. Hver blokk som kommer inn i inngangen er delt inn i to deler: venstre og høyre. Venstre side blir høyre side uendret. Høyre side korrigeres med resultatet av å beregne en viss funksjon, hvis inngang er venstre side og nøkkelen. Etter denne transformasjonen blir høyre side til venstre.


Den har flere interessante fordeler. Den første viktige fordelen: funksjonen F kan være hva som helst. Den trenger ikke å være reversibel, og den trenger ikke være lineær eller ikke-lineær. Likevel forblir chifferen symmetrisk.

Den andre veldig praktiske egenskapen: dekryptering fungerer på samme måte som kryptering. Hvis du trenger å dekryptere et gitt nettverk, legger du chifferteksten inn i den gamle mekanismen i stedet for klarteksten og ved utgangen får du klarteksten igjen.

Hvorfor er det praktisk? For 30 år siden var bekvemmelighet en konsekvens av at krypteringer var maskinvare og det var tidkrevende å designe et eget brikkesett for kryptering og dekryptering. Og i dette designet er alt veldig kult, faktisk kan vi bruke en blokk til forskjellige oppgaver.

I en reell situasjon er en slik konstruksjon en runde av et blokkchiffer, det vil si at i et ekte chiffer blir det utført 16 ganger med forskjellige nøkler. Hver 16 runde genererer en egen nøkkel og 16 runde undernøkler, som hver brukes på hver runde for funksjon F.

Runden ser også ganske enkel ut – den består av kun to eller tre operasjoner. Den første operasjonen: størrelsen på halvblokken som kommer over blir lik 32 biter, halvblokken går gjennom utvidelsesfunksjonen, 32 biter mottas ved inngangen. Deretter, ved å bruke en spesiell uklassifisert tabell, legger vi til litt til 32 biter, og gjør dem til 48: noen biter dupliseres og omorganiseres, en slik kam.

Deretter xoriserer vi den med en rund nøkkel, hvis størrelse også er 48 biter, og vi får en 48-bits verdi.
Den går deretter inn i et sett med funksjoner kalt S-bokser som konverterer hver bit av inngangen til fire biter av utgangen. Derfor, ved utgangen, får vi 32 av 48 biter igjen.

Og til slutt, den endelige permutasjonen P. Den blander de 32 bitene sammen igjen. Alt er veldig enkelt, den runde funksjonen er så enkel som mulig.

Dens mest interessante egenskap ligger i de angitte S-boksene: en veldig kompleks transformasjon av 6 bits til 4. Hvis du ser på hele strukturen, kan du se at den består av XOR og et par permutasjoner. Hvis S-bokser var enkle, ville hele DES faktisk vært en slags lineær transformasjon. Det kan tenkes på som en matrise som vi multipliserer klarteksten vår med for å få chifferteksten. Og da ville angrepet på DES være trivielt: det ville bare være nødvendig å finne matrisen.

All ikke-linearitet er konsentrert i spesielt utvalgte S-bokser. Det er ulike anekdoter om nøyaktig hvordan de ble valgt ut. Spesielt, rundt 10 år etter at DES ble publisert og standardisert, fant kryptografer en ny type angrep - differensiell kryptoanalyse. Essensen av angrepet er veldig enkelt: vi gjør små endringer i klarteksten – endrer for eksempel verdien av én bit fra 0 til 1 – og ser hva som skjer med chifferteksten. Det viste seg at i en ideell chiffer skulle en endring i én bit fra 0 til 1 føre til en endring i nøyaktig halvparten av chiffertekstbitene. Det viste seg at DES, selv om det ble laget før differensiell kryptoanalyse ble oppdaget, viste seg å være motstandsdyktig mot denne typen angrep. Som et resultat oppsto en annen bølge av paranoia på et tidspunkt: de sier at NSA visste om eksistensen av differensiell kryptoanalyse 10 år før åpne kryptografer, og du kan forestille deg hva den kan vite nå.

Mer enn hundre artikler er viet til analysen av enheten til S-bokser. Det er kule artikler som heter noe sånt som dette: trekk ved den statistiske fordelingen av utdatabitene i den fjerde S-boksen. Fordi chifferen er mange år gammel, har den blitt grundig undersøkt på forskjellige steder og holder seg ganske stabil selv etter dagens standarder.

56 biter nå kan allerede enkelt telles opp på en klynge med maskiner for generell bruk - kanskje til og med på en. Og det er ille. Hva kan bli gjort?

Det er umulig å bare endre størrelsen på nøkkelen: hele strukturen er bundet til lengden. Trippel DES. Det åpenbare svaret var dette: la oss kryptere blokken vår flere ganger, arrangere flere sekvensielle krypteringer. Og her er ikke alt for trivielt.

La oss si at vi tar og krypterer to ganger. Først må du bevise at for krypteringene k1 og k2 på to forskjellige nøkler, er det ingen slik kryptering på nøkkelen k3 at ytelsen til de to spesifiserte funksjonene vil være den samme. Det er her egenskapen at DES ikke er en gruppe kommer inn i bildet. Det er et bevis på dette, om enn ikke et veldig trivielt bevis.

Ok 56 bit. La oss ta to - k1 og k2. 56 + 56 = 112 biter. 112 biter, selv etter dagens standarder, er en helt akseptabel nøkkellengde. Alt over 100 biter kan betraktes som normalt. Så hvorfor kan du ikke bruke to krypteringer, 112 bits?

Én DES-kryptering består av 16 runder. Nettet påføres 16 ganger. Endringer fra venstre til høyre skjer 16 ganger. Og han er ikke en gruppe. Det er bevis på at det ikke finnes en slik nøkkel k3 som vi kan dekryptere teksten med, sekvensielt kryptert med nøklene vi har valgt k1 og k2.

Det er et angrep. La oss kryptere alle mulige tekster ved å bruke en nøkkel, ta en chiffertekst og prøve å dekryptere den med alle vilkårlige nøkler. Både her og her får vi 2 56 alternativer. Og et sted vil de konvergere. Det vil si at i to ganger 2 56 varianter - pluss minne for lagring av alle dekrypteringer - vil vi finne en slik kombinasjon av k1 og k2, hvor angrepet vil være gjennomførbart.

Den effektive styrken til algoritmen er ikke 112 biter, men 57 hvis vi har nok minne. Det krever ganske mye minne, men likevel. Derfor bestemte vi oss for at det er umulig å jobbe på denne måten, la oss kryptere tre ganger: k1, k2, k3. Designet heter Triple DES. Teknisk sett kan det ordnes på forskjellige måter. Siden kryptering og dekryptering er det samme i DES, ser ekte algoritmer noen ganger slik ut: krypter, dekrypter og dekrypter igjen - for å gjøre operasjoner enklere i maskinvareimplementeringer.

Vår omvendte implementering av Triple DES vil bli en maskinvare-DES-implementering. Dette kan være veldig nyttig i forskjellige situasjoner for bakoverkompatibilitet.

Hvor ble DES brukt? Generelt overalt. Det kan fortsatt noen ganger sees for TLS, det er chiffersuiter for TLS som bruker Triple DES og DES. Men der holder han aktivt på å dø av, siden vi snakker om programvare. Programvaren er enkel å oppdatere.

Men i minibanker døde han veldig lenge, og jeg er ikke sikker på at han til slutt døde. Jeg vet ikke om det trengs en egen forelesning om hvordan dette designet fungerer i minibanker. Kort fortalt er tastaturet der du taster inn PIN-koden en selvforsynt ting i seg selv. Nøkler er lastet inn i den, og den gir ikke ut en PIN-kode, men en PIN-blokkdesign. Konstruksjonen er kryptert – for eksempel via DES. Siden det er et stort antall minibanker, er det mange gamle blant dem, og du kan fortsatt finne en minibank hvor ikke engang Triple DES er implementert inne i boksen, men vanlig DES.

Når DES begynte å vise sin alder, ble det vanskelig med det, og folk bestemte seg for å finne på noe nyere. American Bureau of Standards, NIST, sa, la oss kjøre en konkurranse og velge et kult nytt chiffer. Det var AES.

DES står for digital kryptert standard. AES - avansert kryptert standard. Blokkstørrelsen i AES er 128 biter, ikke 64. Dette er viktig fra et kryptografisk synspunkt. Nøkkelstørrelsen for AES er 128, 192 eller 256 biter. AES bruker ikke Feistel-nettverket, men det er også flerrundt, det gjentar også relativt primitive operasjoner flere ganger. For 128 biter brukes 10 runder, for 256 - 14.

Nå skal jeg vise deg hvordan hver runde fungerer. Første og siste runde er litt forskjellig fra standardmønsteret – med god grunn.

Som med DES har hver runde med AES sine egne rundnøkler. De er alle generert fra krypteringsnøkkelen for algoritmen. På dette tidspunktet fungerer AES på samme måte som DES. En 128-bits nøkkel tas, og 10 undernøkler for 10 runder genereres fra den. Hver undernøkkel, som i DES, brukes på hver spesifikke runde.

Hver runde består av fire ganske enkle operasjoner. Første runde er et bytte i henhold til en spesiell tabell.

I AES bygger vi en 4 x 4 byte matrise. Hvert element i matrisen er en byte. Totalen er 16 byte eller 128 biter. De utgjør hele AES-blokken.

Den andre operasjonen er et byteskift.

Det er ordnet på en enkel, primitiv måte. Vi tar en matrise på 4 ganger 4. Den første raden forblir uendret, den andre raden forskyves 1 byte til venstre, den tredje med 2 byte, den fjerde med 3, syklisk.

Deretter blander vi inne i kolonnene. Dette er også en veldig enkel operasjon. Det omorganiserer faktisk bitene i hver kolonne, ingenting annet skjer. Du kan tenke på det som å multiplisere det med en spesiell funksjon.

Den fjerde, igjen veldig enkle operasjonen, er XOR hver byte i hver kolonne med den tilsvarende nøkkelbyten. Resultatet er oppnådd.

I første runde legges bare tastene til, og de tre andre operasjonene brukes ikke. I siste runde er det ingen slik blanding av kolonner:

Vi gjentar de 4 beskrevne trinnene 10 ganger, og ved utgangen fra 128-bits blokken får vi igjen en 128-bits blokk.

Hva er fordelene med AES? Den opererer på bytes, ikke biter som DES. AES er mye raskere i programvareimplementeringer. Hvis vi sammenligner utførelseshastigheten av AES og DES på en moderne maskin, vil AES vise seg å være mange ganger raskere, selv om vi utelukkende snakker om implementering i programkode.

Produsentene av moderne prosessorer, Intel og AMD, har allerede utviklet monteringsinstruksjoner for implementering av AES inne i en brikke, fordi standarden er ganske enkel. Som et resultat er AES enda raskere. Hvis vi gjennom DES på en moderne maskin kan kryptere for eksempel 1-2 gigabit, så er en 10-gigabit AES-kryptering i nærheten og er kommersielt tilgjengelig for vanlige selskaper.

Blokkalgoritmen krypterer blokk til blokk. Den tar en 128- eller 64-biters blokk og gjør den om til en 128- eller 64-biters blokk.

Hva gjør vi hvis vi trenger mer enn 16 byte?

Det første du tenker på er å prøve å dele opp den opprinnelige meldingen i blokker, og å supplere blokken som forblir ufullstendig med en standard, kjent og fast datasekvens.

Ja, åpenbart vil vi dele alt inn i blokker på 16 byte og kryptere det. Denne krypteringen kalles ECB - elektronisk kodeoppstart, når hver av blokkene på 16 byte når det gjelder AES eller 8 byte når det gjelder DES er kryptert uavhengig.


Vi krypterer hver blokk, henter chifferteksten, legger til chiffertekstene og får hele resultatet.


Noe slikt ser ut som et bilde kryptert i ECB-modus. Selv om vi ser for oss at chifferen er helt sikker, ser det ut til at resultatet er mindre enn tilfredsstillende. Hva er problemet? At det er en bijektiv kartlegging. For samme input vil du alltid få samme utdata, og omvendt - for samme chiffertekst vil du alltid få samme ren tekst.

Det ville være nødvendig å på en eller annen måte konstruere og sørge for at utgangen ved utgangen alltid er forskjellig, avhengig av plasseringen av blokken - til tross for at de samme blokkene med chiffertekst mates til inngangen. Den første løsningen var CBC-modus.


Vi tar ikke bare nøkkelen og klarteksten, men genererer også et tilfeldig tall som ikke er hemmelig. Det er omtrent på størrelse med en blokk. Det kalles en initialiseringsvektor.

Når vi krypterer den første blokken, tar vi en initialiseringsvektor, legger den til modulo 2 med klartekst og krypterer den. Utgangen er chiffertekst. Deretter legger vi til den resulterende chifferteksten mod 2 med den andre blokken og krypterer. Utgangen er den andre blokken med chiffertekst. Vi legger den til modulo 2 med den tredje blokken med klartekst og krypterer den. Ved utgangen får vi den tredje blokken med chiffertekst. Her kan du se adhesjonen: vi setter sammen hver neste blokk med den forrige.

Resultatet vil være et bilde der alt, fra den andre blokken, er jevnt utsmurt, og den første blokken avhenger av initialiseringsvektoren hver gang. Og det blir absolutt blandet. Alt er bra her.

CBC har imidlertid flere problemer.

Om blokkstørrelsen. Tenk deg: vi begynte å kryptere, og la oss si at vi har DES. Hvis DES var den perfekte krypteringsalgoritmen, ville DES-utgangen se ut som 64-bit, jevnt fordelte tilfeldige tall. Hva er sannsynligheten for at to tall vil falle sammen for en operasjon i et utvalg av 64-bits likt fordelte tilfeldige tall? 1 / (2 64). Hva om vi sammenligner tre tall? La oss ta en pause for nå.

I dag står vi overfor kryptografi på hvert trinn, og dette er ikke overraskende. Den utbredte bruken av bærbare enheter med tilgang til Internett har tvunget frem et nytt blikk på sikkerheten til dataoverføringsprosessen. Samtidig forblir kryptografi for mange en slags svart boks, og hvis det er tilgivelig for vanlige brukere, kan mangelen på kunnskap blant tekniske spesialister føre til alvorlige sikkerhetsproblemer. Derfor inviterer vi alle som ønsker å forbedre sitt kunnskapsnivå i denne saken til å bli kjent med vårt nye materiale.

"Hvilken kryptografi, hvorfor? Jeg har ingenting å skjule!" – lignende utsagn kan ofte høres fra brukere når det gjelder datakryptering. Dessverre, på mange måter, takket være innsatsen fra massemediene, er kryptografi og kryptering tydelig forbundet med spioner, hackere eller andre representanter for undergrunnen blant den vanlige mannen på gaten. Men hvis du stiller spørsmålet annerledes, om de vil at korrespondansen deres på sosiale nettverk, innholdet i postkassen eller legitimasjonen fra bankkontoen skal bli allmennhetens eiendom, vil svaret være rent negativt.

I den moderne verden er bruken av kryptografi ikke forårsaket av forsøk på å skjule noen upassende aspekter ved aktivitet fra andre og staten, men av det presserende behovet for å sikre sikkerheten til data som overføres gjennom vanlige kommunikasjonskanaler. Jo mer Internett begynte å spille en rolle i livet vårt, jo flere svindlere og elskere av enkle penger begynte å dukke opp i det, og omfanget og omsetningen til nettkriminelle har lenge tvunget oss til å ta virtuelle trusler på alvor.

Hovedmålet med moderne anvendt kryptografi er å beskytte de overførte dataene mot tilgang til dem fra tredjeparter, eller muligheten for å erstatte dem. Dette er ikke en lett oppgave, derfor vil vi starte helt fra begynnelsen, bevisst forenkle modellen til et nivå som lar deg forstå det grunnleggende uten å gå inn i tekniske og matematiske detaljer og ikke krever spesiell kunnskap.

Så Alice vil sende en melding til Bob ...

Symmetrisk kryptering

Så Alice ønsker å sende en melding til Bob, men slik at den nysgjerrige Eve ikke kan se innholdet. Hvor og hvordan meldingen vil bli overført - Alice vet ikke, men hun vet at Eve er en ekstremt nysgjerrig person, og av og til vil hun definitivt stikke nesen inn i hennes og Bobs korrespondanse.

For å forhindre at Eve leser meldingen, bestemmer Alice seg for å kryptere den. Det er mange måter å gjøre dette på, for eksempel vil vi ta en ganske enkel, men ganske effektiv og mye brukt metode i fortiden - et bokchiffer. Dens essens ligger i det faktum at hvert tegn i den opprinnelige meldingen erstattes med en viss numerisk sekvens, si linjenummeret og nummeret på tegnet i den.

Hei Bob

i en tallsekvens:

3/9 1/8 5/1 7/1 2/2 6/3 4/3 1/5 1/13

Nå kan denne meldingen trygt overføres gjennom usikrede kanaler, men verken Bob eller Eve kan lese den, siden de ikke eier nøkkelen. Hva er en nøkkel? I vårt tilfelle er dette en veldefinert side i en veldefinert bok. Selv om hun vet hva slags tekst denne meldingen er kryptert med, vil ikke Eve kunne lese den før hun kjenner publikasjonen med sikkerhet, siden i en annen bok på den angitte siden kan helt andre bokstaver vises i de angitte posisjonene.

Moderne datateknologi, basert på prestasjonene til høyere matematikk, er i stand til å utføre mye mer komplekse informasjonstransformasjoner, men alle moderne algoritmer er basert på de samme grunnleggende prinsippene. Algoritmen kan være så kompleks som du vil, men den representerer ikke en hemmelighet, tvert imot, det er enda bedre hvis algoritmen er åpen og offentlig, dette reduserer drastisk innebyggingen av mekanismer i den som lar deg dekryptere enhver melding uten å vite nøkkelen.

Nøkkelen er grunnlaget for hemmelighold av enhver kryptografisk algoritme og må holdes hemmelig.

I vårt tilfelle, som det er lett å se, brukes den samme nøkkelen til å kryptere og dekryptere informasjon, denne krypteringen kalles symmetrisk... Fordelene med symmetriske algoritmer inkluderer den relative enkelheten til implementering og, som et resultat, høy arbeidshastighet, men det er også ulemper, og ganske betydelige.

Så Alice krypterte meldingen og sendte den til Bob. Men en ny vanskelighet dukker opp – hvordan får du Bob nøkkelen?

Sende et nytt eksemplar av boken med posten? Oppgi tittel og type publikasjon på telefon? Ingen av disse metodene garanterer at Bob vil motta nøkkelen og at den ikke blir kjent for Eve. Når alt kommer til alt, med den hemmelige nøkkelen, kan Eve ikke bare lese korrespondansen mellom Alice og Bob, men også kommunisere med Bob på vegne av Alice, og med Alice på vegne av Bob.

Etter å ha gått gjennom alle mulige alternativer, finner Alice og Bob ingen annen måte enn å møtes personlig og gi nøkkelen fra hånd til hånd. Det er dette faktum som kompliserer den massive bruken av symmetrisk kryptering i informasjonssystemer, få mennesker ønsker å gå personlig til postkontoret for å motta en nøkkel for å jobbe med postvesenet.

Symmetrisk kryptering er imidlertid mye brukt i mange bransjer, for eksempel bank. I mange eksterne banksystemer må en klient (oftest en bedrift) personlig komme til banken og motta en nøkkelbærer for kryptering av datautveksling med banken.

En annen ulempe med symmetrisk kryptering er den ekstreme sårbarheten til hele kommunikasjonskanalen fra nøkkelkompromittering. Fordi tapet gjør det mulig å lese ikke bare gjeldende meldinger, men også å dekryptere alle tidligere avlyttede. Derfor, mens han er på forretningsreise, vil Bob tenke hundre ganger om han skal sende en melding til Alice fra internettkafeen, siden han ikke kan være sikker på at datamaskinen han vil gjøre dette fra er helt pålitelig og nøkkelen ikke vil lekke. For å unngå et slikt scenario er det tokens med en uopprettelig nøkkel, men bruken av dem øker bare kostnadene for systemet og gjør det uegnet for massebruk.

Diffie-Hellman algoritme

Nøkkeloverføring over en usikker kanal var et stort kryptografisk problem på 1900-tallet. Faktisk oppsto et visst tilsynelatende uløselig paradoks: For å beskytte en åpen kanal må partene først utveksle hemmelig informasjon som ikke kan overføres gjennom åpne kanaler. I 1976 foreslo imidlertid Whitfield Diffie og Martin Hellman, samt uavhengig av dem Ralph Merkle, en algoritme som senere ble kjent som Diffie-Hellman-algoritme (protokoll).

Denne algoritmen var basert på enveisberegninger, uten å gå i detaljer, kan vi si at dette er slike matematiske transformasjoner der det er ganske enkelt å utføre den opprinnelige beregningen, men omvendt transformasjon vil være umulig, eller det vil ta en betydelig mengde tid.

En av slike transformasjoner er modulo-beregninger, og det er de som dannet grunnlaget for denne algoritmen. For å forstå essensen, la oss tegne følgende analogi: ensidige beregninger kan sammenlignes med å blande maling, det er lett å gjøre, men det er ekstremt vanskelig, nesten umulig å skille den resulterende blandingen i dens originale komponenter. Det er dette vi skal bruke.

Så Alice vil sende en melding til Bob ...

For å finne en felles hemmelighet, som senere skal brukes som en krypteringsnøkkel, er Alice og Bob enige om en felles farge. La det være en av nyansene av gult, denne informasjonen er offentlig tilgjengelig og kan være kjent for Eve.

Deretter legger alle til en del av den vanlige malingen en del av hemmeligheten, som bare er kjent for Alice eller bare for Bob, som et resultat oppnås en mellomfarge, som kan sendes gjennom en åpen kanal til den andre siden. Selv ved å avskjære begge disse fargene og ha informasjon om den generelle fargen, vil ikke Eve raskt kunne gjenopprette de originale fargene til Alice og Bob innen rimelig tid.

Ved modulo-beregninger vil dette kreve en nesten fullstendig oppregning av alle mulige startverdier, noe som kan ta svært lang tid, spesielt hvis startdataene er 1024 og 2048-bit tall.

Som et resultat, etter å ha mottatt en mellomfarge fra den andre siden, legger Alice og Bob igjen en del av sin hemmelige farge der, som et resultat vil hver av dem ha en nyanse som inneholder både hemmelige og vanlige farger i like deler. Men samtidig overføres ingen hemmelig informasjon over en åpen kanal! Dermed er Alice og Bob eierne av en delt hemmelighet, som de kan bruke til å kryptere korrespondansen uten frykt for at innholdet vil bli kjent for Eve.

Merk at Diffie-Hellman-algoritmen ikke er en krypteringsalgoritme, men bare representerer en nøkkelutvekslingsprotokoll. Nøkkelen oppnådd på denne måten kan brukes til kryptering ved bruk av alle tilgjengelige sider av algoritmene.

I tillegg til de åpenbare fordelene har Diffie-Hellman-algoritmen også betydelige ulemper, en av dem er mangelen på gjensidig autentisering av partene, dvs. Alice er ikke sikker på at det var Bob som sendte henne mellomfargen og omvendt. Dette gjør man-in-the-middle-angrep mulig, som vi skal snakke om senere.

Ikke desto mindre er fordelene med algoritmen ikke mindre åpenbare, en av dem er muligheten for en av partene til å endre sin egen hemmelighet uten å forhandle med den andre parten og motta en unik krypteringsnøkkel hver gang. Denne funksjonen brukes for øyeblikket for å gi en fremadrettet hemmelighetsmodus, når partene, som tidligere har utført gjensidig autentisering, genererer en unik sesjonsnøkkel for hver ny kommunikasjonsøkt. Dermed, selv om nøkkelen går tapt, vil det gjøre det mulig å dekryptere kun gjeldende økt, men ikke tidligere akkumulerte data.

Asymmetrisk kryptering

Et år etter oppfinnelsen av Diffie-Hellman-algoritmen, ble det første asymmetriske krypteringssystemet for offentlig nøkkel, RSA, introdusert. Vi kan si at fra det øyeblikket var det fremveksten av massekryptografi i den formen vi kjenner det nå. Den grunnleggende forskjellen mellom asymmetriske systemer er opprettelsen av et nøkkelpar: offentlige og private (private) nøkler. Den offentlige nøkkelen er offentlig, men alt kryptert med den kan ikke leses av andre enn eieren av den private nøkkelen.

La oss gå tilbake til heltene våre.

Alice genererer et nøkkelpar og publiserer den offentlige nøkkelen som et sertifikat etter å ha plassert den private nøkkelen i en sikker butikk. Sertifikatet, i tillegg til selve nøkkelen, inneholder en rekke tjenesteinformasjon som hjelper til med å fastslå identiteten til eieren av nøkkelen, dens gyldighetsperiode og noen andre parametere. Denne informasjonen utgjør ingen hemmelighet og er tvert imot offentlig tilgjengelig, som kan verifiseres ved å åpne et hvilket som helst sertifikat for visning.

Bob, som ønsker å skrive en melding til Alice, mottar et sertifikat fra henne og krypterer meldingen hans med den offentlige nøkkelen den inneholder. Eve kan motta nøyaktig samme sertifikat, men dette vil ikke gi henne noe, siden ingen bortsett fra Alice kan lese den krypterte offentlige nøkkelen.

For å sende en returmelding kan du bruke en lignende ordning: Alice tar Bobs offentlige nøkkel ... Men i praksis har ikke denne ordningen funnet sin applikasjon av en rekke årsaker. En av dem er den ekstremt lave ytelsen til asymmetriske algoritmer, den andre er behovet for å danne et nøkkelpar for alle deltakere i korrespondansen.

Tenk deg at Alice har en nettbutikk, og Bob er en enkel kunde i den. Samtidig vil det ikke være vanskelig for Alice å generere et nøkkelpar, pålitelig beskytte den private nøkkelen og publisere den offentlige. Men hva med Bob, som bare vil kjøpe noe, og ordene kryptografi og kryptering er fast forbundet med spionromaner?

Heldigvis er alt mye enklere, etter å ha mottatt den offentlige nøkkelen fra Alice, danner Bob en delt hemmelighet basert på noen data, som, etter å ha kryptert den med den offentlige nøkkelen, sender den til Alice. I fremtiden, etter å ha blitt enige om en av de symmetriske algoritmene, bytter partene til symmetrisk kryptering ved å bruke en delt hemmelighet som nøkkel.

Vårt eksempel i forenklet form viser hvordan RSA-algoritmen, som i dag er mye brukt for å sikre sikker kommunikasjon, fungerer. Vær oppmerksom på at asymmetrisk kryptering kun brukes i det innledende stadiet, for å beskytte overføringen av sesjonsnøkkelen, senere bytter partene til symmetrisk kryptering, som har mye høyere ytelse med det nødvendige nivået av pålitelighet.

Men denne tilnærmingen har en betydelig ulempe, siden sesjonsnøkkelen overføres innenfor en kryptert kanal, så i tilfelle kompromittering av Alices private nøkkel, vil nysgjerrige Eve kunne dekryptere alle sesjonsnøkler med den, og deretter lese all den avlyttede korrespondansen. For å unngå dette, brukes Diffie-Hellman-algoritmen for øyeblikket til å generere en sesjonsnøkkel, som lar deg lage en delt hemmelighet uten å overføre den over en kommunikasjonskanal.

Mann i midtangrepet

Som vi allerede har bemerket, er en av hjørnesteinene i kryptografi gjensidig tillit og autentisering av partene. Faktisk, i alle eksemplene våre ble det antatt at Alice og Bob kjenner hverandre og kan sørge for at nøyaktig en av dem er i den andre enden av kommunikasjonskanalen. I det virkelige liv kan vi ikke være sikre på at serveren i den andre enden av kommunikasjonskanalen er akkurat noden vi trenger, og dette gir mye rom for man-in-the-middle-angrep.

Vi møter en ny karakter - Mallory. Hvis Eve bare var en nysgjerrig person, så er Mallory ikke bare nysgjerrig, men også aktiv. Når Bob vil sende en melding til Alice, ber han om den offentlige nøkkelen hennes, Mallory avskjærer meldingen og sender Bob sin egen offentlige nøkkel. Så henvender hun seg til Alice og, etter å ha mottatt sertifikatet, etablerer hun også en sikker kommunikasjonskanal med henne.

Dermed tror både Alice og Bob at de snakker med hverandre, de har begge en sikker forbindelse, men faktisk er kanalen deres fullstendig kontrollert av Mallory. Etter å ha mottatt en melding fra Bob, kryptert med Mallory-Bob-øktnøkkelen, dekrypterer hun den, endrer den om nødvendig, og etter å ha kryptert den med Alice-Mallory-øktnøkkelen, sender hun den til Alice. Dette er allerede en mye mer alvorlig sårbarhet, siden det ikke bare tillater å avskjære, men også modifisere informasjonen som overføres i en slik kanal.

I dette tilfellet viste vi et klassisk eksempel på et angrep på RSA, men på nøyaktig samme måte kan Mallory angripe Diffie-Hellman-algoritmen.

Hvem er sårbare for denne typen angrep? Først av alt, brukere av selvsignerte sertifikater. Det er en vanlig myte at kryptering ved bruk av slike sertifikater er upålitelig, men dette er ikke tilfelle, selvsignerte sertifikater skiller seg ikke i chifferstyrke fra de som er utstedt for penger, men det er én stor forskjell. Hvis vi ikke vet nøyaktig hvem som har utstedt dette sertifikatet, så risikerer vi å akseptere et sertifikat fra Mallory i stedet for Alice sitt sertifikat med alt det innebærer.

Den andre risikogruppen er systemadministratorer som fanger opp beskyttet trafikk fra det interne nettverket for kontrollformål. I dette tilfellet fungerer gatewayen som Mallory, siden den gir klienten sin egen nøkkel (som klienten stoler på) og selv oppretter en forbindelse med den forespurte noden, og dekrypterer og kontrollerer trafikken som går gjennom den.

Hvis gatewayen er konfigurert til å undertrykke sertifikatfeilmeldinger, kan utseendet til den ekte Mallory gå ubemerket hen. Dette kan føre til at en gang på et phishing-nettsted, vil klienten ikke legge merke til trikset og vil gi sin legitimasjon til svindlere, siden utad vil alt se anstendig ut, fordi tilkoblingen fra klienten til gatewayen er pålitelig, noe som vil rapporteres av nettleseren som viser den grønne låsen på siden.

Verifikasjonssenter

Så eksemplet fra Mallory viste oss at kryptografi alene ikke er nok til å beskytte kommunikasjonskanalen pålitelig, siden det er like viktig å vite hvem som er i den andre enden av den og om han er den han utgir seg for å være.

Det er flere måter å gjøre dette på. Den enkleste av dem, når Bob, etter å ha mottatt Alices sertifikat, personlig kan ringe henne og be om en viss sjekksum, for eksempel SHA-hash (nøkkelfingeravtrykk), er disse algoritmene bygget på en slik måte at selv den minste endring i initialen verdi gir et fundamentalt annet resultat for funksjonen hashing.

Denne tilnærmingen brukes for eksempel når du oppretter tilkoblinger via SSH, ved første forsøk på å koble til, er hashen til den brukte offentlige nøkkelen obligatorisk, som administratoren kan sammenligne med verdien han kjenner (eller spørre ham personlig fra serveradministratoren) ).

Deretter bufres hash-verdien og ved påfølgende tilkoblinger sammenlignes servernøkkelens fingeravtrykk med verdien fra hurtigbufferen. Derfor, etter å ha mottatt en lignende forespørsel igjen med en annen hash-verdi, bør du tenke grundig og umiddelbart starte en undersøkelse, siden en endring i fingeravtrykket indikerer at du kobler til en annen node (enten har administratoren installert operativsystemet på nytt eller manuelt regenerert nøkler).

Det er tydelig at denne metoden bare er egnet for tjenesteforbindelser, når antallet personer som bruker den er begrenset, kjenner de alle hverandre personlig og kan raskt verifisere ektheten til fingeravtrykket.

Alice kan også utstede og overføre et sertifikat av henne til Bob sertifiseringssenter (CA, sertifiseringsinstans), som inneholder en offentlig nøkkel som lar deg bekrefte ektheten til ethvert sertifikat utstedt av Alice ved hjelp av denne CA. Et annet interessant poeng dukker opp her. Et CA-sertifikat inneholder ikke sensitiv informasjon, men det skal ikke overføres over usikre kanaler, og det skal også lagres på en slik måte at det hindrer tredjeparter i å få tilgang til det.

Hvorfor det? Hele poenget er tillit, hvis Bob stoler på Alice, så stoler han på CA-sertifikatet hennes, og etter å ha installert CA-sertifikatet vil han automatisk stole på ethvert sertifikat utstedt av Alice. Derfor, hvis Mallory endrer sertifikatet "på vei" eller gjør det senere, i en ubeskyttet butikk, vil Bob automatisk stole på Mallorys sertifikater, og tror at dette er Alices sertifikater.

Imidlertid er denne ordningen ganske effektiv, for eksempel i en organisasjon, når en klarert node er involvert i å utstede og distribuere sertifikater, og alle ansatte i organisasjonen automatisk stoler på sertifikatene utstedt av disse CA-dataene. I dette tilfellet, igjen, hviler alt på tillit, i tilfelle tvil kan den ansatte alltid kontakte administratoren personlig og sjekke ektheten til nøkkelen med hans hjelp.

Men hva om partene ikke kjenner hverandre? La oss si at Bob vil kjøpe noe i Alices nettbutikk, som han leste mange gode anmeldelser om, men han kjenner ikke Alice personlig og har ikke mulighet til å møte henne for å bekrefte ektheten av sertifikatet. Og Alice har neppe så mye fritid til å kunne bli personlig kjent med hver av kundene hennes.

Hvordan være? Veien ut er enkel: du trenger en tredjepart, hvis autoritet er ubestridelig og som kan fungere som en garantist for autentisitet, for eksempel en notarius.

Derfor må Alice personlig besøke notaren Trent, som først vil bekrefte Alices identitet og deretter bekrefte hennes sertifikat med sin signatur. Etter å ha mottatt et slikt sertifikat, kan Bob alltid kontakte Trent og få en prøvesignatur fra ham, som han kan sammenligne med den på sertifikatet. Hvis signaturene samsvarer, tilhører dette sertifikatet virkelig Alice, som er garantert av myndigheten til Trent.

Hvis sertifikatet ikke inneholder Trents signatur, kan ikke Bob verifisere om dette sertifikatet tilhører Alice, eller det er Mallorys triks, og derfor, hvis det er umulig å nøyaktig bekrefte ektheten, bør slike (selvsignerte) sertifikater avvises.

Kan Mallory signere sertifikatet sitt med Trent? Helt, men hun vil kun kunne signere den på egne vegne, og hun vil ikke kunne presentere seg som Alice.

I moderne offentlig nøkkelinfrastruktur (PKI, Public Key Infrastructure) rollen som Trents notarius spilles av pålitelige rotsertifiseringsmyndigheter, hvis sertifikater leveres som en del av operativsystemet og er plassert i en sikker lagring.

Dette betyr at systemet automatisk vil stole på sertifikater som er signert av disse sertifiseringsmyndighetene, men hva betyr denne tilliten? Her kommer vi tett på hva som er typer sertifikater og hva de sertifiserer. Det er tre hovedtyper av sertifikater, som er forskjellige i nivået på eierens identitet og følgelig i kostnadene.

DV -Domenevalidering- den enkleste og rimeligste typen sertifikat som kan fås veldig raskt, og i noen tid til og med gratis. Denne typen sertifikater bekrefter bare faktumet om domeneeierskap, dvs. for å motta den, må du utføre noen handlinger som bare er tilgjengelige for domeneeieren, for eksempel plassere filen på et bestemt sted på nettstedet eller skrive inn koden sendt til postboksen spesifisert i WHOIS.

Tilkoblingen til et nettsted som bruker et DV-sertifikat ser slik ut, og bare domenenavnet er i feltet Sertifikatemne:

Hva forteller dette sertifikatet oss? At du faktisk har kontaktet siden nettstedet og dataene som overføres mellom deg er ikke tilgjengelig for tredjeparter. Det står imidlertid ikke noe om at eierne av denne siden eksisterer eller er den de sier de er. I seg selv betyr tilstedeværelsen av en grønn hengelås og en sikker tilkobling ikke på noen måte at denne siden er trygg eller ikke bedragersk, det eneste du kan være sikker på er at kommunikasjonskanalen din er beskyttet.

Enkelt sagt, hvis Bob vet at dette nettstedet tilhører Alice, kan han trygt informere ham om konfidensiell informasjon, og hvis han ser dette nettstedet for første gang, vil tilstedeværelsen av en sikker tilkobling ikke legge til tillit på noen måte.

Til tross for dette er DV den mest utbredte og brukte sertifikattypen på nettet. Den er ideell for de nettstedene som ikke trenger å bekrefte identiteten til eieren, men bare trenger å gi brukerne en sikker kanal.

OV -Organisasjonsvalidering- for å få dette sertifikatet, er det nødvendig ikke bare å bekrefte faktumet om domeneeierskap, men også eksistensen av eierens selskap eller identiteten til en person. Dette gir et ekstra nivå av tillit for nettsteder som driver forretninger på nettet.

Den eksterne tilkoblingen til en slik side er ikke forskjellig fra en side med et DV-sertifikat, men Emne-feltet inneholder tilleggsinformasjon om eieren.

Disse sertifikatene er mye brukt til forretningsformål, når det ikke bare kreves for å bekrefte faktumet om en sikker forbindelse med en gitt ressurs, men også det faktum at den tilhører et bestemt selskap eller individ. Så da han først kom til Alices nye side og sjekket emnefeltet i OV-sertifikatet, kan Bob være sikker på at denne siden tilhører Alice, og ikke til Eve eller Mallory.

Men igjen, å ha et OV-sertifikat er på ingen måte i stand til å beskytte deg mot svindel. Slike sertifikater er rimelige, og ingen gidder et endagsselskap å kjøpe det for bruk i upassende formål. Generelt forblir spørsmålet om tillit åpent her, og sunn årvåkenhet bør ikke sløves av det faktum å ha et OV-sertifikat.

EV - Utvidet validering- et sertifikat med utvidet verifikasjon, utstedt kun til selskaper og kun etter en rekke ekstra kontroller. Spesielt kontrolleres ikke bare faktumet om selskapets eksistens, men også samsvaret med den spesifiserte informasjonen med virkeligheten, for eksempel selskapets tilstedeværelse på den angitte adressen, selskapets tilhørighet til de spesifiserte telefonene og evnen å kontakte dem osv. osv. er sjekket.

Forbindelsen til nettstedet som eier et slikt sertifikat, er visuelt preget av en stor indikasjon på eierens selskap direkte i adressefeltet til nettleseren, samt en melding om at selskapets ekthet er bekreftet. Emne-feltet inneholder også tilleggsinformasjon.

Denne typen sertifikater gir et mye høyere nivå av tillit. For eksempel kan Bob nå være sikker på at denne siden ikke bare tilhører Alice sitt selskap, men hvis han går til adressen som er angitt i de lovpålagte dokumentene, så vil han mest sannsynlig finne det spesifiserte selskapet og Alice personlig.

Man bør imidlertid ikke falle i eufori og lese EV-sertifikatet som en garanti for selskapets samvittighetsfullhet eller høy kvalitet på arbeidet, det bekrefter bare at selskapet ikke bare eksisterer, men også driver sin virksomhet på de angitte koordinatene, nei mer, ikke mindre. Så tilstedeværelsen av et DV-sertifikat hos Russian Post vil på ingen måte redusere tilliten til dem, akkurat som tilstedeværelsen av et EV-sertifikat hos LLC "Horns and Hoofs" ikke vil øke tilliten til dem.

Avslutningsvis vil jeg si at vi håper at dette materialet ikke bare vil hjelpe deg å forstå hvordan kryptografi fungerer og hvorfor forbindelsen med den grønne hengelåsen kan anses som sikker, men også tvinge deg til å ta en ny titt på problemene med sikkerhet og tillit til nettverket, ikke begrenset til rent tekniske aspekter. Tross alt er kryptografi bare et verktøy som kan brukes både til gode formål og til skjemmende.

  • Tagger:

Aktiver JavaScript for å se

12.1. Introduksjon. Om steganografiens og kryptografiens historie.

Hvordan formidle nødvendig informasjon til rett adressat i hemmelighet fra andre? Hver av leserne til forskjellige tider og med forskjellige mål har sannsynligvis prøvd å løse dette praktiske problemet for seg selv (for å gjøre det lettere for ytterligere referanser, vil vi kalle det "TP-problemet", dvs. problemet med hemmelig overføring). Etter å ha valgt en passende løsning, gjentok han sannsynligvis oppfinnelsen av en av metodene for skjult informasjonsoverføring, som er mer enn tusen år gammel.

Når man reflekterer over TP-oppgaven, er det lett å komme til den konklusjonen at det er tre muligheter:

  • 1. Lag en absolutt pålitelig kommunikasjonskanal mellom abonnenter utilgjengelig for andre.
  • 2. Bruk en offentlig kommunikasjonskanal, men skjul selve informasjonsoverføringen.
  • 3. Bruk en offentlig kommunikasjonskanal, men overfør nødvendig informasjon gjennom den i en slik transformert form at bare adressaten kunne gjenopprette den.

La oss kommentere disse tre mulighetene.

  • 1. Gitt dagens utviklingsnivå for vitenskap og teknologi, er det praktisk talt urealistisk å lage en slik kommunikasjonskanal mellom eksterne abonnenter for gjentatt overføring av store mengder informasjon.
  • 2. Steganografi er engasjert i utviklingen av midler og metoder for å skjule overføringen av en melding.

Steganografi som vitenskap er for tiden på vei oppover på grunn av den raske utviklingen av Internett. Oversatt fra gresk betyr "steganografi" bokstavelig talt "hemmelig skrift" (steganos - hemmelig; grafi - å skrive). Hensikten med steganografi er å skjule overføring av informasjon; den kan ikke erstatte kryptografi, men sammen med den gir den den sikreste meldingsoverføringen.

På forskjellige teknologiske nivåer som tilsvarer deres tid, har ideen om å skjule informasjon blitt implementert i uminnelige tider. Leserne er sannsynligvis klar over den eldgamle bruken av plaketter med voks som dekker budskapet, eller den aktive bruken av sympatisk blekk av innenlandske revolusjonære.

Det skal bemerkes at steganografiske metoder kan brukes både for å beskytte konfidensiell informasjon og for destruktive formål. Dette gjelder særlig i lys av endret holdning til Internett som mulig kommunikasjonskanal for terrorelementer av ulike slag. Her vurderes mulighetene for moderne steganografi i forhold til problemet med informasjonssikkerhet.

Hovedtrekket ved datakryptografi er at en meldingsfil skjules i en containerfil. Beholderen er vanligvis et utbredt filformat BMP, GIF, JPEG eller lyd WAV, selv om andre er mulige - alt avhenger av den spesifikke implementeringen. Moderne steganografiske datamaskinsystemer bruker hovedsakelig LSB-metoden, eller minst signifikant biterstatningsmetode. Essensen av denne metoden er å erstatte verdien av den minst signifikante biten. La oss si at vi ønsker å skjule en melding inne i en beholder, som er et svart-hvitt-bilde. I et standard åtte-bits digitalt bilde varierer luminansverdien fra 0 til 255, og endring av verdien til den siste biten kan øke eller redusere luminansverdien med én. Dermed vil den gjennomsnittlige endringen i piksellysstyrke ikke overstige én prosent. La oss legge til at ikke alle elementene i bildet gjennomgår ubetydelige endringer, noe som betyr at det ikke vil se annerledes ut enn originalen. Det følger av ovenstående at det er vanskeligere å visuelt skille en endring i en beholderfil hvis det er et bilde med jevn kontraststøy. Metoden beskrevet ovenfor brukes også til å skjule meldinger i filer med lydformater, mens endring av originalbeholderen ved øret er praktisk talt umulig å skille, og en fil med stor bakgrunnsstøy kan betraktes som en kvalitetsbeholder.

Nå som vi vet litt mer om steganografi, kan vi konkludere. Kvaliteten på informasjon som skjuler seg inne i containerfilen er jo høyere, jo større er forholdet mellom størrelsene på filbeholderen og filvedlegget. I praksis betyr dette at høykvalitets overføring av steganografiske meldinger er forbundet med store mengder overført informasjon. Dermed kan vi si at gevinsten i kvaliteten på informasjonsskjulingen gir tap i volumene som kreves for overføring, og omvendt.

Til tross for den relative ungdommen i retningen til datamaskinsteganografi, ved hjelp av søkemotorer på Internett, kan du finne et tilstrekkelig antall både profesjonelle og amatørprogrammer for hemmelig skriving. En av de mest vellykkede er Steganos Security Suite 4. Dette programmet er et kraftig sett med verktøy for å sikre konfidensialiteten til informasjon. Den inkluderer verktøy for å beskytte disker og tilgang til datamaskinen som helhet, kryptering av e-postmeldinger, sikkerhet for Internett, et profesjonelt verktøy for garantert uopprettelig sletting av filer, og, selvfølgelig, et stenografisk system av høy kvalitet. For de formål som er av interesse for oss, er Steganos File Manager-verktøyet ment. Med dens hjelp er det mulig å velge en containerfil fra de som allerede finnes på brukerens disk, eller lage en fil i et passende format ved hjelp av en skanner eller mikrofon. Programmet kan ikke bare sikkert skjule meldingen i den valgte beholderen, men også lage et selvutpakkende arkiv.

Som vi kan se, stimulerer problemet med informasjonssikkerhet en ganske rask utvikling av steganografiske og kryptografiske systemer. Tatt i betraktning så viktige anvendelser av steganografi som beskyttelse av personlige hemmeligheter, digitale vannmerker, elektroniske digitale signaturer og elektronisk handel, kan det sies at denne retningen aktivt vil utvikle seg i nær fremtid. Samtidig kan man ikke undervurdere hvor alvorlig trussel kraftige kan utgjøre dersom de faller i hendene på ulike typer terrorister og datapirater. Derfor, som i sin tid kryptoanalyse, i henhold til regelen om skjold og sverd, utvikles også stegoanalyse i dag, hvis oppgave er å finne effektive algoritmer for å oppdage skjult informasjon.

Noen ganger blir steganografi feilaktig referert til som kryptografi. Selvfølgelig, ved hjelp av steganografi, er det mulig å skjule tidligere krypterte tekster, men generelt sett er steganografi og kryptografi fundamentalt forskjellige retninger i teorien og praksisen for informasjonssikkerhet.

3. Kryptografi er engasjert i utvikling av metoder for å transformere (kryptere) informasjon for å beskytte den mot ulovlige brukere. Slike metoder og måter å transformere informasjon på kalles chiffer.

Kryptering (kryptering)- prosessen med å bruke et chiffer på beskyttet informasjon, dvs. transformasjon av beskyttet informasjon (ren tekst) til en kryptert melding (krypteringstekst, kryptogram) ved bruk av visse regler i chifferen.

Dekryptering- den omvendte prosessen med kryptering, dvs. transformasjon av en kryptert melding til beskyttet informasjon ved hjelp av visse regler i chifferen.

Kryptografi- anvendt vitenskap, den bruker de siste prestasjonene fra grunnleggende vitenskaper og først av alt matematikk. På den annen side avhenger alle de spesifikke oppgavene til kryptografi i hovedsak av utviklingsnivået til teknologi og teknologi, av kommunikasjonsmidler som brukes og metoder for overføring av informasjon.

Det er praktisk å illustrere noen konsepter for kryptografi med historiske eksempler, så la oss gjøre en liten historisk digresjon.

I lang tid har kryptografi vært partiet til ensomme eksentrikere. Blant dem var begavede vitenskapsmenn, diplomater og geistlige.

Det er tilfeller der kryptografi ble ansett som til og med svart magi. Denne perioden i utviklingen av kryptografi som kunst varte fra umerkelige tider til begynnelsen av 1900-tallet, da de første krypteringsmaskinene dukket opp. Forståelsen av den matematiske karakteren av problemene løst med kryptografi kom først på midten av 1900-tallet – etter verkene til den fremragende amerikanske vitenskapsmannen K. Shannon.

Kryptografiens historie er assosiert med et stort antall diplomatiske og militære hemmeligheter og er derfor innhyllet i en tåke av legender. Mange kjente historiske personer har satt sitt preg på kryptografiens historie. Her er noen av de mest slående eksemplene. Den første informasjonen om bruken av siffer i militære anliggender er knyttet til navnet på den spartanske sjefen Lysander (sifferet "Stsital"). Cæsar brukte i sin korrespondanse et chiffer som gikk ned i historien som «Cæsar-chifferet». I antikkens Hellas ble en type chiffer oppfunnet, som senere ble kjent som "Politei-plassen". En av de første bøkene om kryptografi ble skrevet av abbed I. Tritelius (1462-1516), som bodde i Tyskland. I 1566 publiserte den berømte matematikeren D. Cardano et verk som beskrev krypteringssystemet han hadde oppfunnet ("Cardano-gitter"). Frankrike på 1500-tallet forlot chifferene til kong Henry IV og Richelieu i kryptografiens historie. Det var også mange russiske chiffer, inkludert det "digitale alfabetet" fra 1700, forfatteren av det var Peter den store.

Noe informasjon om egenskapene til chiffer og deres anvendelse kan finnes i skjønnlitteratur, spesielt i eventyr-, detektiv- og militærlitteratur. En god detaljert forklaring på særegenhetene til en av de enkleste chifferene - erstatningssifferet og metoder for å bryte det - finnes i to kjente historier: "The Golden Beetle" av E. Poe og "Dancing Men" av A. Conan Doyle.

La oss se på to eksempler.

Den historiske prosessen med utvikling av midler og metoder for informasjonsbeskyttelse har utviklet tre hovedmetoder for beskyttelse.

Den første måten å beskytte informasjon på er fysisk beskyttelse mot fienden til en materiell informasjonsbærer (pergament, papir, magnetbånd, etc.), for eksempel overføring av informasjon av en spesiell kurer med sikkerhet, en ring med en beholder for en hemmelig melding osv.

Den andre måten å beskytte informasjon på er steganografi. Bruken av steganografi sikrer at selve informasjonsoverføringen er skjult for fienden. Steganografisk informasjonsbeskyttelse gis på ulike måter, for eksempel:

Bruk av "usynlige" informasjonsbærere (mikrofilmer);

Bruk av sympatisk blekk, som blir synlig med passende kjemisk behandling av lagringsmediet;

Ved å maskere gradert informasjon med en vanlig melding osv.

I moderne steganografi er det et ganske bredt spekter av informasjonsbeskyttelsesmetoder.

Den tredje, mest pålitelige og utbredte metoden for å beskytte informasjon er kryptografisk. Det er de kryptografiske metodene for å beskytte informasjon som denne opplæringen er viet til.

1.1. Grunnleggende begreper og definisjoner av kryptografi

La oss vurdere de grunnleggende konseptene som er tatt i bruk i kryptografi, og først definere hva kryptografi er.

Kryptografi er en del av anvendt matematikk (kryptologi) som studerer modeller, metoder, algoritmer, programvare og maskinvare for konvertering av informasjon (kryptering) for å skjule innholdet, forhindre modifikasjon eller uautorisert bruk. Kryptanalyse er rettet mot å løse gjensidige problemer. Krypteringsanalyse er en gren av anvendt matematikk (kryptologi) som studerer modeller, metoder, algoritmer, programvare og maskinvareverktøy for å analysere kryptosystemer eller deres inngangs- og utgangssignaler for å trekke ut konfidensielle parametere, inkludert ren tekst. Dermed danner kryptografi og kryptoanalyse en enkelt helhet og danner en vitenskap - kryptologi, som helt fra begynnelsen utviklet seg som en todelt vitenskap.

Historisk sett er det sentrale begrepet kryptografi begrepet et chiffer. Chiffer kalles et sett med reversible kryptografiske transformasjoner av et sett med ren tekst til et sett med chiffertekster, utført for å beskytte dem. Den spesifikke typen kryptografisk transformasjon av klarteksten er definert ved hjelp av nøkkel kryptering. I ren tekst er navnet på den opprinnelige meldingen som skal krypteres. Under kryptering prosessen med å bruke en reversibel kryptografisk transformasjon på en ren tekst er forstått, og resultatet av denne transformasjonen kalles chiffertekst eller kryptogram... Følgelig kalles prosessen med omvendt kryptografisk transformasjon av et kryptogram til ren tekst dekryptering.



Dekryptering må ikke forveksles med dekryptering. Dekryptering(dekryptering, bryte) - prosessen med å trekke ut ren tekst uten å kjenne den kryptografiske nøkkelen basert på avlyttede kryptogrammer. Dermed utføres dekryptering av en legitim bruker som kjenner chiffernøkkelen, og dekryptering utføres av en kryptoanalytiker.

Kryptografisk system- en familie av chiffertransformasjoner og et sett med nøkler. I seg selv er beskrivelsen av en kryptografisk algoritme ikke et kryptosystem. Kun supplert med ordninger for distribusjon og forvaltning av nøkler blir det et system.

Klassifiseringen av kryptosystemer er vist i fig. 1.1.

Ris. 1.1. Klassifisering av kryptosystemer

En mer fullstendig klassifisering av kryptosystemer er gitt for eksempel i.

Symmetriske kryptosystemer (hemmelige nøkkelkryptosystemer) er basert på prinsippet om å holde krypteringsnøkkelen hemmelig. I fig. 1.2 viser et forenklet blokkdiagram av et symmetrisk kryptosystem. Før du bruker et symmetrisk kryptosystem, må brukere få en delt hemmelighet og ekskludere en angriper fra å få tilgang til den. En åpen melding gjennomgår en kryptografisk transformasjon og det resulterende kryptogrammet overføres til mottakeren via en åpen kommunikasjonskanal, hvor den inverse transformasjonen utføres for å markere den opprinnelige åpne meldingen.

Ris. 1.2. Forenklet strukturdiagram av et symmetrisk kryptosystem

Symmetriske kryptosystemer er klassifisert etter ulike kriterier: etter typen kryptografisk transformasjon; etter konstruktive prinsipper; av typen informasjon som beskyttes; for kryptografisk styrke osv. De to første klassifiseringsskiltene brukes oftest. I denne forbindelse er mange symmetriske kryptosystemer delt:

Etter typen kryptografisk transformasjon - til permutasjonschiffer, erstatningssiffer og komposisjonssiffer;

Etter designprinsipper - inn i strømkryptosystemer og blokkkryptosystemer.

Under permutasjonschiffer betyr omorganisering av bokstavene i den opprinnelige meldingen, som et resultat av at den blir uleselig. Under erstatningssiffer forstås en transformasjon, som består i å erstatte bokstavene i den opprinnelige meldingen med andre bokstaver etter en mer eller mindre kompleks regel. Komposisjonelle chiffer er bygget på grunnlag av erstatnings- og permutasjonschiffer. Blokker symmetriske kryptosystemer(BSC) er en familie av reversible kryptografiske transformasjoner av blokker av den opprinnelige meldingen. Strøm kryptosystemer(UCS) konverterer den opprinnelige meldingen tegn for tegn til et kryptogram.

Særpreget trekk asymmetriske kryptosystemer(offentlige nøkkelkryptosystemer) er at forskjellige nøkler brukes til å kryptere og dekryptere informasjon. I fig. 1.3 viser et forenklet blokkskjema av et asymmetrisk kryptosystem. Et offentlig nøkkelkryptosystem er definert av tre algoritmer: nøkkelgenerering, kryptering og dekryptering. Nøkkelgenereringsalgoritmen lar deg få et nøkkelpar , og ... En av nøklene er publisert, heter det åpen, og den andre kalles lukket(eller hemmelig) og holdt hemmelig. Krypteringsalgoritmer og dekryptering er slik at for enhver klartekst likheten .

Ris. 1.3. Forenklet blokkdiagram av et asymmetrisk kryptosystem

1.2. Fra kryptografiens historie

Ifølge noen eksperter er kryptografi like gammel som de egyptiske pyramidene. I dokumentene til gamle sivilisasjoner (India, Egypt, Mesopotamia) er det informasjon om systemene og metodene for å komponere chifferbokstaver.

Siden antikken har to typer chiffer blitt brukt i kryptografi: substitusjoner (substitusjoner) og permutasjoner. Et historisk eksempel på en erstatningssiffer er Cæsar-chiffer(I århundre f.Kr.), beskrevet av historikeren til det gamle Roma Suetonius. Gaius Julius Caesar brukte et chiffer av sin egen oppfinnelse i sin korrespondanse. Med hensyn til det russiske språket er det som følger. Alfabetet skrives ut, og deretter skrives det samme alfabetet ut under det, men med en syklisk forskyvning med tre bokstaver til venstre:

EN B V G D E NS NS JEG ER
G D E Yo F Z EN B V

Kryptering består i å velge en bokstav fra den første linjen og erstatte den med bokstaven på den andre linjen; dekryptering er omvendt operasjon. For eksempel RIM - ULP. Nøkkelen til Cæsar-chifferet er mengden syklisk skift. Gaius Julius Cæsar brukte den samme nøkkelen hele livet – et skifte med 3 bokstaver. Julius Cæsars etterfølger - Cæsar Augustus brukte samme chiffer, men med et skifte på en bokstav. Suetonius gir ikke bevis for å dechiffrere Cæsars chiffer, men i de dager da generell analfabetisme hersket, kunne selv en vanlig åpen melding forbli ulest.

En av de første fysiske enhetene som implementerte permutasjonschifferet er vandrende... Den ble oppfunnet i det gamle Sparta (5. århundre f.Kr.). I tillegg til antikkens Hellas, ble vandreapparatet mye brukt i antikkens Roma. En skitala (oversatt som "stav") er en sylinder med en gitt diameter. Et pergamentbelte ble viklet rundt sylinderen, som teksten i meldingen ble påført langs sylinderens akse. Beltet ble deretter viklet av og sendt til mottakeren av meldingen. Sistnevnte, med en lignende sylinder, dekodet meldingen. Chiffernøkkelen er diameteren på vandringen. Oppfinnelsen av dekrypteringsenheten tilskrives Aristoteles. Han foreslo å bruke et kjegleformet "spyd" for dekryptering, som det avskjærte beltet ble viklet på, inntil en meningsfull tekst dukket opp.

Et av de første historiske navnene som nevnes i forbindelse med kryptografi er navnet på Aeneas - den legendariske sjefen, beskytter av Troja. Innen kryptografi eier Aeneas to oppfinnelser. Den første av disse er den såkalte Aeneas disk... Prinsippet er enkelt. På en skive 10-15 cm i størrelse og 1-2 cm tykk ble det boret hull i henhold til antall bokstaver i alfabetet. En trådsnelle er festet i midten av platen. Ved kryptering ble tråden sekvensielt trukket gjennom hullene som tilsvarer bokstavene i meldingen. Platen ble sendt til mottakeren, som dro tråden ut av hullene og mottok meldingen i omvendt rekkefølge. En annen enhet er Aeneas' hersker... Her ble det i stedet for en skive brukt en linjal med et antall hull lik antall bokstaver i alfabetet. Bokstavene ble plassert i tilfeldig rekkefølge langs hullene. En trådsnelle ble festet til linjalen. Ved kryptering ble tråden trukket gjennom hullet tilsvarende bokstaven i den krypterte meldingen, mens det ble knyttet en knute på tråden på stedet der hullet passerte. Dermed var den krypterte meldingen en tråd med knuter, der hver bokstav ble tildelt avstanden mellom knutene på tråden. Chiffernøkkelen var rekkefølgen på bokstavene langs hullene på linjalen. Ligner på Aeneas sin hersker kippu(nodulær skrift) ble utbredt blant indianerne i Mellom-Amerika.

Det er også en oppfinnelse av de gamle grekerne - Polybius-plassen (Polybius er en gresk statsmann, kommandør, historiker fra det 3. århundre f.Kr.):

EN B C D E
EN EN B C D E
B F G H jeg, J K
C L M N O P
D Q R S T U
E V W X Y Z

Når det gjelder det moderne latinske alfabetet, var kryptering i denne firkanten som følger. Den krypterte bokstaven ble erstattet med koordinatene til firkanten der den ble skrevet. Så bokstaven R erstattes med DB. Når de er dekryptert, identifiserer hvert bokstavpar den tilsvarende bokstaven i meldingen. For eksempel er TABLE DDAAABCAAE. Nøkkelen til denne chifferen er selve firkanten. En komplisert versjon av Polybius-plassen består i en vilkårlig rekkefølge av å skrive bokstaver i en firkant. Samtidig, for å huske en slik vilkårlig rekkefølge, ble et slagord brukt, som var et ord skrevet uten å gjenta bokstaver i en firkant, og de resterende cellene i firkanten ble fylt i rekkefølgen de fulgte med resten av bokstavene av alfabetet. For eksempel tilsvarer THEAPLE THEAPL.

Det er interessant å merke seg at Polybius-plassen i en litt modifisert form har overlevd til i dag og fått navnet "fengselskode". For å bruke det er det nok å bare kjenne den naturlige rekkefølgen av bokstaver i alfabetet. Sidene av en firkant er ikke angitt med bokstaver, men med tall. Hvert siffer er kodet med et visst antall banker. Ved overføring av melding blir linjenummeret først "tappet av", og deretter kolonnenummeret. "Prison cipher" er strengt tatt ikke et chiffer, det er en metode for å kode en melding for å gjøre den praktisk for overføring over en kommunikasjonskanal (fengselsmur).

I løpet av middelalderen fikk europeisk kryptografi en tvilsom berømmelse, hvis ekko fortsatt kan høres i dag. Faktum er at kryptografi begynte å bli identifisert med svart magi, astrologi, alkymi, mystiske krefter ble bedt om å kryptere. For å kryptere meldinger ble det anbefalt å bruke "Magiske firkanter"... Det magiske med disse rutene var at summen av tallene i rader, kolonner og hele diagonaler var lik ett tall. Den magiske firkant-krypteringen var som følger. Bokstavene i meldingen ble skrevet inn i en firkant i henhold til tallene skrevet i dem, og vilkårlige bokstaver ble satt inn i tomme celler. Chifferteksten ble skrevet ut i den rekkefølgen som var avtalt på forhånd. For eksempel, meldingen JEG KOMMER I DAG, kryptert ved hjelp av en "magisk firkant":

16U 3I 2P 13D
5Z 10E 11G 8U
9C 6G 7A 12O
4E 15I 14H 1P

har formen UIRDZEGYUSZHAOEYANP. Dette chifferet er et vanlig permutasjonschiffer, men det ble antatt at magien til den "magiske firkanten" gir den spesiell styrke.

På 1400-tallet kom abbed Trithemius med to innovative forslag innen kryptografi: han foreslo Ave Maria-chifferet og et chiffer basert på en periodisk forskjøvet nøkkel. Det mest seriøse forslaget til Trithemius, som har overlevd til i dag, er bordet han oppfant:

EN B C D W X Y Z
B C D E X Y Z EN
C D E F Y Z EN B
Y Z EN B U V W X
Z EN B C V W X Y

Den første bokstaven i teksten er kryptert på den første linjen, den andre bokstaven på den andre linjen, og så videre. Den første linjen er også en streng med bokstaver i klartekst. For eksempel er FIGHT FJIKX. I den originale versjonen var det ingen nøkkel i Trithemius-chifferet. Hemmeligheten var selve krypteringsmetoden. Ytterligere komplikasjon av chifferen foregikk på to måter: ved å introdusere en vilkårlig rekkefølge av bokstavene i tabellen; komplikasjon av rekkefølgen for valg av tabellrader under kryptering. Det skal sies at Cæsar-chifferet er et spesialtilfelle av Trithemius-chifferet.

Ave Maria-chifferet er basert på prinsippet om å erstatte bokstavene i den krypterte teksten med hele ord, som tilsynelatende uskyldige meldinger ble laget av. For eksempel H - "I", "HERE"; E - "VENT", "VIL VÆRE"; T - "HUS", "KVELD". Da kan den åpne meldingen NEI tilsvare meldingene "JEG VENTER HJEMME", "HER BLIR KVELD."

På 1600-tallet la den engelske filosofen og vitenskapsmannen Lord Chancellor Francis Bacon frem hovedkravene til chiffer: «De bør ikke dekrypteres, bør ikke ta mye tid å skrive og lese, bør ikke vekke noen mistanke». Disse kravene er fortsatt aktuelle i dag.

Chiffer og brorskap av "frie murere" (murere) ble mye brukt. Gratis masons-kode er et erstatningssiffer og er, i motsetning til populær tro, ikke sterk, men er av en viss interesse. Kryptering består i å erstatte klartekstbokstaver med tegn i henhold til regelen:

EN: B: C: J. K. L. S T U
D: E: F: M. N. O. V W X
G: H: JEG: P. Q. R. Y Z

For eksempel tilsvarer APPLE et kryptogram av formen:

: . . . :

Under kampanjen mot Russland brukte Napoleon chifferen til de "frie murerne" i de nedre leddene i kommunikasjonen hans, men chifferen ble raskt oppdaget av russiske kodeknekkere.

På 1500-tallet fremmet italieneren Alberti først ideen om dobbel kryptering, dvs. teksten etter den første krypteringen ble kryptert på nytt. Alberti eier også et chiffer, som han kalte "et chiffer som passer for konger." Chifferen ble implementert ved hjelp av en krypteringsdisk. På den ytre stasjonære disken ble det påført bokstaver og tall som bokstavene og tallene til den indre bevegelige disken var plassert under. Krypteringsprosessen er enkel - bokstavene og tallene i ren tekst ble tildelt bokstavene og tallene på den interne disken. Etter krypteringen av meldingsordet flyttet den indre disken seg ett trinn. Den opprinnelige plasseringen av diskene var tidligere avtalt. Alberti-skiven ble brukt med mindre modifikasjoner frem til begynnelsen av 1900-tallet.

På 1500-tallet ble et betydelig bidrag til utviklingen av kryptografi gitt av Mateo Argenti, Jovani Batista Belazo, Giovani Batista Porta, Cordano og andre. Mateo Argenti var pavens kryptograf, det var han som kom opp med ideen om bruke slagordet for å gi alfabetet et blandet utseende som er lett å huske. Argenti foreslo også å sette inn et stort antall tomme bokstaver i chifferteksten, eliminere tegnsetting, ikke sette inn åpne ord (claire) i chifferteksten, og erstatte bokstavene i chifferteksten med tall. Belazo og Porta utviklet ideene til Argenti i verkene deres "Code of Senor Belazo" og "On Secret Correspondence".

Et betydelig bidrag til utviklingen av kryptografi ble gitt av matematikeren, legen og filosofen Cordano. Chifferen foreslått av ham gikk ned i historien under navnet "Cordano Lattice". "Cordano gitter" er et permutasjonschiffer, hvis essens er som følger. Et ark med tett materiale (papp, pergament) ble tatt, som var en firkant der "vinduer" ble kuttet ut. Ved kryptering ble firkanten lagt på et ark og meldingen ble skrevet inn i "vinduene", deretter ble firkanten rotert 90 grader og meldingen ble fortsatt skrevet inn i "vinduene" til den roterte firkanten. Denne prosedyren fortsatte til firkanten ble fullstendig rotert 360 grader. Hovedkravet til "Cordano-gitteret" er at for alle svinger skal ikke "vinduene" falle på bunnen og samme sted, og når firkanten er fullstendig rotert, er alle plassene i chifferteksten okkupert. Chifferteksten ble lest linje for linje fra den resulterende tabellen. Cordanos foreslåtte chiffer ligger til grunn for det berømte Richelieu-chiffer, der chifferteksten eksternt så ut som en vanlig melding. Ved å legge et rektangelsnitt med vinduer på et ark med en slik melding, var det mulig å lese meldingen. Richelieus chiffer refererer ikke til verken erstatnings-chiffer eller permutasjons-chiffer; det var en steganografisk metode for å beskytte informasjon. Denne typen chiffer ble brukt av den russiske forfatteren og statsmannen A.S. Griboyedov som ambassadør i Persia.

Cordano la frem, men hadde ikke tid til å implementere ideen om "selvnøkkel" fullt ut. Dens essens er å bruke en del av en åpen melding som en nøkkel.

Etter å ha møttes i verkene til Trithemius, Belazo, Cordano og Alberti, utviklet den franske statsmannen Blaise de Vigenère sitt eget chiffer, som ble kalt Vigenère-chiffer... Essensen av chifferen var at det ble valgt et hemmelig ord, som var chiffernøkkelen. Dette ordet ble skrevet ut med jevne mellomrom under en åpen melding. Den øvre bokstaven i klarteksten tilsvarte kolonnen i Trithemius-tabellen, og den nedre bokstaven i nøkkelen tilsvarte raden i Trithemius-tabellen, bokstaven i skjæringspunktet mellom raden og kolonnen var bokstaven i chifferteksten. Vigenère-chifferet er et erstatnings-chiffer. Deretter ble denne koden noe forenklet for praktisk bruk av sjefen for den første statlige dekrypteringsavdelingen i Tyskland, grev Gronsfeld. Vigenere-chifferet og Gronsfeld-chifferet er faktisk forfedrene til det for tiden mye brukte gamma-chifferet. Vigenère-chifferet ble brukt i ulike former frem til 1800-tallet. En av de mest kjente modifikasjonene av Vigenere-chifferet er chifferen til den engelske admiralen Beaufort. Fordelen med Beaufort-chifferet ligger i det faktum at reglene for kryptering av meldinger og deres dekryptering er de samme.

Den utbredte utviklingen av kryptografi på 1500-tallet var forbundet med utviklingen av naturvitenskap og matematikk. Samtidig dukket de første spesialorganene til den diplomatiske tjenesten opp i Europa, som tok seg av kryptering av deres egen korrespondanse og dekryptering av avlyttet korrespondanse. XVII-XVIII århundrer gikk inn i kryptografiens historie som epoken med "svarte kontorer". "Svarte rom"- et spesielt statlig organ for avlytting, perlustrering og dekryptering av korrespondanse, primært diplomatisk. Personalet ved de "svarte kontorene" inkluderte dekodere, e-postavlyttingsagenter, kopieringsskrivere, oversettere, stempelforfalskere, apotekere, håndskriftforfalskere og så videre. Disse spesialistene ble høyt verdsatt og var under spesiell beskyttelse av myndighetene, svik ble veldig strengt straffet.

De første mekaniske krypteringsenhetene dukket opp på 1800-tallet. De mest kjente er oppfinnelsene til oberst D. Wadsworth fra den amerikanske hæren og den engelske ingeniøren C. Wheatstone. Wadsworths enhet (1817) var en mekanisk koder, hvis hovedelementer var to krypteringsdisker, på enden av bunnen var bokstavene i det engelske alfabetet, og på slutten av det andre bokstavene og tallene fra 2 til 8. bokstaver på den andre disken var flyttbare, noe som gjorde det mulig å endre alfabetet til den krypterte teksten. Diskene ble plassert i et etui med vinduer skåret inn i den. Da den første disken roterte, ble bokstaven til den åpne meldingen vist i det øvre vinduet. Skivene ble koblet sammen med en giroverføring, så den tilsvarende bokstaven i chifferteksten dukket opp i det nedre vinduet. Enheten var utstyrt med en spesiell knapp for å koble fra diskene. Dette var nødvendig for å sikre installasjonen av enheten i en gitt utgangsposisjon. Ideene til Alberti, Trithemius, Vigenere sees i Wadsworths enhet. Til tross for at enheten var ganske klumpete, dominerte dessuten "manuelle" chiffer på dette tidspunktet, som ikke krevde spesielle enheter, fungerte det som en drivkraft for utviklingen av mekaniske enheter for kryptering og dekryptering av meldinger.

Et interessant forslag for å lage en mekanisk krypteringsenhet ble laget av C. Wheatstone i andre halvdel av det 20. århundre. Wheatstones enhet gjenspeiler ideene til Alberti, så vel som Wadsworth. Utad ligner Wheatstones enhet en Alberti-disk, men den implementerer en paradoksal idé - det vanlige tekstalfabetet inneholder flere tegn enn chiffertekst. Problemet med tvetydighet i definisjonen av bokstavene i en åpen melding ble briljant løst av Wheatstone. I fig. 1.4 viser utseendet til Wheatstone-enheten.

Den ytre disken, klartekst-alfabetdisken, besto av 27 tegn (26 bokstaver i det engelske alfabetet og et spesielt "+"-tegn for et mellomrom). Det indre alfabetet definerer klartekstalfabetet og består av de vanlige 26 bokstavene ordnet i en vilkårlig nøkkelrekkefølge. På samme akse som diskene (alfabetene) til enheten, koblet sammen med tannhjul som måler henholdsvis 27 × 26, er det to visere, som i moderne klokker.

Ris. 1.4. Utvendig visning av C. Wheatstones enhet

I begynnelsen av kryptering peker en stor (lang) pil til "+"-tegnet. Den lille pilen koblet til det store gjengede tannhjulet ble plassert i samme posisjon, dvs. "klokken" viste "12.00". Settet med klartekstbokstaver ble laget ved å vri den store hånden i bevegelsesretningen til klokken. Etter en slik sving indikerer en liten pil chifferteksttegnet. Med en full rotasjon av den store disken ble den lille disken således forskjøvet med én i forhold til den innledende gjensidige tilstanden til de to diskene, noe som førte til en skjærendring i chiffertekstalfabetet i forhold til rentekstalfabetet. På slutten av hvert ord sto den store pilen på "+"-tegnet, og bokstaven som den korte pilen pekte på ble registrert som et chifferteksttegn. For å unngå tvetydighet i dekryptering er det ikke tillatt å doble bokstaver i ren tekst. Den gjentatte bokstaven bør enten utelates, eller en sjelden bokstav bør settes i stedet, for eksempel Q. For eksempel skrives ordet THE APPLE når kryptert som + THE + APLE + eller + THE + APQLE +.

Wheatstones oppfinnelse, så vel som Wadsworths, fant ikke utbredt bruk. Skjebnen til hans andre forslag innen kryptografi - bigram-erstatningschifferet - var imidlertid bedre, selv om chifferen ble urettferdig oppkalt etter vennen til oppfinneren Baron Playfer. Samtidig oppførte Playfer seg veldig korrekt: når han populariserte oppfinnelsen, indikerte han alltid navnet på forfatteren - Wheatstone, men historien beordret noe annet: chifferen ble ikke tildelt navnet på oppfinneren, men på popularizeren. Playfair-chifferet vil bli diskutert i detalj i neste avsnitt.

På begynnelsen av 1900-tallet ga en amerikansk G. Vernam et betydelig bidrag til utviklingen av kryptografi. I 1917, som ansatt i et telegrafselskap, foreslo han ideen om automatisk kryptering av telegrafmeldinger, hvis essens er som følger. Renteksten er representert i Baudot-kode (i form av femsifrede "pulskombinasjoner"). I denne koden så for eksempel bokstaven "A" ut som (+ + - - -). På papiret betydde "+"-tegnet et hull, og "-"-tegnet betydde dets fravær. Da de leste fra båndet, "gjenkjente" de fem metallprobene hullene (hvis det var et hull, lukket sonden den elektriske kretsen). Strømpulser ble sendt til kommunikasjonslinjen. Vernam foreslo elektromekanisk koordinert stabling av impulsene til tegnene til den hemmelige teksten med impulsene til den hemmelige nøkkelen, som er et kaotisk sett med bokstaver i samme alfabet. Tillegg, i henhold til moderne terminologi, ble utført modulo 2. G. Vernam opprettet en enhet som utfører krypteringsoperasjoner automatisk, uten deltakelse av en kryptering, og dermed legge grunnlaget for den såkalte "lineære kryptering", når prosessene til kryptering og overføring av en melding skjer samtidig. Frem til det tidspunktet var kryptering foreløpig, så lineær kryptering økte kommunikasjonshastigheten betydelig. Vernam-chifferet har eksepsjonell kryptografisk styrke. Samtidig er også ulempen med dette krypteringssystemet åpenbar – nøkkelen må ha samme lengde som ren tekst. For dekryptering på mottakersiden av forbindelsen må en nøkkel av tilstrekkelig lengde overføres dit (via hemmelige, sikre kanaler). I praktisk implementering gir dette opphav til problemer, og svært betydelige, som forhåndsbestemte den beskjedne spredningen av Vernam-siffer. Vernam selv var ikke en kryptografisk matematiker, likevel insisterte han på at chiffernøkkelen ikke skulle gjentas under kryptering, og i dette, som kryptografiens historie viste, hadde han rett. Ideene hans ga opphav til nye tilnærminger til pålitelig informasjonsbeskyttelse ved overføring av store mengder meldinger.

Den første halvdelen av det 20. århundre var "gullalderen" for elektromekaniske krypteringsmaskiner. Den mest kjente er familien av tyske elektromekaniske krypteringsmaskiner Enigma. Ulike modifikasjoner av denne krypteringsmaskinen ble brukt av de tyske troppene fra slutten av 1923 til 1945. I 1943 klarte de allierte i anti-Hitler-koalisjonen å «hakke» Enigma-maskinen, som spilte en stor rolle i seieren i andre verdenskrig. Lorenz-krypteringsmaskinen ble brukt av tyskerne til å overføre de mest hemmelige meldingene under andre verdenskrig. Den amerikanske hæren brukte den mekaniske krypteringsenheten M-94 fra 1923 til 1943. Denne enheten er basert på Alberti-platen. For å beskytte diplomatisk korrespondanse i USA ble Hebern MarkII-maskinen brukt. Den svenske kryptografen B. Hagelin utviklet CD-57-krypteringsenheten for det franske hemmelige politiet, og M-209-krypteringsmaskinen for de franske spesialtjenestene. En modifikasjon av dette kjøretøyet ble også brukt av det amerikanske militæret i andre verdenskrig. Fra 1939 til 1952 brukte japanerne Type 97-krypteringsmaskinen for å beskytte diplomatisk korrespondanse og dens modifikasjoner. I USA fikk disse maskinene de fargerike betegnelsene «Code Magenta» og «Code Red». I USSR, før krigen og under den store patriotiske krigen, ble K-37 "Kristall" diskkodingsmaskin i liten størrelse mye brukt. Bare i 1940 ble det produsert 100 sett av denne maskinen. Etter krigen ble resultatene av driften av K-37 oppsummert og det ble arbeidet med å forbedre den ytterligere.