Hlavní rozdíl mezi blokovou šifrou a proudovou šifrou je, že bloková šifra šifruje a dešifruje blok textu najednou. Na druhé straně, šifrování proudu zašifruje a dešifruje text tím, že vezme jeden bajt textu najednou.
Srovnávací graf
Základ pro srovnání | Bloková šifra | Proudová šifra |
---|---|---|
Základní | Převede prostý text najednou jeho blokem. | Převede text najednou na jeden bajt prostého textu. |
Složitost | Jednoduchý design | Komplexně poměrně |
Počet použitých bitů | 64 bitů nebo více | 8 bitů |
Zmatek a difúze | Používá jak zmatenost, tak difúzi | Opírá se pouze o zmatek |
Použité algoritmické režimy | ECB (Elektronická kniha kódů) CBC (Cipher Block Chaining) | CFB (Cipher Feedback) OFB (Výstupní zpětná vazba) |
Reverzibilita | Obrácení zašifrovaného textu je těžké. | Používá XOR pro šifrování, které lze snadno převrátit na prostý text. |
Implementace | Feistelova šifra | Šifra Vernam |
Definice blokové šifry
Bloková šifra vezme zprávu a rozdělí ji na pevnou velikost bloků a okamžitě převede jeden blok zprávy. Máme například zprávu, která musí být zašifrována pomocí prostého textu „STREET_BY_STREET“. Pomocí bockové šifry musí být „STREET“ nejdříve zašifrováno, následováno znakem „_BY_“ a nakonec posledním „STREET“.
Ve skutečné praxi probíhá komunikace pouze v bitech. STREET tedy ve skutečnosti znamená binární ekvivalent ASCII znaku STREET. Všechny algoritmy je následně zašifrují; výsledné bity jsou transformovány zpět do jejich ekvivalentu ASCII.
Zřetelným problémem při použití blokových šifer je opakování textu, pro který je generována stejná šifra. Z toho důvodu by to dalo nápovědu kryptoanalytikovi, který usnadňuje zjištění opakujících se řetězců prostého textu. V důsledku toho může odhalit celou zprávu.
K překonání tohoto problému se používá režim zřetězení . V této technice je předcházející blok šifrovaného textu smíšen s aktuálním blokem, takže pokud jde o vágní text, tak se vyhnete opakujícím se vzorům bloků se stejným obsahem.
Definice proudové šifry
Stream Cipher obvykle šifruje v daném okamžiku místo bajtu jeden bajt zprávy. Vezměme si příklad, předpokládejme , že původní zpráva (prostý text) je „modrá obloha“ v ASCII (tj. Textový formát). Když tyto ASCII převedete na ekvivalentní binární hodnoty, vydá výstup ve tvaru 0 a 1. Nechť je přeložena v 010111001.
Pro šifrování a dešifrování se používá generátor pseudonáhodných bitů, ve kterém je načten klíč a prostý text. Generátor pseudonáhodných bitů vytváří proud 8-bitových čísel, které jsou zdánlivě náhodné známé jako keystream . Nechť je vstupní klíč 100101011. Nyní je klíč a prostý text XORed. Logika XOR je jednoduchá na pochopení.
XOR produkuje výstup 1, když jeden vstup je 0, a druhý je 1. Výstup je 0, pokud oba vstupy jsou 0 nebo oba vstupy 1.
Zmatek je metoda, která garantuje, že text šifry nedává žádnou informaci o původním prostém textu.
Rozptýlení je strategie, která se používá ke zvýšení redundance prostého textu jeho šířením napříč řádky a sloupci.
Klíčové rozdíly mezi blokovou šifrou a proudovou šifrou
- Technika blokové šifry zahrnuje šifrování jednoho bloku textu najednou, tj. Jednotlivě. Podobně text dešifrujte po jednom bloku za druhým. Naproti tomu technika šifrování datového toku zahrnuje šifrování a dešifrování jednoho bajtu textu najednou.
- Bloková šifra používá jak zmatek, tak šíření, zatímco proudová šifra se spoléhá pouze na zmatek.
- Obvyklá velikost bloku může být 64 nebo 128 bitů v blokové šifře. Jako proti, 1 bajt (8 bitů) najednou je převeden v proudové šifře.
- Bloková šifra používá režimy algoritmu ECB (Elektronická kniha kódů) a CBC (Cipher Block Chaining) . Naopak, Stream cipher používá režimy CFB (Cipher Feedback) a OFB (Output Feedback) .
- Streamová šifra používá funkci XOR pro převod prostého textu na šifrovaný text, což je důvod, proč je snadné vrátit bit XORed. Zatímco bloková šifra k tomu nepoužívá XOR.
- Bloková šifra používá stejný klíč k zašifrování každého bloku, zatímco proudová šifra používá pro každý bajt jiný klíč.
Závěr:
Bloková šifra a Streamová šifra se liší ve způsobu šifrování a dešifrování prostého textu. Myšlenkou blokové šifry je rozdělit prostý text do bloků, které tyto bloky dále zašifrují. Zatímco proudová šifra konvertuje prostý text bit po bitu podobně jako stream.