Forskel mellem Stream Cipher og Block Cipher

Anonim

Stream Cipher vs Block Cipher | State Cipher vs Block Cipher

I kryptografi er Stream-cifre og Block-cifre to krypterings- / dekrypteringsalgoritmer, der tilhører familien af ​​symmetriske nøglekoder. Typisk tager en chiffer en almindelig tekst som input og producerer en chiffertekst som output. Blokcifre krypterer fastlængdeblokken af ​​bits ved hjælp af en uendelig transformation. Stream-cifre krypterer strømme af bit med varierende længde og bruger varierende transformation på hver bit.

Hvad er en Stream Cipher?

Stream-cifre tilhører familien af ​​symmetriske nøglekoder. Stream ciphers kombinerer plain-text bits med en pseudorandom cipher bits stream ved brug af XOR (eksklusiv eller) drift. Stream cifre krypterer plain-text cifre en ad gangen med varierende transformationer for successive cifre. Fordi krypteringen af ​​hvert ciffer afhænger af den nuværende tilstand af chiffermotoren, er strømcifre også kendt som statscifre. Typisk bruges single bits / bites som single cifre. For at undgå sikkerhedsproblemer bør det sikres, at den samme starttilstand ikke bruges mere end én gang. Den mest udbredte strømkodning er RC4.

Hvad er en Block Cipher?

En blokchiffer er en anden symmetrisk nøglechiffer. Blokcifre opererer på blokke (grupper af bits) med fast længde. Blokcifre bruger en fast (unvarying) transformation for alle cifre i blokken. For eksempel, når en x-bitblok almindelig tekst (sammen med en hemmelig nøgle) er tilvejebragt som input til blok-cipher-motoren, producerer den den tilsvarende x-bit-blok af ciphertext. Den egentlige transformation er afhængig af den hemmelige nøgle. På samme måde genvinder dekrypteringsalgoritmen den oprindelige x-bit-blok af almindeligt tekst ved hjælp af x-bit-blokken af ​​chiffertekst og den ovennævnte hemmelige nøgle som input. Hvis indtastningsmeddelelsen er for lang i forhold til størrelsen af ​​blokken, bliver den opdelt i blokke, og disse blokke bliver (individuelt) krypteret ved hjælp af den samme nøgle. Men fordi den samme nøgle anvendes, bliver hver gentagne rækkefølge i almindelig tekst den samme gentagne rækkefølge i chifferteksten, og dette kan medføre sikkerhedsproblemer. Populære blokcifre er DES (Data Encryption Standard) og AES (Advanced Encryption Standard).

Hvad er forskellen mellem en Stream Cipher og en Block Cipher?

Selv om både stream-cifre og blokcifre tilhører familien af ​​symmetriske krypteringscifre, er der nogle vigtige forskelle. Blokcifre krypterer faste længdeblokke af bit, mens strømcifre kombinerer plaintekstbit med en pseudorandom-krypteringsbitstrøm ved brug af XOR-drift. Selvom blokcifere bruger den samme transformation, bruger strømciphere varierende transformationer baseret på motorens tilstand.Stream ciphers udfører normalt hurtigere end blok ciphers. Hvad angår hardwarekompleksitet er strøm-cifre relativt mindre komplekse. Stream-cifre er den typiske præference over blok-cifre, når almindelig tekst er tilgængelig i varierende mængder (f.eks. En sikker wifi-forbindelse), fordi blokcifre ikke kan fungere direkte på blokke, der er kortere end blokstørrelsen. Men undertiden er forskellen mellem stream-cifre og blok-cifre ikke meget klar. Årsagen er, at når der anvendes visse driftsformer, kan en blokchiffer bruges til at fungere som en strømkodning ved at lade den kryptere den mindste enhed af data, der er til rådighed.