Kakšna je razlika med pretočnimi in blokovnimi šiframi?
Šifra je niz matematičnih pravil ali algoritmov, ki se uporabljajo za pretvorbo berljivega besedila ali navadnega besedila v neberljivo besedilo ali šifrirano besedilo. Glavna razlika med pretočnimi in blokovnimi šiframi je v tem, da pretočne šifre delujejo na tokovih besedila, en bit ali en bajt naenkrat, medtem ko blokovne šifre delujejo na blokih besedila.
Stream Cipher
Osnovna ideja tokovne šifre je razdelitev besedila na majhne bloke, dolge en bit ali en bajt, in kodiranje vsakega bloka glede na številne prejšnje bloke. Pretočne šifre uporabljajo drugačen šifrirni ključ -- vrednost, ki jo je treba vnesti v algoritem -- za vsak bit ali bajt, tako da isti bit ali bajt vsakič, ko je šifriran, ustvari drugačno šifrirano besedilo. Nekatere tokovne šifre uporabljajo generator toka ključev, ki ustvari naključen ali skoraj naključen tok bitov. Šifra izvede logično operacijo, znano kot izključni ALI, med biti v toku ključev in biti v odprtem besedilu, da ustvari šifrirano besedilo.
Šifra blokov
Osnovna ideja blokovne šifre je razdeliti besedilo v relativno velike bloke, običajno dolge 64 ali 128 bitov, in kodirati vsak blok posebej. Isti šifrirni ključ se uporablja za vsak blok in šifrirni ključ je tisti, ki določa vrstni red, v katerem se na vsakem bloku izvajajo zamenjave, transport in druge matematične funkcije. Močni algoritmi pomenijo, da je povratno inženirstvo šifre ali določanje, katere funkcije so bile izvedene na posameznem bloku in v kakšnem vrstnem redu, praktično nemogoče.
Razširjenost in zmeda
Bločne šifre uporabljajo tehnike, znane kot zmeda in difuzija, za šifriranje navadnega besedila v šifrirano besedilo. Ideja za zmedo je narediti razmerje med šifrirnim ključem in šifriranim besedilom čim bolj zapleteno. V idealnem primeru bi moral vsak znak v šifrirnem ključu vplivati na vsak znak v šifriranem besedilu. Nasprotno pa difuzija razširi vpliv vsakega znaka v odprtem besedilu na več znakov v šifriranem besedilu, zaradi česar je šifra manj dovzetna za statistične napade.
Prednosti in slabosti
Dejstvo, da pretočne šifre šifrirajo in dešifrirajo podatke en bit naenkrat, pomeni, da so še posebej primerne za aplikacije strojne opreme v realnem času, kot so avdio in video aplikacije. Pretočne šifre so šibkejše in manj učinkovite kot blokovne šifre, ko gre za programske aplikacije in se redkeje uporabljajo na tem področju. Bločne šifre je lažje implementirati v programsko opremo, ker šifrirajo podatke v blokih dolžine, ki jo programska oprema že uporablja. Šifrirni ključ je pogosto enake dolžine kot velikost bloka.