Sunteți pe pagina 1din 287

1

Acest citat stabilete motivul pentru care vrem s studiem aceste probleme.

2
Cerinele securitii informaiei n cadrul organizaiilor au trecut prin dou
schimbri majore n ultimele decade. naintea utilizrii pe scar larg a
echipamentelor pentru procesarea datelor, securitatea informaiei (considerat
de valoare pentru o organizaie) era oferit n primul rnd prin mecanisme
fizice (de ex. dulapuri metalice ncuiate) i administrative (proceduri sofisticate
de verificare a personalului la angajare)
Creterea utilizrii calculatoarelor a implicat nevoia unor unelte automatizate
pentru protejarea i fiierelor i a altor informaii stocate pe aceste
calculatoare. Aceast situaie este n mod expres n cazul sistemelor partajate,
cum ar fi un sistem cu acces temporal partajat, i chiar mai mult n cazul
sistemelor ce pot fi accesate prin reele de comunicaie publice (reele de date
sau Internet)
A doua schimbare major care a afectat securitatea informaiei este apariia
sistemelor distribuite i folosirea reelelor i a mijloacelor de comunicaie
pentru transferul de datelor de la terminalul utilizator la calculator i pentru de
la un calculator la altul.
E nevoie de msuri de securitate a reelelor pentru a proteja datele n timp ce
sunt transmise.

3
Aici sunt cteva definiii. Dup cum se poate observa diferenele dintre aceste
noiuni sunt destul de vagi.

4
Se detaliaz obiectivele cursului, i anume Securitatea internet msuri
pentru descurajarea, prevenirea, detectarea i corectarea atacurilor de
securitate care implic transmisia i stocarea informaiei.

5
Cu timpul atacurile devin mai sofisticate.
Cunotinele i priceperile necesare pentru a efectua un atac devin mai mici.

6
Pentru a evalua n mod efectiv nevoile de securitate ale unei organizaii i
pentru a evalua i alege diferite produse i politici de securitate, persoana
responsabil cu securitatea are nevoie de modaliti sistematice de definire a
cerinelor de securitate i pentru caracterizarea abordrilor de satisfacere a
acelor cerine. Aceasta este destul de dificil ntr-un mediu centralizat de
procesare a datelor; folosirea reelelor locale i globale, problema devine i
mai complicat. Recomandrile ITU-T X.800, Arhitectur de securitate pentru
OSI, definete o astfel de abordare sistematic. Arhitectura de securitate OSI
este util pentru managerii de securitate ca o modalitate de organizare a
sarcinilor de oferire a securitii.

7
Arhitectura OSI se concentreaz pe atacuri, mecanisme i servicii de
securitate. Aceste pot fi definite astfel:
Atac de securitate: Orice aciune care compromite securitatea informaiei
deinut de o organizaie.
Mecanism de securitate: Un proces (sau dispozitiv care nglobeaz un astfel
de proces) care este proiectat pentru a detecta,, preveni sau pentru a reveni la
starea iniial dup un atac de securitate.
Serviciu de securitate: Un serviciu de procesare sau comunicaie care
mrete securitatea sistemelor de procesare a datelor i transferurile de
informaie ale unei organizaii. Rolul serviciilor este de a preveni atacurile de
securitate i acestea folosesc unul sau mai multe mecanisme de securitate
pentru a oferi serviciul.

8
Stallings Tabel 1.1 pentru definiiile noiunilor de ameninare i atac.

9
Avem atacuri pasive care ncearc s afle sau s utilizeze informaia din
sistem fr a afecta resursele sistemului.
Prin ascultarea liniilor de comunicaie sau prin monitorizarea transmisiei
adversarul:
+ poate obine coninutul mesajelor (aa cum se vede n figur), sau
+ poate monitoriza traficul din reea
Sunt dificil de detectat pentru c nu implic modificarea datelor.

10
Exist i atacuri active care ncearc s modifice resursele sistemului sau s afecteze
operarea normal.
Prin modificarea fluxului de date:
+ o entitate mascaradeaz alta
+ reia mesaje transmise anterior (aa cum se vede n figur)
+ modific mesajele aflate n tranzit
+ denial of service
Atacurile active au caracteristici opuse atacurilor pasive. Atacurile pasive sunt
greu de detectat, exist n schimb msuri de prevenire a lor. Pe de alt parte,
este dificil de a preveni atacurile active, deoarece exist o mare varietate de
vulnerabiliti poteniale la nivel fizic, software i reea. Scopul este de a
detecta atacurile active i de a reveni din orice ntrerupere sau ntrziere
cauzate de acestea.

11
Care este rolul unui serviciu de securitate i de ce este nevoie.
De observat asemnrile i diferenele fa de documentele pe hrtie
tradiionale, care de exemplu:
au semnturi i date;
necesit protecie fa de dezvluire, modificare neautorizat i
distrugere;
pot fi jurnalizate;
pot fi nregistrate sau liceniate

12
Cteva definiii pentru servicii de securitate din standarde relevante.
X.800 definete serviciul de securitate ca un serviciu oferit de un nivel al
protocolului de comunicaie ntre sisteme deschise, care asigur securitate
adecvat pentru sistem sau pentru transferurile de date.

O definiie mai clar se gsete n RFC 2828, care ofer urmtoarea definiie:
un serviciu de procesare sau comunicaie care este oferit de un sistem pentru
a da un anumit tip de protecie resurselor sistemului; serviciile de securitate
implementeaz politici de securitate i sunt implementate de mecanismele de
securitate.

13
Lista include serviciile de securitate clasice care sunt discutate n mod
tradiional.
De observat c exist o ambiguitate n ceea ce privete nelesul acestor
termeni i utilizarea unora se suprapune.
tallings Tabel 1.2 detalii asupra celor 5 categorii de servicii de securitate
categories i cele 14 servicii specifice date n X.800.

14
Mecanism de securitate = mijlocul specific prin care sunt implementate
serviciile de securitate.
Aceste mecanisme acoper o serie de componente tehnice, dar un aspect
care apare n multe din ele este folosirea tehnicilor criptografice.

15
Cteva exemple de mecanisme din X.800.
Mecanismele de securitate specifice sunt specifice nivelurilor protocoalelor,
spre deosebire de cele generale.
Unele mecanisme le vom detalia n leciile urmtoare.
Stallings Tabel 1.3 detalii ale acestor mecanisme X.800, Tabel 1.4 pentru
legturile dintre serviciile i mecanismele de securitate.

16
n considerarea locului criptrii este util s se foloseasc urmtoarele dou
modele.

Primul (cel din figur), modeleaz transmiterea informaiei printr-un canal de


comunicaie nesigur, n prezena unui posibil adversar. Prin urmare se poate
folosi o transformare de securitate (algoritm de criptare), cu o cheie
potrivit (cheia ajunge n posesia celor dou entiti prin implicarea terului de
ncredere).

17
Din acest model general rezult c sunt patru sarcini generale ce trebuie
realizate pentru a proiecta un anumit serviciu de securitate.

18
Al doilea model (figura de mai sus), trateaz accesul controlat la informaii sau
resursele unui sistem de calcul, n prezena unui posibil adversar. Aici e nevoie
de controlarea accesului la sistem i n sistem, pentru a oferi securitate
adecvat. Unele tehnici criptografice sunt utile i aici.

19
Detalierea sarcinilor necesare pentru a folosi acest model.
Terul de ncredere (detalii n cap. 20)

20
Capitol 1 sumar.

21
1
Citat

2
Criptarea simetric, numit i criptare convenional sau cu cheie unic, a fost
singurul tip de criptare folosit pn n 1970 cnd a nceput dezvoltarea
criptografiei cu chei publice. Este cel mai folosit tip de criptare. Toate schemele
tradiionale sunt algoritmi de criptare simetrici / cu cheie unic / cu cheie
privat, n care se folosete o singur cheie att pentru criptare i ct i
pentru decriptare. Din moment ce att transmitorul i receptorul sunt
echivaleni, fiecare din ei poate cripta i decripta mesaje folosind cheia
comun.

3
Un breviar al termenilor pe care i vom folosi.

4
Cele 5 ingrediente ale modelului de criptare simetric:
-Textul clar mesajul original
-Algoritmul de criptare efectueaz substituia/transformarea textului clar
-Cheia secret controleaz cu exactitate substituiile/transformrile folosite n
algoritmul de criptare
-Text cifrat mesajul transformat
-Algoritm de decriptare inversul algoritmului de criptare

5
Presupunem c este nepractic s se decripteze un mesaj pe baza textului
cifrat + cunoaterea algoritmului de criptare/decriptare, i c nu trebuie s
pstrm secret algoritmul; singurul lucru ce trebuie pstrat secret este cheia.
Aceast proprietate a schemelor de criptare simetrice le face potrivite a fi
folosite pe scar larg. Permite distribuia simpl a implementrilor software i
hardware.
Putem s privim mai ndeaproape la elementele eseniale ale unei scheme de
criptare: dpdv matematic poate fi considerat o pereche de funcii cu: textul
clar X, textul cifrat Y, cheia K, algoritmul de criptare EK, algoritmul de
decriptare DK.

6
Sistemele criptografice pot fi caracterizate dup 3 dimensiuni independente.

7
De regul obiectivul este recuperarea cheii folosite pentru criptare i nu numai
recuperarea textului clar dintr-un text cifrat.
Sunt dou abordri generale:
Atacuri criptanalitice care se bazeaz pe natura algoritmului plus (eventual)
anumite cunotine a caracteristicilor generale ale textului clar sau chiar cteva
perechi (text clar, text cifrat) pe care le avem la dispoziie.
Atac prin for brut n care se ncearc toate cheilor posibile asupra unui text
cifrat pn cnd se obine un text clar inteligibil. n medie, trebuie ncercate
jumtate din cheile posibile pentru a descoperi textul clar.

8
Stallings Table 2.1 sumar al diferitelor tipuri de atacuri criptanalitice, pe baza
informaiei pe care o are la dispoziie criptanalistul, de la puin la mult. Cel
mai dificil pentru criptanalist e atunci cnd are la dispoziie doar text cifrat.
Sunt situaii cnd nici mcar algoritmul de criptare nu este cunoscut, dar n
general putem presupune c adversarul cunoate care este algoritmul folosit
pentru criptare. Celelalte atacuri sunt posibile atunci cnd criptanalistul are la
dispoziie mai multe informaii. n mod general un algoritm de criptare este
proiectat pentru a rezista la un atac prin text clar cunoscut.

9
nc dou definiii care trebuie menionate.
O schem de criptare este sigur necondiionat dac textul cifrat generat de
schem nu conine suficient informaie pentru a determina n mod unic textul
clar corespunztor, indiferent de ct text cifrat avem la dispoziie.
O schem de criptare este sigur computaional dac:
-costul necesar pentru sparge cifrul depete valoarea informaiei criptate
SAU
-timpul necesar pentru a sparge cifrul depete timpul ct informaia trebuie
s rmn secret.

Securitatea necondiionat ar fi ideal, dar singurul cifru care are aceast


proprietate este one-time pad (detalii ulterior).
Pentru orice algoritm de criptare trebuie s considerm doar securitatea
computaional dureaz prea mult sau e mult prea costisitor s ncercm s
spargem cifrul.

10
Un atac prin for brut implic ncercarea tuturor cheilor posibile pn cnd
se gsete un text clar inteligibil corespunztor textului cifrat. n media, trebuie
ncercate jumtate din chei pentru a avea succes. n tabel vedem ct timp este
necesar pentru a face un atac prin for brut, cu diferite dimensiuni pentru
chei (DES 56 bii, AES 128, Triple-DES 168, criptare monoalfabetic), i dou
viteze de execuie: o decriptare / microsecund, respectiv 1.000.000 decriptri
/ microsecund (cu un sigur sistem foarte puternic sau cu mai multe care
lucreaz n paralel).
Obs. Atacul prin for brut este paralelizabil.

11
Vom prezenta ce nseamn tehnici de criptare clasice. Studiul acestor tehnici
ne permite s prezentm abordrile fundamentale pentru schemele de criptare
folosite astzi i tipul atacurilor criptanalitice care trebuie anticipate. Cele dou
componente eseniale cu care se formeaz toate tehnicile criptografice sunt
substituia i transpoziia. Vom prezenta un sistem care combin substituia cu
transpoziia.

12
Cifrurile substituie reprezint prima component fundamental de construcie
a tehnicilor criptografice simetrice.
Ideea este de a nlocui o unitate (liter, octet) din textul clar cu o alta.
n timp ce vechii grecii au descris o serie de cifruri substituie, prima utilizare
atestat n domeniul militar a fost cifrul lui Caesar, descris de el n Gallic Wars
(cf. Kahn pp83-84).
Orice cifru n care se face o deplasare simpl a alfabetului (nu numai cu 3
poziii) se numete cifru caesar.

13
Descrierea matematic folosete aritmetic modular.
Cnd ajungem la Z continum cu A. Mod 26 implic faptul c dac ajungem la
26 vom folosi n locul lui 0 (dup Z urmeaz A sau dup 25 urmeaz 0, 25 + 1
= 0)
Exemplu: howdy (7,14,22,3,24) criptat folosind cheia f (deplasare cu 5 poziii)
este MTBID

14
Cu cifrul caesar, sunt doar 26 chei posibile, din care doar 25 sunt folosite,
datorit faptului c transformarea identic nu realizeaz nici o ascundere a
mesajului.
E important de reinut o regul de baz a criptanalizei: verificai dac
operatorul nu a trimis din greeal textul clar (fr a-l cripta)
Se pot ncerca toate cheile pe rnd, pn cnd putem recunoate mesajul
original.
Obs. Aa cum am menionat, trebuie s putem recunoate cnd am gsit
mesajul original (este un text n lb. englez sau altceva inteligibil). Asta e uor
pentru o persoan dar e complicat pentru un calculator. Dac ceea ce se
cripteaz este un text comprimat atunci este mai dificil de recunoscut.
Exemplu "GCUA VQ DTGCM" se sparge folosind o deplasare cu 2 poziii.
(cheia C).

15
Cu doar 25 de chei posibile, cifrul Caesar este foarte slab. O cretere
substanial a spaiului cheilor poate fi realizat dac permitem substituii
aleatoare, n care alfabetul de translaie poate fi orice permutare ale celor 26
de litere din alfabet.
Este dat un exemplu de substituie monoalfabetic

16
Cu toate c avem foarte multe chei, mult mai multe dect n cifrul DES, cifrul
substituie monoalfabetic nu este sigur, datorit faptului c nu ascunde
suficient de bine caracteristicile limbajului folosit.

17
Aa cum vedem n exemplu nu avem nevoie de toate literele pentru a nelege
ce este scris. Am eliminat vocalele, dar ele nu reprezint singura redundan.
Un mesaj poate fi neles i dac nu este auzit n ntregime. Redundana este
motivul pentru care putem comprima fiierele text, calculatorul putnd codifica
informaia ntr-un mod mai compact fr s piard nimic din ea. Ideea este de
a numra frecvena relativ a literelor.

18
Orice limb are o frecven a literelor diferit; numrul literelor i frecvena lor
difer.
Figura prezint frecvena literelor n limba englez.
Seberry & Pieprzyk, "Cryptography - An Introduction to Computer Security",
Prentice-Hall 1989, Appendix A sunt date grafice cu frecvena de apariie a
literelor n 20 de limbi (majoritatea europene & japonez & malayez).

19
Simplitatea i puterea cifrurilor monoalfabetice a dus la folosirea lor cu succes
n primul mileniu AD.
Au fost sparte de oamenii de tiin arabi. Cea mai veche descriere este n
Abu al-Kindi's "A Manuscript on Deciphering Cryptographic Messages",
publicat n secolul 9 i descoperit 1987 n Istanbul, dar i alte lucrri ulterioare
atest cunotinele lor n acest domeniu.
Cifrurile monoalfabetice sunt simplu de spart pentru c reflect frecvena de
apariie a datelor din alfabetul original. Criptanalistul caut asocieri ntre
secvenele observate n textul cifrat i frecvena de apariie a literelor n
limbajul cunoscut al textului clar.

20
Procesul de decriptare este ilustrat cu acest exemplu.

21
Trebuie gsite modaliti prin care se poate reduce transferul n textul cifrat a
frecvenei relative de apariie a literelor din textul n limbaj natural.
Dac se nlocuiete doar o liter cu alta, distribuia frecvenelor este doar
amestecat.
O modalitate de a realiza acest lucru este de a cripta mai mult de o liter o
dat.
Cifrul Playfair este un exemplu de a face acest lucru.

