7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 1/11
PROIECT TEHNOLOGII DE
PRELUCRARE A INFORMATIEI
CRIPTARE DE IMAGINI
IN TIMP REAL
Indrumator: Student:
Conf. Dr. Ing.Terebes Romulus Cabulea Cosmin
Gr. 2141/2
7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 2/11
Tehnici de criptare a informaţiei
CRIPTARE DE IMAGINI
Criptare: procesul de conversie a datelor (fişiere, imagini, semnale),într-un formatneinteligibil pentru persoane neautorizate-ca urmare a acestui tip de prelucrare un mesaj înclar (M ±plaintext)este transformat într-un mesaj criptat (C-ciphertext ) cu ajutorul unei cheide criptareşi (opţional) cu ajutorul unui algoritm criptografic
Schema bloc a unui sistem de criptare (criptosistem):
Unde avem : S ± sursaR ± receptor K ± spatiul cheilor de criptareE ± algoritm de criptareD ± algoritm de decriptareKe ± cheie de criptareKd ± cheie de decriptare
Clasificarea criptosistemelor:--cu chei simetrice (cu cheie secretă) Ke=Kd=K - cifruri bloc n=32...128
- cifruri secvenţiale ( stream ciphers)
Cifrurile blo coperează pe subdiviziuni ale mesajului în clar (lungimi tipice 32-128)
iar blocurile de intrare se procesează individual prin operaţii elementare de substituţie şi permutare,pot opera şi pe blocuri multiple si sunt (în general) construite pornind o structurăcanonică (cifruFeistel)
7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 3/11
Criptare
Decriptare se face prin prelucrare inversă:
7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 4/11
Standardul AES
Standardul AES (Advanced Encription Standard) reprezintă un algoritm criptografic
folosit pentru protecţia datelor electronice, aprobat de FIPS (Federal Information Processing
Standards Publications). Algoritmul AES este un cifru bloc simetric capabil să cripteze sau să
decripteze informaţia folosind chei criptografice pe 128,192, respectiv 256 de biţi . Acest
standard de criptare a intrat în aplicare începând cu 26 Mai 2002.
Standardul implementează algoritmul Rijndael care are posibilitatea de a procesa
blocuri de date de 128 de biţi folosind chei de 128,192 şi respectiv 256 de biţi. 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´.
TERMENI
Bloc ± secvenţă de biţi care conţine intrarea, ieşirea, matricea de stare şi cheia ciclică.
Blocurile pot fi interpretate de asemenea ca şi vectori de biţi.
Criptare ± o serie de transformări care convertesc datele necriptate în date criptate folosind o
cheieCheia de criptare ± cheie criptografică, folosită de algoritmul de extindere a cheii pentru a
genera cheia ciclică. Poate fi privită ca şi o matrice nepătratică de octeţi, având 4
rânduri şi Nk coloane.
Date criptate ± datele de ieşire ale operaţiei de criptare sau datele de intrare ale decriptării
Extinderea cheii ± rutină care generează un set de chei ciclice din cheile de criptare
Date necriptate ± datele de intrare ale criptării sau datele de ieşire ale decriptării
Cheia ciclică ± valori derivate din cheia de criptare, folosind rutina de extindere a cheii; este
aplicată apoi matricii de stare în cadrul criptării sau decriptării
Matrice de stare ± rezultat intermediar al criptării care se poate reprezenta ca şi o matrice
nepătratică de octeţi cu 4 linii şi N b coloane
Matrice de substituţie (S-Box) ± tabel neliniar de substituţie utilizat în substituţiile octeţilor şi
cadrul rutinei de extindere a cheii pentru substituirea fiecărui octet
Algoritmul AES se bazeaza pe permutari si substitutii.
7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 5/11
Permutarile sunt interschimbari ale pozitiilor bitilor dintr-un bloc criptat, iar substitutiileinlocuiesc un caracter din mesajul in clar cu un alt caracter in mesajul criptat. Operatia desubstitutie introduce confuzie iar cea de permutare induce difuzie.
Operaţiile interne ale algoritmului AES se realizează pe o matrice bidimensională de
octeţi numită matrice de stare. Matricea de stare este formată din 4 rânduri de , fiecare
conţinând N b octeţi, unde N b este egal cu lungimea blocului împărţită la 32. Un element din
matricea de stare se notează cu sr,c sau s[r,c] (rândul r şi coloana c). Elementele sunt repretate
în baza 16 (hexazecimal).
În cadrul criptării respectiv decriptării, vectorii de intrare (in 1..15) sunt copiaţi în
matricea de stare după regula: s[r,c] = in[r + 4c]
după care toate prelucrările necesare obţinerii vectorilor de ieşire(out 1..15 se vor
efectua pe matricea de stare
7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 6/11
Elementele vectorilor de ieşire sunt copiaţi din matricea de stare la finalul criptării
după regula:
out[s+4c] = s[r,c]
Elementele matricii de stare, care sunt constituite din 4 octeţi, se pot rescrie sub formaunor cuvinte de 32 de biti sub forma:
wi = s 0,i s 1,i s 2,i s 3,i
Runda AES - succesiune de operatii asupra unei stari folosind subchei de rundadistincte obtinute în urma unei operatii de expandare a cheii initiale (generare de subchei deaceeasi lungime, 128). Utilizarea de runde multiple cu chei distincte imbunatateste
proprietatile de difuzie ale cifrului.Prin expandare cei 128 debiti ai cheii sunt transformati in 1408 biti ce intervin in
operatii de SAU-EXLUSIV.
Pentru algoritmul AES lungimea secvenţei de intrare, a celei de ieşire şi a matricii de
stare este de 128 de biţi.. Numărul ciclurilor necesare executării algoritmului depinde de mărimea cheii, ca şi întabelul de mai jos.
Lungimea cheii Mărimea blocul ui N umăr ul de cicl uri
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14
Algoritmul AES utilizează o funcţie ciclică atât pentru criptare cât şi pentrudecriptare, care execută patru transformări diferite pe octet:
1) octeţii se substituie folosind un tabel predefinit de substituţie,
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) adăugarea cheii ciclice la matricea de stare.
Funcţia SubBytes()-substitutie octeti
Această funcţie execută o transformare neliniară prin care sunt substituiţi octeţii din
matricea de stare prin utilizarea tabelului de substituţie S-box. Acest tabel este inversabil şi
este construit prin compunerea a două transformări pe biţi:
1) se ia inversul faţă de înmulţire în GF(28), elementul {00}fiind de sine stătător,
2) se aplică transformarea peste GF(2), obţinându-se noul element
Fiecare octet este calculat astfel:
Intrarea, ieşirea şi matricea de stare
7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 7/11
Stare intrare: Stare iesire:
95
Figura următoare ilustrează efectul funcţiei SubBytes() asupra matricii de stare:
Efectul Funcţiei SubBytes()
Funcţia ShiftRows()- Rotire randuri ± opereaza la nivel de rand al matricii de stare. Pasul
consta in simpla deplasare ciclica a octetilor de pe randuri, astfel:
- Primul rand nu se deplaseaza
- Al doilea rand se deplaseaza la stanga cu o pozitie
- Al treilea rand se deplaseaza la stanga cu doua pozitii
- Al patrulea rand se deplaseaza la stanga cu 3 poziti
2a
7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 8/11
Rezultatul acestui pas este ca fiecare coloana din tabloul stare rezultat este compusa dinocteti de pe fiecare coloana a starii initiale.
Criptarea presupune rotiri catre stanga iar decriptarea presupune rotiri catre dreapta. Octetii din ultimele 3 randuri din variabila stare sunt permutati ciclic cu un anumit
numar de octeti (offset). Primul rand nu este permutat, r=0.
Efectul Funcţiei ShiftRows()
Funcţia MixColumns()- Amestec coloane
Fiecare coloana a tabloului de stare este considerata un polinom de gradul patru pestecampul Galois. Fiecare coloana, tratata ca un polinom, este inmultita modulo x4 + 1 cu
polinomul a( x) = 3 x3 + x2 + x + 2. In acest pas, fiecare cloana este inmultita cu un polinom
notat mai jos cu c(x).
7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 9/11
In termeni de multiplicare matriciala, operatia de amestec coloane arata astfel:
Unde primul vector coloana contine elementele rezultate in urma inmultirii, iar al doileavector coloana contine elementele inaintea aplicarii pasului.
Rezultatul are proprietatea ca fiecare element al sau depinde de toate elementele de pecoloana starii dinaintea efectuarii pasului. Combinat cu pasulS hiftRows, acest pas asigura cadupa cateva iteratii, fiecare octet din stare depinde de fiecare octet din starea initiala (tabloul
populat cu octetii mesajului in clar). Acesti doi pasi, impreuna, sunt principala sursa dedifuzie in algoritmul Rijndael.
Coeficientii polinomului a(x) sunt toti 1, 2 si 3, din motive de prformanta, criptareafiind mai eficienta atunci cand coeficientii sunt mici. La decriptare, coeficientii pasuluicorespunzator acestuia sunt mai mari si deci decriptarea este mai lenta decat criptarea. S-a
luat aceasta decizie pentru ca unele din aplicatiile in care urma sa fie folosit algoritmulimplica numai criptari, nu si decriptari, deci criptarea este folosita mai des.
AddRoundKey()- Adunare cheie runda
Se efectueaza o operatie de SAU EXCLUSIV pe biti intre octetii starii si cei ai cheiide runda (o cheie care este unica pentru fiecare iterartie, chie calculata pe baza cheii secrete).
7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 10/11
CBC-Cipher BlockChainingMode ±fiecare bloc criptat criptat cu aceeaşi cheie; metoda presupune suplimentar o operaţie SAU EXCLUSIV între blocul criptat curent şi mesajul înclar următor.Dezavantaj CBC:
-erorile aparute in procesul de transmisie intr-un bloc criptat afecteaza si blocurile
urmatoare.
-vector de iniţializare ±asigură aleatorizarea în debutul procesului de criptare CBC;-în absenţa acestuia mesaje în clar identice ar conduce la mesaje criptate identice-vectorul de iniţializare trebuie transmis receptorului (de obicei în mod EBC)
7/30/2019 57068700-Tehnici-de-criptare-a-informaţiei
http://slidepdf.com/reader/full/57068700-tehnici-de-criptare-a-informatiei 11/11
Bibliografie
y CURS Conf. Dr. Ing.Terebes Romulus y M. Borda ± Teoria transmiterii informaţieiy http://www.csrc.nist.gov/publications/fips/fips197/fips-197.pdf y http://www.hoozi.com/Articles/AESEncryption.htm
Top Related