Cuprins
- Cuprins
- 1. Consideratii generale 3
- 2. Glossar 4
- 2.1 Index termeni 4
- 2.2 Index de parametrii, simboluri si functii 5
- 2.3 Matricea de stare 6
- 3. Specificatiile algoritmului 7
- 3.1 Descrierea mecanismului de criptare 7
- 3.2 Descrierea functiilor utilizate pentru criptare 8
- 3.2.1 Functia SubBytes() 8
- 3.2.2 Functia ShiftRows() 10
- 3.2.3 Functia MixColumns() 11
- 3.2.4 Functia AddRoundKey() 12
- 3.2.5 Functia de extindere a cheii 12
- 3.3 Descrierea mecanismului de decriptare 13
- 3.4 Descrierea functiilor utilizate pentru decriptare 14
- 3.4.1 Functia InvShiftRows( ) 14
- 3.4.2 Functia InvSubBytes( ) 15
- 3.4.3 Functia InvMixColumns( ) 16
- 3.4.4 Inversa functiei AddRoundKey( ) 16
- 3.5 Decriptarea echivalenta 17
- 4. Bibliografie 19
Extras din proiect
1. Consideratii generale
Standardul AES (Advanced Encription Standard) reprezinta un algoritm criptografic folosit pentru protectia datelor electronice, aprobat de FIPS (Federal Information Processing Standards Publications). Algoritmul AES este un cifru bloc simetric capabil sa cripteze sau sa decripteze informatia folosind chei criptografice pe 128,192, respectiv 256 de biti . Acest standard de criptare a intrat în aplicare începând cu 26 Mai 2002.
Standardul implementeaza algoritmul Rijndael care are posibilitatea de a procesa blocuri de date de 128 de biti folosind chei de 128,192 si respectiv 256 de biti. Algoritmul Rijndael este capabil sa lucreze si cu alte lungimi ale blocurilor de date si 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 si sub numele de “AES-128”, “AES-192” si“AES-256”.
2. Glossar
2.1 Index termeni
Transformare afina – o transformare care consta în înmultirea cu o matrice urmata de adunarea unui vector
Bloc – secventa de biti care contine intrarea, iesirea, matricea de stare si cheia ciclica. Blocurile pot fi interpretate de asemenea ca si vectori de biti.
Criptare – o serie de transformari care convertesc datele necriptate în date criptate folosind o cheie
Cheia de criptare – cheie criptografica, folosita de algoritmul de extindere a cheii pentru a genera cheia ciclica. Poate fi privita ca si o matrice nepatratica de octeti, având 4 rânduri si Nk coloane.
Date criptate – datele de iesire ale operatiei de criptare sau datele de intrare ale decriptarii
Extinderea cheii – rutina care genereaza un set de chei ciclice din cheile de criptare
Date necriptate – datele de intrare ale criptarii sau datele de iesire ale decriptarii
Cheia ciclica – valori derivate din cheia de criptare, folosind rutina de extindere a cheii; este aplicata apoi matricii de stare în cadrul criptarii sau decriptarii
Matrice de stare – rezultat intermediar al criptarii care se poate reprezenta ca si o matrice nepatratica de octeti cu 4 linii si Nb coloane
Matrice de substitutie (S-Box) – tabel neliniar de substitutie utilizat în substitutiile octetilor si cadrul rutinei de extindere a cheii pentru substituirea fiecarui octet
2.2 Index de parametrii, simboluri si functii
AddRoundKey( ) – Transformare în cadrul criptarii si a decriptarii în cadrul careia o cheie ciclica este adaugate matricii de stare folosind operatorul XOR. Lungimea unei chei ciclice este egala cu dimensiunea matricii de stare ( daca Nb=4 atunci lungimea cheii ciclice va fi 128 de biti/16 octeti).
Preview document
Conținut arhivă zip
- Standardul de Criptare AES.doc