22
Cel mai cunoscut cifru cu litere multiple este Playfair, care consider digramele
din textul clar ca o singur unitate i traduce aceste uniti n digrame de text
cifrat.
Algoritmul Playfair este bazat pe folosirea unei matrici de litere 5x5 creat pe
baza unui cuvnt cheie. Regulile pentru completarea matricii 5x5 sunt: stnga
la dreapta, de sus n jos, prima dat cuvntul cheie (dup eliminarea literelor
care se repet) iar mai apoi restul literelor rmase din alfabet. I/J sunt
considerate o singur liter.

23
Textul clar se cripteaz n perechi de dou litere, conform regulilor prezentate.
Liniile i coloanele sunt parcurse circular.
Dac o pereche de litere se repet se insereaz o liter de umplere, de ex. x
(pentru c aceast liter apare foarte rar n textul clar). De ex. "balloon" se
va transforma n "ba lx lo on"
1. Dac ambele litere sunt pe aceeai linie, se nlocuiete fiecare liter
cu cea din dreapta ei (litera de pe ultima coloan se nlocuiete cu
cea de pe prima) ex. ar" se cripteaz n "RM"
2. Dac ambele litere sunt pe aceeai coloan, se nlocuiete fiecare
liter cu cea de sub ea (litera de pe ultima linie se nlocuiete cu cea
de pe prima), ex. mu" se cripteaz n "CM"
3. Altfel, fiecare liter se nlocuiete cu litera de pe aceeai linie cu ea
i aceeai coloan cu cealalt liter din pereche, de ex. hs" se
cripteaz n "BP", i ea n "IM sau "JM
Decriptarea funcioneaz analog.

24
Cifrul Playfair reprezint o important mbuntire fa de cifrurile
monoalfabetice, din moment ce avem 26*26=676 digrame (spre deosebire de
26 de litere), prin urmare identificarea digramelor individuale este mai dificil.
De asemenea, analiza frecvenei de apariie a literelor este mult mai dificil de
realizat.
Cifrul Playfair a fost considerat mult timp imposibil de spart. A fost folosit ca
sistem standard de criptare de ctre armata Marii Britanii n primul rzboi
mondial i a fost folosit chiar i n WW2 de ctre U.S.Army i alte fore Aliate.
n ciuda acestei ncrederi n securitatea lui, cifrul Playfair este destul de uor
de spart datorit faptului c pstreaz intact mare parte din structura
limbajului clar.

25
O modalitate de a nivela frecvena de apariie a literelor n textul cifrat este
utilizarea cifrului Playfair.
Aici considerm o alternativ, folosirea mai multor alfabete cifru pe rnd.
Astfel, atacatorul are mai mult de lucru, din moment ce trebuie gsite mai
multe alfabete i datorit faptului c distribuia frecvenelor este mai
complex, din moment ce fiecare o liter poate fi nlocuit cu litere diferite
n textul cifrat, n funcie de care alfabet este folosit. Numele acestei
abordri este substituie polialfabetic. Toate aceste tehnici au n comun
urmtoarele trsturi:
1. Sunt folosite o mulime de substituii monoalfabetice.
2. Cheia determin care substituie este folosit.

26
Cel mai cunoscut, i unul din cel mai simplu, astfel de algoritm se numete
cifrul Vigenre, n care mulimea substituiilor monoalfabetice const din 26 de
cifruri Caesar, cu deplasri de la 0 la 25. Fiecare cifru este notat cu o liter,
care reprezint litera din textul cifrat care nlocuiete litera adin textul clar i
fiecare este folosit pe rnd aa cum vom prezenta n continuare.

27
28
Implementarea cifrurilor polialfabetice manual este foarte dificil. S-au creat o
serie de ajutoare pentru acest proces.
Tabelul "Saint-Cyr Slide" a fost popularizat de Jean Kerckhoffs, care a
publicat lucrarea "La Cryptographie Militaire" (Criptografia militar) n 1883.
Tabelul a fost numit dup Academia Naional Militar Francez unde erau
nvate metodele.

29
Cifrurile polialfabetice i cifrul Vigenre nu ascund complet caracteristicile
limbajului.
Au fost sparte prin identificarea numrului de alfabete folosite i prin atacarea
separat a fiecruia cu tehnicile folosite mpotriva cifrurilor monoalfabetice.

30
Cteva secole cifrul Vigenre a fost le chiffre indchiffrable (cifrul
nedescifrabil). A fost spart de Charles Babbage (inventatorul calculatorului) n
1854 dar a inut secret acest rezultat (probabil datorit Rzboiului Crimeei nu
era pentru prima dat cnd guvernele au pstrat secret anumite descoperiri
tehnologice!). Metoda de spargere a fost reinventat de prusacul Friedrich
Kasiski, care a publicat atacul sub numele lui n 1863.
Totui lipsa unor alte cifruri mai bune a dus la utilizarea cifrurilor substituie
polialfabetic pn n sec. 20. Unul din cele mai celebre incidente a fost
descifrarea telegramei lui Zimmermann care a dus la intrarea SUA n WW1.
La modul general ceea ce trebuie fcut este de a gsi secvene duplicate,
calcularea distanei dintre ele i cutarea unor factori comuni, innd cont de
faptul c o parte vor fi doar coincidene care trebuie eliminate. Acum avem o
serie de cifruri monoalfabetice, fiecare avnd frecvena relativ de apariie a
literelor identic cu cea din limbajul original. Se pot ataca acestea pentru a
sparge cifrul.

31
Ducnd ideea polialfabetic la extrem, am avea nevoie de attea translatri
ale alfabetului cte litere sunt n mesajul transmis. O modalitate de a face
aceasta cu o cheie scurt este folosirea cifrului Autokey. Exemplul folosete
cheia "DECEPTIVE" prefixat la mesaj. Literele de la sfritul mesajului pot fi
eliminate. Numrul de litere care se elimin este dat de lungimea cheii. La
decriptare, primele 9 litere sunt recuperate folosind cheia "DECEPTIVE". Apoi,
n loc s refolosim cheia, ncepem s folosim n ordine literele recuperate din
textul cifrat "WEAREDISC". Pe msur ce recuperm litere le putem folosi
pentru a recupera literele ce urmeaz.
Problema este c att cheia ct i mesajul au aceleai caracteristici de limbaj.
Adic, cheia Eva fi folosit mai des dect cheia T. Prin urmare, litera E
criptat cu cheia Eva apare cu probabilitatea (0.1275)2 = 0.01663, ceea ce
nseamn de dou ori mai des dect 'T' criptat cu cheia 'T. Trebuie s folosim
un tabel de frecvene mai mare. Dac avem la dispoziie suficient de mult text
cifrat atunci putem realiza spargerea.

32
One-Time Pad este o evoluie a cifrului Vernham, inventat de Gilbert Vernham
n 1918, i folosea o band lung de litere aleatoare pentru a cripta
mesajul. Ofierul din Army Signal Corp, Joseph Mauborgne, a propus o
mbuntire folosind o cheie aleatoare care era la fel de lung ca mesajul,
fr repetiii, care ascunde astfel total mesajul original. Produce o ieire
aleatoare care nu are nici o relaie statistic cu textul clar. Datorit faptului
c textul clar nu conine nici o informaie despre textul clar, nu exist nici o
modalitate de a sparge codul, din moment ce orice text clar poate fi mapat
pe orice text cifrat cu o anumit cheie.
One-time pad ofer securitate absolut, dar, n practic, are dou probleme:
1. Trebuie generate chei foarte lungi (la fel de lungi ca mesajul)
2. Distribuia cheilor i protecia acestora este greu de realizat.
Datorit acestor probleme, one-time pad are o utilitate limitat, i se folosete
doar pe canale de comunicaie cu band ngust care necesit o securitate
foarte mare.

33
Toate tehnicile discutate pn acum implicau substituia unui simbol din textul
clar pentru a obine simbolul din textul cifrat. Un alt tip de asociere se obine
prin efectuarea unei permutri a literelor textului clar. Aceast tehnic se
numete cifru transpoziie i reprezint al doilea element fundamental pentru
construcia cifrurilor puternice.
Ideea este de a rearanja ordinea unitilor de text clar (litere, octei, bii) fr a
modifica valoarea lor.

34
Cel mai simplu astfel de cifru este tehnica rail fence, n care textul clar este
scris ca o secven de diagonale dup care se citete pe linii.
Mesajul din exemplu este: "meet me after the toga party" cu o adncime a rail
fence de 2.
Criptanaliza acestui sistem este trivial.

35
Un cifru transpoziie mai complex const n scrierea mesajului ntr-o matrice,
linie cu linie i citirea textului pe coloane dup ce coloanele au fost permutate.
Un cifru transpoziie se poate recunoate simplu datorit faptului c are
aceleai frecvene a literelor ca i textul clar original. Pentru cifrul prezentat,
criptanaliza este destul de simpl i implic punerea textului cifrat ntr-o
matrice i schimbnd poziia coloanelor. Tabele cu frecvene de digrame i
trigrame poate fi util.

36
Am vzut c criptosistemele bazate doar pe substituie sau doar pe
transpoziie nu sunt sigure i pot fi atacate datorit faptului c acestea nu
ascund suficient de bine structura limbajului clar.
Aa c putem s ne gndim s folosim mai multe cifruri succesiv pentru a
genera text criptat mai greu de criptanalizat.
O substituie urmat de o transpoziie poart numele de cifru produs i asta
duce la un nou cifru mult mai sigur. Cifrurile produs reprezint legtura dintre
cifrurile clasice i cele moderne.

37
Urmtorul pas important n evoluia cifrurilor a necesitat folosirea unor maini
de cifrare mecanice care permiteau folosirea unor substituii variabile foarte
complexe.
O main cu rotor este format dintr-o serie de cilindri care se rotesc
independent unul de altul, cilindri prin care trece un semnal electric. Fiecare
cilindru are 26 din pini de intrare i 26 de pini de ieire, i legturi interne care
leag fiecare pin de intrare la un pin de ieire. Dac asociem fiecare pin de
intrare i ieire cu o liter din alfabet, atunci un singur cilindru definete o
substituie monoalfabetic. Dup ce tasta corespunztoare unei litere este
apsat, cilindrul se rotete cu o poziie, prin urmare conexiunile interne sunt
deplasate n mod corespunztor.
Puterea mainilor cu rotor vine din folosirea mai multor cilindri, n care pinii de
ieire ai unui cilindru sunt conectai la pinii de intrare ai urmtorului, iar cilindrii
se rotesc la fel ca i kilometrajul (analogic) de la o main (dup o revoluie
complet a unui clinidru, urmtorul face o singur micare), ceea ce duce la
un numr foarte mare de alfabete de subsituie. De ex. cu 3 cilindrii sunt
263=17576 alfabete ce se folosesc.
Au folosite pe scar larg n al doilea rzboi mondial, istoria utilizrii i analizei
acestora fiind una din cele mai interesante poveti ale WW2. (vezi Cartea
Codurilor de Simon Singh).

38
Atenie la pix (pentru a nelege care e dimensiunea). Discurile de cifrare se
vd destul de clar.

39
Steganografia este o alternativ la criptare, care ascunde existena mesajului
ntr-un anumit mod. Exist foarte multe tehnici pentru a face acest lucru.
Steganografia are o serie de dezavantaje fa de criptare. Necesit mult
informaie suplimentar n comparaie cu informaia care este ascuns.
De asemenea, o dat descoperit metoda folosit, ea devine inutil, cu toate
c un mesaj poate fi criptat i doar apoi ascuns folosind tehnici
steganografice.

40
Sumar.

41
1
Citat

2
Cifrurile bloc moderne sunt folosite pe scar larg pentru a cripta cantiti mari
de informaie i/sau a calcula valori de verificare cu ajutorul crora se poate
garanta faptul c mesajul nu s-a modificat. Cifrurile bloc sunt folosite pentru c
sunt foarte rapide (n comparaie cu alte metode) i pentru c se tiu multe
lucruri despre modul n care sunt proiectate. Vom folosi bine cunoscutul i
folosit algoritm DES pentru a ilustra cele mai importante principii de proiectare
ale criptosistemelor bloc.

3
Cifrurile bloc opereaz asupra un bloc/cuvnt o dat, ceea ce reprezint un
anumit numr de bii. Toi aceti bii trebuie s fie disponibili nainte ca blocul
s poat fi procesat.
Cifrurile stream opereaz asupra unui bit sau octet din mesaj la un moment
dat, de aici venind numele stream (flux).
Cifrurile bloc sunt mult mai bine studiate i nelese la ora actual, ele avnd o
arie de aplicabilitate mai mare

4
Majoritatea algoritmilor de criptare simetrici bloc folosii la ora actual se
bazeaz pe o structur numit cifru bloc Feistel. Un cifru bloc opereaz asupra
blocurilor de text clar de lungime n bii pentru a produce un bloc de text cifrat
de aceeai lungime (n bii). Un cifru substituie reversibil arbitrar nu este
practic pentru o dimensiune mare a blocului, din punct de vedere al
implementrii i al performanei. n general, pentru un cifru bloc substituie
arbitrar de n-bii, dimensiunea cheii este n x 2n. Pentru un bloc de 64 de bii,
care e o dimensiune necesar pentru a zdrnici atacurile statistice,
dimensiunea cheii este 64 x 264 = 270 = 1021 bii. Considernd aceste dificulti,
Feistel remarc faptul c este nevoie de o aproximare a unui cifru bloc ideal,
pentru valori mari ale lui n, construit din componente ce pot fi realizate uor.

5
Feistel numete o substituie general de n-bii ca fiind cifrul bloc ideal,
deoarece permite numrul maxim de criptri posibile din blocuri de text clar n
blocuri de text cifrat.
4 bii la intrare produc una din cele 16 stri de intrare posibile, care sunt
asociate de cifrul substituie ntr-o singur stare de ieire din cele 16 posibile,
fiecare fiind reprezentat de 4 bii de text cifrat. Funciile de criptare i
decriptare pot fi definite printr-un tabel.

6
Lucrarea lui Claude Shannon din 1949 conine ideile de baz care au dus la
dezvoltarea cifrurilor bloc moderne. A introdus ideile de confuzie i difuziune.

7
Termenii confuzie i difuziune au fost introdui de Claude Shannon pentru a
prezenta dou elemente fundamentale de construcie ale sistemelor
criptografice. Fiecare cifru bloc implic o transformare a unui bloc de text clar
ntr-un bloc de text cifrat, unde transformarea depinde de cheie.
Mecanismul difuziei caut s fac relaia statistic dintre textul clar i textul
cifrat ct de complex posibil pentru a zdrnici ncercrile de gsire a cheii.
Confuzia caut s fac relaia dintre statisticile textului cifrat i valoarea cheii
de criptare ct de complex posibil, din nou pentru a zdrnici gsirea cheii.
Difuzia i confuzia sunt att de utile n a realiza proprietile dorite ale cifrurilor
bloc nct ele au devenit elemente eseniale n proiectarea cifrurilor bloc
moderne.

8
Horst Feistel, n timp ce lucra la IBM Thomas J Watson Research Labs a
proiectat o structur de cifru inversabil la nceputul anilor 70.
Una din contribuiile principale ale lui Feistel a fost invenia unei structuri
potrivite care adapteaz reeua S-P a lui Shannon ntr-o structur uor de
inversat.
Partiioneaz blocul de intrare n dou jumti care sunt procesate prin mai
multe runde ce efectueaz o substituie asupra jumtii din stnga, pe baza
unei funcii de rund aplicat asupra jumtii din dreapta i asupra unei
subchei, dup care cele dou jumti sunt inversate.
Att pentru criptrare ct i pentru decriptare se poate folosi acelai hardware
sau acelai software, singura deosebire fiind c la decriptare subcheile se
aplic n ordine invers. Un nivel de S-box urmat de P-box este folosit pentru a
forma funcia de rund.

9
Figura ilustreaz structura clasic a cifrului feistel, cu datele mprite n dou
jumti, procesate printr-un anumit numr de runde care efectueaz o
substituie a jumtii din stnga folosind ieirea unei funcii de rund aplicate
asupra jumtii din dreapta i asupra subcheii, i o permutare care schimb
ntre ele cele dou jumti.

10
Realizarea exact a unei reele Feistel depinde de alegerea urmtorilor
parametri i trsturi de proiectare:
Dimensiunea blocului dimensiune mai mare mbuntete securitatea, dar ncetinete criptare
Dimensiunea cheii - dimensiune mai mare mbuntete securitatea, cutarea exhaustiv a cheii
devine mai dificil, dar poate ncetini cifrul
Numrul de runde un numr mai mare mbuntete securitatea, dar ncetinete criptarea
Algoritmul de generare a subcheilor complexitatea mai mare face analiza mai dificil, dar
ncetinete criptarea
Funcia de rund complexitate mai mare poate face analiza mai dificil, dar ncetinete criptarea.
Criptare/decriptare rapid n software o problem mai recent pentru utilizare practic
Uurin de analiz pentru validarea i testarea puterii

