Integritet och säkerhet
6 min läsning

Vad är ett engångskrypto? One-time pad och OTP förklarade

Lär dig hur one-time pad använder XOR och nya slumpmässiga nycklar, vad perfekt sekretess betyder, varför nycklar inte får återanvändas och hur det skiljer sig från inloggnings-OTP.

LOCK.PUB
Publicerad:
Vad är ett engångskrypto? One-time pad och OTP förklarade

Ett engångskrypto, eller one-time pad, krypterar ett meddelande med en hemlig slumpmässig nyckel som är minst lika lång som meddelandet. Varje kryptering kräver nytt nyckelmaterial. Under strikta villkor ger chiffertexten en angripare ingen ytterligare information om meddelandet.

Förkortningen OTP kan också betyda ett engångslösenord eller en inloggningskod. Ett engångskrypto, en OTP för inloggning och en länk som öppnas en gång löser olika problem.

Villkor för ett äkta engångskrypto

För ett meddelande på n bitar kräver den binära konstruktionen n nya hemliga nyckelbitar:

  • Välj nyckeln likformigt: varje nyckel på n bitar måste ha samma sannolikhet att väljas.
  • Generera den oberoende av meddelandet och annat nyckelmaterial.
  • Håll den hemlig för den som observerar kommunikationen.
  • Använd varje nyckelsegment för att kryptera endast ett meddelande. Återanvänd aldrig överlappande segment för en annan kryptering.

Dessa antaganden ligger till grund för säkerhetsbeviset i Mike Rosuleks kapitel om one-time pad. En lättmemorerad fras eller en upprepad nyckel uppfyller inte kraven.

Ett XOR-exempel med fyra bitar

XOR, som skrivs ⊕, ger 0 när två bitar är lika och 1 när de är olika. Krypteringen kombinerar meddelandet och nyckeln; dekrypteringen använder samma nyckel en gång till.

Steg Operation Resultat
Kryptera 1010 ⊕ 0110 1100
Dekryptera 1100 ⊕ 0110 1010

Här är meddelandet 1010, nyckeln 0110 och chiffertexten 1100. När XOR utförs igen försvinner nyckelns inverkan. Exemplet visar matematiken; verklig kommunikation kräver också säker nyckelhantering och autentisering.

Vad perfekt sekretess faktiskt betyder

I avsnitt 10 i Claude Shannons ursprungliga artikel betyder perfekt sekretess att kännedom om chiffertexten inte ändrar de sannolikheter som observatören tilldelar möjliga meddelanden.

Det kräver inte att alla meddelanden är lika sannolika. Om ett meddelande av samma längd var mer troligt från början kan det fortfarande vara mer troligt efteråt. Chiffertexten tillför inga ytterligare belägg. Den vanliga modellen med fast längd döljer inte heller kommunikationens tidpunkter, deltagare eller meddelandets längd.

Varför återanvändning av nyckeln bryter garantin

Om två lika långa meddelanden använder samma nyckel K gäller C1 = M1 ⊕ K och C2 = M2 ⊕ K. När chiffertexterna kombineras försvinner K:

C1 ⊕ C2 = M1 ⊕ M2

Angriparen får veta ett samband mellan meddelandena. Det avslöjar inte automatiskt båda de fullständiga texterna. Men ett känt avsnitt i klartext avslöjar motsvarande nyckelsegment och samma del av det andra meddelandet. Förutsägbar struktur kan också hjälpa angriparen att pröva gissningar.

Praktiska begränsningar utöver ekvationen

Båda parter måste redan dela tillräckligt mycket hemligt nyckelmaterial. De måste skydda det vid lagring, hålla sina användningspositioner synkroniserade och förhindra att använda segment tillämpas igen. Behovet av nyckeldistribution växer med mängden information som skickas; XOR-operationen löser inte det problemet.

Ett engångskrypto ger i sig varken integritetsskydd eller autentisering av avsändaren. Om en bit i chiffertexten ändras, ändras motsvarande bit efter dekryptering utan någon inbyggd varning. Enbart sekretess kan inte fastställa vem som skickade ett meddelande eller om det har ändrats.

One-time pad, inloggnings-OTP och länk med en visning

Begrepp Syfte Vad ”engångs” betyder
One-time pad Kryptera meddelandets innehåll Nyckelmaterialet används för en kryptering
OTP för inloggning Styrka innehav av en autentiserare En genererad kod accepteras en gång medan den är giltig
Länk med en visning Begränsa åtkomst via en tjänst Efter en lyckad upplåsning blockeras nya visningar av innehållet

NIST:s vägledning om autentiserare, avsnitt 3.1.4 beskriver inloggnings-OTP som genereras med en hemlighet i autentiseraren och ett tidsvärde eller en räknare. De används för autentisering; de är inte engångsnycklar för att kryptera meddelanden.

Hur LOCK.PUB passar in

Den lösenordsskyddade anteckningen i LOCK.PUB är en vanlig anteckning som kan öppnas flera gånger; den har ingen gräns på en visning som standard. Den använder inte one-time pad och erbjuder inte totalsträckskryptering: servern behandlar anteckningens klartext.

En gräns på en visning är en separat åtkomstregel. När den används blockerar en lyckad upplåsning med lösenord nya visningar av innehållet. Det raderar inte det lagrade innehållet och återkallar inte nedladdningar, skärmbilder eller andra kopior som redan har gjorts.

För praktisk delning kan du läsa guiden till hemliga anteckningar. Guiden till att kryptera text online förklarar hur delning av lösenordsskyddad text fungerar.

Vanliga frågor

Är ett engångskrypto omöjligt att knäcka?

Det ideala systemet ger perfekt sekretess när antagandena är uppfyllda. Röjda nycklar, återanvända segment, komprometterade enheter och manipulation måste bedömas separat.

Kan ett kort startvärde skapa ett äkta engångskrypto?

En säker pseudoslumptalsgenerator kan utöka ett kort startvärde, även kallat seed, till en längre mask och ge beräkningsmässig säkerhet under vissa antaganden. Utdata är inte likformigt fördelade över alla längre bitsträngar och ger därför inte engångskryptots perfekta sekretess.

Betyder ”engångs” att meddelandet försvinner?

För ett engångskrypto beskriver ordet hur nyckeln används. För en länk beskriver det åtkomsten. Inget av begreppen bevisar i sig att något raderas eller tar bort kopior som någon redan har gjort.

Skapa anteckning

Skapa anteckning

Nyckelord

one-time pad
vad är one-time pad
engångskrypto
one-time pad och OTP
Vad är ett engångskrypto? One-time pad och OTP förklarade | LOCK.PUB Blog