Sunteți pe pagina 1din 10

MINISTERUL EDUCAIEI AL REPUBLICII MOLDOVA

UNIVERSITATEA TEHNIC A MOLDOVEI


FACULTATEA RADIOELECTRONIC I
TELECOMUNICAII
Catedra Radiocomunicaii

DARE DE SEAM
la lucrarea de laborator Nr. 2
la disciplina: Protecia informaiei
Tema: Algoritmi de criptare simetrici. Algoritmul de criptare AES.

A efectuat
st. gr. TLC-083

A verificat
conf. dr.

Mihai Ciobanu

CHIINU
2011

1 Standardul AES. Noiuni generale.


Standardul AES (Advanced Encription Standard) reprezint un algoritm
criptografic folosit pentru protecia datelor electronice, aprobat de FIPS (Federal
Information Processing Standards Publications). Algoritmul AES este un cifru bloc
simetric capabil s cripteze sau s decripteze informaia folosind chei criptografice pe
128,192, respectiv 256 de bii. Acest standard de criptare a intrat n aplicare ncepnd
cu 26 mai 2002.
Standardul implementeaz algoritmul Rijndael care are posibilitatea de a procesa
blocuri de date de 128 de bii folosind chei de 128,192 i respectiv 256 de bii.
Algoritmul Rijndael este capabil sa lucreze i cu alte lungimi ale blocurilor de date i
ale cheilor criptografice, dar acestea nu sunt adoptate n standardul AES. Din punct
de vedere al dimensiunii cheii criptografice, cele trei versiuni ale algoritmului sunt
cunoscute i sub numele de "AES-128", "AES-192" i"AES-256".
2 Termeni
Bloc - secven de bii care conine intrarea, ieirea, matricea de stare i cheia
ciclic. Blocurile pot fi interpretate de asemenea ca i vectori de bii.
Criptare - o serie de transformri care convertesc datele necriptate n date
criptate folosind o cheie.
Cheia de criptare - cheie criptografic, folosit de algoritmul de extindere a
cheii pentru a genera cheia ciclic. Poate fi privit ca i o matrice neptratic de
octei, avnd 4 rnduri i Nk coloane.
Date criptate - datele de ieire ale operaiei de criptare sau datele de intrare ale
decriptrii.
Extinderea cheii - rutin care genereaz un set de chei ciclice din cheile de
criptare.
Date necriptate - datele de intrare ale criptrii sau datele de ieire ale
decriptrii
2

Cheia ciclic - valori derivate din cheia de criptare, folosind rutina de extindere
a cheii; este aplicat apoi matricii de stare n cadrul criptrii sau decriptrii.
Matrice de stare - rezultat intermediar al criptrii care se poate reprezenta ca i
o matrice neptratic de octei cu 4 linii i Nb coloane.
Matrice de substituie (S-Box) - tabel neliniar de substituie utilizat n
substituiile octeilor i cadrul rutinei de extindere a cheii pentru substituirea fiecrui
octet.
3 Descrierea algoritmului AES
Algoritmul AES se bazeaz pe permutri i substituii.
Permutrile sunt interschimbri ale poziiilor biilor dintr-un bloc criptat, iar
substituiile nlocuiesc un caracter din mesajul n clar cu un alt caracter n mesajul
criptat. Operaia de substituie introduce confuzie iar cea de permutare induce difuzie.

Figura 3.1 Operaiile realizate n AES

Operaiile interne ale algoritmului AES se realizeaz pe o matrice


bidimensional de octei numit matrice de stare. Matricea de stare este format din 4
rnduri, fiecare coninnd Nb octei, unde Nb este egal cu lungimea blocului mprit
la 32. Un element din matricea de stare se noteaz cu s r,c sau s[r,c] (rndul r i coloana
c). Elementele sunt repretate n baza 16 (hexazecimal).
n cadrul criptrii respectiv decriptrii, vectorii de intrare (in 1..15) sunt copiai n
matricea de stare dup regula:
s[r,c] = in[r + 4c]
dup care toate prelucrrile necesare obinerii vectorilor de ieire(out

1..15

) se vor

efectua pe matricea de stare.

Figura 3.2 Intrarea, ieirea i matricea de stare


Elementele vectorilor de ieire sunt copiai din matricea de stare la finalul
criptrii dup regula:
out[s+4c] = s[r,c]
Elementele matricii de stare, care sunt constituite din 4 octei, se pot rescrie sub
forma unor cuvinte de 32 de bii sub forma:
Wi = S0,i Sl,i S2,i S3,i
Runda AES - succesiune de operaii asupra unei stri folosind subchei de rund
distincte obinute n urma unei operaii de expandare a cheii iniiale (generare de

subchei de aceeai lungime, 128). Utilizarea de runde multiple cu chei distincte


mbuntete proprietile de difuzie ale cifrului.
Prin expandare cei 128 de bii ai cheii sunt transformai n 1408 bii ce intervin
n operaii de SAU-EXLUSIV.
Pentru algoritmul AES lungimea secvenei de intrare, a celei de ieire i a
matricii de stare este de 128 de bii.
Numrul ciclurilor necesare executrii algoritmului depinde de mrimea cheii,
ca i n tabelul de mai jos.
Tabelul 3.1

Algoritmul AES utilizeaz o funcie ciclic att pentru criptare ct i pentru


