Šifrovanie streamu vs blok šifry Štátna šifra vs Bloková šifra
V kryptografii sú Streamové šifry a Blokové šifry dva šifrovacie / dešifrovacie algoritmy, ktoré patria do rodiny symetrických šifrovacích kľúčov. Šifra zvyčajne berie ako vstup obyčajný text a vytvára ako výstup šifru. Blokové šifry šifrujú blok bitov s pevnou dĺžkou pomocou nepretržitej transformácie. Prúdové šifry šifrujú toky bitov s rôznou dĺžkou a používajú premenlivú transformáciu na každý bit.
Čo je to prúdová šifra?
Prúdové šifry patria do rodiny symetrických kľúčov. Prúdové šifry kombinujú obyčajný text s pseudonáhodným tokom šifrovacích bitov s použitím operácie XOR (exkluzívny alebo). Šifrovacie prúdy šifrujú číslice obyčajného textu po jednom a meniace sa transformácie za sebou idúcich číslic. Pretože šifrovanie každej číslice závisí od aktuálneho stavu šifrovacieho stroja, prúdové šifry sú známe aj ako stavové šifry. Obvykle sa jednotlivé bity / bity používajú ako jednotlivé číslice. Aby sa predišlo obavám o bezpečnosť, malo by sa zabezpečiť, aby sa ten istý východiskový stav nepoužíval viackrát. Najčastejšie používanou prúdovou šifrou je RC4.
Čo je to bloková šifra?
Bloková šifra je ďalšou symetrickou kľúčovou šifrou. Blokové šifry pracujú na blokoch (skupinách bitov) s pevnou dĺžkou. Blokové šifry používajú pre všetky číslice v bloku pevnú (nemennú) transformáciu. Napríklad, ak je ako vstup do blokového šifra poskytnutý obyčajný text x-bitového bloku (spolu so skrytým kľúčom), vytvorí zodpovedajúci x-bitový blok šifrového textu. Skutočná transformácia závisí od tajného kľúča. Podobne dešifrovací algoritmus obnovuje pôvodný x-bitový blok obyčajného textu pomocou x-bitového bloku šifrového textu a vyššie uvedeného tajného kľúča ako vstupu. V prípade, že vstupná správa je príliš dlhá v porovnaní s veľkosťou bloku, rozdelí sa na bloky a tieto bloky sa (jednotlivo) zašifrujú pomocou rovnakého kľúča. Pretože sa však používa ten istý kľúč, každá opakovaná sekvencia v obyčajnom texte sa stáva rovnakou opakovanou sekvenciou v šifre, čo by mohlo spôsobiť bezpečnostné obavy. Populárne blokové šifry sú DES (Data Encryption Standard) a AES (Advanced Encryption Standard).
Aký je rozdiel medzi prúdovou šifrou a blokovou šifrou?
Hoci prúdové šifry aj blokové šifry patria do rodiny symetrických šifrovacích šifrov, existujú určité kľúčové rozdiely. Blokové šifry šifrujú bloky s pevnou dĺžkou bitov, zatiaľ čo prúdové šifry kombinujú bity prostého textu s pseudonáhodným bitovým tokom bitov pomocou operácie XOR. Aj keď blokové šifry používajú rovnakú transformáciu, prúdové šifry používajú rôzne transformácie založené na stave motora. Prúdové šifry sa zvyčajne vykonávajú rýchlejšie ako blokové šifry. Z hľadiska zložitosti hardvéru sú šifry prúdov relatívne menej zložité. Streamové šifry sú typickou preferenciou pred blokovými šiframi, keď je holý text dostupný v rôznych množstvách (napríklad pre bezpečné pripojenie wifi), pretože blokové šifry nemôžu pracovať priamo na blokoch kratších ako je veľkosť blokov. Rozdiel medzi prúdovými a blokovými šiframi však niekedy nie je celkom jasný. Dôvod je ten, že pri použití určitých režimov prevádzky môže byť bloková šifra použitá ako šifra toku tým, že jej umožňuje šifrovať najmenšiu dostupnú jednotku údajov.