[Prethodno poglavlje]   [Sljedeće poglavlje]   [Sadržaj]


2.6. Još neki moderni blokovni kriptosustavi

U naredna dva poglavlja spomenut ćemo neke kriptosustave koji se koriste kao zamjena za DES, te kriptosustave koji bi trebali i službeno zamijeniti DES. U ovom poglavlju obradit ćemo Trostruki DES (Triple DES, 3DES), IDEA, CAST-128 i RC5, dok ćemo u narednom poglavlju reći nešto o finalistima natječaja za nasljednika DES-a.

Prije nego što kažemo nešto o Trostrukom DES-u, odgovorimo na pitanje zašto se ne koristi "Dvostruki DES". Kod Dvostrukog DES-a bi svaki blok šifrirali dvaput, s dva različita ključa K i L:

y = eL(eK(x)),
x = dK(dL(y)).

Kako smo već napomenuli, DES nije grupa, pa se čini da smo ovako dobili znatno sigurniji kriptosustav. Međutim, postoji nešto što se zove napad "susret u sredini", koji je opisao Diffie 1977. godine. Pretpostavimo da je poznat jedan par otvoreni tekst-šifrat (x,y). Šifriramo x sa svih 256 mogućih ključeva K. Spremimo rezultate u tablicu i sortiramo ih po vrijednostima od z = eK(x). Zatim dešifriramo y koristeći svih 256 mogućih ključeva L. Nakon svakog dešifriranja, potražimo rezultat u tablici. (Naime, treba vrijediti z = dL(y).) Ako ga pronađemo, onda tako dobiveni par (K,L) testiramo na sljedećem poznatom paru otvoreni tekst-šifrat. Ako prođu taj test, prihvaćamo ih za korektne ključeve. Vjerojatnost da smo pogriješili je 2112-64-64 = 2-16. Na taj način dobivamo da je za razbijanje Dvostrukog DES-a broj operacija reda 256, što je neznatno više nego za obični DES.

Jedna od najpopularnijih zamjena za DES je Trostruki DES (koriste se još i nazivi Triple DES i 3DES):

y = eM(dL(eK(x))),
x = dK(eL(dM(y))).

Ovdje je ključ duljine 56 · 3=168 bitova. Često se koristi i verzija u kojoj je M = K, pa je u njoj duljina ključa 56 · 2=112, no za nju postoje neki, još uvijek nedovoljno praktični napadi, koji koriste njezinu specifičnu strukturu. Razlog za kombinaciju "ede" je kompatibilnost s običnim DES-om: dovoljno je staviti L = M ili K = L. Za Trostruki DES broj operacija kod napada "susret u sredini" je reda 2112 ≈ 5 · 1033 dok je kod diferencijalne kriptoanalize procijenjen na 1052. Možemo reći da je sigurnost kod trostrukog šifriranja upravo onakva kakvu bismo možda naivno očekivali kod dvostrukog. U svakom slučaju, sigurnost 3DES-a je danas i više nego zadovoljavajuća.


IDEA (International Data Encryption Algorithm) je kriptosustav koji su razvili švicarski kriptografi Xuejia Lai i James Massey s ETH Zürich. Prvu verziju zvanu PES (Proposed Encryption Standard) su objavili 1990. Međutim, taj kriptosustav nije bio otporan na diferencijalnu kriptoanalizu (za 128-bitni ključ je trebalo 264 operacija), pa su nakon Biham-Shamirovog otkrića, autori 1992. godine prepravili algoritam i nazvali ga IDEA.

IDEA koristi 128-bitni ključ za šifriranje 64-bitnih blokova otvorenog teksta. Koristi tri operacije na 16-bitnim podblokovima:

Množenje se ovdje može smatrati analogonom S-kutija u DES-u. Modul 216+1 je odabran zbog efikasnije implementacije modularnog množenja. Ove tri operacije su inkompatibilne, u smislu da nikoje dvije ne zadovoljavaju zakone asocijativnosti i distributivnosti. IDEA ima 8 rundi i završnu transformaciju. U njima se koristi 52 16-bitnih međuključeva generiranih pomoću polaznog 128-bitnog ključa.

