Stream Ciffer vs Block Cipher | State Cipher vs Block Cipher
I kryptografi er strømchiffer og blokciffer to krypterings- / dekrypteringsalgoritmer, der hører til familien af symmetriske nøglekryptere. En chiffer tager typisk en almindelig tekst som input og producerer en chiffertekst som output. Blokciftere krypterer blok med fast længde af bit ved hjælp af en uovertruffen transformation. Stream cifere krypterer strømme af bit med varierende længde og bruger varierende transformation på hver bit.
Hvad er en Stream Ciffer?
Stream ciphers hører til familien af symmetriske nøgle chiffer. Stream ciphers kombinerer almindelige tekstbits med en pseudorandom-chifferbitsstrøm med brug af XOR (eksklusiv eller) operation. Stream ciphers krypterer almindelig tekst cifre ad gangen med forskellige transformationer til successive cifre. Fordi krypteringen af hvert ciffer afhænger af den aktuelle tilstand af chiffermotoren, er strømcifre også kendt som tilstandschiffer. Typisk bruges enkeltbits / bid som enkeltcifre. For at undgå sikkerhedsmæssige betænkeligheder skal det sikres, at den samme starttilstand ikke bruges mere end én gang. Den mest udbredte strømciffer er RC4.
Hvad er en blokciffer?
En blokciffer er en anden symmetrisk nøglekryptering. Blokcifre fungerer på blokke (grupper af bit) med fast længde. Blokcifere bruger en fast (uforlignelig) transformation til alle cifre i blokken. For eksempel, når en x-bit-blok almindelig tekst (sammen med en hemmelig nøgle) leveres som input til blokciffermotoren, producerer den den tilsvarende x-bit-blok af chiffertekst. Den faktiske transformation er afhængig af den hemmelige nøgle. På lignende måde gendanner dekrypteringsalgoritmen den originale x-bit-blok af klartekst ved hjælp af x-bit-blokken af chiffertekst og ovennævnte hemmelige nøgle som input. Hvis inputmeddelelsen er for lang sammenlignet med størrelsen på blokken, vil den blive opdelt til blokke, og disse blokke bliver (individuelt) krypteret ved hjælp af den samme nøgle. Da den samme nøgle bruges, bliver hver gentagne sekvens i almindeteksten imidlertid den samme gentagne sekvens i chifferteksten, og dette kan medføre sikkerhedsproblemer. Populære blokcifere er DES (Data Encryption Standard) og AES (Advanced Encryption Standard).
Hvad er forskellen mellem en Stream Ciffer og en Block Cipher?
Selvom både strømchiffer og blokciffer er tilhørende familien af symmetriske krypteringschiffer, er der nogle vigtige forskelle. Blokcifre krypterer blokke med faste længder af bits, mens strømciftere kombinerer almindelige tekstbits med en pseudorandom-chifferbitsstrøm ved hjælp af XOR-operation. Selvom blokcifre bruger den samme transformation, anvender strømciftere forskellige transformationer baseret på motorens tilstand. Strømcifre kører normalt hurtigere end blokcifre. Med hensyn til hardwarekompleksitet er strømcifere relativt mindre komplekse. Strømcifre er den typiske præference frem for blokciffer, når almindelig tekst er tilgængelig i forskellige mængder (for f.eks. En sikker wifi-forbindelse), fordi blokciffer ikke kan fungere direkte på blokke, der er kortere end blokstørrelsen. Men nogle gange er forskellen mellem strømchiffer og blokciffer ikke særlig klar. Årsagen er, at når man bruger visse driftsformer, kan en blokciffer bruges til at fungere som en strømciffer ved at lade den kryptere den mindste enhed af tilgængelige data.