Vad är skillnaden mellan strömchiffer och blockchiffer?

...

Streamchiffer är väl lämpade för hårdvaruapplikationer i realtid.

Ett chiffer är en uppsättning matematiska regler, eller algoritm, som används för att konvertera läsbar text, eller klartext, till oläsbar text, eller chiffertext. Den principiella skillnaden mellan strömchiffer och blockchiffer är att strömchiffer fungerar på textströmmar, en bit eller en byte åt gången, medan blockchiffer fungerar på textblock.

Streama Chiffer

Grundidén med ett strömchiffer är att dela upp text i små block, en bit eller en byte långa, och koda varje block beroende på många tidigare block. Strömchiffer använder en annan krypteringsnyckel -- ett värde som måste matas in i algoritmen -- för varje bit eller byte, så samma bit eller byte producerar olika chiffertext varje gång den krypteras. Vissa strömchiffer använder en nyckelströmsgenerator, som producerar en slumpmässig, eller nästan slumpmässig, ström av bitar. Chifferet utför en boolesk operation, känd som ett exklusivt ELLER, mellan bitarna i nyckelströmmen och bitarna i klartexten för att producera chiffertext.

Dagens video

Blockera chiffer

Grundidén med ett blockchiffer är att dela upp text i relativt stora block, vanligtvis 64 eller 128 bitar långa, och koda varje block separat. Samma krypteringsnyckel används för varje block och det är krypteringsnyckeln som bestämmer ordning i vilken substitution, transport och andra matematiska funktioner utförs på var och en blockera. Starka algoritmer innebär att omvänd manipulering av chiffer, eller att bestämma vilka funktioner som utfördes på varje block, i vilken ordning, praktiskt taget omöjligt.

Diffusion och förvirring

Blockchiffer använder tekniker som kallas förvirring och diffusion för att kryptera klartext till chiffertext. Tanken bakom förvirring är att göra förhållandet mellan krypteringsnyckeln och chiffertexten så komplex som möjligt. Helst bör varje tecken i krypteringsnyckeln påverka varje tecken i chiffertexten. Däremot sprider diffusion inflytandet av varje tecken i klartexten över flera tecken i chiffertexten, vilket gör chiffret mindre mottagligt för statistiska attacker.

För-och nackdelar

Det faktum att stream-chiffer krypterar och dekrypterar data en bit i taget gör att de är särskilt väl lämpade för hårdvaruapplikationer i realtid, som ljud- och videoapplikationer. Strömchiffer är svagare och mindre effektiva än blockchiffer när det kommer till mjukvaruapplikationer och används mer sällan i den sfären. Blockchiffer är lättare att implementera i programvara eftersom de krypterar data i block med en längd som programvaran redan använder. Krypteringsnyckeln har ofta samma längd som blockstorleken.