idea


CAST-128 (koristi se još i naziv CAST5) su dizajnirali kanadski kriptografi Carlisle Adams i Stafford Taraves 1993. godine. CAST šifrira 64-bitne blokove otvorenog teksta koristeći ključ čija duljina može varirati od 40 do 128 bitova. CAST je, isto kao i DES, primjer Feistelove šifre sa 16 rundi. Dvije su razlike od klasične Feistelove šifre:
  1. dva međuključa u svakoj rundi: 32-bitni Kmi i 5-bitni Kri;
  2. funkcija f ovisi o rundi.
Osnovne operacije u CAST-u su: Skica jedne CAST-128 runde:

CAST-128

U ovisnosti o rundama, imamo:

       runda              f1i     f2i    f3i    f4i
-----------------------------------------------------------------
 1, 4, 7, 10, 13, 16       +     XOR     -      + 
-----------------------------------------------------------------
   2, 5, 8, 11, 14        XOR     -      +     XOR
-----------------------------------------------------------------
   3, 6, 9, 12, 15         -      +     XOR     -
-----------------------------------------------------------------      



RC5 algoritam je izumio Ron Rivest 1994. godine. Zapravo to je cijela familija algoritama određena s tri parametra:
      w - duljina riječi u bitovima = 16, 32, 64
      r - broj rundi = 0, 1, ... , 255
      b - broj bajtova u ključu = 0, 1, ... , 255
Obično se koristi verzija sa w = 32, r = 12, b = 12.

Osnovne operacije u RC5 su:

U šifriranju se koristi 2r+2 32-bitnih riječi S0, S1, ... , S2r+1 koje ovise o ključu K. Najprije se ključ K0...Kb-1 od b bajtova prebaci u niz od c riječi M0...Mc-1 (ako b nije višekratnik od w, onda se dodaju nule). Zatim se Si-ovi inicijaliziraju koristeći pseudoslučajne veličine

Pw = Odd [(e - 2) 2w],     Qw = Odd [(φ - 1) 2w],

gdje je e baza prirodnog logaritma, φ = (1 + √5)/2 omjer zlatnog reza, a funkcija Odd zaokruživanje na najbliži neparni broj. Za w = 32 je Pw = B7E15163, Qw = 9E3779B9.

Inicijalizacija:   S = Pw, Si = Si-1 + Qw, i = 1, 2, ... , 2r+1.
Procedura:
      i = j = X = Y = 0, n = 3 max (2r+2, c)
      do 3n times
          Si = (Si + X + Y) <<< 3, X = Si, i = i + 1 (mod 2r+2),
          Mj = (Mj + X + Y) <<< (X + Y), Y = Mj, j = j + 1 (mod c).

Kod šifriranja, najprije podijelimo blok otvorenog teksta na dvije w-bitne riječi A i B. Zatim se primjeni algoritam:

      L0 = A + S0, R0 = B + S1,
      for i = 1 to r do
          Li = ((Li-1Ri-1) <<< Ri-1) + S2i
          Ri = ((Ri-1Li) <<< Li-1) + S2i+1.

RC5

Primijetimo da se u svakoj rundi mijenjaju obje polovice podatka. Stoga se jedna runda RC5 može na neki način smatrati ekvivalentom za dvije runde DES-a. To donekle objašnjava zašto RC5 s 12 rundi postiže slične efekte za koje je 3DES-u potrebno čak 48 rundi.

Naziv RC5 sugerira da je to jedan iz niza kriptosustava (RC dolazi od "Rivest Cipher"). Zaista, postoje RC2, RC4 i RC6 kripotsustavi (RC1 i RC3 su bile radne verzije). Dok su RC2 i RC6 slični RC5, kriptosustav RC4 je drukčijeg tipa i predstavlja jednu od najpoznatijih protočnih šifri.


[Prethodno poglavlje]   [Sljedeće poglavlje]   [Sadržaj]
Web stranica kolegija Kriptografija Andrej Dujella - osobna stranica