En introduksjon til det grunnleggende om moderne symmetriske nøkkelchiffer. Datakrypteringsmetoder - webprogrammerers blogg

Forrige gang møtte du de store og forferdelige hjemlige chifferene. Det var en veldig vanskelig leksjon, fordi disse kryptosystemene vokter statshemmeligheter. Fortell meg, hvor mye mer intrikat? Og her, vær så snill! Faktisk, ikke bli skremt, denne gangen vil vi ikke dykke så dypt inn i matematikk og vurdere krypteringsmoduser - du har allerede lært prinsippene deres (vel, eller har ikke lært dem). La oss gå gjennom de mest populære utenlandske chifferene og se hvordan de brukes i praksis.

Veikart

Dette er den fjerde leksjonen i Crypt Dive-serien. Alle leksjoner i syklusen i kronologisk rekkefølge:

  • Fundamentals og historiske scramblers. Hvordan Shift, Substitution, Richard Sorge, Vernam Ciphers og Cipher Machines fungerer (og analyserer)
  • Hva er det, hvordan utføres nøkkeldistribusjon og hvordan velge en kryptografisk sterk nøkkel
  • Hva er et Feistel-nettverk og hva er de innenlandske blokkchifrene som brukes i moderne protokoller - GOST 28147-89, "Grasshopper"
  • Leksjon 4. Moderne utenlandske chiffer. Hva er forskjellen mellom 3DES, AES, Blowfish, IDEA, Threefish av Bruce Schneier og hvordan de fungerer (er du her)
  • Typer elektroniske signaturer, hvordan de fungerer og hvordan de skal brukes
  • Leksjon 6. Kvantekryptografi. Hva er det, hvor brukes det og hvordan det hjelper i distribusjon av hemmelige nøkler, generering av tilfeldige tall og elektroniske signaturer

3DES

Så vi vil være de første i en serie utenlandske chiffer som vurderer 3DES, eller snarere dens nærmeste slektning DES (Data Encryption Standard), som, selv om den ikke lenger brukes som sådan, er stamfaren til 3DES.

DES ble utviklet av et team av matematikere ved IBM Research Laboratory, som inkluderte den allerede kjente Feistel. Den første versjonen av chifferen ble kalt "Lucifer", men så ble den modifisert og som et resultat tatt i bruk som den offisielle datakrypteringsalgoritmen (DEA). Den forble den globale standarden i over tjue år før den ble erstattet av Triple DES.

La oss ta en titt på hvordan DES-krypteringsalgoritmen fungerer. For dette er det nødvendig å huske arbeidet til Feistel-nettverket. DES er et 16-runders Feistel-nettverk med symmetriske krypteringsnøkler. Lengden på tekstblokken er 64 biter, lengden på den runde nøkkelen er 48 biter. Så la oss gå gjennom hovedstadiene av DES-kryptering, og utelate den harde matematiske siden:

  1. Teksten, som med all annen kryptering, er delt inn i blokker på 64 biter.
  2. 16 48-bits rundnøkler genereres fra en 56-biters nøkkel.
  3. Hver blokk er permutert, det vil si at alle bitene i inngangsblokken stokkes i henhold til en bestemt tabell.
  4. Blokken er delt i to og går inn i det kjente Feistel-nettverket, hvor 16 runder rulles.
  5. Vi kobler halvdelene.
  6. Og enda en permutasjon.

De første og siste permutasjonene har ingen betydning for DES-kryptografi. Begge permutasjonene er uten nøkler, og tabeller for dem er forhåndsdefinerte. Grunnen til at de er inkludert i DES er uklar, og designerne av DES sa ingenting om det. Det kan antas at algoritmen var planlagt implementert i maskinvare (på brikker) og at disse to komplekse permutasjonene burde ha gjort det vanskelig å simulere krypteringsmekanismen i programvare.

Her er alt du trenger å vite om DES. Hvis du fordyper deg i hvordan funksjonen som er spesifisert i Feistel-nettverket fungerer, så er alt bra i den. Den utfører både permutasjon og utskifting (S-bokser, som du kan huske fra forrige artikkel), og tillegg med en rund nøkkel.

Men tilbake til trippel DES, eller trippel DES. Det ble nødvendig, siden 56-bits DES-nøkkelen var sårbar for brute-force og med veksten av datakraft ble dette problemet mer og mer akutt. Ved å bruke teknologien som er tilgjengelig i dag, kan én million nøkler verifiseres per sekund. Dette betyr at det vil ta over to tusen år å brute-force dekryptere DES ved å bruke en datamaskin med bare én prosessor.

Men hvis vi tar en datamaskin med én million prosessorkjerner som skal behandle nøkler parallelt, kan vi sjekke hele settet med nøkler på omtrent 20 timer. Da DES ble introdusert var kostnaden for en slik datamaskin flere millioner dollar, men den gikk raskt ned. En spesiell datamaskin ble laget i 1998 – og fant nøkkelen på 112 timer.

For å løse problemet med å raskt finne en nøkkel, foreslo smarte utenlandske kryptografer å bruke to nøkler og bruke DES to ganger. Dobbel DES viste seg imidlertid å være sårbar for et møte-i-midten-angrep. For å utføre dette angrepet, må en angriper ha en klar og korresponderende chiffertekst. Angriperen krypterer klarteksten ved å bruke alle mulige nøkler, og skriver resultatene til Tabell 1. Så dekrypterer han chifferteksten med alle mulige nøkler og skriver resultatet til Tabell 2. Deretter ser angriperen etter samsvar i Tabell 1 og 2.

Denne typen angrep består av en oppregning av nøkler på siden av chifferteksten og klarteksten og krever omtrent fire ganger flere beregninger enn en oppregning av en vanlig DES-nøkkel, og ganske mye minne for lagring av mellomresultater. Men i praksis er angrepet gjennomførbart, noe som gjør Double DES-algoritmen ubrukelig.

Situasjonen er ganske annerledes med Triple DES. Ved å bruke tre nøkler og bruke algoritmene i sekvensen vist i diagrammet forlenget DES-levetiden i flere år.


Fantastisk DES

Så hva er så bra med DES? Denne krypteringsalgoritmen har blitt grundig analysert. DES hadde to svært viktige egenskaper av blokkchiffer - flom og fullstendighet. Det er på tide å utvide ditt kryptografiske vokabular!
En skredeffekt betyr at små endringer i kildeteksten (eller nøkkelen) kan forårsake betydelige endringer i chifferteksten.

DES har vist seg å ha alle egenskapene til denne egenskapen.

Selv om de to blokkene med kildetekst ikke samsvarer med bare biten lengst til høyre, skiller chiffertekstblokkene seg med 29 biter. Dette betyr at en endring i omtrent 1,5 % av originalteksten fører til en endring i omtrent 45 % av chifferteksten.

Fullstendighetseffekten er at hver bit av chifferteksten må avhenge av mange biter av originalteksten. Som vi allerede har funnet ut, i DES, brukes både permutasjoner og erstatninger - alle transformasjoner etablerer avhengigheten til hver bit av chifferteksten på flere biter av originalteksten.

