One-time pad (OTP) är ett teoretiskt okrossbart chiffer, förutsatt att vissa villkor är uppfyllda. Det beskrevs först av Frank Miller 1882 och senare självständigt återuppfunnet av Gilbert Vernam 1917. Den grundläggande principen bakom OTP är användningen av en slumpmässig nyckel som är lika lång som själva meddelandet, som sedan kombineras med klartextmeddelandet med XOR (exklusiv ELLER) operation. Trots sin teoretiska perfektion har OTP betydande begränsningar som gör den opraktisk för de flesta verkliga tillämpningar.
För det första är kravet på en verkligt slumpmässig nyckel som är så lång som meddelandet en väsentlig begränsning. Att generera och distribuera sådana nycklar på ett säkert sätt är en formidabel utmaning. I praktiken är det svårt att skapa sann slumpmässighet. De flesta slumptalsgeneratorer producerar pseudo-slumpmässiga sekvenser, som är deterministiska och potentiellt kan förutsägas om algoritmen eller fröet är känt. Sann slumpmässighet kräver vanligtvis fysiska processer, såsom radioaktivt sönderfall eller termiskt brus, som inte är lättillgängliga eller praktiska för storskalig användning.
För det andra är den säkra distributionen av nyckeln problematisk. För att OTP ska förbli säker måste nyckeln delas mellan avsändaren och mottagaren via en säker kanal som inte kan avlyssnas eller äventyras. Detta krav förnekar i huvudsak fördelen med kryptografi, vilket är att tillhandahålla säker kommunikation över en osäker kanal. Om en säker kanal är tillgänglig för att distribuera nyckeln, kan den också användas för att överföra själva meddelandet, vilket gör OTP:n redundant.
Dessutom måste varje tangent endast användas en gång (därav namnet "engångsknapp"). Att återanvända en nyckel i OTP-kryptering är katastrofalt för säkerheten. Om samma nyckel används för att kryptera flera meddelanden, kan en angripare utföra en känd klartextattack för att härleda nyckeln och därefter dekryptera alla meddelanden som krypteras med den nyckeln. Detta krav på unika nycklar för varje meddelande komplicerar nyckelhanteringen ytterligare, vilket gör det opraktiskt för miljöer där stora datamängder behöver krypteras.
Lagring och hantering av nycklar innebär också stora utmaningar. Eftersom nyckeln måste vara lika lång som meddelandet kräver det stora resurser att lagra dessa nycklar på ett säkert sätt. Till exempel, om man vill kryptera en 1 GB-fil, måste en 1 GB-nyckel skapas, lagras och distribueras på ett säkert sätt. Detta är inte möjligt för de flesta verkliga tillämpningar, särskilt i scenarier där stora mängder data regelbundet krypteras och överförs.
En annan begränsning är känsligheten för mänskliga fel. Korrekt implementering av OTP är viktigt för dess säkerhet. Alla avvikelser från den föreskrivna metoden, såsom felaktig nyckelgenerering, osäker nyckellagring eller återanvändning av nycklar, kan äventyra hela krypteringssystemet. Med tanke på komplexiteten och de stränga kraven i OTP är det utmanande och risk för mänskliga fel att säkerställa en felfri implementering.
Dessutom tillhandahåller OTP ingen form av autentisering. Även om det säkerställer meddelandets konfidentialitet, verifierar det inte avsändarens identitet eller meddelandets integritet. I moderna kryptografiska system är autentisering en kritisk komponent, och avsaknaden av den i OTP kräver användning av ytterligare kryptografiska mekanismer för att säkra kommunikationen fullt ut.
Trots dessa begränsningar används OTP fortfarande i specifika nischapplikationer där dess krav kan uppfyllas. Till exempel har det historiskt använts i diplomatisk och militär kommunikation, där säker distribution och hantering av nycklar kan kontrolleras rigoröst. I sådana sammanhang överväger OTP:s absoluta säkerhet dess praktiska utmaningar.
För att illustrera det opraktiska i OTP, överväg ett enkelt exempel. Anta att Alice vill skicka en 100 MB fil till Bob med hjälp av OTP. Hon måste först generera en 100 MB slumpmässig nyckel, som hon sedan använder för att XOR med 100 MB filen för att producera chiffertexten. Denna nyckel på 100 MB måste överföras säkert till Bob innan han kan dekryptera chiffertexten. Om Alice och Bob vill kommunicera regelbundet skulle de behöva en ny 100 MB nyckel för varje meddelande, vilket resulterar i en enorm mängd nyckeldata som måste genereras, lagras och överföras på ett säkert sätt.
Däremot använder moderna kryptografiska system, som de som använder symmetriska nyckelalgoritmer (t.ex. AES) eller asymmetriska nyckelalgoritmer (t.ex. RSA), betydligt kortare nycklar som säkert kan hanteras och distribueras med mindre overhead. Dessa system tillhandahåller också ytterligare funktioner som autentisering, integritetsverifiering och icke-avvisande, vilket är avgörande för säker kommunikation i verkliga applikationer.
Även om engångsplattan förblir en spännande och teoretiskt perfekt krypteringsmetod, gör dess praktiska begränsningar, inklusive behovet av verkligt slumpmässiga nycklar, säker nyckeldistribution, unika nycklar för varje meddelande och frånvaron av autentisering, den olämplig för de flesta verkliga världens applikationer. Moderna kryptografiska system erbjuder en mer praktisk och heltäckande lösning för att säkra kommunikation.
Andra senaste frågor och svar ang Grundläggande för EITC/IS/CCF klassisk kryptografi:
- Introducerades kryptografi med offentlig nyckel för användning i kryptering?
- Kallas mängden av alla möjliga nycklar i ett visst kryptografiskt protokoll för nyckelutrymmet inom kryptografi?
- I ett skiftchiffer, ersätts bokstäverna i slutet av alfabetet med bokstäver från början av alfabetet enligt modulär aritmetik?
- Vad bör ett blockchiffer innehålla enligt Shannon?
- Introducerades DES-protokollet för att förbättra säkerheten för AES-kryptosystem?
- Beror säkerheten för blockchiffer på att man kombinerar förvirrings- och diffusionsoperationer många gånger?
- Måste krypterings- och dekrypteringsfunktionerna hållas hemliga för att kryptografiska protokollet ska förbli säkert?
- Kan kryptanalys användas för att kommunicera säkert över en osäker kommunikationskanal?
- Tillhör internet, GSM och trådlösa nätverk de osäkra kommunikationskanalerna?
- Är en uttömmande nyckelsökning effektiv mot substitutionschiffer?
Se fler frågor och svar i EITC/IS/CCF Classical Cryptography Fundamentals