11
Procesul de decriptare a cifrului Feistel (Figura), este n esen la fel ca i
procesul de criptare. Regula: textul cifrat este folosit ca i intrare a
algoritmului, dar subcheile Ki se folosesc n ordine invers. Se folosete Kn la
prima rund, Kn1 la a doua rund, i aa mai departe pn se folosete K1 la
ultima rund. Asta e o trstur important deoarece nu trebuie s
implementm doi algoritmi diferii, unul pentru criptare i altul pentru
decriptare.

12
Cel mai folosit cifru bloc cu cheie secret este Data Encryption Standard
(DES). A fost adoptat n 1977 de National Bureau of Standards ca Federal
Information Processing Standard 46 (FIPS PUB 46). Cripteaz blocuri de 64
de bii folosind o cheie de 56 de bii. DES este folosit pe scar larg. A fost
subiectul a o serie de controverse n ceea ce privete securitatea pe care o
ofer.

13
La sfritul anilor 60, IBM a lansat un proiect de cercetare n criptografie
condus de Horst Feistel. Proiectul s-a ncheiat n 1971 prin dezvoltarea
algoritmului LUCIFER. LUCIFER este un cifru bloc Feistel care opereaz
asupra unor blocuri de 64 de bii i are o cheie de 128 de bii.
Datorit rezultatelor promitoare cu proiectul LUCIFER, IBM a lansat un alt
proiect, condus de Walter Tuchman i Carl Meyer, pentru dezvoltarea unui
produs comercial de criptare care s poat fi implementat pe un singur chip.
Aici au fost implicai nu doar cercettori de la IBM i consultai externi i sfaturi
tehnice de la NSA. Rezultatul a fost o versiune mbuntit a algoritmului
LUCIFER care era mai rezistent la criptanaliz dar care avea o dimensiunea
mai mic a cheii (56 bii) pentru a ncpea pe un singur chip.
n 1973 National Bureau of Standards (NBS) a lansat o cerere de propuneri
pentru un standard naional de criptare. IBM au trimis varianta modificat a
algoritmului LUCIFER. Acest algoritm a fost de departe cel mai bun algoritm
propus i a fost adoptat n 1977 ca Data Encryption Standard.

14
nainte de a fi adoptat ca standard, DES a fost subiectul unor critici intense n
ceea ce privete dimensiunea cheii redus i a criteriilor de design clasificate.
Analiza din ultimii ani a demonstrat c n ciuda acestei controverse, DES este
bine proiectat. DES se poate sparge teoretic folosind criptanaliz diferenial
sau liniar dar n practic e mai greu s se realizeze acest lucru (avnd la
dispoziie resurse limitate). Sistemele de calcul din ce n ce mai performante
au fcut ca dimensiunea de 56 de bii a cheii s nu mai ofere o securitate
adecvat fa de standardele actuale.
DES a fost folosit pe scar larg, n special n aplicaii financiare. Este n
continuare standardizat pentru aplicaii vechi. Aplicaiile noi trebuie s
foloseasc AES sau TripleDES.

15
Schema general de criptare DES, primete la intrare 64 de bii i cheia.
Partea din stnga prezint procesul de baz de criptare blocului de date de 64
de bii:
-Permutarea iniial (IP) care amestec ce 64 de bii din intrare
-16 runde a unei funcii de rund complexe ce depinde de cheie i care implic
substituii i permutri
-Permutarea final, care e inversa permutrii iniiale (IP)

Partea din dreapta prezint modul n care este tratat cheia de 56 de bii:
-o permutare iniial (PC1) care selecteaz 56 de bii din cei 64 de bii de
intrare i i mparte n dou jumti de 28 de bii
-16 stagii de generare a subcheilor de 48 de bii folosind deplasri circulare la
stnga i o permutare a celor dou jumti de 28 de bii

16
Permutarea iniial i inversa ei sunt definite cu dou tabele. Tabelele trebuie
interpretate astfel: intrarea la fiecare tabel const din 64 de bii numerotai de
la stnga la dreapta cu numerele de la 1 la 64. Cele 64 de elemente din tabel
reprezint o permutare a numerelor de la 1 la 64. Fiecare element al tabelului
de permutare indic poziia de la ieire unui bit din intrare (ieirea fiind tot de
64 de bii).
Numerotarea biilor la DES reflect modul n care se lucreaz cu IBM
mainframe, i este opus fa de modul n care se lucreaz astzi. Bitul 1 (cel
din stnga, cel mai semnificativ), bitul de pe poziia 32/48/64 (cel din dreapta,
cel mai puin semnificativ).
Exemplele sunt exprimate n hexa.
Aici, valoarea textului clar de 64 de bii 675a6967 5e5a6b5a (scris sub forma a
dou jumti stnga/dreapta) dup permutarea IP devine ffb2194d 004df6fb.

17
Detalii din structura intern a funciei de rund F, care primete la intrare
jumtatea din dreapta a blocului i o subcheie, o proceseaz prin E, adun
subcheia, S i P.
Aceasta este structura clasic a unui cifru feistel.
S-box-urile ofer confuzie a datelor i a cheilor, pe cnd permutarea P
mprtie rezultatul ct mai mult posibil, astfel nct ieirea fiecrui S-box
afecteaz la runda urmtoare un numr maxim de intrri n S-box, dnd
difuzie.

18
Figura ilustreaz structura intern a funciei F de rund DES. Intrarea R este
extins la 48 de bii folosind tabelul de expansiune E care definete o
permutare plus o expansiune ce implic duplicarea a 18 bii din R. Cei 48 de
bii ce rezult sunt adunai XOR cu Ki. Acest rezultat de 48 de bii trece printr-o
funcie de substituie format din 8 S-box-uri care mapeaz 6 bii la 4 bii,
producnd astfel un rezultat de 32 de bii care este permutat de P.

19
Substituia const din 8 S-box-uri, fiecare primind la intrarea 6 bii i
producnd la ieire 4 bii. Aceste transformri sunt definite n nite tabele, care
se interpreteaz astfel: Primul i ultimul bit din cei 6 din intrare formeaz un
numr binar de lungime 2 (0-3) care reprezint numrul liniei din tabelul Si. Cel
4 bii din mijloc formeaz un numr (0-15) care reprezint numrul coloanei.
Valoarea zecimal (0-15) din celula aflat la intersecia liniei i a coloanei este
convertit n binar producnd o secven de 4 bii. De exemplu, n S1, pentru
011001, linia este 01 (linia 1) i coloana este 1100 (coloana 12). Valoarea din
linia 1, coloana 12 este 9 prin urmare ieirea este 1001.

n exemplu sunt 8 valori de 6 bii(18 n hexa este 011000 n binar, 09 n hexa


este 001001 n binar, 12 n hexa este 010010 n binar, 3d n hex este 111101
n binar etc.), fiecare este nlocuit conform procesului descris mai sus folosind
S-box-ul potrivit, de. ex.
S1(011000) linia 00 coloana 1100 n S1 valoarea 5
S2(001001) linia 01 coloana 0100 n S2 valoarea 15 = f n hexa
S3(010010) linia 00 coloana 1001 n S3 valoarea 13 = d n hexa
S4(111101) linia 11 coloana 1110 n S4 valoarea 2 etc

20
DES Key Schedule genereaz subcheilor folosite pentru fiecare rund a
procesului de criptare. Cheia de 64 de bii este procesat de PC1. Rezultatul
de 56 de bii este tratat ca dou jumti de cte 28 de bii fiecare notate cu C
i D. La fiecare rund, acestea sunt procesate separat prin rotaii circulare la
stnga cu 1 sau 2 poziii binare. Aceste rotaii reprezint intrri pentru
urmtoarea rund a algoritmului. De asemenea, reprezint intrare pentru PC2,
care produce ieirea de 48 de bii ce va fi folosit de funcia de rund F.

Dimensiunea cheii de 56 de bii vine din considerente de securitate care la ora


actual sunt cunoscute. Este suficient de mare pentru ca o cutare exhaustiv
a cheii s fie la fel de dificil ca i cel mai bun atac direct (o form de
criptanaliz diferenial numit atac-T, care era cunoscut la vremea respectiv
de cercettorii IBM i NSA). Cei 8 bii suplimentari au fost folosii ca bii de
paritate (pentru detectarea erorilor), ceea ce are sens avnd n vedere
proiectul iniial care cerea utilizarea algoritmului pe linii de comunicaie. Totui
ne lovim de o incompatibilitate cu implementrile software simple din moment
ce bitul 8 al oricrui caracter ASCII este 0 (setul de caractere ASCII fiind un
set de caractere pe 7 bii), dar algoritmul key schedule DES elimin bitul 8 de
la captul cellalt! Prin urmare o implementare bun trebuie s fie mai
inteligent!

21
Ca i cu orice cifru Feistel, decriptarea DES folosete acelai algoritm ca i
criptarea cu excepia faptului c subcheilor sunt folosite n ordine invers
SK16 .. SK1.
n diagrama algoritmului DES putem vedea cum fiecare pas de decriptare
folosete subcheile de rund n ordine invers i inverseaz paii de la
criptare.

22
O proprietate de dorit pentru orice algoritm de criptare este aceea c n
momentul n care se face o modificare minor n textul clar sau n cheie efectul
asupra textului cifrat s fie semnificativ. O schimbare a unui bit trebuie s
produc schimbri n ct mai muli bii din textul cifrat. Dac modificrile ar fi
puine, s-ar putea reduce spaiul textului clar sau al cheilor ce ar trebui
ncercate ntr-un atac. DES are un puternic efect de avalan.

23
Din momentul n care a fost adoptat ca standard federal, au fost o serie de
discuii n legtur cu nivelul de securitate oferit de DES n dou privine:
dimensiunea cheii i natura algoritmului.
Cu o lungime a cheii de 56 de bii, exist 2^56 chei posibile, adic aproximativ
7.2*10^16. Astfel un atac prin for brut pare a fi nepractic.
Totui, n Iulie 1998 s-a demonstrat c DES este nesigur, atunci cnd
Electronic Frontier Foundation (EFF) a anunat c a spart un text cifrat DES
folosind un aparat special "DES cracker" aparat construit cu mai puin de
250,000 dolari. Atacul a durat mai puin de 3 zile. EFF a publicat o descriere
detaliat a aparatului, permind altora s construiasc propriul aparat.
Au fost i alte demonstraii de spargere a DES folosind reele mari de
calculatoare i hardware dedicat:
-1997 o reea mare de calculatoare n cteva luni
-1998 hardware dedicat EFF n cteva zile
-1999 cele dou metode de mai sus combinate, n 22 de ore.
Este important de remarcat c pentru a cuta cheia printr-un atac care
ncearc toate cheile trebuie avute n vedere i alte aspecte. Dac nu avem la
dispoziie text clar, atacatorul trebuie s fie capabil s recunoasc textul clar
rezultat n urma decriptrii.
Este evident c trebuie gsite alternative la DES, cele mai importante fiind
AES i triple DES.

24
O alt ngrijorare vine din posibilitatea ca criptanaliza s fie posibil prin
exploatarea caracteristicilor algoritmului DES. Aceast ngrijorare era
concentrat pe cele 8 tabele de substituie (S-box), folosite la fiecare iteraie.
Aceste tehnici folosesc anumite structuri interne al cifrului prin strngerea de
informaii despre texte criptate astfel ca s se poat recupera o parte sau toi
biii din subchei, iar mai apoi restul biilor s fie gsii printr-o cutare
exhaustiv, dac este necesar. Acestea sunt atacuri statistice al cror succes
depinde de cantitatea de informaie adunat.
Astfel de atacuri includ: criptanaliza diferenial, criptanaliza liniar i atacuri
cu chei similare.

25
Atacurile timing legate de algoritmii cu chei publice. Totui, problema poate s
apar i la cifrurile simetrice. ntr-un atac prin timing se obine informaie
despre cheie sau despre textul clar prin observarea timpului necesar unei
implementri n a executa decriptarea unor texte cifrate. Un atac timing
exploateaz faptul c criptarea i decriptarea dureaz un timp diferit n funcie
de datele de intrare. Procesul de analiz AES a subliniat acest atac, i a artat
c este o problem n special n implementarea smartcard-urilor, cu toate
astea DES pare a fi destul de rezistent n faa unui astfel de atac.

26
Biham & Shamir au demonstrat c criptanaliza diferenial poate fi folosit cu
succes la criptanaliza cifrului DEScu un efort ce necesit 247 criptri i 247 texte
clare alese. Tot ei au demonstrat acest tip de atac asupra mai multor algoritmi
de criptare i asupra unor funcii hash.
Criptanaliza diferenial a fost cunoscut de echipa IBM care a proiectat DES
nc din 1974 (sub numele de atac T), i a influenat proiectarea S-box i a
permutrii P pentru a mbunti rezistena algoritmului n faa acestui atac.
Atacul asupra algoritmului LUCIFER cu 8 runde necesit doar 256 de texte
clare alese, pe cnd atacul asupra unei versiuni DES cu 8 runde necesit 214
texte clare alese.

27
Atacul prin criptanaliz diferenial este unul complex. Ideea n spatele acestui
atac este de a observa comportamentul unor perechi de blocuri care
evolueaz n paralel prin fiecare rund a cifrului, n loc de a observa evoluia
unui singur bloc. Fiecare rund a DES asociaz partea dreapt a intrrii la
partea stng a ieirii i stabilete partea dreapt a ieirii cu ajutorul unei
funcii F care depinde de partea stng a intrrii i de subcheia pentru runda
respectiv, ceea ce nseamn c nu pot fi urmrite valorile napoi prin cifru
fr a cunoate cheia. Criptanaliza diferenial compar dou perechi (text
clar, text criptat) ntre care exist o legtur, ceea ce poate duce la obinerea
unor informaii despre cheie, atunci cnd avem la dispoziie suficiente perechi.

28
Acest atac se numete Criptanaliz Diferenial datorit faptului c se
analizeaz diferenele dintre dou criptri legate una de alta, i se caut o
diferen cunoscut n intrare, ceea ce duce la o diferen cunoscut la ieire
cu o anumit probabilitate (destul de mic dar totui semnificativ). Dac sunt
determinate o serie de astfel de diferene, este fezabil a se determina
subcheia folosit n funcia F.
Ecuaia prezint modul n care se elimin influena cheii, ceea ce permite
analiza.

29
Strategia general la criptanaliza diferenial se bazeaz pe aceste
consideraii pentru o singur rund. Procedura este de a ncepe cu dou texte
clare m i m cu o anumit diferen dat i urmrirea unor diferene probabile
dup fiecare rund care duce la o diferen probabil n textul cifrat. m and m
sunt criptate pentru a determina diferena actual cu cheia necunoscut i
compararea rezultatului cu diferena probabil. Dac se gsete o potrivire,
atunci putem crede c toate secvenele probabile de la toate rundele sunt
corecte. Cu aceast credin, putem face anumite deducii n legtur cu
anumii bii ai cheii. Aceast procedur trebuie repetat de mai multe roi pentru
a determina toi biii cheii.

30
Figura ilustreaz propagarea diferenelor prin 3 runde DES. Probabilitile
prezentate n partea dreapt se refer la probabilitatea ca o anumit mulime
de diferene intermediare vor apare ca funcie de diferenele din intrare. Dup
3 runde probabilitatea ca diferena de ieire este aa cum este prezentat este
egal cu 0.25*1*0.25=0.0625. Din moment ce diferena la ieire este aceeai
cu cea de la intrare, aceast secven de 3 runde poate fi iterat asupra unui
numr mare de runde, iar probabilitile se vor nmuli i vor fi din ce n ce mai
mici.

31
Criptanaliza diferenial funcioneaz prin efectuarea atacului prin criptarea
unor perechi de text clar (pentru care se cunoate valoarea XOR) n mod
repetat pn cnd se obine la ieire valoarea XOR dorit. Atacul asupra DES
necesit un efort de ordinul 247 criptri, i necesit 247 texte clare alese s fie
criptate, cu o analiz considerabil n practic cutarea exhaustiv este mai
simpl, cu toate c sunt necesare 255 criptri.

