Stream Šifra vs Bloková šifra Stavová šifra vs Bloková šifra
V kryptografii jsou Streamové šifry a Blokové šifry dva šifrovací / dešifrovací algoritmy, které patří do rodiny symetrických šifrovacích klíčů. Šifra obvykle bere jako vstup obyčejný text a jako výstup vytvoří ciphertext. Blokové šifry šifrují blok bitů s pevnou délkou pomocí neměnné transformace. Proudové šifry šifrují toky bitů s různou délkou a používají proměnlivou transformaci na každý bit.
Co je to Stream Cipher?
Streamové šifry patří do rodiny symetrických klíčových šifer. Streamové šifry kombinují bity prostého textu s proudem pseudonáhodných bitů s využitím operace XOR (exkluzivní nebo). Streamové šifry šifrují jednoznačné číslice po jednom s různými transformacemi pro následné číslice. Protože šifrování každé číslice závisí na aktuálním stavu šifrovacího stroje, jsou proudové šifry také známé jako stavové šifry. Obvykle se jednotlivé bity / kousnutí používají jako jednotlivé číslice. Abyste se vyhnuli obavám o zabezpečení, je třeba zajistit, aby stejný výchozí stav nebyl použit více než jednou. Nejpoužívanější proudovou šifrou je RC4.
Co je to bloková šifra?
Bloková šifra je další symetrická klíčová šifra. Blokové šifry pracují na blocích (skupinách bitů) s pevnou délkou. Blokové šifry používají pevnou (neměnnou) transformaci pro všechny číslice v bloku. Například, když je jako vstup do blokového šifrovacího stroje poskytnut prostý text x-bitového bloku (spolu se tajným klíčem), vytvoří odpovídající x-bitový blok šifrového textu. Skutečná transformace závisí na tajném klíči. Podobně dešifrovací algoritmus obnovuje původní x-bitový blok prostého textu pomocí x-bitového bloku ciphertext a výše uvedeného tajného klíče jako vstupu. V případě, že vstupní zpráva je příliš dlouhá ve srovnání s velikostí bloku, bude rozdělena na bloky a tyto bloky budou (jednotlivě) šifrovány stejným klíčem. Protože se však používá stejný klíč, každá opakovaná sekvence v prostém textu se stane stejnou opakovanou sekvencí v šifrovaném textu, což by mohlo způsobit bezpečnostní obavy. Populární blokové šifry jsou DES (Data Encryption Standard) a AES (Advanced Encryption Standard).
Jaký je rozdíl mezi proudovou šifrou a blokovou šifrou?
Ačkoli jak proudové šifry, tak blokové šifry patří do rodiny symetrických šifrovacích šifrů, existují některé klíčové rozdíly. Blokové šifry šifrují bloky bitů s pevnou délkou, zatímco proudové šifry kombinují bity prostého textu s pseudonáhodnými bitovými toky pomocí operace XOR. I když blokové šifry používají stejnou transformaci, proudové šifry používají různé transformace založené na stavu motoru. Streamovací šifry se obvykle provádějí rychleji než blokové šifry. Z hlediska hardwarové složitosti jsou proudové šifry relativně méně složité. Streamovací šifry jsou typickou preferencí před blokovými šifry, když je prostý text dostupný v různých množstvích (například pro bezpečné připojení wifi), protože blokové šifry nemohou pracovat přímo na blocích kratších než je velikost bloků. Ale někdy není rozdíl mezi proudovými šifry a blokovými šifry příliš jasný. Důvodem je to, že při použití určitých režimů provozu může být bloková šifra použita jako šifra proudu tím, že jí umožňuje zašifrovat nejmenší dostupnou jednotku dat.