Hvor brukes DES? Ja, nesten overalt er implementeringene til stede i de fleste programvarebiblioteker. Men hvem vet hvor sikker DES er i dag? Selv om IBM hevdet at algoritmen var et resultat av 17 årsverk med intensiv kryptoanalyse, fryktet noen at NSA hadde satt inn et smutthull i algoritmen som gjør at byrået enkelt kan dekryptere avlyttede meldinger. Senatets etterretningskomité studerte dette spørsmålet nøye, og fant selvfølgelig ingenting, anklagene mot NSA ble henlagt, resultatene av studien er likevel hemmeligstemplet. Kort sagt, rykter og spekulasjoner sirkulerte i Amerika i lang tid om hvorvidt DES skulle stoles på eller ikke. Men, slik jeg tror, ​​er situasjonen her beskrevet med ordtaket "Den flinke vil ikke si, narren vil ikke forstå." Til slutt innrømmet NSA at de ikke kunne betro IBM et så viktig oppdrag og gjorde flere justeringer, for eksempel tildelingen av S-bokser.

Gjennom DES sin eksistens har det vært målet for forskjellige kryptoanalysemetoder. Kryptanalytikere sluttet aldri å måle maskinene for å knekke DES - hvor lang tid det tar hvem som kan dekryptere teksten. I denne forbindelse har et utallig antall forskjellige modifikasjoner av denne algoritmen dukket opp, og 3DES er langt fra den mest sofistikerte av dem.

Datakryptering er ekstremt viktig for å beskytte personvernet. I denne artikkelen vil jeg introdusere de forskjellige typene og metodene for kryptering som brukes for å beskytte data i dag.

Visste du?
Tilbake i Romerrikets dager ble kryptering brukt av Julius Caesar for å gjøre brev og meldinger uleselige for fienden. Det spilte en viktig rolle som militær taktikk, spesielt under kriger.

Ettersom mulighetene til Internett fortsetter å vokse, blir flere og flere av våre virksomheter ansatt online. Blant disse er de viktigste nettbank, nettbetaling, e-post, utveksling av private og offisielle meldinger osv., som sørger for utveksling av konfidensiell data og informasjon. Hvis disse dataene faller i feil hender, kan det skade ikke bare en enkelt bruker, men også hele det elektroniske forretningssystemet.

For å forhindre at dette skjer, er det tatt noen nettverkssikkerhetstiltak for å beskytte overføringen av personopplysninger. De viktigste blant disse er datakrypterings- og dekrypteringsprosessene kjent som kryptografi. Det er tre hovedkrypteringsmetoder som brukes i de fleste systemer i dag: hashing, symmetrisk og asymmetrisk kryptering. I de neste linjene vil jeg diskutere hver av disse krypteringstypene mer detaljert.

Krypteringstyper

Symmetrisk kryptering

Med symmetrisk kryptering blir vanlige lesbare data, kjent som ren tekst, kryptert (kryptert) slik at de blir uleselige. Denne krypteringen av data gjøres med en nøkkel. Når dataene er kryptert, kan de trygt overføres til mottakeren. Hos mottakeren dekodes de krypterte dataene med samme nøkkel som ble brukt til kryptering.

Dermed er det klart at nøkkelen er den viktigste delen av symmetrisk kryptering. Det bør være skjult for fremmede, siden alle som har tilgang til det vil kunne dekryptere private data. Dette er grunnen til at denne typen kryptering også er kjent som en "hemmelig nøkkel".

I moderne systemer er en nøkkel vanligvis en datastreng som er hentet fra et sterkt passord, eller fra en helt tilfeldig kilde. Den mates inn i symmetrisk krypteringsprogramvare, som bruker den til å kryptere inngangen. Datakryptering oppnås ved hjelp av symmetriske krypteringsalgoritmer som Data Encryption Standard (DES), Advanced Encryption Standard (AES) eller International Data Encryption Algorithm (IDEA).

Begrensninger

Det svakeste leddet i denne typen kryptering er sikkerheten til nøkkelen, både når det gjelder lagring og overføring av den autentiserte brukeren. Hvis en hacker er i stand til å få tak i denne nøkkelen, kan han enkelt dekryptere de krypterte dataene, og ødelegge hele poenget med kryptering.

En annen ulempe skyldes det faktum at programvaren som behandler dataene ikke kan håndtere krypterte data. Derfor, for å kunne bruke denne programvaren, må dataene først dekodes. Hvis selve programvaren er kompromittert, kan en angriper enkelt få tak i dataene.

Asymmetrisk kryptering

En asymmetrisk krypteringsnøkkel fungerer på samme måte som en symmetrisk nøkkel ved at den bruker nøkkelen til å kryptere de overførte meldingene. Men i stedet for å bruke samme nøkkel, bruker den en helt annen nøkkel for å dekryptere denne meldingen.

Nøkkelen som brukes til kryptering er tilgjengelig for alle og enhver på nettverket. Som sådan er den kjent som den "offentlige" nøkkelen. På den annen side holdes nøkkelen som brukes til dekryptering hemmelig og ment å brukes privat av brukeren selv. Derfor er den kjent som den "private" nøkkelen. Asymmetrisk kryptering er også kjent som offentlig nøkkelkryptering.

Siden den hemmelige nøkkelen som kreves for å dekryptere meldingen med denne metoden ikke trenger å overføres hver gang, og den er vanligvis bare kjent for brukeren (mottakeren), er sannsynligheten stor for at en hacker vil være i stand til å dekryptere meldingen. Nedre.

Diffie-Hellman og RSA er eksempler på algoritmer som bruker offentlig nøkkelkryptering.

Begrensninger

Mange hackere bruker man-in-the-midten som en form for angrep for å omgå denne typen kryptering. Ved asymmetrisk kryptering får du en offentlig nøkkel som brukes til å sikkert utveksle data med en annen person eller tjeneste. Hackere bruker imidlertid lurenettverk for å lure deg til å kommunisere med dem samtidig som du tror du er på en sikker linje.

For bedre å forstå denne typen hacking, vurder de to samhandlende partene Sasha og Natasha, og hackeren Sergey med den hensikt å avskjære samtalen deres. Først sender Sasha en melding over nettverket beregnet på Natasha, og ber om hennes offentlige nøkkel. Sergei avskjærer denne meldingen og mottar den offentlige nøkkelen knyttet til den, og bruker den til å kryptere og overføre en falsk melding, Natasha, som inneholder hans offentlige nøkkel i stedet for Sasha.

Natasha, som tenker at denne meldingen kom fra Sasha, krypterer den nå ved å bruke Sergeys offentlige nøkkel og sender den tilbake. Denne meldingen ble igjen fanget opp av Sergey, dekryptert, endret (om ønskelig), kryptert igjen med den offentlige nøkkelen som Sasha opprinnelig hadde sendt, og sendt tilbake til Sasha.

Derfor, når Sasha mottar denne meldingen, får han til å tro at den kom fra Natasha, og fortsetter å være uvitende om stygt spill.

Hashing

