Jedna od važnih povijesnih primjena DES-a bila je u bankarskim transakcijama. Tako se, između ostalog, DES koristio za šifriranje PIN-ova (personal identification numbers), te transakcija preko bankomata. DES je dugo bio u uporabi i u nekim civilnim satelitskim komunikacijama.
Mi smo do sada opisali kako radi DES na jednom bloku od 64 bita.
U realnim situacijama, u kojima su poruke znatno duže, poznata
su 4 načina djelovanja (modes of operation) DES-a:
ECB, CBC, CFB i OFB.
Ti se modovi mogu primijeniti i na druge simetrične blokovne šifre.
Kasnije su uvedeni i drugi modovi, među kojima je posebno važan CTR.
Najjednostavniji mod je ECB (Electronic Codebook) u kojem se svaki blok otvorenog teksta šifrira s istim ključem. Dakle, poruka se razbije na blokove od po 64 bita (zadnji blok se nadopuni ako je nužno), te se šifrira jedan po jedan blok koristeći uvijek jedan te isti ključ.
Da bi povećali sigurnost, želimo postići da identičnim blokovima u
otvorenom tekstu odgovaraju različiti šifrati. Relativno jednostavan
način da se to postigne je korištenje CBC (Cipher Block Chaining) moda.
Na trenutni blok otvorenog teksta se primijeni operacija XOR sa
šifratom prethodnog bloka, a tek potom se šifrira pomoću ključa
K.
Dakle,
U šifriranje krećemo šifriranjem 64-bitnog inicijalizirajućeg vektora IV. Na j najlijevijih bitova izlaznog podatka primijenimo XOR sa x1 i tako dobijemo y1. Ulazni podatak za sljedeći korak šifriranja se dobije tako da se prethodni ulazni podatak pomakne za j mjesta ulijevo, a na desni kraj se stavi y1. Postupak se nastavlja sve dok se sve jedinice otvorenog teksta ne šifriraju.
OFB (Output Feedback) mod je vrlo sličan kao CFB. Jedina razlika je da se ulazni podatak za funkciju eK u idućem koraku šalje odmah nakon primjene eK u prethodnom koraku (prije primjene XOR-a). Jedna od prednosti OFB moda je da se greške u transmisiji ne propagiraju. Npr. greška u y1 utječe samo na x1. Ovaj mod se često koristio u šifriranje poruka sa satelita. No, ovo svojstvo može biti i nedostatak. Sami modovi CBC i CFB ne osiguravaju automatski vjerodostojnost odnosno integritet poruke. Za to se koriste dodatni mehanizmi, poput MAC-a; primjerice, iz CBC konstrukcije može se izvesti CBC-MAC uz odgovarajuće uvjete.
Pored ova četiri (klasična) načina djelovanja, u posljednje je vrijeme sve
popularniji CTR (Counter) mod. U njemu se koristi niz brojača (engl. counters)
yi = xi ⊕ eK(ci).
Brojači koji se koriste s istim ključem moraju biti u parovima različiti. Obično se to postiže tako da se brojaču c1 pridruži neka inicijalna vrijednost, a potom se ostali brojači povećavaju za 1:Za razliku od prethodna tri "ulančana" (chaining) moda, u CTR modu se šifriranje (i dešifriranje) može lako paralelizirati. Kod ulančanih modova je to bio problem, jer je algoritam morao završiti obradu jednog bloka, da bi prešao na naredni. To pokazuje još jednu prednost CTR moda, a to je mogućnost dešifriranja samo jednog određenog bloka, što može biti zanimljivo za neke primjene. Slično kao kod CFB i OFB modova, i ovdje se u dešifriranju ponovno koristi funkcija eK (a ne dK). Ovo nije neka posebna prednost kod DES-a, ali može biti relevantno kod blokovnih kriptosustava kod kojih algoritam dešifriranja nije doslovno isti kao algoritam šifriranja (npr. AES).
| Web stranica kolegija Kriptografija | Andrej Dujella - osobna stranica |