Cipher Block Chaining Mode
Cipher Block Chaining Mode ( CBC Mode ) är ett driftläge där blockkodningar kan manövreras. Innan ett klartextblock krypteras länkas det först till ciphertext- blocket som genererades i föregående steg med XOR (exklusiv eller). Läget publicerades 1976 av William F. Ehrsam, Carl HW Meyer, John L. Smith och Walter L. Tuchman.
Allmän
Krypteringens struktur i CBC-läge visas i följande bild:
Detta diagram kan också uttryckas matematiskt i formler, beteckna krypteringsfunktionen med nyckeln , vara tillhörande dekrypteringsfunktion. Ange det i: e klartextblocket, det i ciphertext- blocket och vara initialiseringsvektorn; vanligtvis definieras det. Beteckna dessutom den logiska XOR. Då definieras krypteringen i CBC-läge rekursivt enligt följande :
Strukturen för dekryptering i CBC-läge visas i följande bild:
Den tillhörande dekrypteringen är å andra sidan inte rekursiv i CBC-läge och har samma namn som ovan:
Antingen en tidsstämpel eller en slumpmässig talföljd används som initialiseringsvektor (IV) . Vissa applikationer använder också ett förutsägbart, enkelt stigande nummer, men detta är inte säkert, eftersom människor utanför ett oönskat vattenmärkesattack ( vattenstämpelattack kan utföra) till sådan data. Dm-crypt- modulen använder ESS- processen för att generera IV .
För algoritmens säkerhet är det inte nödvändigt att överföra initialiseringsvektorn i hemlighet.
CBC-läget har några viktiga fördelar:
- Exempel på vanlig text förstörs.
- Identiska klartextblock resulterar i olika ciphertexts.
- Olika attacker (tidsminnesavvägning och klartextattacker) försvåras.
Eftersom ett ciphertext-block bara beror på det föregående blocket, orsakar inte ett skadat ciphertext-block, såsom ett bitfel under dataöverföring, för mycket skada under dekryptering, eftersom endast det berörda klartextblocket och det efterföljande klartextblocket är felkodade. Detta kan ses direkt från definitionen av dekrypteringen och ovanstående figur, eftersom en skadad chiffertextblocket endast påverkar klartextblocken och och sprider inte vidare. Ändå kan denna begränsade multiplikation av endast ett enda bitfel i krypteringen med CBC göra felkorrigering av vanlig text svår eller omöjlig. På samma sätt orsakar en skadad initialiseringsvektor inte för mycket skada under dekryptering, eftersom den bara skadar klartextblocket .
CBC-läget är mycket säkrare än ECB- läget, särskilt om du inte har några slumpmässiga texter. Vårt språk och andra filer, till exempel. B. videofiler är inte slumpmässiga, varför ECB-läget är farligt.
exempel
- Oformatterad text
- 01 10
- Uppdelad i block
- 01 = , 10 =
- nyckel-
- 11 = k
- Initial Vector (IV)
- 01
För enkelhetens skull använder krypteringsfunktionen den binära additionen och som en dekrypteringsfunktion binär subtraktion.
Kryptering
Block 1:
Block 2:
Krypterad text:
Om du tittar på krypteringen av kan du se att detta krävs. Generellt betyder detta att krypteringsblocket krävs för kryptering . En parallellisering av krypteringsprocessen är därför inte möjlig.
Dekryptering
Block 1:
Block 2:
Oformatterad text:
Om du tittar på dekrypteringen av kan du bara se att det inte krävs för detta . I allmänhet betyder detta att endast krävs för dekryptering . Detta gör att dekrypteringsprocessen kan utföras parallellt.
Integritetssäkring med CBC, CBC-MAC
CBC kan också användas för att säkerställa integritet genom att sätta initialiseringsvektorn till noll och lägga till det sista blocket krypterat med CBC som ett MAC (det så kallade CBC-MAC eller CBC restvärdet) till det ursprungliga okrypterade meddelandet och skicka det tillsammans med detta MAC. Med hjälp av CBC-algoritmen kan mottagaren beräkna CBC-MAC för det mottagna meddelandet och nu jämföra om värdet som just har beräknats överensstämmer med det som bifogas meddelandet. Om ett meddelande krypterat med CBC ska skyddas med en CBC-MAC, får samma nyckel inte användas för generering av CBC-MAC som för kryptering. Om samma nyckel användes skulle MAC-blocket vara detsamma som det sista krypteringsblocket och en angripare kunde inte upptäcka att ändra hela meddelandet med undantag för det sista blocket.
CBC-MAC är endast säkert för meddelanden med fast längd. Om meddelandets längd varierar kan metoden attackeras av längdförlängningen . En angripare kan generera en giltig MAC för ett nytt meddelande (sammanfogning av de två meddelandena) från två giltiga meddelande-MAC-par. Två ändringar kan förhindra denna attack: Varje meddelande kan föregås av meddelandets längd eller MAC-blocket krypteras dessutom med en andra nyckel.
litteratur
- Reinhard Wobst: Äventyrskryptologi. Metoder, risker och fördelar med datakryptering. 2: a, reviderad upplaga. Addison-Wesley Longman, Bonn et al. 1998, ISBN 3-8273-1413-5 .
Individuella bevis
- ↑ William F. Ehrsam, Carl HW Meyer, John L. Smith, Walter L. Tuchman, "Message verification and transmission error detect by block chaining", US Patent 4074066, 1976
- ↑ Mihir Bellare , Joe Kiliany, Phillip Rogaway: The Security of the Cipher Block Chaining Message Authentication Code . I: Journal of Computer and System Science . tejp 61 , nr. 3 , 2000, sid. 362–399 ( digitaliserad version ( PDF; 466 kB) ( minne från 5 februari 2012 i Internetarkivet )). Säkerheten i Cipher Block Chaining Message Authentication Code ( Memento av den ursprungliga daterat 5 Feb 2012 i Internet Archive ) Info: Den arkiv länk infördes automatiskt och har ännu inte kontrollerats. Kontrollera original- och arkivlänken enligt instruktionerna och ta bort detta meddelande.