Sunteți pe pagina 1din 5

Laborator 6.

Criptarea imaginilor

Cuprins

Laborator 6. Criptarea imaginilor ............................................................................... 1

Cuprins .................................................................................................................. 1

Introducere............................................................................................................. 1

6.1 Algoritmi pentru criptarea imaginilor ............................................................ 1

6.1.1 Algoritmul Blum-Blum-Shub ..................................................................... 2

6.1.2 Algoritmul AES ......................................................................................... 2

6.1.3 Descompunerea imaginii bitmap .............................................................. 3

6.2 Desfăşurarea lucrarii ................................................................................... 3

6.2.1 Descrierea aplicaţiei................................................................................. 3

6.2.2 Rularea aplicaţiei ..................................................................................... 5

Introducere

Lucrarea de laborator descrie algoritmii utilizati pentru criptarea imaginilor si


prezinta o aplicaţie software pentru criptare de imagini bitmap.
Introducere
lucrare

După parcurgerea laboratorului va trebui să:


 Știți principiile criptării imaginilor
Obiective  Știți cum functioneaza algoritmul Blum-Blum-Shub de generare a
lucrare unei chei de criptare
 Știți cum s-a utilizat algoritmul AES pentru criptarea imaginilor

6.1 Algoritmi pentru criptarea imaginilor


In această lucrare se vor prezenta câteva detalii asupra diferiţilor algoritmi dezvoltaţi pentru
criptarea imaginilor. Cei doi algoritmi utilizaţi sunt: algoritmul Blum-Blum-Shub de generare a unei chei de
criptare pentru algoritmul de criptare, şi algoritmul AES, care este folosit pentru criptarea propriu-zisă. De
asemenea va fi descris şi modul de descompunere a imaginii bitmap, pentru a fi criptată.

1
6.1.1 Algoritmul Blum-Blum-Shub

Acest algoritm [1] este folosit pentru generarea unei secvenţe de biţi pseudoaleatoare, secvenţă
folosită ca şi cheie de criptare de către algoritmul AES. Acest algoritm este destul de simplu de
implementat, dar este extrem de eficace pentru scopul acesta, de a genera o cheie de criptare
pseudoaleatoare. Anume, dacă se generează numere (secvenţe de biţi, până la urmă) în intervalul [0..n-1],
un observator nu poate prezice numărul care urmează a fi generat cu o probabilitate mai mare de 1/n.
Algoritmul funcţionează destul de simplu, fiind prezentat în cele ce urmează. Iniţial, se generează
două numere prime Blum, p şi q. Numerele prime Blum sunt numere prime, pentru care restul împărţirii lor
la 4 este 3. Pasul următor este alegerea unui număr, seed, din intervalul [1..p*q]. Se calculează:
xo  seed 2 (mod n), n  p * q ;
Mai departe se calculează:
xi  xi21 (mod n), zi  paritatea ( xi );
Paritatea unui număr se defineşte ca fiind restul împărţirii numărului xi la 2. Secvenţa de ieşire este
z1, z2, ... zn.

6.1.2 Algoritmul AES

Algoritmul AES este un algoritm de criptare simetric, bloc. Aceasta înseamnă că la criptare şi la
decriptare se foloseşte aceeaşi cheie, şi că procesul de criptare se desfăşoară pe blocuri de biţi. În cazul
acestui algoritm, sunt specificate diferite lungimi pentru cheia de criptare, şi anume 128, 192 sau 256 de
biţi. De asemenea, lungimea unui bloc de date care se criptează este de 128 de biţi.
Acest algoritm foloseşte, în principal, trasformări pe biţi. Aceste transformări sunt: sunstituţia
octeţilor de date cu valori specificate, rotirea valorilor din fiecare linie a matricii intermediare, mixarea
elementelor de pe coloanele acestei matrici, şi adăugarea unei chei circulare. Această stare intermediară
este reprezentată ca şi o matrice de 4 X 4 octeţi. Pseudocodul acestui algoritm este:

Functie Criptare
Start
Adăugare Cheie Circulară
Pentru runda = 1 pana la Nr – 1
Substituţie Octeţi;
Rotire Linii;
Mixare Coloane;
Adăugare Cheie Circulară
sfarşit pentru

Substituţie Octeţi;
Rotire Linii;
Mixare Coloane;
Adăugare Cheie Circulară

Sfârşit funcţie

Funcţiile descrise în acest pseudocod sunt descrise mai jos. Substituţia de octeţi este, de fapt,
înlocuirea valorii din marticea intermediarp cu o valoare citită din un tabel standardizat. Rotirea liniilor se
desfăşoară in felul descris în cele ce urmează. Prima linie este neschimbată. A doua linie este rotită de la
stânga la dreapta cu un octet, a treia linie este rotită cu doi octeţi, iar a patra linie etse rotită cu trei octeţi.
Funcţia de mixare coloane este mai complicată, implică calculul elementelor din coloane în funcţie de
elementele vechi şi formulele de mai jos:

