Sunteți pe pagina 1din 11

PROIECT TEHNOLOGII DE PRELUCRARE A INFORMATIEI

CRIPTARE DE IMAGINI IN TIMP REAL

Indrumator: Conf. Dr. Ing.Terebes Romulus

Student: Cabulea Cosmin Gr. 2141/2

Tehnici de criptare a informaiei


CRIPTARE DE IMAGINI

Criptare: procesul de conversie a datelor (fiiere, imagini, semnale),ntr -un format neinteligibil pentru persoane neautorizate -ca urmare a acestui tip de prelucrare un mesaj n clar (M plaintext)este transformat ntr-un mesaj criptat (C-ciphertext) cu ajutorul unei chei de criptarei (opional) cu ajutorul unui algoritm criptografic
Schema bloc a unui sistem de criptare (criptosistem):

Unde avem :

S sursa R receptor K spatiul cheilor de criptare E algoritm de criptare D algoritm de decriptare Ke cheie de criptare Kd cheie de decriptare Clasificarea criptosistemelor: --cu chei simetrice (cu cheie secret) Ke=Kd=K - cifruri bloc n=32...128 - cifruri secveniale (stream ciphers) Cifrurile blo copereaz pe subdiviziuni ale mesajului n clar (lungimi tipice 32 -128) iar blocurile de intrare se proceseaz individual prin operaii elementare de substituie i permutare,pot opera i pe blocuri multiple si sunt (n general) construite pornind o structur canonic (cifruFeistel)

Criptare

Decriptare se face prin prelucrare invers:

Standardul AES
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 iAES-256.

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 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 Algoritmul AES se bazeaza pe permutari si substitutii.

Permutarile sunt interschimbari ale pozitiilor bitilor dintr-un bloc criptat, iar substitutiile inlocuiesc un caracter din mesajul in clar cu un alt caracter in mesajul criptat. Operatia de substitutie introduce confuzie iar cea de permutare induce difuzie.

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 de , fiecare coninnd Nb octei, unde Nb este egal cu lungimea blocului mprit la 32. Un element din matricea de stare se noteaz cu sr,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

Elementele vectorilor de ieire sunt copiai din matricea de stare la finalul criptrii Intrarea, ieirea i matricea de stare 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 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 runda distincte obtinute n urma unei operatii de expandare a cheii initiale (generare de subchei de aceeasi 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 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. Lungimea cheii AES-128 AES-192 AES-256 4 6 8 Mrimea blocului 4 4 4 Numrul de cicluri 10 12 14

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. Funcia SubBytes()-substitutie octeti 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, 2) se aplic transformarea peste GF(2), obinndu-se noul element Fiecare octet este calculat astfel:

Stare intrare:

Stare iesire:

95

2a

Figura urmtoare ilustreaz efectul funciei SubBytes() asupra matricii de stare: Efectul Funciei SubBytes()

Funcia 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

Rezultatul acestui pas este ca fiecare coloana din tabloul stare rezultat este compusa din octeti 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 Funciei ShiftRows()

Funcia MixColumns()-Amestec coloane Fiecare coloana a tabloului de stare este considerata un polinom de gradul patru peste campul Galois. Fiecare coloana, tratata ca un polinom, este inmultita modulo x4 + 1 cu polinomul a(x) = 3x3 + x2 + x + 2. In acest pas, fiecare cloana este inmultita cu un polinom notat mai jos cu c(x).

In termeni de multiplicare matriciala, operatia de amestec coloane arata astfel:

Unde primul vector coloana contine elementele rezultate in urma inmultirii, iar al doilea vector coloana contine elementele inaintea aplicarii pasului. Rezultatul are proprietatea ca fiecare element al sau depinde de toate elementele de pe coloana starii dinaintea efectuarii pasului. Combinat cu pasul ShiftRows, acest pas asigura ca dupa 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 de difuzie in algoritmul Rijndael. Coeficientii polinomului a(x) sunt toti 1, 2 si 3, din motive de prformanta, criptarea fiind mai eficienta atunci cand coeficientii sunt mici. La decriptare, coeficientii pasului corespunzator 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 algoritmul implica 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 cheii de runda (o cheie care este unica pentru fiecare iterartie, chie calculata pe baza cheii secrete).

CBC-Cipher BlockChainingMode fiecare bloc criptat criptat cu aceeai cheie; metoda presupune suplimentar o operaie SAU EXCLUSIV ntre blocul criptat curent i mesajul n clar urmtor. Dezavantaj CBC: -erorile aparute in procesul de transmisie intr-un bloc criptat afecteaza si blocurile urmatoare.

-vector de iniializare asigur aleatorizarea n debutul procesului de criptare CBC; -n absena acestuia mesaje n clar identice ar conduce la mesaje criptate identice -vectorul de iniializare trebuie transmis receptorului (de obicei n mod EBC)

Bibliografie
y y y y

CURS Conf. Dr. Ing.Terebes Romulus


M. Borda Teoria transmiterii informaiei http://www.csrc.nist.gov/publications/fips/fips197/fips-197.pdf http://www.hoozi.com/Articles/AESEncryption.htm

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