Tehnici de criptare a informaţiei

download Tehnici de criptare a informaţiei

of 11

Transcript of Tehnici de criptare a informaţiei

  • 8/6/2019 Tehnici de criptare a informaiei

    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

  • 8/6/2019 Tehnici de criptare a informaiei

    2/11

    Tehnici de criptare a informaiei

    CRIPTARE DE IMAGINI

    Criptare: procesul de conversie a datelor (fiiere, imagini, semnale),ntr-un formatneinteligibil pentru persoane neautorizate-ca urmare a acestui tip de prelucrare un mesaj nclar (Mplaintext)este transformat ntr-un mesaj criptat (C-ciphertext) cu ajutorul unei cheide criptarei (opional) cu ajutorul unui algoritm criptografic

    Schema bloc a unui sistem de criptare (criptosistem):

    Unde avem :S sursaR receptorK 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 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 ipermutare,pot opera i pe blocuri multiple si sunt (n general) construite pornind o structurcanonic (cifruFeistel)

  • 8/6/2019 Tehnici de criptare a informaiei

    3/11

    Criptare

    Decriptare se face prin prelucrare invers:

  • 8/6/2019 Tehnici de criptare a informaiei

    4/11

    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

    cheieCheia 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.

  • 8/6/2019 Tehnici de criptare a informaiei

    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.

    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

  • 8/6/2019 Tehnici de criptare a informaiei

    6/11

    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 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 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 ntabelul de mai jos.

    Lungimea cheii Mrimea blocului Numrul de cicluri

    AES-128 4 4 10

    AES-192 6 4 12

    AES-256 8 4 14

    Algoritmul AES utilizeaz o funcie ciclic att pentru criptare ct i pentrudecriptare, 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:

    Intrarea, ieirea i matricea de stare

  • 8/6/2019 Tehnici de criptare a informaiei

    7/11

    Stare intrare: Stare iesire:

    95

    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

    2a

  • 8/6/2019 Tehnici de criptare a informaiei

    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 Funciei ShiftRows()

    Funcia 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 modulox4 + 1 cu

    polinomul a(x) = 3x3 +x2 +x + 2. In acest pas, fiecare cloana este inmultita cu un polinomnotat mai jos cu c(x).

  • 8/6/2019 Tehnici de criptare a informaiei

    9/11

  • 8/6/2019 Tehnici de criptare a informaiei

    10/11

    CBC-Cipher BlockChainingMode fiecare bloc criptat criptat cu aceeai cheie; metodapresupune suplimentar o operaie SAU EXCLUSIV ntre blocul criptat curent i mesajul nclar 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)

  • 8/6/2019 Tehnici de criptare a informaiei

    11/11