Data Encryption Standard (DES) er en symmetrisk nøglealgoritme til kryptering af digitale data. Udviklet i begyndelsen af 1970'erne og vedtaget som en føderal standard i 1977, har DES været meget brugt i forskellige applikationer. Et af de kritiske aspekter ved DES og andre blokcifre er, hvordan plaintext bits påvirker den resulterende chiffertekst. Specifikt vedrører spørgsmålet, om en enkelt bit chiffertekst kan påvirkes af mange bits af klartekst inden for DES-rammen.
DES opererer på 64-bit blokke af almindelig tekst og producerer 64-bit blokke af chiffertekst ved hjælp af en 56-bit nøgle. Krypteringsprocessen involverer 16 runder af komplekse transformationer, inklusive permutationer og substitutioner, som er designet til at sikre, at enhver enkelt bit af klartekst kan påvirke mange bits af chifferteksten. Denne egenskab er kendt som lavineeffekten, som er vigtig for sikkerheden af blokcifre.
For at forstå, hvordan en enkelt bit chiffertekst kan påvirkes af mange stykker klartekst i DES, er det vigtigt at overveje de specifikke mekanismer i krypteringsprocessen, især Feistel-strukturen, nøgleskemaet og rundefunktionerne.
Feistel-strukturen
DES anvender et Feistel-netværk, en symmetrisk struktur, der bruges i mange blokcifre. I et Feistel-netværk er klarteksten opdelt i to halvdele, typisk betegnet som L (venstre) og R (højre). Hver runde af Feistel-netværket involverer følgende operationer:
1. Udvidelse: Den højre halvdel af blokken udvides fra 32 bit til 48 bit ved hjælp af en ekspansionspermutation.
2. Nøgleblanding: Den udvidede højre halvdel er XORed med en 48-bit rund nøgle afledt af den primære 56-bit nøgle.
3. Udskiftning: Resultatet af XOR-operationen er opdelt i otte 6-bit segmenter, som hver er input til en anden S-boks (erstatningsboks). Hver S-boks kortlægger et 6-bit input til et 4-bit output.
4. Permutation: 32-bit output fra S-boksene permuteres ved hjælp af en fast permutation (P-boksen).
5. XOR og Swap: Permutationens output XORed med venstre halvdel af blokken, og de to halvdele ombyttes.
Denne proces gentages i 16 runder, hvor hver runde bruger en anden rundnøgle. Den sidste runde inkluderer ikke swap-operationen, og de to halvdele er sammenkædet for at producere 64-bit chifferteksten.
Nøgleskema
Nøgleskemaet i DES genererer 16 runde nøgler fra den indledende 56-bit nøgle. Dette gøres gennem en række permutationer og skift:
1. Indledende permutation (PC-1): 56-bit nøglen permuteres ved hjælp af en fast permutation (PC-1), hvilket resulterer i to 28-bit halvdele.
2. Venstre skift: Hver halvdel udsættes for en række venstreskift, som varierer fra runde til runde.
3. Round Key Permutation (PC-2): Efter skiftene permuteres de to halvdele igen ved hjælp af en fast permutation (PC-2) for at producere en 48-bit rund nøgle.
Nøgleskemaet sikrer, at hver rundnøgle er forskellig, hvilket øger kompleksiteten og sikkerheden i krypteringsprocessen.
Lavineeffekt
Lavineeffekten er en ønskværdig egenskab ved kryptografiske algoritmer, hvor en lille ændring i inputtet (såsom at vende en enkelt bit) resulterer i en signifikant og uforudsigelig ændring i outputtet. I DES opnås denne effekt gennem kombinationen af Feistel-strukturen, S-boksene og permutationerne.
1. S-bokse: S-boksene er ikke-lineære komponenter, der giver forvirring, et koncept introduceret af Claude Shannon for at beskrive den egenskab, at forholdet mellem klartekst, chiffertekst og nøgle skal være så komplekst som muligt. S-boksenes ikke-linearitet sikrer, at en lille ændring i inputtet fører til en væsentlig ændring i outputtet.
2. Permutationer: Permutationerne (udvidelses-, P-boks- og nøgleskema-permutationer) giver diffusion, et andet koncept af Shannon, som sikrer, at indflydelsen fra en enkelt klartekstbit spredes ud over mange bits af chifferteksten. De faste permutationer i DES sikrer, at bits blandes på en måde, der maksimerer lavineeffekten.
3. Feistel struktur: Den iterative karakter af Feistel-strukturen betyder, at hver rundes output afhænger af outputtet fra den foregående runde. Som et resultat kan en enkelt bitændring i klarteksten udbrede sig gennem flere runder, hvilket påvirker mange bits af chifferteksten.
Eksempel
Overvej et simpelt eksempel, hvor vi spejlvender en enkelt bit i klarteksten og observerer effekten på chifferteksten. Lad os antage, at vi har følgende 64-bit almindelig tekstblok:
Plaintext: 0123456789ABCDEF (in hexadecimal)
Lad os for nemheds skyld vende den mindst betydningsfulde del af klarteksten:
Modified Plaintext: 0123456789ABCDEE (in hexadecimal)
Ved at bruge den samme 56-bit nøgle krypterer vi begge klartekstblokke ved hjælp af DES. På grund af lavineeffekten forventer vi, at chifferteksterne er væsentligt forskellige.
Ciphertext (original): 85E813540F0AB405 (in hexadecimal) Ciphertext (modified): 29FEA4D4DFD6D5F1 (in hexadecimal)
Som bemærket er chifferteksterne drastisk forskellige, selvom kun én bit i klarteksten blev ændret. Dette demonstrerer lavineeffekten i DES, hvor en enkelt bitændring i klarteksten påvirker mange bits af chifferteksten.
I DES blokchifferkryptosystemet kan en enkelt bit chiffertekst faktisk påvirkes af mange dele af klartekst. Dette opnås gennem det indviklede design af Feistel-strukturen, brugen af ikke-lineære S-bokse og de forskellige permutationer, der sikrer både forvirring og diffusion. Lavineeffekten er en kritisk egenskab, der øger sikkerheden i DES, hvilket gør det vanskeligt for angribere at forudsige, hvordan ændringer i klarteksten vil påvirke chifferteksten.
Andre seneste spørgsmål og svar vedr Data Encryption Standard (DES) - Kryptering:
- Blev DES-protokollen introduceret for at forbedre sikkerheden i AES-kryptosystemer?
- Hvilke bits af nøglen bruges til paritetskontrol i DES?
- Er DES afhængig af flere kombinationer af diffusion og forvirring?
- Er DES tilbøjelig til møde-i-midten-angrebet?
- Hvordan kan undernøgler bruge DES-kryptering?
- Kan permutation betragtes som et eksempel på diffusion i en blokcifre?
- På stadiet af S-bokse i DES, da vi reducerer fragmenter af en besked med 50%, er der en garanti for, at vi ikke mister data, og beskeden forbliver gendannes/dekrypteres?
- Hvad er betydningen af lavineeffekten i DES-krypteringsprocessen?
- Hvordan bidrager permutationen P til det endelige output af f-funktionen i DES-kryptering?
- Hvad er S-boksenes rolle i DES-krypteringsprocessen?
Se flere spørgsmål og svar i Data Encryption Standard (DES) - Encryption