32
O descoperire mai recent este criptanaliza liniar. Atacul se bazeaz pe
gsirea unor aproximri liniare pentru descrierea transformrilor efectuate n
DES. Aceast metod poate gsi o cheie DES cu 2^43 texte clare cunoscute,
n comparaie cu cele 2^47 necesare n criptanaliza diferenial.
Cu toate c aceasta este o mbuntire minor, deoarece este mai simplu s
se gseasc text clar dect text clar ales, totui criptanaliza liniar este
nefezabil mpotriva DES.

33
Obiectivul criptanalizei liniare este de a gsi o ecuaie liniar efectiv care
leag un text clar, un text cifrat i biii din cheie, care are loc cu o probabilitate
p<>0.5 a;a cum este prezentat.
Odat ce este determinat o relaiei, procedura este de a calcula rezultatele
din partea dreapt a ecuaiei pentru un numr mare de perechi text clar-text
cifrat, pentru a determina dac suma biilor din cheie este 0 sau 1, obinnd
astfel informaie despre acetia. Aceasta se repet pentru alte ecuaii i multe
perechi pentru a obine o parte din biii cheii. Deoarece avem de a face cu
ecuaii liniare, problema poate fi abordat rund cu rund, i rezultatele
combinate.

34
Cu toate s-au fcut multe progrese n ceea ce privete proiectarea cifrurilor
bloc puternice criptografice, principiile de baz nu s-au schimbat foarte mult de
la munca lui Feistel i munca echipei care a proiectat DES la nceputul anilor
70. Unele din criteriile de proiectare ale DES au fost prezentate de Dan
Coppersmith n [COPP94], i se concentrau pe S-box i funcia P care
distribuie ieirea S-box, aa cum este prezentat mai sus.

35
Puterea criptografic a cifrului Feistel vine din trei aspecte de proiectare:
numrul de runde, funcia F i algoritmul de generare a subcheilor. Aceste sunt
discutate pe scurt aici.
Cu ct numrul de runde este mai mare, cu att e mai dificil de efectuat
criptanaliza, chiar i pentru o funcie F mai slab. n general, criteriul ar trebui
s indice faptul c numrul de runde trebuie ales astfel nct efortul
criptanalitic s fie mai mare dect un simplu atac prin for brut care ncearc
toate cheile. Acest criteriu este atractiv pentru c permite judecarea puterii
unui algoritm i compararea diferiilor algoritmi.
Funcia F ofer elementul de confuzie ntr-un cifru Feistel, substituia efectuat
de funcia F ar trebui s fie dificil de inversat. Un criteriu evident ar fi ca funcia
F s fie neliniar. Cu ct F este mai neliniar, cu att este mai dificil orice
criptanaliz. Este de dorit s existe un efect de avalan puternic, sau chiar
criteriul de avalan strict.
Un alt criteriu este criteriul de independen a biilor. Una din cele mai intense
arii de cercetare a cifrurilor bloc simetrice este proiectarea S-box. Este de dorit
ca orice modificare n vectorul de intrare al S-box s rezulte ntr-o ieire care
apare ca fiind aleatoare. Relaia ar trebui s fie neliniar i trebuie s fie dificil
de aproximat cu funcii liniare.
O alt arie de proiectare a cifrurilor bloc, una care nu n-a bucurat de foarte
mult atenie, este algoritmul de generare a subcheilor. Cu orice bloc Feistel,
acest algoritm genereaz subcheile pentru fiecare rund. Cheile ar trebui
selectate a.. s se maximizeze dificultatea de a deduce subchei individuale i
dificultatea de obine cheia principal. Algoritmul de generare a subcheilor ar
36
Sumar capitol 3.

37
1
Intro quote.

2
Importana cmpurilor finite a crescut n criptografie. O serie de algoritmi
criptografici se bazeaz pe proprietile cmpurilor finite, cum ar fie de ex. alg.
AES, Curbele eliptice, IDEA i o serie de algoritmi cu chei publice. Grupurile,
inelele i cmpurile sunt elemente fundamentale n algebra abstract, care se
ocup cu mulimi de numere pe care se definesc operaii algebrice.

3
ncepem cu noiunea de grup. n algebra abstract, ne ocupm cu mulimi pe
elementele crora putem opera algebric; adic, putem combina dou elemente
ale mulimii pentru a obine un al treilea element tot din mulime. Aceste
operaii se supun unor anumite reguli, care definesc natura mulimii. Un grup
este o astfel de mulime cu proprietile (legile) enumerate pe slide. Un grup
se noteaz {G,.} Am folosit operatorul . : acest operator ar putea fi operatorul
aditiv +, multiplicativ x sau orice alt operator matematic. Un grup poate avea
un numr finit (fix) de elemente, sau poate fi infinit. De notat c mulimea
numerelor ntregi mpreun cu adunarea formeaz un grup abelian. De
asemenea mulimea numerelor reale cu nmulirea este grup abelian.

4
Exponenierea se definete ca aplicarea repetat a operaiei din grup. De notat
c noi suntem obinuii cu aplicarea acestei operaii n cazul nmulirii, dar
poate fi generalizat.
Dac aplicarea repetat a operatorului pe o anumit valoare a din grup duce la
generarea tuturor valorile posibile, atunci grupul se numete ciclic i a este
generator al lui G (a genereaz grupul G).

5
Este descris inelul. n esen, un inel este o mulime n care putem face
operaii de adunare, scdere [a b = a + (b)], i nmulire fr s ieim din
mulime. Notaia pentru inel {R,+,.}
Fa de adunare i nmulire, mulimea tuturor matricilor ptratice de
dimensiune n cu elemente numere reale, formeaz un inel. Mulimea
numerelor ntregi cu adunarea i nmulirea formeaz un domeniu de
integritate.

6
Definim noiunea de cmp.
Un cmp este o mulime n care putem face adunare, scdere, nmulire,
mprire fr s ieim din mulime. mprirea se definete astfel: a/b = a (b
1). Un cmp va fi notat {F,+,.}

Exemplu de cmpuri: mulimea numerelor raionale, mulimea numerelor reale,


mulimea numerelor complexe. Numerele ntregi nu formeaz un cmp din
moment ce exist doar doi ntregi care au invers multiplicativ {-1, 1}.
Cnd facem operaii modulo un numr prim, avem de a face cu un cmp.

7
Pentru orice ntreg pozitiv n i orice ntreg nenegativ a, dac mprim a la n,
vom obine un ct ntreg q i un rest natural r. n aritmetica modular suntem
interesai doar de rest dup mprirea cu acelai modul n, iar rezultatele cu
acelai rest sunt considerate echivalente. Doi ntregi a i b se numesc
congrueni modulo n, dac (a mod n) =(b mod n).

8
Definirea conceptului de divizor. Spunem c un numr nenul b divide pe a
dac a=m.b pentru un anumit m, unde a, b i m sunt ntregi. Adic, b divide a
dac restul mpririi este zero. Notaia este b|a, i spunem c b este divizor
al lui a. De exemplu divizorii pozitivi ai lui 24 sunt 1,2,3,4,6,8,12 i 24.

9
Aritmetica modular este atunci cnd efectum operaii aritmetice ntr-o
mulime finit de numere naturale mod n. Se folosesc un numr finit de valori
i de la un capt se trece la cellalt.
Cnd facem reducere, de regul vrem s gsim restul pozitiv al mpririi cu
modulul. Pentru numere pozitive, este restul obinuit. Restul este ntotdeauna
pozitiv.
O proprietatea important a aritmeticii modulare este c putem reduce modulo
oricnd i s obinem restul corect.

10
Cteva proprieti importante al aritmeticii modulare.

11
Adunarea n GF(8).

12
Una din tehnicile de baz n teoria numerelor este algoritmul lui Euclid, care
este o procedur simpl pentru determinarea celui mai mare divizor comun a
doi ntregi pozitivi. Folosim notaia cmmdc(a,b). ntregul pozitiv c se numete
cel mai mare divizor comun al lui a i b dac c este un divizor att al lui a ct i
al lui b; i orice divizor al lui a i b este divizor al lui c.
Doi ntregi a i b sunt relativ primi dac singurul factor comun pozitiv este 1,
adic cmmdc(a,b)=1.

13
Algoritmul lui Euclid este un mod eficient de a calcula cmmdc(a,b). Algoritmul
lui Euclid se bazeaz pe faptul c dac a i b au un factor comun d (adic a =
md i b = md) atunci d este este un factor al oricrei diferene de forma: a-p.b
= (m.d)-p.(n.d) = d.(m-p.n). Algoritmul lui Euclid calculeaz diferene succesive
pn cnd se obine zero, moment n care este determinat cel mai mare
divizor comun.

14
Este ilustrat modul n care putem calcula instane succesive ale cmmdc(a,b) =
cmmdc(b, a mod b).
Acest algoritm se termin ntotdeauna din moment ce la un moment dat vom
obine a mod b = 0 (nu ne mai rmne rest).
cmmdc este ultimul rest nenul. n acest caz cmmdc(1970,1066)=2.

15
Cmpurile infinite nu au importan n criptografie. Totui, cmpurile finite au
un rol crucial n muli algoritmi criptografici. Se poate demonstra c ordinul
unui cmp finit (numrul de elemente din cmp) trebuie s fie putere pozitiv a
unui numr prim. Aceste cmpuri se numesc cmpuri Galois i se noteaz
GF(p^n). Suntem interesai de cazurile: n=1 - GF(p), sau p=2 - GF(2^n).

16
Considerm GF(p) peste mulimea de ntregi {0p-1} cu adunarea i
nmulirea modulo p. Aceste este un cmp finit care

17
nmulirea n GF(7).

18
O problem important este gsirea inverselor fa de nmulire ntr-un astfel
de cmp finit. Putem demonstra c astfel de inverse exist ntotdeauna i le
putem fsi folosind algoritmul lui Euclid extins.

19
Exemplul prezint gsirea inversului lui 550 n GF(1759).

20
Prezentm subiectul interesant al aritmeticii polinomiale, folosind polinoame cu
o singur nedeterminat x, cu mai multe variante de operaii.
Nu suntem interesai n a evalua polinomul pentru o anumit valoarea a
nedeterminatei x.

21
Aritmetica polinomial include operaiile de adunare, scdere i nmulire,
definite n modul obinuit, adic adunm sau scdem coeficienii
corespunztori sau nmulim termenii ntre ei.

22
Considerm varianta n care toate operaiile cu coeficieni se fac modulo o
anumit valoare, de obicei numr prim. Dac coeficienii sunt calculai ntr-un
cmp (ex GF(p)), atunci mprirea polinoamelor este posibil i avem un inel
polinomial. Suntem interesai n a folosi cmpul GF(2) adic toi coeficienii
sunt 0 sau 1, i orice adunare/scdere de coeficieni se face mod 2 (adic 2x
este egal cu 0x!), asta fiind operaia XOR.

23
Orice polinom poate fi scris sub forma f(x) = q(x) g(x) + r(x), unde mprirea
lui f(x) cu g(x) ne d un ct q(x) i un rest r(x). Putem extinde conceptul de
divizori de la ntregi, i putem arta c algoritmul lui Euclid se poate extinde
pentru a gsi cel mai mare divizor comun a dou polinoame a cror coeficieni
sunt elemente ale unui cmp.
Un polinom ireductibil (sau prim) are ca divizori doar pe 1 i pe el nsui. Dac
operaii aritmetice modulo un polinom ireductibil, avem un cmp finit, iar
algoritmul pentru aflarea cmmdc i a inversului unui element poate fi adaptat.

24
Putem extinde analogia ntre aritmetica polinomial peste cmpuri finite i
aritmetica cu ntregi prin definirea cmmdc.

25
Trecem n revist aritmetica cu polinoame ale cror coeficieni sunt mo 2 i
polinoamele sunt mod un polinom ireductibil m(x). Aritmetica modular
polinomial folosete mulimea S a polinoamelor de grad n-1 sau mai puin
peste cmpul Zp. Cu definiiile corespunztoare pentru operaiile
aritmetice, fiecare astfel de mulime S formeaz un cmp finit. Definiia
const din urmtoarele elemente:
1. Aritmetica respect legile obinuite ale aritmeticii polinomiale folosind legile
algebrice elementare, cu urmtoarele dou particulariti
2. Aritmetica asupra coeficienilor se efectueaz modulo p.
3. Dac la nmulire obinem un polinom de grad mai mare ca n 1, atunci
polinomul este redus modulo un polinom ireductibil m(x) de grad n. Adic,
mprim m(x) i pstrm restul.
Astfel obinem un cmp finit. Aa cum algoritmul lui Euclid poate fi adaptat
pentru a gsi cmmdc a dou polinoame, algoritmul lui Euclid extins poate fi
adaptat pentru a gsi inversul multiplicativ al unui polinom.

26
Exemplul prezint adunarea i nmulirea n GF(23) modulo (x3+x+1).

27
O motivaie esenial pentru folosirea aritmeticii polinomiale n GF(2n) este
aceea c polinoamele pot fi reprezentate ca iruri de bii, folosind toate
secvenele posibile de bii, i calculele se pot face folosind instruciuni main
elementare adunarea este simpla operaie XOR iar nmulirea este deplasare
i XOR. Simplitatea operaiei de reducere polinomial vine din observaia c
dac n GF(2n) polinomul ireductibil g(x) are cel mai mare termen xn , i dac
calculm xn mod g(x) rezultatul este g(x)- xn

28
Cteva exemple simple de adunri, nmuliri i reduceri modulo n GF(23).
Reducerea modular gsete p(x)=q(x).m(x)+r(x) unde r(x) este restul pe care
l cutm.

29
Exist o tehnic echivalent pentru definirea unui cmp finit de forma GF(2n)
folosind acelai polinom ireductibil, pe baza puterilor unui generator al
grupului, ceea ce ne d o implementare interesant a nmulirii. Generatorul
poate fi gsit de la rdcina polinomului ireductibil.

30
Capitolul 4 - sumar

31
1
Citat introductiv

2
Advanced Encryption Standard (AES) a fost publicat de (National Institute of
Standards and Technology) in 2001. AES este un cifru bloc simetric al crui
scop este de a nlocui DES ca standard aprobat pentru o gam larg de
aplicaii. Cifrul AES (i ceilali candidai) fac parte din cea mai recent
generaie de cifruri bloc, i ceea ce putem constata este o cretere
semnificativ a dimensiunii blocului de la cei 64 de bii folosii n mod
standard la 128 de bii; dimensiunea cheilor a crescut de asemenea la 128 de
bii sau chiar 256. Pe de o parte aceasta a fost determinat de demonstraii
publice a unor atacuri prin cutarea exhaustiv a spaiului cheilor pentru DES.
n timp ce triple-DES este privit ca un algoritm sigur ale crui detalii se cunosc
foarte bine, este lent, n principal n software.
La o prim rund de evaluare, au fost acceptai 15 din algoritmii propui. La o
a doua rund numrul s-a redus la 5.
NIST a ncheiat procesul de evaluare i a publicat standardul final (FIPS PUB
197) n Noiembrie 2001. NIST a selectat algoritmul Rijndael ca algoritm AES.
Proiectanii algoritmului sunt doi cercettori belgieni (criptografi): Dr. Joan
Daemen and Dr.Vincent Rijmen.

3
Lista cu cerinele formulate de NIST pentru AES. Aceste criterii acoper o
serie de probleme din aplicaiile practice pentru cifrurile bloc moderne
simetrice.

4
Au existat dou seturi de criterii. Cnd NIST a lansat cererea iniial pentru
algoritmi candidai n 1997, cererea a specificat faptul c algoritmii vor fi
comparai dup o serie de factori ce au fost folosii n evaluarea celor 15
candidai pentru a selecta lista de 5 finaliti. Criteriile: securitate, cost,
caracteristici ale algoritmului i de implementare.
Criteriile finale au evoluat n timpul procesului de evaluare i au fost folosite
pentru a selecta Rijndael din lista scurt. Printre criteriile finale avem:
securitatea general, uurina implementrii n software i hardware,
implementarea atacurilor i flexibilitate (n criptare/decriptare, chei, ali factori).

5
Lista celor 5 finaliti AES.
De remarcat algoritmii comerciali (MARS, RC6, Twofish) respectiv cei
academici (Rijndael, Serpent) provenind din diferite ri.
Toi au fost considerai buni diferena a fcut-o combinaia cea mai bun de
atribute care respectau anumite criterii: vitez, securitate i flexibilitate.