decriptare, care execut patru transformri diferite pe octet:
1) octeii se substituie folosind un tabel predefinit de substituie,
2) liniile din matricea de stare sunt deplasate folosindu-se diferite valori de
offset,
3) datele cuprinse n fiecare coloan a matricii de stare sunt amestecate ntre
ele
4) adugarea cheii ciclice la matricea de stare.
3.1 Funcia SubBytes
Aceast funcie execut o transformare neliniar prin care sunt substituii
octeii din matricea de stare prin utilizarea tabelului de substituie S-box. Acest tabel
este inversabil i este construit prin compunerea a dou transformri pe bii:
1) se ia inversul fa de nmulire n GF(28), elementul {00}fiind de sine
stttor,
5

2) se aplic transformarea peste GF(2), obinnduse noul element.


Fiecare octet este calculat astfel:

Figura 3.3 S-box: valorile de substituie pentru octetul xy (n format


hexazecimal)
Figura urmtoare ilustreaz efectul funciei SubBytes asupra matricii de stare:

Figura 3.4 Efectul funciei SubBytes


6

3.2 Funcia ShiftRows


Aceasta opereaz la nivel de rnd al matricii de stare. Pasul const n simpla
deplasare ciclic a octeilor de pe rnduri, astfel:
- Primul rnd nu se deplaseaz
- Al doilea rnd se deplaseaz la stnga cu o poziie
- Al treilea rnd se deplaseaz la stnga cu doua poziii
- Al patrulea rnd se deplaseaz la stnga cu 3 poziti
Rezultatul acestui pas este ca fiecare coloan din tabloul stare rezultat este
compus din octei de pe fiecare coloana a strii iniiale.
Criptarea presupune rotiri ctre stnga iar decriptarea presupune rotiri ctre
dreapta.
Octeii din ultimele 3 rnduri din variabila stare sunt permutai ciclic cu un
anumit numr de octei (offset). Primul rand nu este permutat, r=0.

Figura 3.5 Efectul funciei ShiftRows


3.3 Funcia MixColumns
Fiecare coloana a tabloului de stare este considerat un polinom de gradul patru
peste cmpul Galois. Fiecare coloan, tratat ca un polinom, este nmulit, modulo
7

x4 + 1 cu polinomul a(x) = 3x3 + x2 + x + 2. n acest pas, fiecare coloan este


nmulit cu un polinom notat mai jos cu c(x).

Figura 3.6 Efectul funciei MixColumns


n termeni de multiplicare matriciala, operaia de amestec coloane arat astfel:

Unde primul vector coloan conine elementele rezultate n urma nmul irii, iar
al doilea vector coloan conine elementele naintea aplicrii pasului.
Rezultatul are proprietatea ca fiecare element al su depinde de toate
elementele de pe coloana strii dinaintea efecturii pasului. Combinat cu pasul
ShiftRows, acest pas asigur ca dup cteva iteraii, fiecare octet din stare depinde de
fiecare octet din starea iniiala (tabloul populat cu octeii mesajului n clar). Aceti doi
pai, mpreun, sunt principala surs de difuzie n algoritmul Rijndael.
Coeficienii polinomului a(x) sunt toti 1, 2 i 3, din motive de performan,
criptarea fiind mai eficient atunci cnd coeficienii sunt mici. La decriptare,
coeficienii pasului corespunztor acestuia sunt mai mari i deci decriptarea este mai
lent dect criptarea. Sa luat aceasta decizie pentru ca unele din aplicaiile n care
urma s fie folosit algoritmul implica numai criptri, nu i decriptri, deci criptarea
este folosit mai des.
8

3.4 AddRoundKey
Funcia AddRoundKey este pasul n care este implicat cheia. El const ntr-o
simpl operaie de sau exclusiv pe bii ntre stare i cheia de rund (o cheie care
este unic pentru fiecare iteraie, cheie calculat pe baza cheii secrete). Operaia de
combinare cu cheia secret este una extrem de simpl i rapid, dar algoritmul
rmne complex, din cauza complexitii calculului cheilor de rund (Key Schedule),
precum i a celorlali pai ai algoritmului.

Figura 3.7 Efectul funciei AddRoundKey


4 Securitatea
Rijndael, ca i toi ceilali algoritmi ajuni n etapa final de selecie pentru
standardul AES, a fost revizuit de NSA i, ca i ceilali finali ti, este considerat
suficient de sigur pentru a fi folosit la criptarea informaiilor guvernamentale
americane neclasificate. n iunie 2003, guvernul SUA a decis ca AES s poat fi
folosit pentru informaii clasificate. Pn la nivelul SECRET, se pot folosi toate cele
trei lungimi de cheie standardizate, 128, 192 i 256 bii. Informaiile TOP SECRET
(cel mai nalt nivel de clasificare) pot fi criptate doar cu chei pe 256 bii.
Atacul cel mai realizabil mpotriva AES este ndreptat mpotriva variantelor
Rijndael cu numr redus de iteraii. AES are 10 iteraii la o cheie de 128 de bi i, 12 la
9

cheie de 192 de bii i 14 la cheie de 256 de bii. La nivelul anului 2008, cele mai
cunoscute atacuri erau accesibile la 7, 8, respectiv 9 iteraii pentru cele trei lungimi
ale cheii.

10

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