Krypteringsblok kædefunktion

Cipher Block Chains Mode ( CBC Mode ) er en driftstilstand, hvor blokcifre kan betjenes. Før en almindelig tekstblok krypteres , linkes den først til ciphertext- blokken, der blev genereret i det foregående trin ved hjælp af XOR (eksklusiv eller). Tilstanden blev offentliggjort i 1976 af William F. Ehrsam, Carl HW Meyer, John L. Smith og Walter L. Tuchman.

Generel

Strukturen for krypteringen i CBC-tilstand vises i følgende figur:

CBC-kryptering

Dette diagram kan også udtrykkes matematisk i formler, betegne krypteringsfunktionen med nøglen , være den tilknyttede dekrypteringsfunktion. Udpeg den i-almindelige tekstblok, den i-ciffertekstblok og vær initialiseringsvektoren; normalt er det defineret. Desuden betegner den logiske XOR. Derefter defineres krypteringen i CBC-tilstand rekursivt som følger :

Dekrypteringens struktur i CBC-tilstand vises i følgende figur:

CBC-dekryptering

Den tilknyttede dekryptering er derimod ikke rekursiv i CBC-tilstand og har de samme betegnelser som ovenfor:

Enten et tidsstempel eller en tilfældig sekvens af tal bruges som initialiseringsvektor (IV) . Nogle applikationer bruger også et forudsigeligt, simpelt stigende tal, men dette er ikke sikkert, fordi folk uden for et uønsket vandmærkeangreb ( vandmærkeangreb kan udføre) til sådanne data. Dm-crypt- modulet bruger ESS- processen til at generere IV .

Af hensyn til algoritmen er det ikke nødvendigt at transmittere initialiseringsvektoren hemmeligt.

CBC-tilstanden har nogle vigtige fordele:

  • Prøver i almindelig tekst ødelægges.
  • Identiske blokke med almindelig tekst resulterer i forskellige krypteringstekster.
  • Forskellige angreb (tidsmæssig afvejning af hukommelse og angreb med almindelig tekst) gøres vanskeligere.

Da en ciphertext-blok kun afhænger af den forrige blok, forårsager en beskadiget ciphertext-blok, såsom en bitfejl under datatransmission, ikke for meget skade under dekryptering, fordi kun den pågældende almindelige tekst-blok og den følgende almindelige tekst-blok er forkert dekrypteret. Dette kan ses direkte fra definitionen af ​​dekrypteringen og figuren ovenfor, da en beskadiget ciphertext- blok kun påvirker plaintext-blokke og ikke spredes yderligere. Ikke desto mindre kan denne begrænsede multiplikation af kun en enkelt bitfejl i chifferet med CBC gøre fremadrettet fejlkorrektion af almindelig tekst vanskelig eller umulig. Ligeledes forårsager en beskadiget initialiseringsvektor ikke for meget skade under dekryptering, da den kun beskadiger almindelig tekstblok .

CBC-tilstand er meget sikrere end ECB- tilstand, især hvis du ikke har nogen tilfældige tekster. Vores sprog og andre filer, såsom. B. videofiler er på ingen måde tilfældige, hvorfor ECB-tilstand er farlig.

eksempel

Simpel tekst
01 10
Opdelt i blokke
01 = , 10 =
nøgle
11 = k
Indledende vektor (IV)
01

For enkelheds skyld bruger krypteringsfunktionen den binære addition og som en dekrypteringsfunktion binær subtraktion.

Kryptering

Blok 1:

Blok 2:

Krypteret tekst:

Hvis du ser på krypteringen af , kan du se, at dette er påkrævet. Generelt betyder dette, at krypteringsblokken er nødvendig for kryptering . En parallelisering af krypteringsprocessen er derfor ikke mulig.

Dekryptering

Blok 1:

Blok 2:

Simpel tekst:

Hvis du ser på dekrypteringen af , kan du se, at det ikke kun er nødvendigt for dette . Generelt betyder det, at kun kræves til dekryptering . Dette gør det muligt at udføre dekrypteringsprocessen parallelt.

Integritetssikring med CBC, CBC-MAC

Image
Struktur til CBC-MAC-beregningen

CBC kan også bruges til at sikre integritet ved at indstille initialiseringsvektoren til nul og tilføje den sidste blok krypteret med CBC som en MAC (den såkaldte CBC-MAC eller CBC restværdi) til den oprindelige ukrypterede besked og sende den sammen med denne MAC. Ved hjælp af CBC-algoritmen kan modtageren beregne CBC-MAC for den modtagne besked og nu sammenligne, om den værdi, der netop er beregnet, stemmer overens med den, der er knyttet til meddelelsen. Hvis en meddelelse krypteret med CBC skal sikres med en CBC-MAC, må den samme nøgle ikke bruges til generering af CBC-MAC som til krypteringen. Hvis den samme nøgle blev brugt, ville MAC-blokken være den samme som den sidste krypteringsblok, og en angriber kunne uopdaget ændre hele meddelelsen med undtagelse af den sidste blok.

CBC-MAC er kun sikker til meddelelser med fast længde. Hvis beskedlængden varierer , kan metoden angribes af længdeudvidelsen . En hacker kan generere en gyldig MAC til en ny besked (sammenkædning af de to meddelelser) fra to gyldige meddelelses-MAC-par. To ændringer kan forhindre dette angreb: Hver meddelelse kan indledes med meddelelseslængden, eller MAC-blokken krypteres desuden med en anden nøgle.

litteratur

  • Reinhard Wobst: Eventyrkryptologi . Metoder, risici og fordele ved datakryptering. 2., revideret udgave. Addison-Wesley Longman, Bonn et al. 1998, ISBN 3-8273-1413-5 .

Individuelle beviser

  1. William F. Ehrsam, Carl HW Meyer, John L. Smith, Walter L. Tuchman, "Message verification and transmission error detection by block chaining", US Patent 4074066, 1976
  2. Mihir Bellare , Joe Kiliany, Phillip Rogaway: Sikkerheden ved krypteringsblokeringskædebeskedgodkendelseskode . I: Journal of Computer and System Science . bånd  61 , nr. 3 , 2000, s. 362-399 ( digitaliseret version ( PDF; 466 kB) ( minde fra 5. februar 2012 i internetarkivet )). Sikkerheden i blokkædnings Message Authentication Code ( Memento af den oprindelige fra februar 5 2012 i den Internet Archive ) Info: Den arkiv link blev indsat automatisk, og er endnu ikke blevet kontrolleret. Kontroller original- og arkivlinket i henhold til instruktionerne, og fjern derefter denne meddelelse.  @ 1@ 2Skabelon: Webachiv / IABot / www.cs.ucdavis.edu