Hlavný rozdiel medzi blokovou šifrou a prúdovou šifrou spočíva v tom, že bloková šifra šifruje a dešifruje blok textu naraz. Na druhej strane stream šifrovanie šifruje a dešifruje text tým, že naraz berie jeden bajt textu.
Porovnávacia tabuľka
Základ pre porovnanie | Blokovať šifru | Šifrovanie streamu |
---|---|---|
základné | Konvertuje obyčajný text tým, že po sebe blokuje. | Konvertuje text tak, že naraz berie jeden bajt obyčajného textu. |
zložitosť | Jednoduchý dizajn | Komplexný pomer |
Počet použitých bitov | 64 bitov alebo viac | 8 bitov |
Zmätok a difúzia | Používa zmätok a difúziu | Vzťahuje sa len na zmätok |
Režimy algoritmu použité | ECB (elektronický kódový kód) CBC (šifrovanie šifrovacích blokov) | CFB (Cipher Feedback) OFB (výstupná spätná väzba) |
reverzibilita | Reverzácia šifrovaného textu je ťažká. | Používa XOR na šifrovanie, ktoré možno jednoducho prevrátiť do obyčajného textu. |
uskutočnenie | Feistel Cipher | Vernam Cipher |
Definícia blokovej šifry
Bloková šifra preberá správu a rozdelí ju na pevnú veľkosť blokov a konvertuje jeden blok správy okamžite. Napríklad, máme text v textovom riadku "STREET_BY_STREET", ktorý sa vyžaduje na šifrovanie. Pomocou bockovej šifry musí byť najskôr začiarknuté "STREET", potom "_BY_" a nakoniec "STREET".
V skutočnosti sa komunikácia uskutočňuje iba v bitoch. Preto STREET skutočne znamená binárny ekvivalent ASCII znaku STREET. Následne každý algoritmus šifruje tieto; výsledné bity sa transformujú späť na ich ASCII ekvivalent.
Zrejmým problémom týkajúcim sa používania blokových šifier je opakujúci sa text, pre ktorý je generovaná rovnaká šifra. Z toho dôvodu by to naznačovalo kryptanalyzátora, ktorý zjednodušuje rozpoznávanie opakujúcich sa reťazcov obyčajného textu. V dôsledku toho môže odhaliť celú správu.
Na prekonanie tohto problému sa používa reťazový režim . V tejto technike sa predchádzajúci blok šifrového textu zmieša s aktuálnym blokom, takže sa šifrový text nejasný, tým sa zabráni opakovaným vzorom blokov s rovnakým obsahom.
Definícia streamovej šifry
Streamová šifra typicky šifruje jeden bajt správy v danom okamihu namiesto použitia blokov. Vezmime si príklad, predpokladajme , že pôvodná správa (prostý text) je "modrá obloha" v ASCII (tj textový formát). Keď konvertujete tieto ASCII na ekvivalentné binárne hodnoty, dá to výstup vo formáte 0 a 1. Nech je preložený v 010111001.
Pre šifrovanie a dešifrovanie sa používa generátor bitových pseudonáhodných bitov, v ktorom sa načíta kľúč a text. Generátor pseudonáhodných bitov vytvára prúd 8-bitových čísiel, ktoré sú zdanlivo náhodne známe ako keystream . Nech je vstupné tlačidlo 100101011. Teraz je klávesa a otvorený text XORed. Logika XOR je jednoduchá na pochopenie.
XOR produkuje výstup 1, keď jeden vstup je 0 a druhý je 1. Výstup je 0, ak sú oba vstupy 0 alebo obidva vstupy sú 1.
Zmätenosť je metóda, ktorá zaručuje, že šifrovací text neposkytuje žiadnu predstavu o pôvodnom obyčajnom texte.
Difúzia je stratégia používaná na zvýšenie redundancie obyčajného textu tým, že sa šíri cez riadky a stĺpce.
Kľúčové rozdiely medzi blokovou šifrou a streamovou šifrou
- Bloková šifrovacia technika zahŕňa šifrovanie jedného bloku textu naraz, tj jednotlivo. Podobne dešifrovať text tak, že urobíte jeden blok za druhým. Na rozdiel od toho technológia stream šifrovania zahŕňa šifrovanie a dešifrovanie jedného bajtu textu naraz.
- Bloková šifra využíva zmätok a difúziu, zatiaľ čo tok šifry závisí iba na zmätku.
- Zvyčajná veľkosť bloku môže byť 64 alebo 128 bitov v blokovej šifry. Na rozdiel od toho sa v prúdovej šifre prevedie 1 bajt (8 bitov) naraz.
- Bloková šifra využíva režimy algoritmu ECB (elektronický kódový kód) a CBC (šifrovacie blokovanie reťazca) . Naopak šifra Stream používa režimy algoritmov CFB (Cipher Feedback) a OFB (Output Feedback) .
- Streamová šifra používa funkciu XOR na premenu obyčajného textu na šifrovaný text, preto je jednoduché obrátiť bity XORed. Zatiaľ čo bloková šifra nepoužíva XOR na to.
- Bloková šifra používa rovnaký kľúč na šifrovanie každého bloku, zatiaľ čo šifrovanie streamu používa iný kľúč pre každý bajt.
záver:
Block Cipher a Stream Cipher sa líšia v spôsobe, akým je obyčajný text zašifrovaný a dešifrovaný. Myšlienkou blokovej šifry je rozdeliť obyčajný text na bloky, ktoré ďalej šifrujú tieto bloky. Zatiaľ čo tok šifry konvertuje bežný text bitom po bitoch podobne ako tok.