One-time pad (OTP) er en teoretisk ubrydelig chiffer, forudsat at visse betingelser er opfyldt. Det blev først beskrevet af Frank Miller i 1882 og senere selvstændigt genopfundet af Gilbert Vernam i 1917. Det grundlæggende princip bag OTP er brugen af en tilfældig nøgle, der er lige så lang som selve beskeden, som derefter kombineres med klartekstmeddelelsen ved hjælp af XOR (eksklusiv ELLER) operationen. På trods af sin teoretiske perfektion har OTP betydelige begrænsninger, der gør den upraktisk til de fleste applikationer i den virkelige verden.
For det første er kravet om en virkelig tilfældig nøgle, der er så lang som beskeden, en væsentlig begrænsning. At generere og distribuere sådanne nøgler sikkert er en formidabel udfordring. I praksis er det svært at skabe ægte tilfældighed. De fleste generatorer af tilfældige tal producerer pseudo-tilfældige sekvenser, som er deterministiske og potentielt kan forudsiges, hvis algoritmen eller frøet er kendt. Ægte tilfældighed kræver typisk fysiske processer, såsom radioaktivt henfald eller termisk støj, som ikke er let tilgængelige eller praktiske til brug i stor skala.
For det andet er den sikre distribution af nøglen problematisk. For at OTP'en forbliver sikker, skal nøglen deles mellem afsender og modtager gennem en sikker kanal, der ikke kan opsnappes eller kompromitteres. Dette krav ophæver i det væsentlige fordelen ved kryptografi, som er at give sikker kommunikation over en usikker kanal. Hvis en sikker kanal er tilgængelig til at distribuere nøglen, kan den også bruges til at sende selve beskeden, hvilket gør OTP'en overflødig.
Derudover må hver tast kun bruges én gang (deraf navnet "engangs" pad). Genbrug af en nøgle i OTP-kryptering er katastrofalt for sikkerheden. Hvis den samme nøgle bruges til at kryptere flere meddelelser, kan en angriber udføre et kendt almindeligt tekstangreb for at udlede nøglen og efterfølgende dekryptere alle meddelelser, der er krypteret med denne nøgle. Dette krav om unikke nøgler for hver besked komplicerer nøglehåndtering yderligere, hvilket gør det upraktisk i miljøer, hvor store mængder data skal krypteres.
Opbevaring og håndtering af nøgler udgør også betydelige udfordringer. Da nøglen skal være lige så lang som meddelelsen, kræver det betydelige ressourcer at opbevare disse nøgler sikkert. For eksempel, hvis man ønsker at kryptere en 1 GB fil, skal en 1 GB nøgle genereres, opbevares og distribueres sikkert. Dette er ikke muligt for de fleste applikationer i den virkelige verden, især i scenarier, hvor store mængder data regelmæssigt krypteres og transmitteres.
En anden begrænsning er modtageligheden for menneskelige fejl. Den korrekte implementering af OTP er vigtig for dens sikkerhed. Enhver afvigelse fra den foreskrevne metode, såsom ukorrekt nøglegenerering, usikker nøglelagring eller nøglegenbrug, kan kompromittere hele krypteringssystemet. I betragtning af kompleksiteten og de strenge krav til OTP er det udfordrende og tilbøjeligt til menneskelige fejl at sikre fejlfri implementering.
Desuden giver OTP ikke nogen form for autentificering. Selvom det sikrer meddelelsens fortrolighed, verificerer det ikke afsenderens identitet eller meddelelsens integritet. I moderne kryptografiske systemer er autentificering en kritisk komponent, og manglen på det i OTP nødvendiggør brugen af yderligere kryptografiske mekanismer for at sikre kommunikationen fuldt ud.
På trods af disse begrænsninger bruges OTP stadig i specifikke nicheapplikationer, hvor dets krav kan opfyldes. For eksempel er det historisk blevet brugt i diplomatisk og militær kommunikation, hvor sikker distribution og styring af nøgler kan kontrolleres strengt. I sådanne sammenhænge opvejer OTP's absolutte sikkerhed dets praktiske udfordringer.
For at illustrere upraktiskheden af OTP, overvej et simpelt eksempel. Antag, at Alice vil sende en 100 MB fil til Bob ved hjælp af OTP. Hun skal først generere en 100 MB tilfældig nøgle, som hun derefter bruger til at XOR med 100 MB filen til at producere chifferteksten. Denne 100 MB nøgle skal overføres sikkert til Bob, før han kan dekryptere chifferteksten. Hvis Alice og Bob ønsker at kommunikere regelmæssigt, vil de have brug for en ny 100 MB nøgle for hver besked, hvilket resulterer i en enorm mængde nøgledata, som sikkert skal genereres, opbevares og transmitteres.
I modsætning hertil bruger moderne kryptografiske systemer, såsom dem, der anvender symmetriske nøglealgoritmer (f.eks. AES) eller asymmetriske nøglealgoritmer (f.eks. RSA), væsentligt kortere nøgler, der sikkert kan administreres og distribueres med mindre overhead. Disse systemer giver også yderligere funktioner såsom godkendelse, integritetsverifikation og ikke-afvisning, som er afgørende for sikker kommunikation i applikationer fra den virkelige verden.
Mens engangspuden forbliver en spændende og teoretisk perfekt krypteringsmetode, gør dens praktiske begrænsninger, herunder behovet for virkelig tilfældige nøgler, sikker nøgledistribution, unikke nøgler til hver besked og fraværet af godkendelse, den uegnet til de fleste virkelige- verdens applikationer. Moderne kryptografiske systemer tilbyder en mere praktisk og omfattende løsning til sikring af kommunikation.
Andre seneste spørgsmål og svar vedr Grundlæggende om EITC/IS/CCF klassisk kryptografi:
- Blev offentlig-nøgle-kryptografi introduceret til brug i kryptering?
- Kaldes sættet af alle mulige nøgler i en bestemt kryptografisk protokol for nøglerummet i kryptografi?
- I en skiftchiffer, erstattes bogstaverne i slutningen af alfabetet med bogstaver fra begyndelsen af alfabetet i henhold til modulær aritmetik?
- Hvad bør en blokchiffer indeholde ifølge Shannon?
- Blev DES-protokollen introduceret for at forbedre sikkerheden i AES-kryptosystemer?
- Afhænger sikkerheden af blokchiffere af at kombinere forvirrings- og diffusionsoperationer mange gange?
- Skal krypterings- og dekrypteringsfunktionerne holdes hemmelige for at kryptografiprotokollen kan forblive sikker?
- Kan kryptanalyse bruges til at kommunikere sikkert over en usikker kommunikationskanal?
- Hører internet, GSM og trådløse netværk til de usikre kommunikationskanaler?
- Er en udtømmende nøglesøgning effektiv mod substitutionschiffere?
Se flere spørgsmål og svar i EITC/IS/CCF Classical Cryptography Fundamentals