6
Propunerea Rijndael pentru AES a definit un cifru n c are lungimea blocului i
lungimea cheii pot fi specificate independent la: 128,192 sau 256 bii.
Specificaia AES folosete aceleai trei alternative pentru dimensiunea cheii
dar limiteaz lungimea blocului la 128 de bii.
Rijndael este un algoritm ce provine din mediul academic, bazat pe un cifru
numit Square al belgienilor Dr Joan Daemen i Dr Vincent Rijmen.
Este un cifru iterativ (opereaz asupra unui ntreg bloc la fiecare rund). Nu
este un cifru feistel (care opereaz asupra unei jumti a blocului la o rund)
i a fost proiectat pentru a avea urmtoarele caracteristici: rezisten n faa
atacurilor cunoscute, vitez i compactitate a codului pe o serie de platforme,
simplitate a proiectrii.

7
Intrarea la algoritmii de criptare/decriptare AES este un bloc de 128 de bii,
prezentat n FIPS PUB 197, ca o matrice ptrat de octei.
Acest bloc este copiat n tabloul State, care este modificat la fiecare rund a
criptrii sau decriptrii. Dup runda final, State este copiat la ieire.
Cheia este extins n loturi de 44/52/60 a cte 32-bii (un cuvnt), la fiecare
rund fiind folosite 4.
Operaiile asupra datelor constau dintr-un pas de adugare cheie de rund,
mai apoi 9/11/13 runde cu 4 pai fiecare, iar pasul final al 10-lea, 12-lea, 14-
lea este substituie de octei + amestecare coloane + adugare cheie de
rund.
Aceasta poate fi privit ca operaiile XOR asupra chei i amestecare a octeilor
de date aplicate alternativ.
Toi aceti pai sunt uor reversibili, i pot fi implementai eficient folosit XOR
i cutri n tabele.

8
Structura general a AES, aa cum a fost detaliat pe slide-ul precedent.

9
Vom discuta fiecare din cele 4 stagii folosite n AES.
Stagiul Substituire octei folosete un S-box pentru a efectua o substituie
octet-cu-octet a blocului.
Exist un singur S-box de 8 bii folosit pentru fiecare octet.
Aceste S-box este o permutare a tuturor celor 256 de valori reprezentabile pe
8 bii, construite folosind o transformare care trateaz valorile ca polinoame n
GF(28) cu toate c este fixat, aa c la implementare trebuie cunoscut doar
tabelul. La decriptare se folosete tabelul invers.
Tabelul a fost proiectat n aa fel nct s ofere rezisten n faa atacurilor
criptanalitice cunoscute. Proiectanii Rijndael au cutat un design care o
corelare mic ntre biii din intrare i cei din ieire, cu proprietatea c ieirea nu
poate fi descris ca o simpl funcie matematic aplicat intrrii, fiind fr
puncte fixe i fr puncte fixe opuse.

10
Operaia Substituie octei se efectueaz asupra fiecrui octet al strii n mod
independent, octetul din intrare fiind folosit ca index linie/coloan pentru tabelul
din care se ia valoarea de substituie.

11
Stagiul ShiftRows (DeplasareLinii) ofer o simpl permutare a datelor, n timp
ce ceilali pai implic substituii. Mai mult, din moment ce starea este tratat
ca un bloc de coloane, acest pas este cel care ofer difuzia valorilor ntre
coloane.
Se efectueaz o rotire circular de 0, 1, 2, 3 poziii n fiecare din liniile
corespunztoare.
La decriptare se efectueaz deplasri circulare n direcia opus pentru fiecare
linie. Aceast deplasare de linii mut un octet dintr-o coloan ntr-alta, ceea ce
reprezint o distan liniar multiplu de 4 octei i asigur faptul c cei 4 octei
ai unei coloane sunt rspndii n patru coloane diferite.

12
Figura ilustreaz permutarea de deplasare a liniilor.

13
Stagiul MixColumns este o substituie care folosete aritmetica n GF(2^8).
Fiecare octet al unei coloane este transformat ntr-o nou valoare care este o
funcie de toi octeii din acea coloan.
Este proiectat ca o nmulire de matrici unde fiecare octet este tratat ca un
polinom n GF(28).
La decriptare pentru inversarea operaiei se folosete o mulime de constante
diferit.
Constantele folosite sunt bazate pe un cod liniar cu distana maxim ntre
cuvintele ce formeaz codul ceea ce duce la o amestecare bun a octeilor
din fiecare coloan.
n combinaie cu pasul deplasare linii rezult un efect de avalan foarte bun,
astfel c dup cteva runde, toi biii din ieire depind de toi biii din intrare.

14
Figura ilustreaz transformarea Mix Columns.

15
n practic Mix Columns se implementeaz prin exprimarea transformrii
asupra fiecrei coloane ca 4 ecuaii pentru a calcula noii octei ai coloanei.
Acest calcul necesit doar operaii primitive: deplasri, XOR, XOR condiional
(pentru reducerea modulo).
La decriptare trebuie folosit matricea invers, care are coeficieni mai mari, i
prin urmare este puin mai dificil i mai lent la implementare.
Proiectanii i standardul AES ofer o caracterizare alternativ a operaiei
MixColumns, care trateaz fiecare coloan a strii ca un polinom format din
patru termeni cu coeficieni n GF(28). Fiecare coloan este nmulit cu un
polinom fixat a(x). Cu toate c aceste aspect este important pentru analiza
algoritmului, pentru implementare este suficient s se dea explicit matricea.

16
Ultimul stagiu este Adugarea cheii de rund (Add Round Key) care nu este
altceva dect o simpl operaie XOR ntre blocul de stare i o parte din cheia
extins.
Acesta este singurul pas care folosete cheia i ascunde rezultatul, aa c
TREBUIE folosit la nceputul i la sfritul fiecrei runde, din moment ce altfel
se poate desface efectul celorlali pai.
Ceilali pai ofer confuzie/difuziune/non-liniaritate.
Cifrul poate fi privit ca o serie repetri ale operaiei XOR cu cheia i
amestecare/permutare.
Aceasta este considerat foarte eficient i foarte sigur.

17
Figura ilustreaz stagiul Add Round Key, care, la fel ca i Substituie octei,
opereaz asupra fiecrui octet al strii n mod independent.

18
Acum putem vedea toate detaliile interne ale unei runde AES; manipularea
fiecrui octet al strii.

19
Algoritmul de expansiune a cheii AES are la intrare cheia format din 4 cuvinte
(16 octei) i produce un tablou liniar de cuvinte, ce ofer o cheie de rund
format din 4 cuvinte pentru stagiul iniial AddRoundKey i 10/12/14 chei
pentru fiecare din rundele cifrului.
Cheia este copiat n primul grup de 4 cuvinte iar mai apoi se construiesc
grupuri de 4 cuvinte pe baza valorii precedente i pe cele 4 valori dinaintea ei.
Primul cuvnt din fiecare grup de 4 primete un tratament special fiind rotat +
S-box + XOR.
n varianta cu cheie de 256 de bii i 14 runde este un pas suplimentar la
cuvntul din mijloc.

20
Este prezentat primul bloc al algoritmului de expansiune a cheii.
Apare fiecare grup de 4 octei ai cheii care sunt atribuite primelor 4 cuvinte iar
mai apoi se calculeaz urmtoarele 4 cuvinte pe baza celor 4 cuvinte
precedente, iar aceasta se repet pn cnd sunt create toate subcheile
necesare.

21
Creatorii Rijndael au proiectat algoritmul de expansiune a cheii pentru a rezista
n faa atacurilor criptanalitice.
Este proiectat n aa fel nct e simplu de implementat, dar folosind constante
de rund se evit simetriile i astfel este mult mai dificil a se deduce biii cheii
dac sunt cunoscui doar o parte din ei (dac avem o serie de bii consecutivi,
atia ci sunt n cheie, se poate recrea cu uurin toate cheile de rund).
Sunt enumerate criteriile de proiectare ale algoritmului de generare a
subcheilor.

22
Decriptarea AES nu este identic cu criptarea. Secvena de transformri
pentru decriptare difer de cea de la criptare, cu toate c forma algoritmului de
generare a cheilor este aceeai att la criptare ct i la decriptare.
Dezavantajul acestui fapt este acela c este nevoie de dou module software
sau firmware separate pentru aplicaiile care necesit ambele operaii.
Exist totui o versiune echivalent a algoritmului de decriptare care are
aceeai structur ca i algoritmul de criptare, cu aceeai secven de
transformri ca i algoritmul de criptare (transformrile sunt nlocuite cu
inversele lor).
Pentru a realiza aceast echivalen este nevoie de o modificare a algoritmului
de generare a cheilor.
Prin construirea unui cifru invers echivalent cu paii n aceeai ordine ca i la
criptare, putem crea implementri mai eficiente.
Inversarea substituiei de octei cu deplasarea liniilor nu are efect, din moment
ce funcioneaz doar asupra octeilor.
Inversarea pailor Amestecare coloane i Adugare cheie rund necesit
aplicarea prima dat a pasului Amestecare coloane invers cheilor de rund
ceea ce face ca algoritmul de generare a cheilor s fie mai complex, dar
permite folosirea acelorai calcule la criptare/decriptare n hardware i
software.

23
Este prezentat cifrul invers, echivalent.

24
AES poate fi implementat foarte eficient pe procesoare pe 8 bii.
AddRoundKey este o operaie XOR asupra unor octei.
ShiftRows este o simpl operaie de deplasare de octei.
SubBytes opereaz la nivel de octet i necesit doar cutare n tabela S
format din 256 de elemente.
MixColumns (nmulire matrici) poate fi implementat cu operaii XOR asupra
unor octei i prin cutare n tabele cu un al doilea tabel de 256 de octei.

25
AES poate fi implementat foarte eficient i pe procesoare pe 32 de bii, prin
rescrierea transformrilor pentru a folosi 4 tabele de cutare i 4 operaii XOR
la fiecare coloan.
Aceste tabele pot fi calculate n avans folosind anumite formule, i necesit
4KB de spaiu pentru stocare.
Proiectanii Rijndael au considerat c aceast implementare compact,
eficient a fost probabil unul din cei importani factori la selectarea algoritmului
lor ca AES.

26
Sumar capitoul 5

27
1
Citat.

2
Avnd n vedere vulnerabilitatea potenial a DES n faa atacurilor prin for
brut, s-a cutat vreme ndelungat o alternativ.
O variant este proiectarea unui algoritm nou, AES fiind un astfel de exemplu.
O alt alternativ, care menine investiiile existente n software i
echipamente, este folosirea criptrii multiple cu DES i mai multe chei.
Vom examina abordarea acceptat pe scar larg triple DES (3DES).

