Claude Shannon foreslog teknikken for forvirring og diffusion til at opfange de grundlæggende blokke for en kryptografisk funktion i stedet for at anvende en lang og tidskrævende statistikkermetode. Shannon var primært bekymret for forebyggelsen af kryptanalysen ved hjælp af statistisk analyse.
Årsagen bag det er som følger. Antag, at angriberen har en vis forståelse af de statistiske egenskaber ved plaintext. For eksempel i en menneskelig forståelig besked kan frekvensfordelingen af alfabeterne være kendt på forhånd. I så fald er kryptanalysen ret let at udføre, hvor den kendte statistik kan afspejles i chifferteksten. Denne kryptanalyse kan helt sikkert udlede nøglen eller en del af nøglen. Det er grunden til, at Shannon foreslog to metoder, nemlig forvirring og diffusion.
Sammenligningstabel
Grundlag for sammenligning | Forvirring | Diffusion |
---|---|---|
Grundlæggende | Udnyttes til at generere vage chiffertekster. | Udnyttes til at generere uklare, almindelige tekster. |
Søger at | Lav en relation mellem statistikkerne i ciphertext og værdien af krypteringsnøglen så kompliceret som muligt. | Det statistiske forhold mellem plaintext og ciphertext er lavet så kompliceret som muligt. |
Opnået gennem | Substitutionsalgoritme | Gennemførelsesalgoritme |
Brugt af | Stream chiffer og blok cipher | Blokér kun kryptering. |
Resultat i | Øget kløft | Øget redundans |
Definition af forvirring
Forvirring er en kryptografisk teknik, der er udformet til at øge kodningstekstens vaghed, i enkle ord sikrer teknikken, at chifferteksten ikke giver nogen anelse om plaintext. I den givne teknik opretholdes forholdet mellem statistik for chifferteksten og værdien af krypteringsnøglen så kompleks som muligt. Selvom angriberen får en vis kontrol over statistikken i chifferteksten, kunne han ikke udlede nøglen, da den måde, hvorpå nøglen blev brugt til at fremstille den krypterede tekst, er så kompleks.
Forvirringen kan opnås ved at anvende substitution og kompleks scrambling algoritme, der afhænger af nøgle og input (plaintext).
Definition af diffusion
Diffusion er en kryptografisk teknik opfundet for at øge plain textens redundans for at forklare den statistiske struktur af plaintext for at forhindre forsøg på at udlede nøglen. I diffusionen kan den statistiske struktur af plaintext forsvinde i langdistansestatistik af chifferteksten, og forholdet mellem dem er komplekst, således at ingen kan udlede den oprindelige nøgle.
Det opnås ved at sprede det individuelle teksttekstciffer over mange chiffertekstcifre, f.eks. Når en enkelt bit af almindelig tekst ændres, skal den påvirke hele chifferteksten, eller ændringen skal forekomme på hele chifferteksten.
I blokchiffring kan diffusionen opnås ved at anvende en vis permutation på dataene med en funktion til permutationen. Resultatet er, at biten fra forskellige positioner i den oprindelige tekst vil bidrage til en enkelt bit af chifferteksten. Transformationen i blokchifferen afhænger af nøglen.
Nøgleforskelle mellem forvirring og diffusion
- Forvirringsteknik bruges til at skabe vage ciphertexts, mens diffusion anvendes til at generere uklare tekst.
- Forvirringen forsøger at gøre den statistiske tilknytning mellem plaintext og ciphertext så kompleks som muligt. Tværtimod forsøger diffusionsteknikken at gøre korrelationen mellem statistik af chifferteksten og værdien af krypteringsnøglen så kompliceret som muligt.
- Substitutionsalgoritmer kan anvendes til at opnå forvirring. Imidlertid kan diffusion opnås ved anvendelse af transpositionsteknikker.
- Blokciffer afhænger af forvirring såvel som diffusion, mens strømkodning kun bruger forvirring.
Konklusion
Forvirring og diffusion er begge kryptografiske teknikker, hvor i forvirring formålet er at skabe et forhold mellem statistikken i chifferteksten og værdien af krypteringsnøglen så kompliceret som muligt. På den anden side forsøger diffusion at forklare den statistiske struktur af plaintext ved at udbrede virkningen af hver enkelt enkelttekstciffer over store del- eller chiffertekstcifre.