Hashing-teknikken bruker en algoritme kjent som en hash-funksjon for å generere en spesiell streng fra de gitte dataene, kjent som en hash. Denne hashen har følgende egenskaper:

  • de samme dataene produserer alltid den samme hashen.
  • det er umulig å generere rådata fra hashen alene.
  • Det er upraktisk å prøve forskjellige kombinasjoner av innganger for å prøve å generere samme hash.

Dermed er hovedforskjellen mellom hashing og de to andre formene for datakryptering at når dataene først er kryptert (hashed), kan de ikke hentes tilbake i sin opprinnelige form (dekryptert). Dette faktum sikrer at selv om en hacker får tak i hashen, vil den være ubrukelig for ham, siden han ikke vil være i stand til å dekryptere innholdet i meldingen.

Message Digest 5 (MD5) og Secure Hashing Algorithm (SHA) er to mye brukte hashingalgoritmer.

Begrensninger

Som nevnt tidligere, er det nesten umulig å dekryptere data fra en gitt hash. Dette er imidlertid bare sant hvis sterk hashing er implementert. Ved en svak implementering av hashing-teknikken, ved bruk av tilstrekkelig mengde ressurser og brute force-angrep, kan en vedvarende hacker finne data som samsvarer med hashen.

Kombinasjon av krypteringsmetoder

Som diskutert ovenfor, lider hver av disse tre krypteringsmetodene av noen ulemper. Men når en kombinasjon av disse metodene brukes, danner de et pålitelig og svært effektivt krypteringssystem.

Oftest kombineres og brukes private og offentlige nøkkelteknikker sammen. Den private nøkkelmetoden gir rask dekryptering, mens den offentlige nøkkelmetoden tilbyr en tryggere og mer praktisk måte å overføre den hemmelige nøkkelen på. Denne kombinasjonen av teknikker er kjent som den digitale konvolutten. PGP-e-postkrypteringsprogrammet er basert på den digitale konvoluttteknikken.

Hashing brukes som et middel til å sjekke styrken til et passord. Hvis systemet lagrer hashen til passordet, i stedet for selve passordet, vil det være sikrere, siden selv om en hacker får tak i denne hashen, vil han ikke kunne forstå (lese) den. Under verifiseringen vil systemet sjekke hashen til det innkommende passordet, og se om resultatet samsvarer med det som er lagret. Dermed vil det faktiske passordet bare være synlig i korte øyeblikk når det må endres eller verifiseres, noe som vil redusere sannsynligheten betydelig for at det faller i feil hender.

Hashing brukes også til å autentisere data med en hemmelig nøkkel. Hashen genereres ved hjelp av dataene og denne nøkkelen. Derfor er bare dataene og hashen synlige, og selve nøkkelen blir ikke overført. På denne måten, hvis det gjøres endringer i enten dataene eller hashen, vil de lett bli oppdaget.

Avslutningsvis kan det sies at disse teknikkene kan brukes til å effektivt kode data til et uleselig format som kan sikre at det forblir sikkert. De fleste moderne systemer bruker vanligvis en kombinasjon av disse krypteringsteknikkene sammen med sterk implementering av algoritmer for å forbedre sikkerheten. I tillegg til sikkerhet gir disse systemene også mange tilleggsfordeler, som å verifisere brukerens identitet og sikre at dataene som mottas ikke kan tukles med.

09.07.2003

Hva er kryptering?

Kryptering har blitt brukt av menneskeheten helt fra det øyeblikket da den første hemmelige informasjonen dukket opp, det vil si slik tilgang som bør begrenses. Det var veldig lenge siden - for eksempel er en av de mest kjente krypteringsmetodene oppkalt etter Cæsar, som, hvis han ikke fant den opp selv, så aktivt brukte den (se sidefeltet).

Kryptografi gjør det mulig å skjule betydningen av en melding og avsløre den ved å dekryptere den ved hjelp av spesielle algoritmer og nøkler. Vi forstår nøkkelen som en spesifikk hemmelig tilstand for parametrene til krypterings- og dekrypteringsalgoritmene. Å kjenne nøkkelen gjør det mulig å lese den hemmelige meldingen. Som du vil se nedenfor, garanterer ikke uvitenhet om nøkkelen alltid at meldingen ikke kan leses av en fremmed.

Prosessen med å bryte et chiffer uten å vite nøkkelen kalles kryptoanalyse. Tiden det tar å bryte en chiffer bestemmes av dens kryptografiske styrke. Jo større den er, jo "sterkere" krypteringsalgoritmen. Det er enda bedre hvis du i utgangspunktet ikke kan finne ut om resultatet av et hack er oppnåelig.

Grunnleggende moderne krypteringsmetoder

Blant mangfoldet av krypteringsmetoder kan følgende hovedmetoder skilles:

  • Erstatnings- eller substitusjonsalgoritmer - tegnene i originalteksten erstattes med tegn i et annet (eller samme) alfabet i samsvar med et forhåndsbestemt skjema, som vil være nøkkelen til dette chifferen. Separat brukes denne metoden praktisk talt ikke i moderne kryptosystemer på grunn av den ekstremt lave kryptografiske styrken.
  • Permutasjonsalgoritmer - tegnene i originalteksten byttes ut i henhold til et visst prinsipp, som er en hemmelig nøkkel. Selve permutasjonsalgoritmen har lav kryptografisk styrke, men den inngår som et element i mange moderne kryptosystemer.
  • Gamma-algoritmer - symbolene til den originale teksten legges til symbolene i en viss tilfeldig sekvens. Det vanligste eksemplet er kryptering av "username.pwl"-filer, der Microsoft Windows 95-operativsystemet lagrer passord for en gitt brukers nettverksressurser (passord for å gå inn i NT-servere, passord for DialUp-tilgang til Internett, etc.).

Når en bruker skriver inn passordet sitt når han logger på Windows 95, genereres en gamma (alltid den samme) fra den ved å bruke RC4-krypteringsalgoritmen, som brukes til å kryptere nettverkspassord. Det enkle å gjette passordet skyldes i dette tilfellet at Windows alltid foretrekker samme fargeskala.

  • Algoritmer basert på komplekse matematiske transformasjoner av kildeteksten i henhold til en bestemt formel. Mange av dem bruker uløste matematikkoppgaver. For eksempel er RSA-krypteringsalgoritmen mye brukt på Internett basert på egenskapene til primtall.

Symmetriske og asymmetriske kryptosystemer

Før vi går videre til individuelle algoritmer, la oss kort vurdere konseptet med symmetriske og asymmetriske kryptosystemer. Å generere en privat nøkkel og kryptere en melding med den er halve kampen. Men hvordan sende en slik nøkkel til noen som skal bruke den til å dekryptere den opprinnelige meldingen? Overføringen av krypteringsnøkkelen regnes som et av hovedproblemene ved kryptografi.

Forblir innenfor rammen av et symmetrisk system (som det heter fordi den samme nøkkelen er egnet for kryptering og dekryptering), er det nødvendig å ha en pålitelig kommunikasjonskanal for overføring av den hemmelige nøkkelen. Men en slik kanal er ikke alltid tilgjengelig, og derfor utviklet de amerikanske matematikerne Diffie, Hellman og Merkle i 1976 konseptet med en offentlig nøkkel og asymmetrisk kryptering. I slike kryptosystemer er bare nøkkelen for krypteringsprosessen offentlig tilgjengelig, og dekrypteringsprosedyren er kun kjent for eieren av den hemmelige nøkkelen.