3
Cea mai simpl form de criptare multipl are dou stagii de criptare i dou
chei - Double-DES.
Apare problema existenei unei singure chei care s fie echivalent cu cele
dou chei folosite.
Atacul de tip meet-in-the-middle descris prima dat de Diffie n 1977.
Este un atac cu text clar cunoscut (se cunosc perechi i se ncearc s se
gseasc o valoare X n mijlocul criptrii duble a acestei perechi, iar ansa de
reuit este O(2^56) ceea ce este mult mai bine dect cutarea exhaustiv
O(2^112).

4
Triple-DES cu dou chei este o alternativ popular de DES simplu, dar este
de 3 ori mai lent. Folosirea stagiilor criptare/decriptare sunt echivalente, dar
structura aleas permite compatibilitatea cu implementri DES simple. 3DES
cu dou chei este o alternativ popular la DES i a fost adoptat pentru a fi
folosit n standardele pentru gestiunea cheilor ANS X9.17 i ISO 8732.
La ora actual, nu exist atacuri criptanalitice realizabile n practic asupra
3DES. Coppersmith remarca faptul c este nevoie de un numr de operaii de
ordinul 2^112 (=5*10^33) pentru un atac prin for brut asupra 3DES i
estima c costul criptanalizei difereniale are o cretere exponenial, n
comparaie cu DES simpllu, depind 10^52.

5
Totui exist cteva atacuri posibile dpdv teoretic asupra 3DES cu dou chei.
3DES cu 3 chei (168-bii) este folosit n anumite aplicaii cum ar fi PGP and
S/MIME pentru a oferi o securitate mai bun.

6
DES (s-au orice alt cifru bloc) formeaz baza pentru criptarea/decriptarea unui
bloc de date de dimensiune fix.
Totui pentru a folosi n practic aa ceva, trebuie s putem gestiona cantiti
de date arbitrare, care pot fi disponibile de la nceput (caz n care este potrivit
un mod bloc), sau datele pot fi disponibile doar un bit/octet la un moment dat
(caz n care se folosete modul stream).
Pentru a aplica un cifru bloc ntr-o serie de aplicaii, au fost definite 4 moduri
de operare de ctre NIST (FIPS 81).
Aceste patru moduri intenioneaz s acopere practic toate aplicaiile posibile
ale criptrii pentru care se poate folosi un cifru bloc.
Pe msur ce au aprut noi aplicaii i cerine, NIST a extins lista modurilor
recomandate la 5 ntr-o Special Publication 800-38A.
Aceste moduri sunt destinate a fi folosite nu orice cifru bloc simetric (DES,
AES etc.).

7
Cel mai simplu mod este modul electronic codebook (ECB), n care textul clar
este trata cte un bloc o dat i fiecare bloc de text clar este criptat cu aceeai
cheie.
ECB este cel mai simplu mod de operare, i este folosit doar atunci cnd se
transmite un singur bloc de informaie (de ex. o cheie de sesiune critptat cu o
cheie master)

8
Ilustrarea modul de operare Electronic Codebook (ECB).

9
ECB nu este potrivit pentru orice cantitate de date, din moment ce repetiiile
pot fi observate cu uurin, i deoarece blocurile pot fi amestecate/inserate
fr a afecta criptarea/decriptarea fiecrui bloc.
Este utilizat n principal pentru a transmite unul sau cteva blocuri, de ex. o
cheie de sesiune criptat.

10
Pentru a depi problema repetiiilor i a independenei de ordinea blocurilor
de la ECB, este de dorit ca textul cifrat s depind de toate blocurile
precedente.
Asta e ceea ce ne ofer CBC, prin combinarea blocului criptat precedent cu
blocul de text clar curent nainte de a realiza criptarea.
Pentru a porni procesul, se folosete o valoare iniial (IV), care de regul este
o valoare cunoscut (00000) sau este o alt valoare transmis n clar sau
criptat n modul ECB, nainte de a porni utilizarea CBC.
Modul CBC este aplicabil atunci cnd trebuie transmise n siguran cantiti
mari de date n mod sigur, cu condiia ca toate datele s fie disponibile de la
nceput (de ex. email, FTP, web etc.).

11
Figura ilustreaz modul de operare CBC

12
O problem care apare la utilizarea modurilor de operare este tratarea
ultimului bloc, care se poate ntmpla s nu fie complet.
De regul acest bloc trebuie completat (de regul cu zerouri) iar mai apoi
aceast completare trebuie s poat fi eliminat cnd se face decriptarea
uneori aceasta se poate face n mod evident (de exemplu n textul clar s-ar
putea ca valoarea 0 s nu apar), sau n alte condiii trebuie explicitat numrul
de bii care au fost adugai, ultimul octet din bloc fiind reprezentarea binar a
numrului de bii adugai.
Dac se face acest lucru, dac ultimul bloc este complet, atunci se va aduga
un bloc suplimentar. Sunt situaii n care aceasta nu este acceptabil. n astfel
de situaii se folosesc alte moduri mai eztorice, de ex. ciphertext stealing n
care lungimea textului criptat este egal cu lungimea textului clar.

13
De regul se folosete modul de operare CBC.
nlnuirea ofer un efect de avalan, ceea ce nseamn c mesajul criptat
nu poate fi modificat sau rearanjat fr a distruge n totalitate datele care
urmeaz.
Totui apare o problem n a asigura c IV este ori o valoare fixat ori este
transmis criptat n modul de operare ECB pentru a opri atacurile asupra
primului bloc.

14
Dac datele sunt disponibile doar sub form de flux (un bit/octet o dat) de
ex. la o sesiune la un terminal sau valorile transmise de un senzor, atunci
trebuie gsit o alt abordare pentru criptarea acestor date, astfel nct datele
s nu fie ntrziate.
Ideea este de a folosi cifrul bloc ca un generator de numere pseudo-aleatoare
i de a combina aceti bii aleatori cu mesajul.
Aa cum s-a mai menionat XOR este un operator uor inversabil (se aplic
nc o dat cu aceeai operanzi pentru a inversa efectul).
Din nou se ncepe cu un IV i mai apoi se folosete textul cifrat ca urmtoare
intrare.
Ideea este de a consuma ct mai mult din ieirea aleatoare pentru fiecare
unitate de mesaj (bit/octet) nainte de a transmite biii din buffer i a face o
nou criptare.
Astfel se face mult risip, i se ncetinete procesul de criptare din moment
ce e nevoie de mai multe criptri.
O modalitate alternativ de a vedea acest mod de operare este: se genereaz
un bloc de bii aleatori, se consum pe msur ce biii/octeii mesajului
sosesc, i atunci cnd au fost folosii toi, se introduce un nou bloc complet de
text cifrat. Acesta este modul CFB-64 sau CFB-128 (n funcie de dimensiunea
blocului pentru cifrul ce este folosit DES sau AES).
CFB se folosete atunci cnd se lucreaz cu date de tip flux i pentru
autentificare.
15
Ilustrarea a modului de operare CFB.

16
CFB este modul de operare stream. Atta timp ct poate ine pasul cu intrare,
se fac criptri la fiecare 8 octei.
O problem posibil este aceea c dac este folosit peste un canal cu
zgomot, atunci orice bit modificat va distruge valoarea din blocul curent i din
urmtoarele blocuri (din moment ce blocul curent reprezint intrare la crearea
biilor aleatori pentru blocul urmtor).
Aa c trebuie folosit peste un nivel transport sigur sau s se foloseasc OFB.

17
Alternativa la CFB este OFB.
Generarea biilor aleatori este independent de mesajul ce este criptat.
Avantajul este c acetia pot fi precalculai, ceea ce e important atunci cnd
avem un trafic de date n rafale, i n al doilea rnd, orice modificare/eroare a
unui bit nu duce la propagarea eroarii.
Prin urmare este indicat a fi folosit pe linii de comunicaie cu zgomot (de ex.
transmisii prin satelit sau TV).

18
Ilustrare a modului de operare OFB.

19
Un avantaj al metodei OFB este aceea c erorile de transmisie nu se propag.
Dezavantajul modului de operare OFB este acela c este mai vulnerabil la un
atac prin modificarea fluxului dect CFB.
Din moment ce OFB este o variant a cifrului Vernam, fluxul nu trebuie
refolosit niciodat (altfel cele dou texte cifrate pot fi combinate).
Transmitorul i receptorul trebuie s fie sincronizai, altfel datele se pierd.
Cercetrile au demonstrat c este sigur doar atunci cnd se folosete full
block feedback adic modul OFB-64/128.

20
Modul CTR este o variant a OFB, dar se cripteaz o valoare contro. Cu toate
c a fost propus demult, a fost standardizat recent pentru a fi folosit cu AES
mpreun cu celelalte 4 moduri de operare.
Este folosit cu aplicaii n securitatea reelelor ATM (asynchronous transfer
mode) i IPSec.
Este folosit un contor a crui dimensiune este egal cu dimensiunea blocului
de text clar.
Singura cerin din SP 800-38A este ca valoarea contor s fie diferit pentru
fiecare bloc de text clar ce este criptat.
De regul contorul este iniializat cu o valoare i apoi incrementat cu 1 pentru
fiecare bloc.

21
Figura ilustreaz modul Contor (CTR).

22
Modul de operare CTR are o serie de avantaje n ceea ce privete eficiena n
hardware i software fiind paralelizabil.
Se pot preprocesa valorile de ieire n avans, se poate accesa aleator blocurile
de date criptate i este simplu.
La fel ca i OFB nu se poate reutiliza aceeai pereche (cheie, contor).

23
Un cifru cripteaz textul clar octet cu octet sau bit cu bit, efectund operaia
XOR ntre textul clar i un flux de chei pseudoaleator.
Cifrul stream este similar cu one-time pad. Diferena este c la one-time pad
se foloete un flux de chei aleatoriu, pe cnd la cifrurile stream se folosete un
flux de numere pseudoaleatorii.
Pe baza proprietilor aleatorii ale fluxului de chei se distrug proprietile
statistice ale mesajului.
Totui, nu trebuie refolosit un flux de chei deoarece astfel se poate recupera
mesajul.

24
Figura ilustreaz structura general a unui cifru stream, n care cheia este
folosit ca i intrare pentru generatorul de bii pseudoaleatori. Aceast
secven de bii este combinat XOR cu mesajul rezultnd mesajul criptat. La
decriptare se aplic din nou operaia XOR.

25
Cteva consideraii de proiectare importante pentru cifrurile stream:
1. Fluxul de chei ar trebui s aib o perioad lung, cu ct e mai lung
perioada cu att este mai dificil s se fac criptanaliz.
2. Fluxul de chei ar trebui s aproximeze ct mai bine proprietile unei
secvene aleatoare de numere, cu ct este mai aleatoariu fluxul de chei, cu
att este mai randomizat textul cifrat, fcnd criptanaliza mai dificil.
3. Ca protecia mpotriva atacurilor prin for brut, cheia trebuie s fie
suficient de lung. Consideraiile de la cifrurile bloc sunt valabile i pentru
pentru cifrurile stream. Cu tehnologiile actuale, este important s se
foloseasc o cheie de cel puin 128 de bii.
Cu un generator de numere pseudoaleatoriu, un cifru stream poate fi la fel de
sigur ca i un cifru bloc pentru aceeai dimensiune a cheii.
Avantajul cel mai important al unui cifru stream este viteza i faptul c se
folosete mult mai puin cod fa de cifrurile bloc.

26
RC4 este un cifru stream proiectat n 1987 de Ron Rivest pentru RSA Security.
Este un cifru stream cu dimensiune variabil a cheii cu operaii orientate pe
octet.
Algoritmul se bazeaz pe folosirea unei permutri aleatoare.
Analiza arat c perioada cifrului este foarte mare, mai mare de 10^100.
Pentru procesarea fiecrui octet sunt necesare 8-16 operaii main, i cifrul
ruleaz foarte bine n software.
RC4 este probabil cel mai folosit cifru stream.
Este folosit n protocolul pentru web securizat SSL/TLS i n protocoalele
pentru LAN wireless WEP i WPA.
RC4 a fost pstrat ca secret de ctre RSA Security, dar n septembrie 1994 a
fost postat pe Internet, n mod anonim, pe lista de de discuii Cypherpunks.
Cheia RC4 este folosit pentru a forma o permutare aleatoare a tuturor
valorilor pe 8 bii i mai apoi se folosete acea permutare pentru a amesteca
datele din intrare octet cu octet.

27
Algoritmul pentru generarea cheii RC4 iniializeaz stare S cu numerele
0..255, dup care parcurge fiecare valoare i adaug urmtorul octet al cheii
pentru a a alege o alt intrare din tablou i se interschimb valorile.
Dup ce se face acest lucru de 256 de ori, rezultatul este un tablou amestecat
foarte bine.
Numrul total de stri este 256! un numr foarte mare, mult mai mare dect
cheia de dimensiune maxim ce poate fi selectat de 2048 de bii.

28
Pentru a forma fluxul de chei pentru criptare/decriptare (care sunt identice),
RC4 continu s amestece tabloul de permutare S prin interschimbarea
fiecrui element pe rnd cu o alt valoare, i folosind suma acestor dou valori
selecteaz o alt valoare din permutare pentru a fi folosit ca i cheie, care
este mai apoi combinat XOR cu octetul curent din mesaj.

29
Structura general a RC4.

30
Au fost publicate o serie de lucrri care analizau metodele de atac al RC4, dar
nici un atac nu este realizabil practic mpotriva RC4 atunci cnd este folosit o
cheie de lungime rezonabil.
O problem mai serioas apare atunci cnd este folosit n protocolul WEP. Aici
nu algoritmul este problema ci modul n care este generat cheia folosit ca
intrare la RC4.
RC4 este considerat destul de sigur la ora actual, atunci cnd este folosit
corect, cu o cheie suficient de mare.

31
Sumar capitolul 6.

32
1
Citat

2
Dac se folosete criptarea pentru preveni atacurile asupra confidenialitii,
trebuie s stabilim ce trebuie criptat i unde trebuie plasat funcia de criptare.
Acum vom examina locaiile poteniale ale atacurilor de securitate i apoi vom
vedea cele dou abordri n ceea ce privete plasarea funciei de criptare:
legtur respectiv capt la capt.
Exist multe locuri n care pot s apar atacuri, atunci cnd avem:
- staii de lucru pe LAN acceseaz alte staii de lucru i servere pe LAN
- reele LAN interconectate folosind switch-uri i routere.
- cu linii externe i legturi radio/satelit
Atacurile i locuri n care au loc:
- snooping de la o alt staie de lucru
- Folosirea dial-in n LAN sau pe server pentru snoop
- Ascultarea fizic a liniei de comunicaie
- Folosirea unei legturi prin ruter extern pentru a intra i a face snoop
- Monitorizare i/sau modificarea traficului pe legturile externe.

3
Exist dou posibiliti de plasare a criptrii: criptarea legturii i criptarea
capt la capt.
Prin criptarea legturii, fiecare legtur de comunicaie vulnerabil este
echipat la ambele capete cu dispozitive de criptare.
Dar toate legturile poteniale pe ruta de la surs la destinaie trebuie s
foloseasc criptarea legturii.
Fiecare pereche de noduri care sunt capete ale unei legturi trebuie s
partajeze o cheie unic, cu o cheie diferit pe fiecare legtur. Astfel, trebuie
furnizate multe chei.
La criptarea capt-la-capt, procesul de criptare se realizeaz la sistemele de
la capetele comunicaiei. Astfel, criptarea capt-la-capt elibereaz utilizatorul
final de grija n legtur cu gradul de securitate al reelelor i al legturilor pe
care se realizeaz comunicaia.
Datele utilizator sunt n siguran, dar pachetele de date n care se pun aceste
date nu vor fi n mare siguran avnd n vedere c antetele pachetelor sunt
transmise n clar.

4
Figura prezint cele dou alternative pentru plasarea criptrii.

5
Prin criptare capt-lacapt, datele utilizator sunt n siguran, dar modelul de
transmisie (cine cu cine comunic i cnd) nu este protejat deoarece antetele
pachetelor sunt transmise n clar.
Totui, criptarea capt la capt ofer un anumit grad de autentificare, din
moment ce receptorul este asigurat de faptul c orice mesaj primit vine de la
transmitorul care pretinde c l-a trimis, deoarece doar transmitorul are
cheia corespunztoare.
O astfel de autentificare nu este inerent n schemele de criptare a liniei.
Pentru a oferi securitate sporit, este necesar a se utiliza att criptare capt-
la-capt ct i criptarea liniei.

6
Criptarea poate fi plasat la diverse niveluri ale modelului de referin OSI.
Criptarea legturii poate s apar att la nivel fizic ct i le nivelul legtur de
date.
Criptarea capt-la-capt poate fi efectuat la nivel reea (pentru toate
procesele de pe un sistem), la nivelul Transport (aici este posibil pentru fiecare
proces separat) sau la nivelul Prezentare/Aplicaie, dar cu un cost suplimentar
reprezentat de gestiunea mai multor entiti.
Pe msur ce urcm n ierarhia de comunicaie, se poate observa c
informaia criptat este mai redus dar este mult mai sigur.

7
Figura prezint relaia dintre criptare i nivelul protocol, folosind arhitectura
TCP/IP ca exemplu, prezentnd ct informaie din pachet este protejat.

8
Unii utilizatori i fac probleme din cauza analizei traficului, care reprezint
nregistrarea i analiza numrului de mesaje (i a lungimii acestora) transmise
ntre diferite noduri, informaii ce pot permite unui adversar s determine cine
cu cine comunic, i s afle cnd sunt transmise informaii importante, sau s
coreleze aceste transmisii cu evenimente observate.
Folosind criptarea legturii, antetele de la nivel reea sunt criptare, reducnd
ansa de a face analiz a traficului. O contra-msur eficient a acestui atac
este completarea traficului (traffic padding).
Dac se folosete doar criptare capt-la-capt, atunci msurile de aprare pe
care le avem la dispoziie sunt mai limitate din moment ce sunt vizibile mai
multe antete de protocol.
Se poate folosi completarea datelor de la nivel aplicaia i folosirea unor
mesaje ce conin doar valoarea null.

9
Pentru ca criptarea simetric s funcioneze, cele dou entiti trebuie s
partajeze aceeai cheie, i aceast cheie trebuie s fie protejat fa de
accesul altora.
Aceasta este una din cele mai critice pri n securitatea sistemelor de multe
ori au fost sparte sisteme, nu datorit algoritmului de criptare folosit, ci datorit
sistemului de selectare i gestionare a cheii care avea deficiene.
Este foarte important ca acest sistem s funcioneze corect.

10
Puterea oricrui sistem criptografic depinde de tehnica de distribuie a cheii.
Pentru dou entiti A i B, distribuia cheii poate fi realizat n numeroase
moduri:
Distribuire fizic (1 i 2) este cea mai simpl dar este aplicabil atunci cnd
exist un contact personal ntre receptor i transmitorul cheii.
Aceasta e suficient pentru criptarea legturii n care dispozitivele i cheile vin
n pereche, dar nu se poate scala la un numr de participani la comunicaie
mai mare.
Varianta 3 este bazat apariia prima dat a variantei 1 sau 2.
Un ter de ncredere poate fi folosit ca un intermediar care mediaz stabilirea
canalului de comunicaie sigur ntre entiti (4).
Terul trebuie s fie unul de ncredere care s nu abuzeze de cunotinele sale
n ceea ce privete cheile de sesiune.
Pe msur ce numrul de entiti crete, unele variante ale 4 sunt soluii
practice atunci cnd crete exponenial numrul de chei de care este nevoie.

11
Utilizarea centrelor de distribuie a cheilor se bazeaz pe folosirea unor ierarhii
de chei.
Se folosesc cel puin dou niveluri de chei: o cheie de sesiune, folosit pe
durata unei conexiuni logice; o cheie master partajat de centrul pentru
distribuia cheilor i un sistem sau utilizator final.
Cheia master este folosit pentru a cripta cheia de sesiune.

12
Conceptul de distribuie a cheilor poate fi realizat n multe moduri.
In figur avem un astfel de mod, care are un Centru pentru Distribuia Cheilor
care partajeaz o cheie unic cu fiecare utilizator.

13
Cteva din cele mai importante probleme legate de Centrele pentru Distribuia
Cheilor.
n reele foarte mari, se poate stabili o ierarhie de Centre pentru Distribuia
Cheilor. Comunicaia ntre entitile din acelai domeniu local este rezolvat de
Centrul de Distribuie a Cheilor local. Dac dou entiti din domenii diferite au
nevoie de o cheie de sesiune, atunci Centrele corespunztoare pentru
Distribuia Cheilor pot comunica prin Centre de Distribuie a Cheilor globale
(sau printr-o ierarhie de astfel de centre).
Pentru a face un echilibru ntre securitate i efort, ar trebuie folosit o cheie de
sesiune nou pentru fiecare sesiune orientat pe conexiune. Pentru un
protocol fr conexiune, o nou cheie de sesiune este folosit pentru o
anumit perioad de timp sau pentru un anumit numr de tranzacii.
O abordare prin distribuia automat de chei ofer caracteristicile de
flexibilitate i dinamic necesare pentru a permite unui anumit numr de
utilizatori finali s acceseze o serie de sisteme i sistemelor s efectueze
schimb de date unul cu altul, cu condiia ca s aib ncredere n sisteme s
acioneze n numele lor.
Utilizarea centrelor pentru distribuia cheilor impune cerina ca acestea s fie
de ncredere i s fie protejate n faa atacurilor. Aceast cerin poate fi
evitat dac distribuia cheilor este complet descentralizat.
n plus fa de separarea cheilor master fa de cheile de sesiune, este de
dorit s existe diferite tipuri de chei de sesiune n funcie de utilizarea lor.

14
Numerele aleatoare au un rol important n folosirea criptografiei n diverse
aplicaii de securitate pentru reele.
Obinerea unor numere aleatoare bune este important, dar dificil.
Nu este de dorit ca cineva s ghiceasc cheia folosit pentru protejarea
comunicaiei pentru c numerele aleatoare nu sunt aleatore (aa cum s-a
ntmplat n primele versiuni de SSL de la Netscape).
Numerele aleatoare trebuie s fie att aleatoare dpdv statistic (cu distribuie
uniform i independent) ct i nepredictibile (astfel ca s fie imposibil de a
determina valorile ulterioare dup ce au fost observate cteva valori
consecutive).

15
Aplicaiile criptografice folosesc de regul tehnici algoritmice deterministe
pentru a genera numere aleatoare, producnd secvene de numere care nu
sunt aleatore dpdv statistic, dar dac algoritmul este bun, secvena ce rezult
va trece cu succes o serie de teste probabilistice.
Astfel de numere se numesc numere pseudoaleatoare, create cu
Generatoarele de Numere PseudoAleatoare (GNPA).

16
Cea mai folosit tehnic pentru generarea numerelor pseudo-aleatoare este
reprezentat de Generatoarele Congrueniale Liniare, introduse de Lehmer.
Se folosesc valorile succesive ale unei ecuaii iterative.
Cu valori corespunztoare pentru parametri se pot produce secvene ce par a
fi aleatoare, dar exist doar un numr mic de astfel de alegeri bune.
Cu toate c secvena pare a fi aleatoare, ea are un grad mare de
predictibilitate, i un atacator poate reconstrui secvena cunoscnd doar un
numr mic de valori.
Exist cteva abordri prin care se poate ngreuna acest proces de
reconstruire n practic.

17
Pentru aplicaiile criptografice, are sens s profitm de o funcie de criptare
bloc, care este disponibil n sistem, pentru a genera numere aleatoare.
Se poate folosi modul contor sau Output feedback, de regul pentru generarea
cheii de sesiune cu ajutorul cheii master.

18
Unul din cele mai puternice GNPA (dpdv criptografic) este specificat n ANSI
X9.17.
Acesta folosete data/ora i o valoare de iniializare ca intrare pentru 3 criptri
TripleDES pentru a genera o nou valoare iniial i o valoare aleatoare.
n figur:
DTi Data/ora la nceputul stagiului de generare numrul i
Vi - valoarea iniial la nceputul stagiului de generare numrul i
Ri numrul pseudoaleator produs de stagiul de generare numrul i
K1, K2 chei DES folosite pentru fiecare stagiu
Dup care se calculeaz valorile succesive astfel:
Ri = EDE([K1, K2], [Vi XOR EDE([K1, K2], DTi)])
Vi+1 = EDE([K1, K2], [Ri XOR EDE([K1, K2], DTi)])
Sunt mai muli factori care contribuie la puterea criptografic a acestei metode.
Tehnica implic a cheie de 112 bii i trei criptri EDE, n total fiind nou
criptri DES.
Schema este realizat prin folosirea a dou intrri pseudo-aleatoare, valoarea
datei i a orei i o valoare iniial produs de generator care este diferit de
numrul pseudo-aleatoriu produs de generator. Astfel, cantitatea de informaie
care trebuie compromis de ctre adversar este foarte mare.

19
O abordare populare pentru generarea de numere pseudoaleatoare este
generatorul Blum, Blum, Shub (BBS) (autorii).
Are probabil cea mai puternic demonstraie public a puterii criptografice,
dintre toate GNPA.
Este bazat pe algoritmi cu chei publice i prin urmare este foarte lent, dar are
un nivel de securitate foarte ridicat.
Este un Generator de Bii PseudoAleastori Sigur din punct de vedere
Criptografic (GBPASC) fiind n practic nepredictibil.

20
Un generator real de numere aleatoare folosete o surs nondeterminist.
Majoritatea opereaz prin msurarea unor procese naturale nepredictibile,
cum ar fi detectoarele de puls ale evenimentelor ionizante ale radiaiilor,
descrcarea de gaze n tuburi etc.
Pentru aceasta este nevoie de hardware special. Un generator de numere
aleatoare reale poate produce la ieire valori care nu sunt uniforme. Exist o
serie de metode pentru a modifica un flux de bii pentru a reduce sau a elimina
neuniformitatea.

21
O alternativ este de a folosi colecii bune de numere aleatoare publicate.
Totui, aceste colecii ofer o surs destul de limitat de numere pentru
cerinele poteniale ale aplicaiilor de reea.
Cu toate c aceste numere publicate n diverse cri au proprieti statistice
bune, ele sunt predictibile deoarece un adversar care cunoate colecia
folosit poate obine cu uurin o copie a ei.

22
Sumar al capitolului 7.

23
1
Citat.
O serie de concepte din teoria numerelor sunt eseniale n proiectarea
algoritmilor cu chei publice, concepte ce vor fi prezentate n acest capitol.

2
Un aspect central n teoria numerelor este studiul numerelor prime.
ntr-adevr, au fost scrise o serie de cri despre aceste numere. Un ntreg
p>1 este numr prim dac i numai dac singurii si divizori sunt 1 i el nsui.
Numerele prime joac un rol important n teoria numerelor i n tehnicile
discutate n acest capitol.
n lista de numere prime se poate observa distribuia numerelor prime.
De observat numrul de numere prime n fiecare grup de 100.

3
Factorizarea este o operaie important gsirea unor numere care divid un
numr dat.
Prin factorizarea putem scrie un numr ca produs de numere prime.
Factorizarea este o operaie dificil n comparaie cu nmulirea.

4
Avem conceptul de relativ prim dac dou nuemre nu au nici un alt factor
comun n afar de 1.
O alt problem este determinarea celui mai mare divizor comun a dou
numere care este cel mai mare numr care le divide ambele.

5
Dou teoreme care joac un rol important n criptografia cu chei publice sunt
teorema lui Fermat i teorema lui Euler.
Teorema lui Fermat (mai bine cunoscut sub numele de Mica Teorem a lui
Fermat), afirm o proprietate important a numerelor prime.

6
Prezentm funcia lui Euler (n), definit ca numrul de numere pozitive mai
mici dect n i relativ prime cu n.
Termenul reziduu se refer la numere mai mici dect un anumit modul, i
mulimea redus de reziduuri se refer la acele numere (reziduuri) care sunt
relativ prime cu modulul n. Prin convenie (1) = 1.

7
Pentru a calcula (n) trebuie s numrm reziduurile ce trebuie excluse.
n general trebuie folosit o formul complex ce depinde de factorizarea
complet a lui n, dar avem o cteva cazuri particulare prezentate pe acest
slide.

8
Teorema lui Euler este o generalizare a teoremei lui Fermat pentru orice
numr n.

9
Pentru multe funcii criptografice este necesar s se selecteze unul sau mai
multe numere prime foarte mari n mod aleatoriu.
Astfel, sunt pui n faa determinrii primalitii unui numr prim mare.
n mod tradiional se filtreaz numerele prin mpriri cu toi factorii primi
posibili, dar aceast abordare funcioneaz doar pentru numere mici.
Putem folosi teste de primalitate statistice bazate pe proprieti ale numerelor
prime, i apoi pentru certitudine, se poate folosi un test de primalitate
determinist, cum ar fi testul AKS.

10
Algoritmul se datoreaz lui Miller i Rabin i este folosit de regul pentru a
testa primalitatea unui numr mare.
Demonstraia acestui test se bazeaz pe teorema lui Fermat.

11
Dac Miller-Rabin returneaz compus numrul sigur nu este prim, altfel este
ori prim ori pseudo-prim.
ansa de a detecta un pseudo-prim este <
Aa c, dac aplicm testul n mod repetat cu diferite valori pentru a,
probabilitatea ca numrul s fie pseudo-prim poate fi micorat orict de mult.
De ex. dup 10 teste ansa ca s avem un rezultat eronat este < 0.00001
Dac ne trebuie ntr-adevr certitudine, putem rula un test de primalitate
determinist, de ex. AKS, pe numrul prim obinut cu Miller-Rabin.

12
Un rezultat din teoria numerelor, cunoscut ca teorema numerelor prime, afirm
c numerele prime apropiate de n sunt n media unul la ln n numere.
Din moment ce numerele pare pot fi ignorate, n medie trebuie testate doar
0.5 ln(n) numere de dimensiune n pentru a gsi un numr prim.
De ex. pentru numerele de dimensiune aproximativ 2^200 trebuie testate
0.5ln(2^200) = 69 numere n medie.
Aceasta este doar o medie. Putem gsi numere prime succesive sau secvene
lungi de numere compuse.

13
Unul din cele mai utile rezultate din teoria numerelor este Teorema
chinezeasc a resturilor (TCR), numit astfel datorit faptului c se consider
c a fost descoperit de matematicianul chinez Sun-Tse n jurul anului 100 AD.
Este util n a crete viteza unor calcule n schema cu chei publice RSA, din
moment ce ne permite s efectum calcule modulo factori modulul i apoi s
combinm rezultatele pentru a obine rezultatul final.
Din moment ce costul computaional este proporional cu dimensiunea
numerelor, aceasta este mai rapid dect a lucra cu modulul M.

14
Una din avantajele importante ale TCR este c ne permite s manipulm
numere mod M foarte mari. Aceasta poate fi util atunci cnd M este format din
150 de cifre sau mai multe.
Totui este necesar ca factorizarea lui M s fie cunoscut.

15
Considerm puterile unui ntreg modulo n.
Din teorema lui Euler, pentru fiecare numr relativ prim a, exist cel puin o
putere egal cu 1 (de ex. (n)), dar poate s existe i o valoare mai mic.
Dac cea mai mic valoare este m = (n) atunci a se numete rdcin
primtiv.
Dac n este prim, atunci puterile unui rdcini primitve genereaz toate
reziduurile mod n.
Astfel de generatori sunt foarte utili, i sunt folosii ntr-o serie de algoritmi cu
chei publice, dar sunt destul de greu de gsit.

16
Logaritmii discrei sunt eseniali ntr-o serie de algoritmi cu chei publice cum ar
fi algoritmul pentru schimb de chei Diffie-Hellman i algoritmul de semntur
digital (DSA).
Logaritmii discrei au aceleai proprieti ca i logaritmii normali i sunt foarte
utili.
Logaritmul unui numr este definit ca puterea la care trebuie ridicat o anumit
baz (cu excepia lui 1) pentru a obine acel numr.
Dac se lucreaz n aritmetica modular, i baza este o rdcin primitiv,
atunci exist un logaritm discret ntreg pentru orice reziduu.
Totui, n timp ce exponenierea este relativ simpl, gsirea logaritmului discret
nu este, fiind la fel de dificil ca i factorizarea unui numr.
Acesta este un exemplu de problem care este simpl ntr-o direcie (ridicarea
numrului la o putere) dar dificil n cealalt direcie (gsirea puterii la care
trebuie ridicat un numr pentru a obine rezultatul dorit).
Probleme cu astfel de asimetrii sunt foarte rare, dar au o utilitate critic n
criptografia modern.

17
Sumar al capitolului 8.

18
Capitolul 9

1
Citat

2
Pn acum toate criptosistemele discutate, de la cele clasice pn la cele
moderne, au fost sisteme cu cheie secret/simpl/simetric.
Toate cifrurile bloc clasice, moderne i cifrurile stream sunt de acest tip, i se
bazeaz pe dou operaii fundamentale: substituia i permutarea
(transpoziia).

3
Vom discuta despre cu totul alte sisteme i anume criptosistemele cu chei
publice, n care se folosesc dou chei.
Dezvoltarea criptografiei cu chei publice reprezint probabil ca mai mare i
singura revoluia real n ntreaga istorie a criptografiei.
Este asimetric, implic utilizarea a dou chei separate, spre deosebire de
criptarea simetric, ce folosete una singur. Oricine cunoate cheia public
poate cripta mesaje sau poate verifica semnturi, dar nu poate decripta
mesaje sau crea semnturi chiar dac acest lucru nu este intuitiv.
Funcioneaz prin utilizarea ingenioas a unor probleme de teoria numerelor
care sunt simple ntr-o direcia dar dificile n cealalt.
Schemele cu chei publice nu sunt mai sigure dect cele cu cheie secret i
nici nu le nlocuiesc pe acestea (sunt prea lente pentru a le nlocui). Ele
reprezint un complement al acestora.
Ambele au probleme legate de distribuia cheilor, necesitnd utilizarea unui
protocol potrivit.

4
Conceptul de criptografie cu chei publice a evoluat dintr-o tentativ de a ataca
dou din cele dificile probleme asociate cu criptarea simetric: distribuia
cheilor i semnturile digitale.
Idea schemelor cu chei publice, i prima schem practic, care era util doar
pentru distribuia cheilor, a fost publicat n 1977 de ctre Diffie & Hellman.
Conceptul a fost descris anterior ntr-un raport clasificat n 1970 de ctre
James Ellis (UK CESG) - i ulterior declasificat.
Este interesant c ei au descoperit prima dat RSA, i mai apoiDiffie-Hellman,
ordinea invers a descoperirii publice!
NSA pretinde de asemenea c cunotea conceptul nc de la mijlocul anilor
60.

5
Se accentueaz aici faptul c diferena radical la criptografia cu chei publice
este utilizarea a dou chei corelate care au roluri i abiliti diferite.
Oricine cunoate cheia public poate cripta mesaje sau verifica semnturi, dar
nu poate decripta mesaje sau crea semnturi, totul datorit modului ingenios
de utilizare a unor concepte de teoria numerelor.

6
Figura prezint faptul c schemele de criptare cu chei publice au ase
ingrediente: textul clar, algoritmul de criptare, cheile public i privat, textul
cifrat i algoritmul de decriptare.
Putem considera urmtoarea analogie folosind cutii cu lact: n schemele
tradiionale transmitorul pune un mesaj n cutie i o nchide, transmind-o
receptorului, i ntr-un mod sigur transmite i cheia.
Avansul radical n schemele cu chei publice a fost faptul c acest lucru s-a
inversat, receptorul trimite o cutie deschis (cheia public) transmitorului,
care pune mesajul n cutie i o nchide (uor dup ce a nchis-o nu mai are
acces la mesaj), i transmite cutia nchis la receptor care o poate deschide
cu uurin pentru c are cheia (privat).
Un atacator ar trebuie s sparg zvorul cutiei (ceea ce e dificil).

7
Algoritmii asimetrici se bazeaz pe o cheie de criptare i o cheie diferit dar
corelat cu prima pentru decriptare.
Aceti algoritmi au urmtoarele caracteristici importante: este nefezabil
computaional s se determine cheia de decriptare cunoscnd doar algoritmul
de criptare i cheia public. Schemele cu chei publice folosesc probleme care
sunt simple ntr-o direcia (fac parte din clasa P) dar sunt dificile n cealalt
direcie (fac parte din clasa NP), de ex. exponenierea/logaritmarea,
nmulirea/factorizarea.
n puls, unii algoritmi, cum ar fi RSA, sunt capabili s foloseasc oricare cheie
ca i cheie public sau cheie privat.

8
Figura ilustreaz elementele eseniale ale schemelor de criptare cu chei
publice.
Schemele cu chei publice pot fi folosite att pentru confidenialitate ct i
pentru autentificare sau pentru ambele (aa cum este prezentat aici).
n acest caz, sunt folosite perechi de chei separate pentru fiecare din aceste
scopuri. Receptorul este proprietarul i creatorul cheilor private, transmitorul
posed i creeaz cheile de autentificare.
n practic de regul nu se face aa, datorit costurilor computaionale ale
schemelor cu chei publice.
n schimb se cripteze o cheie de sesiune care este folosit mai apoi cu un cifru
bloc pentru a cripta mesajul, i separat se semneaz o valoare hash a
mesajului ca o semntur digital despre care vom discuta ntr-un capitol
ulterior.

9
Sistemele cu chei publice sunt caracterizate de utilizarea unui tip de algoritm
criptografic cu dou chei. n funcie de aplicaie, transmitorul folosete ori
cheia privat a transmitorului ori cheia public a receptorului, sau ambele,
pentru a efectua un anumit tip de funcie criptografic.
La modul general putem clasifica criptosistemele cu chei publice n trei
categorii:
criptare/decriptare: Transmitorul cripteaz un mesaj cu cheia public a
receptorului.
Semntur digital: Transmitorul semneaz un mesaj cu cheia lui privat,
ori tot mesajul ori un mic bloc de date care reprezint o valoarea hash a
mesajului.
Schimb de chei: Dou entiti coopereaz pentru a schimba o cheie de
sesiune. Sunt posibile mai multe abordri, ce implic cheia privat a unei
entiti sau a ambelor entiti.
Unii algoritmi sunt potrivii pentru toate cele trei aplicaii, pe cnd alii pot fi
folosii doar pentru una sau dou din aceste aplicaii.

10
Schemele cu chei publice nu sunt mai bune sau mai slabe dect schemele cu
chei simetrice n ambele cazuri dimensiunea cheii determin nivelul de
securitate.
Este important de tiut c nu se pot compara dimensiunile cheilor o cheie de
64 de bii folosit la o schem cu cheie simetric ofer o securitate similar cu
cheie RSA de 512 bii ambele pot fi sparte avnd la dispoziie resurse
suficiente. Dar, la schemele cu chei publice exist o baz teoretic mai ferm
pentru determinarea securitii din moment ce se bazeaz pe probleme de
teoria numerelor care au fost studiate timp ndelungat.

11
RSA este cel mai bun i de departe cel mai folosit algoritm de criptare cu chei
publice, i a fost publicat pentru prima dat de Rivest, Shamir & Adleman la
MIT n 1978.
De atunci RSA este cel mai folosit, acceptat i implementat algoritm de
criptare cu chei publice de uz general.
Se bazeaz pe exponeniere ntr-un cmp finit (Galois) peste ntregi modulo
un numr prim, folosind ntregi foarte mari (de ex. 1024 bii).
Securitatea se bazeaz costului factorizrii numerelor mari.

12
Stabilirea cheilor RSA se face o singur dat (rar) atunci cnd un utilizator i
creeaz cheia public (sau o nlocuiete), folosind paii prezentai aici.
Exponentul e are de regul o valoarea mic i este relativ prim cu (n).
Trebuie calculat inversul su mod (n) pentru a-l gsi pe d.
Este foarte important ca factorii p i q ai lui n s fie pstrai secrei, din
moment ce sistemul poate fi spart dac devin cunoscui.
Utilizatori diferii vor avea valori distincte pentru n.

13
Calculele pentru criptarea i decriptarea RSA sunt doar simple exponenieri
mod n.
Mesajul trebuie s fie mai mic dect modulul.
Partea magic este alegerea exponenilor care face ca sistemul s
funcioneze.

14
Se poate demonstra c RSA funcioneaz ca o consecin direct a teoremei
lui Euler, aa c ridicarea unui numr la puterea e apoi d (i invers) va duce la
numrul original.

15
Aici generm chei RSA folosind numere de dimensiune foarte mic.
Alegerea numerelor prime necesit folosirea unui test de primalitate.
Gsirea lui d ca invers al lui e mod (n) se poate face cu
algoritmul extins al lui Euclid.

16
Operaiile de criptare i decriptare nu sunt altceva dect simple operaii de
exponeniere mod 187.
n loc s facem o serie de nmuliri repetate, putem folosi algoritmul ridicare la
putere i nmulire cu reduceri modulare pentru a implementa toate
exponenierile rapid i eficient (urmtorul slide).

17
Pentru a efectua exponeniere modulare putem folosi algoritmul Ridicare la
ptrat i nmulire, care este un algoritm rapid i eficient.
Idea este de a ridica la ptrat baza n mod repetat, i de a nmuli valorile care
trebuie pentru a calcula rezultatul, aa cum reiese din reprezentarea binar a
exponentului.

18
O versiune a algoritmului Ridicare la ptrat i nmulire.

19
Pentru a accelera calculele efectuate de algoritmul RSA folosind cheia public,
putem alege s folosim valori mici pentru e (dar nu foarte mici, pentru c altfel
algoritmul este vulnerabil la atacuri).
Trebuie asigurat faptul c p i q s fie relativ prime cu e pentru ca algoritmul s
funcioneze.

20
Pentru a grbi operaiile algoritmului RSA atunci cnd este folosit cheia
privat se poate folosi Teorema Chinezeasc a Resturilor (TCR) pentru a
calcula mod p i mod q separat i mai apoi se poate combina rezultatul pentru
a obine rezultatul dorit.
Aceasta este de aproximativ 4 ori mai rapid dect a calcula C^d mod n n
mod direct.
Doar proprietarul cheii private (cel care cunoate valorilor lui p i q) poate face
acest lucru, el fiind cel care are nevoie de aa ceva din moment ce mai mult
ca sigur c d este un numr mare dac e este mic.

21
naintea aplicrii criptosistemului cu chei publice, fiecare participant trebuie s
genereze o pereche de chei, ceea ce necesit gsirea unor numere prime i
cacularea de inverse.
Att gsirea numerelor prime ct i gsirea unor perechi potrivite de exponeni
(unul fiind inversul celuilalt) poate s implice ncercarea a o serie de
alternative.
De regul se aleg numere aleatoare pentru p i q i se verific dac numerele
sunt ntr-adevr prime folosind un test de primalitate probabilistic.
Dac nu este, se ncearc din nou. Teorema numerelor prime spune c
numrul mediu de ncercri ce trebuie fcute nu este foarte mare.
Dup ce s-au gsit p i q se calculeaz exponentul folosit la decriptare, d,
ceea ce se poate face foarte simplu cu ajutorul Algoritmului extins al lui Euclid.

22
Sunt prezentate cteva abordri posibile pentru a ataca algoritmul RSA.
Aprarea mpotriva atacului prin for brut este acelai la RSA ca i pentru
alte criptosisteme, i anume, dimensiunea mare a spaiului cheilor.
Cu ct numrul de bii ai lui d este mai mare, cu att mai bine.
Totui datorit complexitii calculelor implicate att n generarea cheii ct i n
criptare/decriptare, cu ct este mai mare dimensiunea cheii cu att mai rula
mai lent sistemul.
n continuare vom trece n revist i alte atacuri posibile.

23
Putem identifica trei abordri pentru a ataca RSA matematic.
Toate cele trei abordri sunt considerate a fi echivalente cu factorizarea.
De-a lungul timpului au fost progrese minore n ceea ce privete factorizarea,
cea mai bun mbuntire fiind la algoritmi.
Cel mai bun algoritm la ora actual este Lattice Sieve (LS), care a nlocuit
Generalized Number Field Sieve (GNFS), care a nlocuit Quadratic
Sieve(QS).
Trebuie s pornim de la premiza c sistemele de calcul vor deveni din ce n ce
mai rapide, i c se pot gsi algoritmi de factorizare mai buni.
Numere de 1024-2048 bii ofer o securitate rezonabil n ziua de astzi, cu
condiia ca factorii s ndeplineasc i alte constrngeri.

24
O nou categorie de atacuri dezvoltate de Paul Kocher la mijlocul anilor 90,
bazate pe observarea timpilor necesari efecturii operaiilor criptgrafice.
Atacurile timing sunt aplicabile nu numai RSA, dar i altor criptosisteme cu
chei publice.
Atacul este alarmant din dou motive: vine dintr-o direcie neateptat i este
un atac doar prin text cifrat.
Un astfel de atac este similar cu un ho care ghicete combinaia unui seif prin
observarea timpilor necesari unei persoane s nvrt butonul de deschidere
de la un numr la altul.
Cu toate c reprezint o ameninare serioas, exist contramsuri simple ce
pot fi folosite: algoritmi de exponeniere cu timp constant, adugarea unor
ntrzieri aleatoare sau folosirea unor valori ascunse n calcule.

25
Algoritmul RSA este vulnerabil la un atac prin text criptat ales.
Acesta este definit ca un atac n care un adversar alege textul criptat i
primete textul clar decriptat cu cheia privat a intei.
Adversarul exploateaz proprietile RSA i selecteaz blocuri de date care,
atunci cnd sunt procesate cu cheia privat a intei, ofer informaie de care
este nevoie la criptanaliz.
Se poate contracara cu adugarea de bii aleatori la textul clar. Variante mai
sofisticate ale atacului pot fi contracarate prin modificarea textului clar cu
ajutorul unei proceduri numit optimal asymmetric encryption padding
(OAEP).

26
Sumar capitolul 9.

27
1
Citat

2
Unul din cele mai importante roluri ale criptografiei cu chei publice este acela
de a rezolva problema distribuiei cheilor, cu dou aspecte distincte: distribuia
cheilor publice i folosirea criptrii cu chei publice pentru a distribui chei
secrete.

3
Au fost propuse o serie de tehnici pentru distribuia cheilor publice, care pot fi
grupate n cele patru categorii prezentate mai sus.

4
Ideea principal n criptarea cu chei publice este aceea c cheia public poate
fi tiut de oricine, prin urmare orice participant poate transmite cheia sa
public oricrui alt participant sau o poate transmite direct unui ntreg grup.
Slbiciunea major este posibilitatea de falsificare, oricine poate crea o cheie
n numele altcuiva, o poate transmite i se poate realiza mascaradare pn
cnd este descoperit falsificarea.

5
Se poate obine un nivel sporit de securitate prin meninerea unui director
dinamic de chei publice, disponibil n mod public.
ntreinerea i distribuirea directorului public este responsabilitatea unei entiti
de ncredere sau a unei organizaii.
Aceast schem este n mod evident mai sigur dect anunarea individual a
cheilor publice dar totui este vulnerabil la modificri i falsificri.

6
Se poate obine o securitate mai puternic pentru distribuia cheilor prin
mbuntirea controlului asupra distribuiei cheilor din director.
E necesar ca utilizatorii s cunoasc cheia public a directorului i s
interacioneze cu acesta n timp real pentru a obine cheia public dorit n
mod sigur.
Este nevoie de apte mesaje, v. urmtorul slide.

7
Figura ilustreaz un protocol tipic.

8
O mbuntire suplimentar este folosirea certificatelor, care pot fi folosite
pentru a face schimb de chei fr a contacta autoritatea de chei publice, ntr-
un mod care este la fel de sigur ca i cum cheile ar fi obinute direct de la
autoritatea de chei publice. Un certificat leag identitatea de cheia public, tot
coninutul fiind semnat de Autoritatea pentru chei publice sau Autoritatea de
Certificare (CA).
Certificatul poate fi verificat de oricine cunoate cheia public a autoritii.
Exist o schem care a devenit universal acceptat pentru formatarea
certificatelor de cheie public: standardul X.509.
Certificatele X.509 sunt folosite n majoritatea aplicaiilor de securitate pentru
reea: securitatea IP, SSL (secure sockets layer), secure electronic
transactions (SET), i S/MIME.

9
Figura ilustreaz o schem de certificate.

10
O dat distribuite cheilor publice sau dup ce au devenit accesibile, este
posibil comunicaia sigur care zdrnicete monitorizarea liniilor de
comunicaie sau modificarea mesajelor.
Totui, sunt puini utilizatori care folosesc n mod exclusiv criptarea cu chei
publice pentru comunicaie pentru c aceasta este relativ lent.
Prin urmare, criptarea cu chei publice ofer mijlocul prin care sunt distribuite
cheile secrete ce vor fi folosite pentru criptare convenional.

11
O schem foarte simpl a fost propus de Merkle.
Dar este nesigur mpotriva unui adversar care intercepteaz mesajele i ori
retransmite mesajele ori le nlocuiete cu altele.
Un astfel de atac este numit man-in-the-middle.

12
Figura ilustreaz un schimb de chei prin metode asimetrice.
Protocolul poate realiza att schimb de chei ct i autentificare.

13
O alt modalitate de a folosi criptarea cu chei publice n distribuia cheilor
secrete este reprezentat de abordarea hibrid folosit n IBM mainframe.
Aceast schem folosete Centre pentru Distribuia cheilor care partajeaz o
cheie secret master cu fiecare utilizator i distribuie cheile secrete de sesiune
criptate cu aceast cheie master.
O schem cu chei publice este folosit pentru a distribui cheile master.
Adugarea unui nivel de chei publice suplimentar ofer un mijloc sigur i
eficient de distribuie a cheilor master.
Aceasta reprezint un avantaj ntr-o configuraie n care un singur centru
pentru distribuie a cheilor deservete o mulime larg de utilizatori distribuii.

14
Ideea schemelor cu chei publice i prima schem practic, util doar pentru
distribuia cheilor, au fost publicate n 1977 de Diffie & Hellman.
Conceptul a fost descris anterior, n 1970, ntr-un raport clasificat de ctre (UK
CESG) - i declasificat ulterior n 1987.

15
Scopul algoritmului este de a la doi utilizatori s schimbe o cheie n mod sigur,
cheie ce poate fi folosit ulterior pentru criptarea mesajelor.
Algoritmul este limitat la schimbul unor valori secrete, valori ce depind de
valorile cheilor publice/private ale participanilor.
Algoritmul Diffie-Hellman folosete exponenierea ntr-un cmp finit (Galois)
(modulo un numr prim sau polinom), iar efectivitatea depinde de dificultatea
calculului logaritmilor discrei.

16
n algoritmul pentru schimb de chei Diffie-Hellman, exist dou numere
cunoscute public: un numr prim q i un ntreg a care este rdcin primitiv a
lui q.
Numrul prim q i rdcina primitiv pot fi comune tuturor utilizatorilor ce
folosesc o instan a schemei D-H.
Rdcina primitiv este un numr ale crui puteri succesive genereaz toate
elementele mod q.
Utilizatorii A i B aleg un numr aleatoriu secret x i l protejeaz folosind
exponenierea pentru a crea cheia public y.
Pentru ca un atacator, ce monitorizeaz schimbul valorilor y, s recupereze
valorile x, trebuie s rezolve problema logaritmului discret, care este dificil.

17
Schimbul de chei pentru fiecare entitate const n ridicarea la putere a cheii
publice a celuilalt, puterea fiind cheia sa privat.
Numrul ce rezult este folosit ca i cheie pentru un cifru bloc sau pentru alte
scheme cu chei secrete.
Pentru ca atacatorul s obin aceeai valoarea acesta are nevoie de cel puin
unul din numerele secrete, ceea ce nseamn s rezolve problema logaritmului
discret, ceea ce este nefezabil computaional atunci cnd numerele sunt
suficient de mari.
Dac A i B comunic ulterior, ei vor avea aceeai cheie, cu excepia situaiei
n care i schimb cheile publice.

18
Exemplu Diffie-Hellman.

19
Dou posibile protocoale pentru schimb de chei bazate pe Diffie-Hellman.
Ambele sunt vulnerabile la atacul meet-in-the-Middle, i este nevoie de
autentificarea cheilor.

20
O problem major n utilizarea criptografiei cu chei publice este dimensiunea
numerelor folosite, i prin urmare cu cheile ce trebuie stocate.
A aprut recent o abordare alternativ i anume criptografia pe curbe eliptice
(ECC), n care calculele se efectueaz folosind aritmetica pe curbe eliptice n
loc de a folosi ntregi sau polinoame.
ECC a intrat deja n atenia organismelor internaionale de standardizare,
inclusiv IEEE P1363 standardul pentru criptografia cu chei publice.
Cu toate c teoria ECC este prezent de ceva timp, doar n ultima vreme au
aprut produse ce o folosesc i au fost destul de multe eforturi n a le analiza
dpdv criptografic.
Prin urmare, la ora actual gradul de ncredere n ECC nu este la fel de mare
ca i pentru RSA.

21
Prima dat considerm curbe eliptice pe numere reale. Detaliile legate de
adunare i punctul zero O sunt omise aici.
Se poate deduce o interpretare algebric a adunrii, pe baza calculului pantei
tangentei i pe baza rezolvrii interseciei cu curba.
Exist o descriere algebric a adunrii pe CE.

22
Interpretarea geometric a adunrii pe CE.

23
Criptografia pe curbe eliptice folosete CE n care variabilele i coeficienii
sunt restricionai la elementele unui cmp finit.
Se folosesc dou familii de CE n aplicaiile criptografice: curbe prime peste Zp
(se folosesc n software), i curbe binare peste GF(2m) (se folosesc n
hardware).
Nu exist o interpretare geometric evident a aritmeticii pe CE peste cmpuri
finite.
Interpretarea algebric folosit pentru aritmetica cu CE se transfer cu
uurin n acest caz.

24
Criptografia pe CE folosete adunarea ca un analog al nmulirii modulare i
adunri repetate ca analog pentru exponenierea modular.
Problema dificil este problema logaritmului pe curba eliptic.

25
Aici este ilustrat schimbul de chei Diffie-Hellman pe curbe eliptice, care este o
analogie apropiat dac vom considera c nmulirea pe curbe eliptice este
echivalent cu exponenierea modular.

26
n literatura de specialitate au fost analizate mai multe abordri pentru
criptare/decriptare folosind curbe eliptice.
Aceasta este analog cu algoritmul de criptare cu chei publice ElGamal.
Transmitorul trebuie prima dat s codifice fiecare mesaj ca un punct pe
curba eliptic Pm (exist tehnici destul de simple pentru acest pas).
Textul cifrat este o pereche de puncte pe curba eliptic. Transmitorul
mascheaz mesajul folosind un numr aleatoriu k, dar transmite i un indiciu
prin care permite receptorul care cunoate cheia privat s recupereze k i
mesajul.
Pentru ca un atacator s recupereze mesajul, acesta trebuie s calculeze k
avnd G i kG, ceea ce se presupune c este dificil.

27
Securitatea ECC depinde de dificultatea determinrii lui k atunci cnd se d kP
i P.
Aceasta este problema logaritmului discret pe o curb eliptic.
Cea mai rapid tehnic pentru calculul logaritmului pe CE este metoda rho a
lui Pollard.
n comparaie cu ntregii sau polinoamele, se pot folosi numere mult mai mici
pentru acelai nivel de securitate.

28
Tabelul ilustreaz dimensiunea relativ a cheilor necesar pentru securitate.

29
Sumar.

30

S-ar putea să vă placă și