
Peamine erinevus ploki šifri ja voo šifri vahel on see, et ploki šifreerib ja blokeerib korraga teksti ploki. Teisest küljest krüpteerib ja krüpteerib voo šifreerimine teksti, võtes korraga teksti ühe baiti.
Võrdluskaart
Võrdluse alus | Blokeeri salakiri | Striimimine |
---|---|---|
Põhiline | Teisendab lihtteksti, võttes selle ploki korraga. | Teisendab teksti, võttes ühe lihtsa teksti baiti korraga. |
Keerukus | Lihtne disain | Complex suhteliselt |
Kasutatavate bittide arv | 64 bitti või rohkem | 8 bitti |
Segadus ja difusioon | Kasutab nii segadust kui difusiooni | Viitab ainult segadusele |
Kasutatud algoritmi režiimid | EKP (elektroonilise koodi raamat) CBC (Cipher Block Chaining) | CFB (tagasiside) OFB (väljundi tagasiside) |
Pöörduvus | Krüpteeritud teksti tagasikäik on raske. | See kasutab krüpteerimiseks XOR-i, mida saab lihtsalt teksti muuta. |
Rakendamine | Feistel Cipher | Vernam Cipher |
Block Cipheri määratlus
Blokeeri Cipher võtab sõnumi ja katkestab selle kindla suurusega plokkidena ning teisendab sõnumi ühe ploki kohe. Näiteks meil on sõnum tavalise tekstiga „STREET_BY_STREET”, mida on vaja krüpteerida. Bock-šifri abil tuleb kõigepealt krüptida „STREET”, millele järgneb “_BY_” ja lõpuks „STREET”.
Tegelikkuses toimub suhtlemine ainult bittides. Seetõttu tähendab STREET tegelikult STREETi ASCII märgi binaarset ekvivalenti. Seejärel krüpteerib iga algoritm need; saadud bitid muundatakse tagasi oma ASCII ekvivalendiks.
Blokeeritavate šifrite kasutamisega kaasnev ilmne probleem on teksti kordamine, mille jaoks genereeritakse sama salakiri. Seega annaks see krüptoanalüsaatorile vihje, mis teeb lihtsama selgeks lihtteksti korduvate stringide leidmise. Selle tulemusena võib see paljastada kogu sõnumi.
Selle probleemi lahendamiseks kasutatakse aheldamise režiimi . Selles meetodis segatakse eelmine šifreerimistekst praeguse plokiga, nii et šifriteksti jaoks on see ebamäärane, vältides sama sisu sisaldavate plokkide korduvaid mustreid.
Stream Cipheri määratlus
Stream Cipher tavaliselt krüpteerib ühe baidi sõnumist plokkide asemel. Võtame näiteks, oletame, et algne sõnum (tavaline tekst) on ASCII-s „sinine taevas“ (st tekstivormingus). Kui teisendate need ASCII-d samaväärseteks binaarseteks väärtusteks, annab see väljundi 0 ja 1 vormis. Olgu see tõlgitud 010111001.

Krüpteerimise ja dekrüpteerimise jaoks kasutatakse pseudorandom-bitigeneraatorit, milles laaditakse klahv ja lihttekst. Pseudorandom-bitigeneraator loob 8-bitiste numbrite voo, mis on näiliselt juhuslikult tuntud kui võtmevoog . Laske sisendvõtmel olla 100101011. Nüüd on võti ja lihttekst XORed. XOR-loogika on lihtne mõista.
XOR toodab väljundit 1, kui üks sisend on 0 ja teine on 1. Väljundiks on 0, kui mõlemad sisendid on 0 või mõlemad sisendid on 1.
Segadus on meetod, mis tagab, et šifreeritekst ei anna algteksti lihtsaid vihjeid.
Difusioon on strateegia, mida kasutatakse lihtteksti koondamise suurendamiseks, levitades seda ridade ja veergude vahel.
Peamised erinevused ploki Cipher ja Stream Cipher vahel
- Blokeerimise krüptimismeetod hõlmab ühe tekstiploki krüpteerimist korraga, st üksikult. Samamoodi dekrüpteerida tekst, võttes ühe ploki teise järel. Seevastu Streami šifreerimistehnika hõlmab ühe baidi korraga krüpteerimist ja dekrüpteerimist.
- Blokeerimissümbol kasutab nii segadust kui difusiooni, samal ajal kui voolutunnistus tugineb ainult segadusele.
- Ploki tavapärane suurus võib olla ploki šifris 64 või 128 bitti. Vastupidi, 1 bait (8 bitti) korraga teisendatakse voosümboliks.
- Blokeerimiskood kasutab EKP (elektroonilise koodiraamatu ) ja CBC (Cipher Block Chaining) algoritmi režiime. Vastupidi, Stream šifreerimisel kasutatakse CFB (Cipher Feedback) ja OFB (Output Feedback) algoritmi režiime.
- Striimifail kasutab XOR-funktsiooni lihtteksti teisendamiseks šifreeritavaks tekstiks, mistõttu on XOR-bittide vahetamine lihtne. Blokeerimissümbol ei kasuta selleks XOR-i.
- Blokeerimiskood kasutab iga võtme krüpteerimiseks sama võtit, samas kui voo šifreerimisel kasutatakse iga baiti jaoks erinevat võtit.
Järeldus:
Blokeeri Cipher ja Stream Cipher erinevad selles, kuidas tavaline tekst on krüpteeritud ja dekrüpteeritud. Blokeerimiskoodi idee on jagada lihttekst plokkidesse, mis krüpteerivad neid plokke veelgi. Kuigi voo šifreerimine teisendab lihtteksti natuke sarnaselt vooga.