For eksempel, når jeg ønsker å bli sendt en melding, genererer jeg offentlige og private nøkler. Jeg sender deg åpen, du krypterer meldingen med den og sender den til meg. Bare jeg kan dekryptere meldingen, siden jeg ikke ga den hemmelige nøkkelen til noen. Selvfølgelig er begge nøklene relatert på en spesiell måte (i hvert kryptosystem på forskjellige måter), og distribusjonen av den offentlige nøkkelen ødelegger ikke den kryptografiske styrken til systemet.

I asymmetriske systemer må følgende krav være oppfylt: det er ingen slik algoritme (eller den er ikke kjent ennå) som kan utlede kildeteksten fra kryptoteksten og den offentlige nøkkelen. Et eksempel på et slikt system er det velkjente RSA-kryptosystemet.

RSA-algoritme

RSA-algoritmen (ifølge de første bokstavene i etternavnene til skaperne Rivest-Shamir-Adleman) er basert på egenskapene til primtall (og veldig store). Enkle tall er de tallene som ikke har noen delere, bortsett fra seg selv og én. Tall som ikke har andre felles deler enn 1 kalles coprime.

Til å begynne med, la oss velge to veldig store primtall (store innledende tall er nødvendig for å bygge store kryptografisk sterke nøkler. For eksempel genererer Unix-programmet ssh-keygen som standard nøkler med en lengde på 1024 biter).

La oss definere parameteren n som et resultat av multiplikasjon s og q... La oss velge et stort tilfeldig tall og ringe det d, og det må være coprime med resultatet av multiplikasjon (p -1) * (q -1).

La oss finne et tall e som relasjonen for

(e * d) mod ((p -1) * (q -1)) = 1

(mod er resten av divisjonen, det vil si hvis e multiplisert med d, dividert med ((p -1) * (q -1)), så i resten får vi 1).

Den offentlige nøkkelen er et par tall e og n, og lukket - d og n.

Under kryptering behandles den opprinnelige teksten som en nummerserie, og på hvert av numrene utfører vi en operasjon

C (i) = (M (i) e) mod n.

Resultatet er sekvensen C (i), som vil utgjøre kryptoteksten. Avkoding av informasjon skjer i henhold til formelen

M (i) = (C (i) d) mod n.

Som du kan se, krever dekryptering kunnskap om den hemmelige nøkkelen.

La oss prøve på små tall.

Installere p = 3, q ​​= 7... Deretter n = p * q = 21. Vi velger d som 5. Fra formelen (e * 5) mod 12 = 1 regne ut e = 17... Offentlig nøkkel 17, 21 , hemmelig - 5, 21 .

La oss kryptere sekvensen "12345":

C (1) = 1 17 mod 21 = 1

C (2) = 2 17 mod 21 = 11

C (3) = 3 17 mod 21 = 12

C (4) = 4 17 mod 21 = 16

C (5) = 5 17 mod 21 = 17

Kryptotekst - 1 11 12 16 17.

La oss sjekke dekrypteringen:

M (1) = 1 5 mod 21 = 1

M (2) = 11 5 mod 21 = 2

M (3) = 12 5 mod 21 = 3

M (4) = 16 5 mod 21 = 4

M (5) = 17 5 mod 21 = 5

Som du kan se, er resultatet det samme.

RSA-kryptosystemet er mye brukt på Internett. Når du kobler til en sikker server via SSL, installerer et WebMoney-sertifikat på PC-en eller kobler til en ekstern server ved hjelp av Open SSH eller SecureShell, så bruker alle disse programmene offentlig nøkkelkryptering ved å bruke ideene til RSA-algoritmen. Er dette systemet virkelig så pålitelig?

RSA Hacking-konkurranser

Siden oppstarten har RSA gjennomgått konstante brute force-angrep. I 1978 publiserte forfatterne av algoritmen en artikkel der de ga en streng kryptert med en metode de nettopp hadde funnet opp. Den første personen som dekodet meldingen fikk en belønning på 100 dollar, men det krevde å inkludere et 129-sifret tall i to faktorer. Dette var den første konkurransen som hacket RSA. Problemet ble løst bare 17 år etter publiseringen av artikkelen.

Den kryptografiske styrken til RSA er basert på antakelsen om at det er ekstremt vanskelig, om ikke umulig, å bestemme den private nøkkelen fra den offentlige nøkkelen. Dette krevde å løse problemet med eksistensen av divisorer av et stort heltall. Til nå har ingen løst det ved hjelp av analytiske metoder, og RSA-algoritmen kan bare knekkes ved uttømmende søk. Strengt tatt er påstanden om at factoring-problemet er vanskelig og at det er vanskelig å bryte RSA-systemet, heller ikke bevist.

Nummeret oppnådd som et resultat av å behandle meldingsteksten med hash-funksjonen krypteres ved hjelp av RSA-algoritmen på brukerens private nøkkel og sendes til adressaten sammen med brevet og en kopi av den offentlige nøkkelen. Adressaten, ved å bruke avsenderens offentlige nøkkel, utfører den samme hash-funksjonen på den innkommende meldingen. Hvis begge tallene er like, betyr dette at meldingen er ekte, og hvis minst ett tegn er endret, vil tallene ikke samsvare.

En av de mest utbredte e-postklientene i Russland, The Bat!-programmet har innebygde muligheter for å legge til digitale signaturer til brev (vær oppmerksom på menyelementet Personvern når du redigerer et brev). Les mer om denne teknikken i artikkelen (se "PC World", nr. 3/02).

Ris. 3

Kryptografi

Kryptografi er vitenskapen om prinsippene, midlene og metodene for å transformere informasjon for å beskytte den mot uautorisert tilgang og forvrengning. Den siste tiden har det utviklet seg veldig, veldig raskt. Det er et endeløst og spennende løp som krever mye tid og krefter: kryptoanalytikere er cracking-algoritmer som inntil nylig var standarder og ble mye brukt. Forresten, nylig beviste matematikerne Dan Goldston (USA) og Kem Ildirim (Tyrkia) den første regelmessigheten i fordelingen av primtall (til nå har slike regelmessigheter ikke blitt lagt merke til). Primtall er plassert på den numeriske aksen i noen klynger, noe som gjør dem noe lettere å finne.

Matematisk forskning, utført over hele verden, fører stadig alt til nye og nye oppdagelser. Hvem vet, kanskje er vi på nippet til å bryte RSA-algoritmen eller andre kryptosystemer basert på uløste matematiske problemer.