2
s '0, c  ({02} *s 0, c )  ({03} *s1, c )  s2, c  s3, c
s '1, c  ({02} *s1, c )  ({03} *s 2, c )  s3, c  s0, c
s ' 2, c  ({02} *s 2, c )  ({03} *s 3, c )  s0, c  s1, c
s '3, c  ({02} *s 3, c )  ({03} *s 0, c )  s1, c  s2, c

Funcţia de adăugare cheie circulară este, de fapt, o operaţie sau-exclusiv realizată între matricea
de stare şi cheia de criptare expandată. Algoritmul de expandare, precum şi alte detalii despre algoritmul
AES se pot găsi în [2] şi [3].

6.1.3 Descompunerea imaginii bitmap

Imaginea bitmap este descompusă în plane de biţi. Acest lucru înseamnă că imaginea este
parcursă pixel cu pixel, şi se citeşte valoarea corespunzătoare bitului care se doreşte a fi criptat. Am decis
ca aplicaţia să suporte doar imagini cu 24 de biţi pe pixel, adică fiecare culoare (roşu, albastru şi verde)
este reprezentată pe câte un octet. Deci, din aceste imagini se pot extrage 24 de plane de biţi.

6.2 Desfăşurarea lucrarii

6.2.1 Descrierea aplicaţiei

Aplicaţia oferă utilizatorului o interfaţă grafică extrem de intuitivă, pentru a fi cât mai uşor de utilizat.
Ea oferă, de asemenea, un meniu extrem de uşor de folosit, fiind intuitiv în ceea ce priveşte funcţionalitatea
butoanelor.
Interfaţa grafică a aplicaţiei este prezentată mai jos. Ea oferă un meniu de tip pop-up, două
butoane, trei controale de tip radio button şi 24 de controale de tip check box. Această interfaţă este
prezentată în Figura 1.

Fig. 1. Interfaţa grafică a aplicaţiei

Meniul “Fişier” al aplicaţiei oferă trei submeniuri: “Deschide”, “Criptează” şi “Închide”. Primul meniu
oferă posibilitatea alegerii unei imagini în format bitmap pentru criptare, cel de-al doilea efectuează
criptarea propriu-zisă iar cel de-al treilea închide aplicaţia. Acest meniu este prezentat în figura 2.
3
Butoanele de pe interfaţa grafică au funcţii intuitive, fiind intitulate sugestiv. Astfel, butonul
“Deschide” oferă posibilitatea alegerii unui fişier bitmap de criptat. Butonul “Criptează” realizează efectiv
criptarea imaginii.
Controalele de tip Radio Button oferă utilizatorului control asupra lungimii cheii de criptare. Aceasta
poate avea trei valori, lunginea cheii de criptare poate fi 128, 192 sau 256 biţi.
Controalele de tip Combo Box sunt destinate selecţiei planului de biţi dorit a fi criptat. De
asemenea, se poate alege un plan de biţi corespunzător unei singure culori din imagine. În momentul de
faţă, trebuie făcută o menţiune. Aplicaţia nu poate cripta decât imagini cu 24 de biţi pe pixel, adică nuanţa
de roşu a pixelului este reprezentată pe 8 biţi, nuanţa de verde a pixelului este reprezentată pe 8 biţi şi
nuanţa de albastru a pixelului este reprezentată pe 8 biţi.

Fig. 2. Interfaţa grafică a aplicaţiei, meniul “Fişier”

La apăsarea butonului “Deschide”, se deschide o căsuţî de dialog care permite deschiderea unui
fişier de intrare, de criptat, fişier bitmap. Acest fişier este deschis de aplicaţie, şi este afişat într-o fereastră
separată. Un exemplu de imagine deschisă este prezentat în figura 3.

Fig. 3. Interfaţa grafică, un fişier deschis

4
La apăsarea butonului “Criptează”, se declanşează procesul efectiv de criptare a imaginii. După ce
acest proces este încheiat, se deschide o căsuţă de dialog în care user-ul are posibilitatea alegerii unui
nume sub care să fie salvat fişierul bitmap criptat, şi a unei locaţii în care să fie salvat acest fişier. Această
facilitate este prezentată în figura 4.

Fig. 4. Interfaţa grafică, salvarea imaginii criptate

6.2.2 Rularea aplicaţiei

Se vor utiliza diferite imagini bitmap pentru a studia modul de criptare folosind algorimii implementati
in aplicaţia software.

[1] Cryptographic Secure Pseudo-Random Bits Generation: The Blum-Blum-Shub


Generator, Pascal Junod, August 1999.
[2] A Specification for the AES Algorithm, by Joan Daemen & Vincent Rijmen
Bibliografie [3] Federal Information Processing Standards Publication 197, November 26, 2001
Announcing the ADVANCED ENCRYPTION STANDARD (AES)

Lucrarea de faţă îşi propune utilizarea unor algoritmi criptografici pentru


operaţia de criptare a imaginilor bitmap.

Rezumat

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