Ajánlott, 2024

Szerkesztő Választása

A különbség a Cipher és a Stream Cipher között

A Block Cipher és a Stream Cipher olyan módszer, amelyet a sima szöveg konvertálására használnak közvetlenül, és amelyek a szimmetrikus kulcs titkok családjához tartoznak.

A blokk-titkosító és az adatfolyam-kódoló közötti fő különbség az, hogy a blokk titkosítás egyszerre titkosítja és dekódolja a szöveg tömbjét. Másrészt a patak titkosítás titkosítja és dekódolja a szöveget a szöveg egy bájtjával egyidejűleg.

Összehasonlító táblázat

Az összehasonlítás alapjaBlokk titkosításPatak titkosítás
Alapvető
Egyszerre konvertálja a sima szöveget.
Egyszerre konvertálja a szöveget az egyszerű szöveg egy bájtjával.
Bonyolultság
Egyszerű kialakítás
Összehasonlítva komplex
A használt bitek száma
64 vagy annál több bit
8 bit
Zavartság és diffúzió
Zavart és diffúziót használCsak zavartól függ
Az alkalmazott algoritmus módok
EKB (elektronikus kódkönyv)
CBC (Cipher Block Chaining)
CFB (Cipher Feedback)
OFB (kimeneti visszajelzés)
megfordíthatóság
A titkosított szöveg megfordítása nehéz.
A titkosításhoz XOR-t használ, amely könnyen megfordítható a sima szövegre.
Végrehajtás
Feistel Cipher
Vernam Cipher

A Block Cipher meghatározása

A Cipher blokk egy üzenetet vesz fel, és egy meghatározott méretű blokkokra bontja, és az üzenet egy blokkját egy pillanat alatt átalakítja. Például van egy üzenet a „STREET_BY_STREET” egyszerű szöveges titkosításhoz. A bock titkosítás használatával először a „STREET” kódot kell titkosítani, majd ezt követően „_BY_” és végül „STREET”.
A gyakorlatban a kommunikáció csak bitekben történik. Ezért a STREET valójában a STREET ASCII karakterének bináris egyenértékét jelenti. Ezt követően minden algoritmus titkosítja ezeket; az eredményül kapott bitek visszaállnak az ASCII-egyenértékbe.

A blokk-titkok használatával kapcsolatban nyilvánvaló probléma, hogy megismétli a szöveget, amelyhez ugyanazt a titkot generáljuk. Ezért a cryptanalyst-nak egy tippet adna, ami megkönnyíti az egyszerű szövegek ismétlődő karakterláncainak kitalálását. Ennek eredményeként feltárhatja az egész üzenetet.

Ennek a problémának a leküzdése érdekében a láncolási módot használjuk. Ebben a technikában a titkosított szöveg előző blokkját összekeverjük az aktuális mondattal, így a titkosított szöveg homályos, így elkerülhető az azonos tartalmú blokkok ismétlődő mintái.

A Stream Cipher meghatározása

A Stream Cipher jellemzően titkosítja az üzenet egy bájtját a blokkok használata helyett. Vegyünk példát, tegyük fel , hogy az eredeti üzenet (egyszerű szöveg) ASCII-ben „kék ég” (azaz szöveges formátum). Amikor ezeket az ASCII-t egyenértékű bináris értékekké konvertálja, 0 és 1 formátumban adja meg a kimenetet. Legyen 010111001 lefordítva.

Titkosításhoz és dekódoláshoz pszeudorandum bit generátort használunk, amelyben egy kulcs és egy egyszerű szöveg van betöltve. A pszeudorandum-bit generátor 8 bites számfolyamot hoz létre, amelyek látszólag véletlenszerűen ismertek, mint keystream . Hagyja, hogy a beviteli kulcs 100101011 legyen. Most a XORed kulcs és a szöveges szöveg. Az XOR logika könnyen érthető.
Az XOR 1 kimenetet termel, ha egy bemenet 0, a másik pedig 1. A kimenet 0, ha mindkét bemenet 0 vagy mindkét bemenet 1.

A zavartság olyan módszer, amely garantálja, hogy a titkosított szöveg nem ad nyomot az eredeti egyszerű szövegről.
A diffúzió olyan stratégia, amelyet a sima szöveg redundanciájának növelésére használnak a sorok és oszlopok között.

Kulcsfontosságú különbségek a Block Cipher és a Stream Cipher között

  1. A blokk titkosítási technikája egy szövegblokk titkosítását jelenti egyszerre, azaz egyedül. Hasonlóképpen dekódolja a szöveget úgy, hogy egy blokkot vesz fel a másik után. Ezzel ellentétben a Stream titkosítás technikája egy szöveges bájt titkosítását és dekódolását jelenti egyszerre.
  2. A blokk titkosítás zavart és diffúziót használ, míg az adatfolyam titkossága csak a zavartól függ.
  3. A blokk szokásos mérete 64 vagy 128 bit lehet a blokk titkosításban. Ezzel szemben 1 bájt (8 bit) egyszerre alakul át az adatfolyam-kódolóban.
  4. A blokk titkosítás az EKB (Elektronikus kódkönyv ) és a CBC (Cipher Block Chaining) algoritmus módokat használja. Éppen ellenkezőleg, a Stream titkosítás CFB (Cipher Feedback) és OFB (Output Feedback) algoritmus üzemmódokat használ.
  5. A Stream-kódoló az XOR-funkciót használja a sima szöveg titkosított szöveggé konvertálására, ezért az XOR-biteket könnyen meg lehet fordítani. Míg a blokk titkosítás nem használja az XOR-t.
  6. A blokk titkosítása ugyanazt a kulcsot használja minden egyes blokk titkosításához, míg az adatfolyam-kódoló minden egyes bájthoz egy másik kulcsot használ.

Következtetés:

A Block Cipher és a Stream Cipher különbözik attól, ahogyan a sima szöveg titkosítva és dekódolva van. A blokk titkosításának az az ötlete, hogy a sima szöveget tömbökre osztjuk, és ezeket a blokkokat tovább titkosítjuk. Míg az adatfolyam-kódolás a szöveges szöveget kicsit hasonlít az adatfolyamhoz hasonlóan.

Top