Oleg Bunin- spesialist i programvareutvikling for store internettprosjekter, ansatt i Rambler, http://www..htm).

  • Introduksjon til kryptografi / Red. V.V. Jasjtsjenko. Moskva: MTsNMO, 2000.
  • Nosov V. A. En kort historisk oversikt over utviklingen av kryptografi // Proceedings of the conference "Moscow University and the development of cryptography in Russia", Moscow State University, 17-18 oktober 2002.
  • Salomaa A. Offentlig nøkkelkryptering. M., 1996.
  • Zimmermann F. PGP - Public Key Encryption for Everyone.
  • Cæsars krypteringssystem

    Et eksempel på en erstatningsalgoritme er Caesar-krypteringssystemet. Denne metoden er basert på å erstatte hver bokstav i meldingen med en annen ved å forskyve fra originalen med et fast antall tegn. Prøv å tyde kvadet til Omar Khayyam (utførelsestid - 10 minutter).

    RLZ YOMEYZ AVBZHU IYZAVLU, BZHSCHLU ZHSCHEZZHZ ZHYUESHEZ, EYSCH YSHAZHFO ISYSCHYVESCH BSHIZEZHV EESH ZHRSCHSCH: LF EMRSU YZEZESHCHG, RYU RLZ ISCHEESYUZYUKYUKZY ISCHEESYUZYUKYUKZY ISCHEESY ISCHEESYUZYUKUZYO

    Var du i tide? Her er en "løsning":

    For å leve klokt, må du vite mye,

    Husk to viktige regler til å begynne med:

    Du vil heller sulte enn å spise noe

    Og det er bedre å være alene enn med hvem som helst.

    Dekrypteringsnøkkel: flytt syv tegn (ta det syvende) til venstre i alfabetisk rekkefølge. Alfabetet er loopet. Karakterene skiller ikke mellom store og små bokstaver.

    Windows og passord

    Hvordan krypterer Windows passord?

    Systemet tar passordet, konverterer det til store bokstaver, avkorter det til 14 tegn, deler dem deretter i to halvdeler av 7, krypterer hver enkelt separat og lagrer det på den måten, noe som gjør det noe lettere å knekke. Forresten, når du kommer opp med et passord, husk at en kombinasjon som er lengre enn 14 tegn gir liten mening.

    AES-konkurranse (Advanced Encryption Standard).

    På 80-tallet. USA tok i bruk en symmetrisk krypteringsstandard for intern bruk - DES ((Data Encryption Standard, det er en lignende standard i Russland). Men i 1997, da det ble klart at 56-bits DES-nøkkelen ikke var nok for et pålitelig kryptosystem , kunngjorde American Standards Institute konkurranse om en ny standardalgoritme, av 15 alternativer ble den beste valgt: den belgiske algoritmen Rijndael (navnet består av navnene på forfatterne - Rijmen og Daemen, lyder "Reindal." Denne algoritmen er allerede innebygd i forskjellige kryptografiske verktøy som leveres til markedet.) Konkurransen var MARS, RC6, Serpent, TwoFish Alle disse algoritmene ble funnet å være ganske robuste og med suksess i motsetning til alle velkjente kryptoanalysemetoder.

    Kryptografiske hash-funksjoner

    Kryptografiske hash-funksjoner konverterer inndata i alle størrelser til en streng med fast størrelse. Det er ekstremt vanskelig for dem å finne:

    • to forskjellige datasett med samme transformasjonsresultat (kollisjonsmotstand); for eksempel er antallet aritmetiske operasjoner som kreves for å finne en datablokk som også har en kort melding for MD5-hash-funksjonen, omtrent 2 64;
    • en inngangsverdi basert på et kjent hashing-resultat (irreversibilitet); for MD5 er det estimerte antallet operasjoner som kreves for å beregne den opprinnelige meldingen 2128.

    Behovet for kryptering av korrespondanse oppsto i den antikke verden, og enkle erstatningssiffer dukket opp. De krypterte meldingene bestemte skjebnen til mange kamper og påvirket historiens gang. Over tid fant folk opp flere og mer avanserte krypteringsmetoder.

    Kode og chiffer er forresten forskjellige begreper. Den første betyr å erstatte hvert ord i meldingen med et kodeord. Den andre er å kryptere hvert symbol med informasjon i henhold til en bestemt algoritme.

    Etter at koding av informasjon ble tatt opp av matematikk og teorien om kryptografi ble utviklet, oppdaget forskere mange nyttige egenskaper ved denne anvendte vitenskapen. For eksempel har dekodingsalgoritmer hjulpet med å avdekke døde språk som gammelt egyptisk eller latin.

    Steganografi

    Steganografi er eldre enn koding og kryptering. Denne kunsten dukket opp for lenge siden. Det betyr bokstavelig talt «skjult skrift» eller «hemmelig skrift». Selv om steganografi ikke helt samsvarer med definisjonene av en kode eller chiffer, er den designet for å skjule informasjon fra nysgjerrige øyne.

    Steganografi er den enkleste chifferen. Typiske eksempler er svelgenoter dekket av voks, eller en melding på et barbert hode skjult under voksent hår. Det klareste eksemplet på steganografi er metoden beskrevet i mange engelske (og ikke bare) detektivbøker, når meldinger overføres gjennom en avis, hvor bokstaver er subtilt merket.

    Den største ulempen med steganografi er at en oppmerksom utenforstående kan legge merke til det. Derfor, slik at den hemmelige meldingen ikke er lett lesbar, brukes kryptering og kodingsmetoder i forbindelse med steganografi.

    ROT1 og Cæsar-chifferet

    Navnet på denne chifferen er ROTate 1 bokstav fremover, og den er kjent for mange skolebarn. Det er et enkelt erstatningssiffer. Essensen ligger i det faktum at hver bokstav krypteres ved å skifte alfabetisk én bokstav fremover. A -> B, B -> C, ..., Z -> A. For eksempel vil vi kryptere uttrykket "vår Nastya gråter høyt", og vi vil få "obtua dspnlp rmbsheu community".

    ROT1-chifferet kan generaliseres til et vilkårlig antall forskyvninger, deretter kalles det ROTN, der N er tallet som bokstavkrypteringen skal forskyves med. I denne formen har chiffer vært kjent siden antikken og kalles "Caesar chiffer".

    Cæsar-chifferet er veldig enkelt og raskt, men det er et enkelt enkelt permutasjons-chiffer og kan derfor lett brytes. Med en lignende ulempe er den bare egnet for barns skøyerstreker.

    Transposisjons- eller permutasjonschiffer

    Disse typene enkle permutasjonschiffer er mer alvorlige og har blitt brukt aktivt for ikke så lenge siden. Under den amerikanske borgerkrigen og første verdenskrig ble den brukt til å overføre meldinger. Algoritmen er å omorganisere bokstavene på steder - skriv meldingen i omvendt rekkefølge eller omorganiser bokstavene i par. For eksempel vil vi kryptere uttrykket "Morsekode er også et chiffer" -> "Akubza EuroMo - pinnsvin rfish".

    Med en god algoritme som bestemte vilkårlige permutasjoner for hver karakter eller deres gruppe, ble chifferen motstandsdyktig mot enkel hacking. Men! Bare i rett tid. Siden chifferen lett brytes av enkel brute force eller ordbokmatching, kan i dag enhver smarttelefon takle dekrypteringen. Derfor, med fremkomsten av datamaskiner, gikk denne chifferen også inn i kategorien barn.

    Morse kode

    ABC er et medium for informasjonsutveksling og hovedoppgaven er å gjøre budskap enklere og mer forståelig å formidle. Selv om dette er i strid med hva kryptering er til for. Likevel fungerer det som de enkleste chiffer. I morsekode har hver bokstav, tall og skilletegn sin egen kode, som består av en gruppe streker og prikker. Når du sender en melding ved hjelp av telegrafen, representerer streker og prikker lange og korte signaler.

    The Telegraph and the Alphabet var den som først patenterte "deres" oppfinnelse i 1840, selv om lignende enheter ble oppfunnet i Russland og England før ham. Men hvem bryr seg nå ... Telegrafen og morsekoden har hatt en veldig stor innvirkning på verden, og tillater nesten øyeblikkelig overføring av meldinger over kontinentale avstander.

    Mono-alfabet erstatning

    ROTN- og morsekoden beskrevet ovenfor er representative for mono-alfabetiske substitusjonsfonter. Prefikset "mono" betyr at under kryptering erstattes hver bokstav i den opprinnelige meldingen med en annen bokstav eller kode fra det eneste krypteringsalfabetet.

    Dekryptering av enkle erstatningssiffer er ikke vanskelig, og dette er deres største ulempe. De kan løses ved et enkelt søk eller For eksempel er det kjent at de mest brukte bokstavene i det russiske språket er "o", "a", "og". Dermed kan det antas at i chifferteksten betyr bokstavene som oftest finnes enten "o", eller "a", eller "og". Basert på slike betraktninger, kan meldingen dechiffreres selv uten brute-forcing en datamaskin.

    Det er kjent at Mary I, Queen of Scots fra 1561 til 1567, brukte et veldig komplekst mono-alfabetisk substitusjonssiffer med flere kombinasjoner. Likevel klarte fiendene hennes å tyde meldingene, og det var nok informasjon til å dømme dronningen til døden.

    Gronsfeld-chiffer, eller polyalfabetisk substitusjon

    Enkle chiffer gjøres ubrukelige av kryptografi. Derfor har mange av dem blitt forbedret. Gronsfeld-chifferet er en modifikasjon av Cæsar-chifferet. Denne metoden er mye mer motstandsdyktig mot sprekker og består i det faktum at hvert tegn i den kodede informasjonen krypteres ved hjelp av et av forskjellige alfabeter, som gjentas syklisk. Vi kan si at dette er en flerdimensjonal anvendelse av det enkleste erstatningssifferet. Faktisk er Gronsfeld-chifferet veldig likt det som er diskutert nedenfor.

    ADFGX krypteringsalgoritme

    Dette er det mest kjente chiffer fra første verdenskrig brukt av tyskerne. Chifferen har fått navnet sitt fordi det førte alle chifferprogrammer til veksling av disse bokstavene. Valget av selve bokstavene ble bestemt av deres bekvemmelighet ved overføring over telegraflinjer. Hver bokstav i chifferen er representert med to. Tenk på en mer interessant versjon av ADFGX-firkanten som inkluderer tall og kalles ADFGVX.

    EN D F G V X
    EN J Q EN 5 H D
    D 2 E R V 9 Z
    F 8 Y Jeg N K V
    G U P B F 6 O
    V 4 G X S 3 T
    X W L Q 7 C 0

    ADFGX-kvadreringsalgoritmen er som følger:

    1. Vi tar tilfeldige n bokstaver for å betegne kolonner og rader.
    2. Vi bygger en matrise N x N.
    3. Vi legger inn i matrisen alfabetet, tallene, tegnene, tilfeldig spredt over cellene.

    La oss lage en lignende firkant for det russiske språket. La oss for eksempel lage en firkant ABVGD:

    EN B V G D
    EN HENNE N B / b EN I/J
    B H W/F G / C Z D
    V W / W B L NS JEG ER
    G R M O NS NS
    D F T C NS Ha

    Denne matrisen ser merkelig ut, siden en rad med celler inneholder to bokstaver hver. Dette er tillatt, betydningen av meldingen går ikke tapt. Det kan enkelt gjenopprettes. La oss kryptere uttrykket "Kompakt chiffer" ved å bruke denne tabellen:

    1 2 3 4 5 6 7 8 9 10 11 12 13 14
    Uttrykk TIL O M NS EN TIL T N NS Th NS OG F R
    Chiffer bw vakter GB gd ah bw db ab dg helvete wah helvete bb ha

    Dermed ser den endelige krypterte meldingen slik ut: "bvgvgbgdagbvdbabdgvdvaadbbga". Selvfølgelig passerte tyskerne en lignende linje gjennom flere chiffer. Og resultatet ble en veldig robust kryptert melding.

    Vigenère-chiffer

    Dette chifferet er en størrelsesorden mer motstandsdyktig mot brudd enn mono-alfabetiske, selv om det er et enkelt teksterstatningschiffer. På grunn av sin robuste algoritme ble det imidlertid ansett som umulig i lang tid å bli hacket. Dens første omtale dateres tilbake til 1500-tallet. Vigenère (fransk diplomat) blir feilaktig betraktet som dens oppfinner. For bedre å forstå hva som står på spill, bør du vurdere Vigenere-tabellen (Vigenere square, tabula recta) for det russiske språket.

    La oss begynne å kryptere uttrykket "Kasperovich ler". Men for at kryptering skal lykkes, trenger du et nøkkelord - la det være "passord". La oss nå starte kryptering. For å gjøre dette, skriver vi ned nøkkelen så mange ganger slik at antall bokstaver fra den tilsvarer antall bokstaver i den krypterte frasen, ved å gjenta nøkkelen eller kutte den av:

    Nå, som langs koordinatplanet, leter vi etter en celle som er skjæringspunktet mellom bokstavpar, og vi får: K + P = b, A + A = B, C + P = B, etc.

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
    Chiffer: B B V NS MED N NS G SCH F NS Th NS F G EN L

    Vi får at "kasperovich ler" = "ъбvyusnyugschzh eikhzhgal".

    Å bryte Vigenere-chifferet er så vanskelig fordi lengden på nøkkelordet må være kjent for at frekvensanalysen skal fungere. Derfor er hacket å tilfeldig kaste lengden på søkeordet og prøve å knekke den hemmelige meldingen.

    Det skal også nevnes at i tillegg til en helt tilfeldig nøkkel, kan helt andre Vigenere-tabeller brukes. I dette tilfellet består Vigenere-plassen av det russiske alfabetet skrevet linje for linje med en forskyvning på én. Noe som bringer oss tilbake til ROT1-chifferet. Og akkurat som i Cæsar-chifferet, kan forskyvningen være hva som helst. Dessuten trenger ikke rekkefølgen av bokstaver være alfabetisk. I dette tilfellet kan selve bordet være en nøkkel, uten å vite hvilken det vil være umulig å lese meldingen, til og med å kjenne nøkkelen.

    Koder

    Reelle koder består av treff for hvert ord i en separat kode. For å jobbe med dem trenger du de såkalte kodebøkene. Faktisk er dette den samme ordboken, som bare inneholder oversettelser av ord til koder. Et typisk og forenklet eksempel på koder er ASCII-tabellen – en internasjonal chiffer av enkle tegn.

    Hovedfordelen med koder er at de er svært vanskelige å tyde. Frekvensanalyse fungerer knapt når den er sprukket. Svakheten ved kodene er faktisk selve bøkene. For det første er forberedelsen deres en kompleks og kostbar prosess. For det andre, for fiender blir de til et ønsket objekt, og avskjæringen av til og med en del av boken tvinger deg til å endre alle koder fullstendig.

    På 1900-tallet brukte mange stater koder for å overføre hemmelige data, og endret kodeboken etter en viss periode. Og de jaktet også aktivt på bøkene til naboer og motstandere.

    "Gåte"

    Alle vet at Enigma var nazistenes viktigste chiffermaskin under andre verdenskrig. Enigma-strukturen inkluderer en kombinasjon av elektriske og mekaniske kretser. Hvordan chifferen kommer ut avhenger av den første konfigurasjonen av Enigma. Samtidig endrer "Enigma" automatisk konfigurasjonen under drift, og krypterer én melding på flere måter gjennom hele dens lengde.

    I motsetning til de enkleste chiffer ga Enigma billioner av mulige kombinasjoner, noe som gjorde det nesten umulig å bryte kryptert informasjon. På sin side hadde nazistene utarbeidet en bestemt kombinasjon for hver dag, som de brukte på en bestemt dag for å overføre meldinger. Derfor, selv om Enigma falt i fiendens hender, bidro den ikke på noen måte til å dekryptere meldingene uten å innføre den nødvendige konfigurasjonen hver dag.

    Hack of "Enigma" ble aktivt prøvd under hele Hitlers militærkampanje. I England i 1936 ble en av de første datamaskinene (Turing-maskin) bygget for dette formålet, som ble prototypen på datamaskiner i fremtiden. Hans oppgave var å simulere arbeidet til flere dusin "Enigmas" på samme tid og kjøre gjennom dem de avlyttede meldingene til nazistene. Men selv Turings maskin klarte bare av og til å knekke en melding.

    Offentlig nøkkelkryptering

    Den mest populære av krypteringsalgoritmene, som brukes gjennom teknologi og datasystemer. Dens essens ligger som regel i nærvær av to nøkler, hvorav den ene overføres offentlig, og den andre er hemmelig (privat). Den offentlige nøkkelen brukes til å kryptere meldingen og hemmeligheten brukes til å dekryptere den.

    Rollen til den offentlige nøkkelen er oftest et veldig stort tall, som bare har to divisorer, ikke medregnet en og selve tallet. Sammen danner disse to skillene den hemmelige nøkkelen.

    La oss ta en titt på et enkelt eksempel. La den offentlige nøkkelen være 905. Dens divisorer er tallene 1, 5, 181 og 905. Da blir den hemmelige nøkkelen for eksempel tallet 5 * 181. Er du for enkel? Hva om det offentlige nummeret er et 60-sifret nummer? Det er matematisk vanskelig å beregne divisorene for et stort tall.

    For et mer livlig eksempel, forestill deg at du tar ut penger fra en minibank. Ved lesing av kortet krypteres personopplysninger med en bestemt offentlig nøkkel, og på siden av banken dekrypteres informasjonen med en hemmelig nøkkel. Og denne offentlige nøkkelen kan endres for hver operasjon. Og det er ingen måter å raskt finne nøkkelens deler når den blir avlyttet.

    Font holdbarhet

    Den kryptografiske styrken til en krypteringsalgoritme er evnen til å motstå hacking. Denne parameteren er den viktigste for enhver kryptering. Det er åpenbart at en enkel erstatningssiffer, hvis dekryptering kan mestres av enhver elektronisk enhet, er en av de mest ustabile.

    Til dags dato er det ingen enhetlige standarder som man kan vurdere styrken til et chiffer etter. Dette er en møysommelig og tidkrevende prosess. Det er imidlertid en rekke kommisjoner som har laget standarder på dette området. For eksempel minimumskravene for Advanced Encryption Standard eller AES-krypteringsalgoritmen utviklet av US NIST.

    Til referanse: Vernam-chifferet er anerkjent som det sikreste chiffer mot brudd. Dessuten er fordelen at den ifølge algoritmen er den enkleste chifferen.

    Introduksjon

    Problemet med å beskytte informasjon ved å transformere den, utelukke lesing av en uautorisert person har bekymret menneskesinnet i lang tid. Kryptografiens historie er på samme alder som historien til det menneskelige språket. Dessuten var selve skrivingen opprinnelig et kryptografisk system, siden i gamle samfunn var det bare noen få utvalgte som eide det.

    De hellige bøkene i det gamle Egypt, det gamle India er eksempler på dette.

    Med den utbredte bruken av skrift begynte kryptografi å danne seg som en uavhengig vitenskap. De første kryptosystemene finnes allerede i begynnelsen av vår tidsregning. Så Cæsar brukte i sin korrespondanse et mer eller mindre systematisk chiffer som fikk navnet hans.

    Kryptografiske systemer gjennomgikk rask utvikling under første og andre verdenskrig. Fra etterkrigstiden til i dag har bruken av databehandling akselerert utviklingen og forbedringen av kryptografiske metoder.

    Hvorfor har problemet med å bruke kryptografiske metoder i informasjonssystemer (IS) blitt spesielt påtrengende for tiden?

    På den ene siden har bruken av datanettverk utvidet seg, spesielt det globale Internett-nettverket, der det overføres store mengder informasjon av statlig, militær, kommersiell og privat karakter, som ikke tillater uvedkommende å få tilgang til den.

    På den annen side gjorde fremveksten av nye kraftige datamaskiner, teknologier for nettverk og nevral databehandling det mulig å diskreditere kryptografiske systemer som ble ansett som praktisk talt uoppdagelige inntil nylig.

    I det første kapittelet av dette arbeidet kan du bli kjent med de grunnleggende konseptene for moderne kryptografi, kravene til dem, mulighetene for praktisk anvendelse.

    I det andre kapittelet, arbeid med protokoller for distribusjon av kryptografiske nøkler, konseptet med en elektronisk signatur og elektroniske signaturprotokoller ..

    Det tredje kapittelet i dette arbeidet snakker om hashfunksjoner og (metoder) algoritmer for å konstruere dem.

    Det fjerde kapittelet vil snakke om moderniseringen av El Gamals elektroniske signatur og problemet med diskret logaritme.

    Kapittel 1. Grunnleggende begreper i moderne kryptografi

    Kryptologi (kryptos - hemmelig, logos - vitenskap) tar for seg problemet med å beskytte informasjon ved å transformere den. Kryptologi er delt inn i to områder - kryptografi og kryptoanalyse. Målene for disse retningene er nøyaktig det motsatte.

    Kryptografi er opptatt av å finne og forske på matematiske metoder for å transformere informasjon.

    Interessesfæren til kryptoanalyse er studiet av muligheten for å dekryptere informasjon uten å kjenne nøklene.

    Dette arbeidet vil fokusere på kryptografiske teknikker.

    Moderne kryptografi inkluderer fire hovedseksjoner:

    Symmetriske kryptosystemer.

    Offentlig nøkkel kryptosystemer.

    Elektroniske signatursystemer.

    Nøkkelledelse.

    Hovedretningene for bruk av kryptografiske metoder er overføring av konfidensiell informasjon gjennom kommunikasjonskanaler (for eksempel e-post), autentisering av overførte meldinger, lagring av informasjon (dokumenter, databaser) på media i kryptert form.

    Kryptografi gjør det mulig å transformere informasjon på en slik måte at lesing (gjenoppretting) kun er mulig med kunnskap om nøkkelen.

    Som informasjon underlagt kryptering og dekryptering vil tekster basert på et bestemt alfabet bli vurdert. Disse begrepene betyr følgende.

    Alfabetet er et begrenset sett med tegn som brukes til å kode informasjon.

    Tekst er en ordnet samling av alfabetiske elementer.

    Eksempler på alfabeter brukt i moderne IP inkluderer følgende:

    alfabet Z33 - 32 bokstaver i det russiske alfabetet og et mellomrom;

    alfabet Z256 - tegn inkludert i standard ASCII- og KOI-8-koder;

    binært alfabet - Z2 = (0,1);

    oktalt eller heksadesimalt alfabet;

    Kryptering er en transformasjonsprosess: den opprinnelige teksten, som også kalles ren tekst, erstattes med chiffertekst.

    Dekryptering er den omvendte prosessen med kryptering. Basert på nøkkelen, konverteres chifferteksten til den originale.

    Nøkkelen er informasjonen som er nødvendig for uhindret kryptering og dekryptering av tekster.

    Et kryptografisk system er en familie av T-transformasjoner av klartekst. Medlemmer av denne familien er indeksert, eller betegnet med symbolet k; parameter k er nøkkelen. Nøkkelrommet K er settet med mulige nøkkelverdier. Vanligvis er en nøkkel en sekvensiell serie med bokstaver i alfabetet.

    Kryptosystemer er delt inn i symmetriske og offentlige nøkkel.

    I symmetriske kryptosystemer brukes samme nøkkel til både kryptering og dekryptering.

    Offentlige nøkkelsystemer bruker to nøkler, offentlige og private, som er matematisk relatert til hverandre. Informasjon krypteres ved hjelp av en offentlig nøkkel som er tilgjengelig for alle, og dekrypteres med en privat nøkkel som kun er kjent for mottakeren av meldingen. Begrepene nøkkeldistribusjon og nøkkelhåndtering refererer til prosessene i et informasjonsbehandlingssystem, hvis innhold er kompilering og distribusjon av nøkler blant brukere.

    En elektronisk (digital) signatur er en kryptografisk transformasjon knyttet til teksten, som gjør det mulig, når teksten mottas av en annen bruker, å verifisere forfatterskapet og autentisiteten til meldingen.

    Kryptoresistens er en egenskap ved et chiffer som bestemmer motstanden mot dekryptering uten å kjenne nøkkelen (dvs. kryptoanalyse). Det er flere indikatorer på kryptografisk styrke, inkludert:

    antall mulige nøkler;

    gjennomsnittlig tid som kreves for kryptoanalyse.

    Transformasjonen Tk bestemmes av den tilsvarende algoritmen og verdien av parameteren k. Effektiviteten til kryptering for å beskytte informasjon avhenger av å opprettholde hemmeligheten til nøkkelen og den kryptografiske styrken til chifferen.

    Prosessen med lukking av kryptografiske data kan utføres både i programvare og maskinvare. Maskinvareimplementeringen er betydelig dyrere, men den har også fordeler: høy ytelse, enkelhet, sikkerhet, etc. Programvareimplementering er mer praktisk og gir en viss fleksibilitet i bruk.

    For moderne kryptografiske informasjonssikkerhetssystemer er følgende generelt aksepterte krav formulert:

    den krypterte meldingen skal bare kunne leses hvis nøkkelen er til stede;

    antall operasjoner som kreves for å bestemme den brukte krypteringsnøkkelen fra fragmentet av den krypterte meldingen og den tilsvarende ren tekst må ikke være mindre enn det totale antallet mulige nøkler;

    antall operasjoner som kreves for å dekryptere informasjon ved å telle opp alle typer nøkler må ha en streng nedre grense og gå utover mulighetene til moderne datamaskiner (med tanke på muligheten for å bruke nettverksdatabehandling);

    kunnskap om krypteringsalgoritmen bør ikke påvirke påliteligheten til beskyttelsen;

    en liten endring i nøkkelen bør føre til en betydelig endring i typen av kryptert melding, selv når du bruker samme nøkkel;

    de strukturelle elementene i krypteringsalgoritmen må være uendret;

    ekstra biter introdusert i meldingen under krypteringsprosessen må være fullstendig og pålitelig skjult i chifferteksten;

    lengden på chifferteksten må være lik lengden på originalteksten;

    det skal ikke være enkle og lett etablerte avhengigheter mellom nøkler som brukes sekvensielt i krypteringsprosessen;

    enhver nøkkel fra en rekke mulige bør gi pålitelig informasjonsbeskyttelse;

    Algoritmen skal tillate implementering av både programvare og maskinvare, mens endring av nøkkellengden ikke bør føre til en kvalitativ forringelse av krypteringsalgoritmen.

    Kapittel 2. Protokoller for distribusjon av kryptografiske nøkler og protokoller for elektronisk signatur.

    Uansett hvor komplekse og pålitelige kryptografiske systemer er, er deres svake punkt i praktisk implementering problemet med nøkkeldistribusjon. For at utveksling av konfidensiell informasjon mellom to IP-subjekter skal være mulig, må nøkkelen genereres av en av dem, og deretter på en eller annen måte, igjen på en konfidensiell måte, overføres til den andre. De. i det generelle tilfellet krever å overføre nøkkelen igjen bruk av et slags kryptosystem.

    For å løse dette problemet, basert på resultatene oppnådd av klassisk og moderne algebra, har offentlige nøkkelsystemer blitt foreslått.

    Essensen deres ligger i det faktum at hver mottaker av IS genererer to nøkler, sammenkoblet i henhold til en bestemt regel. Den ene nøkkelen er erklært offentlig og den andre privat. Den offentlige nøkkelen er publisert og tilgjengelig for alle som ønsker å sende en melding til adressaten. Den hemmelige nøkkelen holdes hemmelig.

    Originalteksten krypteres med mottakerens offentlige nøkkel og overføres til ham. Den krypterte teksten kan i prinsippet ikke dekrypteres av den samme åpne


    nøkkel. Dekryptering av en melding er kun mulig ved å bruke en privat nøkkel, som kun er kjent for adressaten selv.

    Offentlig nøkkel kryptografiske systemer bruker såkalte irreversible eller enveis funksjoner, som har følgende egenskap: for en gitt verdi på x er det relativt enkelt å beregne f (x), men hvis y = f (x), så er det er ingen enkel måte å beregne verdien av x.

    Mange klasser av irreversible funksjoner gir opphav til alle de forskjellige offentlige nøkkelsystemer. Imidlertid er ikke alle irreversible funksjoner egnet for bruk i ekte IC-er.