Offentlig nøkkelkryptografi, også kjent som asymmetrisk kryptografi, er et grunnleggende element i moderne cybersikkerhet. Det innebærer bruk av to distinkte nøkler: en offentlig nøkkel og en privat nøkkel. Disse nøklene er matematisk relatert, men det er beregningsmessig umulig å utlede den private nøkkelen utelukkende fra den offentlige nøkkelen. Denne egenskapen er viktig for ulike kryptografiske funksjoner, inkludert kryptering, dekryptering og digitale signaturer, som er avgjørende for sikker kommunikasjon og autentisering.
Autentisering er prosessen med å bekrefte identiteten til en bruker, enhet eller enhet i et datasystem. Offentlig nøkkelkryptering kan brukes til autentisering gjennom mekanismer som digitale signaturer og offentlige nøkkelinfrastrukturer (PKI). Den offentlige nøkkelens rolle i disse prosessene er sentral, og forståelsen av dens anvendelse krever en forståelse av flere kryptografiske og tallteoretiske prinsipper.
Digitale signaturer og autentisering
En digital signatur er en kryptografisk teknikk som lar en enhet signere et stykke data, og gir forsikring til mottakeren om dataenes opprinnelse og integritet. Et digitalt signaturskjema involverer vanligvis tre hovedalgoritmer:
1. Nøkkelgenerering: Genererer et par nøkler, en offentlig nøkkel og en privat nøkkel.
2. Signering: Bruker den private nøkkelen til å lage en signatur på dataene.
3. Verifikasjon: Bruker den offentlige nøkkelen til å bekrefte ektheten til signaturen.
Slik fungerer digitale signaturer
1. Nøkkelgenerering: En person genererer et nøkkelpar. Den private nøkkelen holdes hemmelig, mens den offentlige nøkkelen distribueres bredt.
2. signering: Individet bruker sin private nøkkel for å signere en melding. Dette gjøres ved å lage en hash av meldingen og deretter kryptere hashen med den private nøkkelen for å lage signaturen.
3. Verifisering: Alle med tilgang til den offentlige nøkkelen kan bekrefte signaturen. De dekrypterer signaturen ved å bruke den offentlige nøkkelen for å hente hashen og sammenligner den med hashen til den mottatte meldingen. Hvis begge hashen stemmer, er signaturen gyldig, som beviser at meldingen ble signert av innehaveren av den private nøkkelen og at meldingen ikke er endret.
Eksempel på digital signatur for autentisering
Tenk på Alice, som ønsker å sende en signert melding til Bob. Alice følger disse trinnene:
1. Alice genererer et nøkkelpar (offentlig nøkkel og privat nøkkel).
2. Alice skriver en melding og lager en hash av denne meldingen.
3. Alice krypterer hashen med sin private nøkkel for å lage signaturen.
4. Alice sender meldingen sammen med signaturen til Bob.
5. Bob mottar meldingen og signaturen. Han bruker deretter Alices offentlige nøkkel for å dekryptere signaturen og hente hashen.
6. Bob hashes den mottatte meldingen og sammenligner den med den dekrypterte hashen. Hvis de samsvarer, kan Bob være trygg på at meldingen faktisk ble signert av Alice og ikke har blitt tuklet med.
Public Key Infrastructure (PKI)
PKI er et rammeverk som administrerer nøkler og sertifikater, og gir en skalerbar og sikker metode for distribusjon av offentlig nøkkel. Den inkluderer komponenter som:
- Sertifiseringsinstanser (CAer): Klarerte enheter som utsteder digitale sertifikater, som er elektroniske dokumenter som binder en offentlig nøkkel til en enhets identitet.
- Registreringsmyndigheter (RA): Enheter som bekrefter identiteten til enkeltpersoner eller organisasjoner før et sertifikat utstedes.
- sertifikater: Digitale dokumenter som inneholder en offentlig nøkkel og identiteten til nøkkeleieren, signert av en CA.
- Lister over tilbakekall av sertifikater (CRL): Lister over sertifikater som har blitt tilbakekalt før utløpsdatoen.
Autentisering ved hjelp av sertifikater
I en PKI kan autentisering utføres ved hjelp av digitale sertifikater. Når en enhet presenterer et sertifikat, kan mottakeren bekrefte sertifikatets gyldighet ved å sjekke CAs signatur og sikre at sertifikatet ikke er tilbakekalt. Mottakeren kan deretter bruke den offentlige nøkkelen i sertifikatet for å bekrefte en digital signatur eller etablere en sikker kommunikasjonskanal.
Matematiske grunnlag
Sikkerheten til offentlig nøkkelkryptografi er avhengig av tallteoretiske prinsipper, for eksempel vanskeligheten med å faktorisere store heltall eller beregne diskrete logaritmer. To grunnleggende begreper i denne sammenhengen er den euklidiske algoritmen og Eulers teorem.
Euklidisk algoritme
Den euklidiske algoritmen brukes til å finne den største felles divisor (GCD) av to heltall. Det er avgjørende for nøkkelgenerering i RSA (Rivest-Shamir-Adleman) kryptosystemer. Algoritmen er basert på prinsippet om at GCD for to tall også deler forskjellen deres.
Eulers Phi-funksjon
Eulers Phi-funksjon, betegnet som φ(n), teller antall heltall opp til n som er relativt prime til n. For et primtall p, φ(p) = p – 1. For to coprimtall m og n, φ(mn) = φ(m)φ(n).
Eulers teorem
Eulers teorem sier at for ethvert heltall a og n som er coprime:
![]()
Denne teoremet er viktig for RSA-algoritmen, der den sikrer at kryptering og dekryptering er invers av hverandre.
RSA-algoritme
RSA er et av de mest brukte offentlige nøkkelkryptosystemene. Det innebærer tre hovedtrinn:
1. Nøkkelgenerering: Velg to store primtall, p og q. Beregn n = pq og φ(n) = (p-1)(q-1). Velg et heltall e slik at 1 < e < φ(n) og gcd(e, φ(n)) = 1. Beregn d slik at ed ≡ 1 (mod φ(n)). Den offentlige nøkkelen er (e, n), og den private nøkkelen er (d, n).
2. kryptering: Gitt en melding m, beregne chifferteksten c = m^e mod n.
3. dekryptering: Gitt en chiffertekst c, beregne meldingen m = c^d mod n.
Autentisering i RSA
I RSA kan autentisering oppnås ved å reversere rollene til kryptering og dekryptering:
1. Avsenderen (Alice) krypterer en hash av meldingen med sin private nøkkel, og lager en digital signatur.
2. Mottakeren (Bob) dekrypterer signaturen med Alices offentlige nøkkel for å bekrefte hashen.
Eksempel på RSA for autentisering
1. Alice genererer RSA-nøkler: offentlig nøkkel (e, n) og privat nøkkel (d, n).
2. Alice skriver en melding og lager en hash.
3. Alice krypterer hashen med sin private nøkkel for å lage signaturen.
4. Alice sender meldingen og signaturen til Bob.
5. Bob bruker Alices offentlige nøkkel til å dekryptere signaturen og hente hashen.
6. Bob hashes den mottatte meldingen og sammenligner den med den dekrypterte hashen. Hvis de stemmer overens, er signaturen gyldig.
Offentlige nøkler spiller en viktig rolle i autentisering innen offentlig nøkkelkryptering. Digitale signaturer og PKI utnytter offentlige nøkler for å sikre autentisiteten og integriteten til meldinger. Det matematiske grunnlaget, som den euklidiske algoritmen og Eulers teorem, gir de nødvendige sikkerhetsgarantiene for disse kryptografiske prosessene. Ved å forstå disse prinsippene kan man sette pris på robustheten og påliteligheten til offentlige nøkkelbaserte autentiseringsmekanismer for å sikre digital kommunikasjon.
Andre nyere spørsmål og svar vedr Grunnleggende om EITC/IS/CCF klassisk kryptografi:
- Ble offentlig nøkkelkryptografi introdusert for bruk i kryptering?
- Refereres settet med alle mulige nøkler i en bestemt kryptografisk protokoll til som nøkkelrommet i kryptografi?
- I en skiftchiffer, erstattes bokstavene på slutten av alfabetet med bokstaver fra begynnelsen av alfabetet i henhold til modulær aritmetikk?
- Hva bør en blokkchiffer inneholde ifølge Shannon?
- Ble DES-protokollen introdusert for å forbedre sikkerheten til AES-kryptosystemer?
- Avhenger sikkerheten til blokkchiffer av å kombinere forvirrings- og diffusjonsoperasjoner mange ganger?
- Må krypterings- og dekrypteringsfunksjonene holdes hemmelige for at kryptografiprotokollen skal forbli sikker?
- Kan kryptanalyse brukes til å kommunisere sikkert over en usikker kommunikasjonskanal?
- Tilhører internett, GSM og trådløse nettverk de usikre kommunikasjonskanalene?
- Er et uttømmende nøkkelsøk effektivt mot substitusjonschiffere?
Se flere spørsmål og svar i EITC/IS/CCF Classical Cryptography Fundamentals

