Sunteți pe pagina 1din 16

Zoran Constantinescu

Gabriela Moise

Criptarea Informaiei
Ghid practic

Editura Universitii Petrol-Gaze din Ploieti


2013

Copyright2013 Editura Universitii Petrol-Gaze din Ploieti


Toate drepturile asupra acestei ediii sunt rezervate editurii
Autorii poart ntreaga rspundere moral, legal i material
fa de editur i tere persoane pentru coninutul lucrrii.

Descrierea CIP a Bibliotecii Naionale a Romniei


CONSTANTINESCU, ZORAN
Criptarea informaiei: ghid practic / Zoran Constantinescu,
Gabriela Moise. - Ploieti : Editura Universitii Petrol-Gaze din
Ploieti, 2013
Bibliogr.
ISBN 978-973-719-522-7
I. Moise, Gabriela

003.26
004.056.5

Control tiinific:
Conf. univ. dr. ing. Otilia Cangea
Redactor:
Conf. univ. dr. mat. Cristian Marinoiu
Tehnoredactare computerizat:
ef lucr. dr. ing. Zoran Constantinescu
Coperta:
ef lucr. dr. ing. Zoran Constantinescu
Director editur:
Prof. univ. dr. ing. erban Vasilescu

Adresa:
Editura Universitii Petrol-Gaze din Ploieti
Bd. Bucureti 39, cod 100680
Ploieti, Romnia
Tel. 0244-573171, Fax. 0244-575847
http://editura.upg-ploiesti.ro/

Cuprins
1.

INTRODUCERE ........................................................................................ 7
1.1
1.2
1.3
1.4
1.5
1.6
1.7

2.

PROBLEMA CRIPTRII ....................................................................................... 7


DEFINIII. TERMINOLOGIE............................................................................... 12
CLASIFICAREA ALGORITMILOR DE CRIPTARE ......................................................... 14
METODE DE CRIPTANALIZ.............................................................................. 16
STANDARDE DE CRIPTARE ............................................................................... 17
TEME I EXERCIII.......................................................................................... 18
BIBLIOGRAFIE ............................................................................................... 18
CIFRURI DE SUBSTITUIE. CEZAR ........................................................... 19

2.1
2.2
2.3
2.4
2.5
3.

DESCRIEREA ALGORITMULUI CEZAR .................................................................. 19


IMPLEMENTAREA ALGORITMULUI CEZAR IN LIMBAJUL C ........................................ 20
CRIPTANALIZA ALGORITMULUI CEZAR ................................................................ 22
TEME SI EXERCIII.......................................................................................... 27
BIBLIOGRAFIE ............................................................................................... 28
CIFRURI POLIALFABETICE. VIGENRE ..................................................... 29

3.1
3.2
3.3
3.4
3.5
4.

DESCRIEREA ALGORITMULUI VIGENRE .............................................................. 30


IMPLEMENTAREA ALGORITMULUI VIGENRE IN LIMBAJUL C ................................... 32
CI DE ATAC................................................................................................. 34
TEME I EXERCIII.......................................................................................... 35
BIBLIOGRAFIE ............................................................................................... 36
CIFRURI ONE-TIME PAD. RC4 ................................................................ 37

4.1
4.2
4.3
4.4
4.5
4.6
5.

DESCRIEREA ALGORITMULUI VERNAM ............................................................... 37


IMPLEMENTAREA ALGORITMULUI VERNAM IN LIMBAJUL C..................................... 40
DESCRIEREA ALGORITMULUI RC4 ..................................................................... 41
IMPLEMENTAREA ALGORITMULUI RC4 IN LIMBAJUL C .......................................... 42
TEME I EXERCIII.......................................................................................... 44
BIBLIOGRAFIE ............................................................................................... 44
STANDARDUL DES ................................................................................ 45

5.1
5.2
5.3
5.4
6.

DESCRIEREA ALGORITMULUI DES ..................................................................... 45


IMPLEMENTAREA ALGORITMULUI DES IN LIMBAJUL C .......................................... 56
TEME I EXERCIII.......................................................................................... 62
BIBLIOGRAFIE ............................................................................................... 63
STANDARDUL AES................................................................................. 65

6.1
6.2
6.3
6.4

DESCRIEREA ALGORITMULUI AES ..................................................................... 65


IMPLEMENTAREA ALGORITMULUI AES IN LIMBAJUL C........................................... 76
TEME I EXERCIII.......................................................................................... 81
BIBLIOGRAFIE ............................................................................................... 82

7.

CRIPTAREA CU CHEI PUBLICE. RSA......................................................... 83


7.1
7.2
7.3
7.4
7.5
7.6

8.

PGP PRETTY GOOD PRIVACY .............................................................. 93


8.1
8.2
8.3
8.4
8.5
8.6

9.

PGP........................................................................................................... 93
STANDARDUL OPENPGP .............................................................................. 104
GPG SAU GNUPG ...................................................................................... 104
RESURSE ONLINE REFERITOARE LA PGP ........................................................... 106
TEME I EXERCIII........................................................................................ 107
BIBLIOGRAFIE ............................................................................................. 107
COMPILATORUL GCC .......................................................................... 109

9.1
9.2
9.3
9.4

CRIPTAREA CU CHEI PUBLICE ............................................................................ 83


DESCRIEREA ALGORITMULUI RSA ..................................................................... 83
IMPLEMENTAREA ALGORITMULUI RSA IN LIMBAJUL C .......................................... 87
SEMNTURI DIGITALE..................................................................................... 90
TEME I EXERCIII.......................................................................................... 92
BIBLIOGRAFIE ............................................................................................... 92

DESCRIERE ................................................................................................. 109


OPIUNI DE COMPILARE ............................................................................... 111
MAKEFILE.................................................................................................. 113
BIBLIOGRAFIE ............................................................................................. 114

10.

GLOSAR DE TERMENI ENGLEZ-ROMAN ................................................ 115

11.

ACRONIME DIN DOMENIU .................................................................. 117

12.

INDEX ................................................................................................. 119

1. Introducere
Acest prim capitol incearc s introduc, intr-un mod ct mai simplu i
uor de neles, noiuni de baz despre criptare. Vom ncerca s
rspundem la cteva ntrebri simple, cum ar fi de exemplu: ce este
criptarea? de ce avem nevoie de criptare? n ce situaii este justificat
folosirea criptrii? Vom continua cu introducerea unor definiii i a
terminologiei folosite n criptare i n literatura de specialitate aferent.
De asemenea vom prezenta diferite criterii de clasificare a principalilor
algoritmi folosii n criptare, pentru a avea o vedere de ansamblu asupra
acestor algoritmi i a folosirii acestora. Vom meniona i criptanaliza, care
este acea partea a criptologiei care se ocup cu analiza i spargerea
cifrurilor pentru a reface textul clar. Vom ncheia capitolul cu o alta
ntrebare: de ce este nevoie de standarde in criptografie? i cu o scurt
descriere a standardelor din criptografie.

1.1

Problema criptrii

S presupunem c dorim s transmitem un mesaj de la o persoan A


la o persoan B, folosind un canal de comunicaie. Mesajul poate fi orice,
de la un simplu cuvnt sau o propoziie, mesajul de pe o carte potal sau
dintr-o scrisoare, toate n format tradiional pe hartie, pn la un mesaj n
format electronic: binar, un text, un ir de numere, diverse fiiere, o
imagine, un document, o convorbire telefonic, o transmisiune video live
sau orice alt mesaj in format digital. Deasemenea, lungimea mesajului
poate varia de la civa bits pna la zeci de GigaBytes. Canalul de
comunicaie poate fi orice, de la un mesager sau curier, care expediaz o
scrisoare, sistemul de pot pe hrtie, sistemul de telefonie mobil, pn la
Internet, cu diversele metode de conectare. Vom considera n cele ce
urmeaz c datele primite snt identice cu cele transmise de-a lungul
canalului de comunicaie, cu alte cuvinte mediul de transmisie din punct
de vedere tehnologic este lipsit de erori. Exist un alt domeniu separat
denumit transmisia datelor care se ocup cu analiza mediilor de transmisie,
sursele de distorsiuni i zgomote, metodologii de prelucrare i transmisie
a datelor, protocoale de transmitere corect a datelor i integritatea lor.
7

Expeditorul, cel care trimite mesajul, numit i sursa mesajului, poate fi


o persoan, o organizaie, un sistem electronic, un telefon mobil, un
calculator. La fel si destinatarul, cel care primete sau recepioneaz
mesajul, numit cteodat i receptor. Cea mai simpl analogie este pota
clasic, unde orice scrisoare are dou adrese pe ea: expeditorul si
destinatarul. n mod similar avem i cazul potei electronice, cu adresele
de email ale expeditorului i destinatarului.
Pentru simplificarea prezentrii diverselor sisteme, n criptografie i n
literatura de specialitate, pentru prile implicate n comunicare se
folosesc nume de persoane: pentru expeditor se folosete numele Alice
(persoana A), iar pentru destinatar se folosete numele Bob (persoana B).
Este mult mai simplu s spunem: Alice trimite un mesaj lui Bob folosind
un algoritm de criptare X, dect sa spunem: O persoana sau un sistem A
trimite un mesaj unei alte persoane sau sistem B folosind un algoritm X.
mesaj

mesaj
canal comunicaie

Alice

Bob

Figura 1.1 Alice i Bob

Ce se intimpl daca cineva ascult mesajul transmis de Alice lui Bob?


Un exemplu simplu este situaia n care mesagerul, sau o alt persoan
sau sistem, citete mesajul care este transmis. Snt situaii n care acest
lucru nu se dorete, i se prefer ca acesta s nu cunoasc deloc
coninutul mesajului. Persoana care doar ascult mesajele, dar fr a
interveni asupra lor, este denumit n literatur Eve, de la cuvntul englez
eavesdrop, care nseamn a asculta n secret convorbiri particulare, a trage
cu urechea.

mesaj

mesaj

mesaj

Alice

Bob

Eve

Figura 1.2 Alice, Bob i Eve

Aici intervine criptografia (cryptography), tiina care ofer diferite


metode de a ascunde mesajul original. Mesajul nu mai este trimis n clar,
ci este transformat sau codificat astfel nct oricine l-ar asculta nu ar putea
s-l neleag. Este ca i cum mesajul ar fi scris ntr-o alt limb, dar pe
care nu o neleg dect Alice i Bob, necunoscut pentru Eve sau pentru
oricine altcineva, limb pe care nimeni nu ar putea s-o nvee. Dei pare
simplu la prima vedere, nu este deloc uor acest lucru. De-a lungul
istoriei au fost folosite diferite metode de a ascunde informaia trimis, de
la simple substituii de litere din mesajul clar (acum mii de ani), pn la
mecanisme sau sisteme foarte complexe pentru codificarea mesajelor (n
timpul celor dou rzboaie mondiale), i pn la sisteme informatice de
toate dimensiunile i toate complexitile, omniprezente n zilele noastre.
Scenariul descris mai sus este de fapt primul i cel mai important
obiectiv urmrit de criptografie, i anume confidenialitatea datelor (data
confidentiality, privacy, secrecy), cu alte cuvinte proprietatea de a putea
pstra secretul informaiei pentru a fi siguri c doar persoanele autorizate
au aces la aceste informaii. Confidenialitatea datelor ne poate garanta de
exemplu c parola de login trimis pentru conectarea la un server sau
website nu poate fi aflat de nimeni care ascult fluxul de date din reea,
sau c nimeni neautorizat nu poate afla numrul cardului de credit folosit
ntr-o tranzacie online.
Exist deasemenea situaii in care nu se dorete doar ascunderea
mesajului trimis pentru a nu putea fi citit, ci se dorete n plus asigurarea
faptului c mesajul transmis de Alice este identic cu cel primit de Bob i
nu a fost modificat n mod intenionat de ctre altcineva, oricare ar fi
inteniile acestuia.
mesaj
modif

mesaj

mesaj

mesaj
modif

Alice

Bob

Oscar

Figura 1.3 Alice, Bob i Oscar

Un astfel de personaj care modific n mod intenionat i cu scop


ruvoitor mesajele trimise de la Alice ctre Bob este numit n literatura
Oscar, de la cuvntul englez opponent, sau Mallory (sau Mallet, Marvin,
Moriarty), de la cuvntul englez malicious, care nseamn ruvoitor.
Acesta poate nu doar s intercepteze mesajele, dar poate s le i modifile,
s le tearga de tot, s le scurteze, s le substituie cu propriile sale mesaje,
s foloseasc mesaje mai vechi pe care le-a interceptat mai demult n locul
lor amd. Dificultatea asigurrii unui sistem mpotriva unor astfel de
atacuri devine mult mai dificil, i st la baza ntregului domeniu al
criptanalizei. Diferena ntre Oscar i Mallory este c cel din urm are
ntotdeauna intenii ruvoitoare, n timp ce Oscar poate face acest lucru i
cu alte scopuri, nu neaparat rele.
Aici am identificat al doilea obiectiv important al criptologiei:
integritatea datelor (data integrity). Aceasta este proprietatea de a putea
evita orice modificare neautorizat a informaiei, cum ar fi inserare,
substituie, tergere i snt folosite diverse metode pentru a putea detecta
sau mpiedica astfel de schimbri.
mesaj
diferit

mesaj

mesaj

mesaj
diferit

Alice

Bob
X

Mallory

Figura 1.4 Alice, Bob i Mallory

O alt situaie care este pe larg analizat de ctre criptologie este


situaia n care vrem sa fim siguri c mesajul trimis de ctre Alice este
intr-adevr trimis de Alice i nu de altcineva, iar acesta este primit doar
de ctre Bob. Acesta este de fapt al treilea obiectiv al criptografiei,
denumit autentificare (authentication) i reprezint proprietatea de a
putea identifica c o anumit entitate este conform anumitor criterii, c
este autentic, conform cu adevrul. Poate cuprinde att autentificarea
sursei sau a destinaiei, dar i autentificarea mesajului, respectiv a
informaiei transmise sau a unei semnturi electronice. Autentificarea
poate fi considerat ca un proces care verific dac cineva (ceva) este cine
(ceea ce) spune c este.

10

Un alt termen asemntor ntlnit este cel de autorizare (authorization),


care se refer la procesul de descriere, verificare a accesului la resurse, cu
alte cuvinte dac cineva (ceva) are dreptul s fac un anumit lucru.
Un aspect important studiat de criptologie este situaia n care Alice
neag c anumite mesaje trimise de ea n trecut i aparin. Dei ea le-a
trimis, ulterior ea neag acest lucru. n acest caz snt dezvoltate anumite
protocoale care s o oblige pe Alice s i recunoasc propriile mesaje,
fr a le putea nega dup bunul plac. Pentru aceast situaie se folosete
termenul de non-repudiere (non-repudiation), care este un alt obiectiv
important al criptologiei. Termenul provine din cuvntul a repudia care
nseamn a respinge, a nu mai recunoate pe cineva sau ceva, a alunga.
Una din metodele folosite n criptografie pentru asigurarea nonrepudierii este semntura digital, prin care se poate semna de exemplu
un document sau un mesaj de ctre expeditor. Aceast semntur trebuie
s ndeplineasc mai multe criterii: s nu poat fi falsificat (doar
expeditorul poate semna), s fie autentic (destinatarul poate verifica
faptul c expeditorul a semnat i nu altcineva), s nu poat fi reutilizat
pentru alt document sau mesaj (s nu poat fi copiat pe alt document),
documentul s nu poat fi modificat ulterior semnrii i s fie nonrepudiabil (s nu poat fi negat de cel care a semnat).
n tabelul 1.1 am descris pe scurt cele patru obiective fundamentale ale
criptologiei.

1
2
3
4

confidentialitatea datelor
integritatea datelor
autentificarea
non-repudierea

secretul informatiei
evitarea modificarii informatiei
identificarea entitatilor
prevenirea negarii evenimentelor

Tabelul 1.1 Obiectivele principale ale criptologiei

Lista obiectivelor criptologiei este ns mult mai lung, citeva din ele
fiind prezentate succint in tabelul 1.2. Toate acestea ins pot fi descrise
folosind doar cele patru obiective fundamentale de mai sus.
De cele mai multe ori mecanismul de protecie folosit de un sistem
pentru a transmite mesaje depinde de o multitudine de factori: de
complexitatea sistemului, de resursele disponibile, de ceea ce se dorete a
fi protejat, de celelalte sistemele cu care interacioneaz amd. Nu exist
un algoritm care s fie bun n orice situaie.
11

confidentialitatea datelor
integritatea datelor
autentificarea entitatilor
autentificarea mesajelor
semnatura
autorizare
validare
controlul accesului
certificare
datare, timestamping
anonimitate
non-repudierea
revocare

secretul informatiei
evitarea modificarii informatiei
identificarea entitatilor
identificarea mesajelor, a sursei
asocierea de informatii unei entitati
imputernicire sau obtinerea unui drept
recunoasterea valabilitatii
accesul selectiv la resurse
dovedirea autenticitatii
stabilirea datei exacte a unui eveniment
lipsa identificarii unei entitati sau mesaj
prevenirea negarii evenimentelor
retragerea unui drept

Tabelul 1.2 Cteva obiective ale criptologiei

Criptografia este folosit n zilele noastre aproape n orice sistem de


comunicaie, reea de calculatoare sau sistem informatic. Exemple de zi cu
zi care folosesc criptarea: cardul bancar cu chip folosit n automatele
bancare sau la plata ntr-un magazin, cardul SIM dintr-un telefon mobil,
banala telecomanda pentru activarea alarmei de la main, autentificarea
la serverul de email, tranzaciile online pentru cumprturi (eBay,
PayPal), comunicaia de tip wireless WiFi, televiziunea digital.

1.2

Definiii. Terminologie

Criptarea (n englez encryption) reprezint transformarea unui mesaj


clar ntr-un format care nu poate fi uor interpretat de ctre o persoan
neautorizat. La modul general, criptarea reprezint conversia datelor
dintr-un format uor interpretabil de ctre oricine, ntr-un format dificil,
sau chiar imposibil de interpretat de ctre o persoan (sau un sistem), dar
uor de interpretat de ctre persoanele autorizate. Operaiunea invers de
transformare a mesajului codificat n mesajul clar, original, pentru a putea
fi interpretat se numete decriptare (n englez decryption).
Mesajul original se mai numete i mesaj clar (n englez plaintext), iar
cel care se obine n urma criptrii se numete mesaj criptat (n englez
ciphertext).

12

Criptologia (cryptology), constituit ca o ramur interdisciplinar este


domeniul tiinific care se ocup cu studiul codurilor secrete. Termenul
vine din cuvintele greceti kryptos=ascuns,secret i logia=studiu,teorie.
Cuprinde dou mari componente: criptografia (cryptography) (din
cuvintele greceti kryptos si graphia=scriere) este partea care se ocup cu
studiul tehnicilor, algoritmilor, metodelor matematice referitoare la
diverse aspectele ale securitii informaiei, incluznd proiectare,
construirea i analiza diverselor protocoale, i criptanaliza (cryptanalysis)
(din cuvintele greceti kryptos si analyein) este tiina i arta care se ocup
cu analiza sistemelor informatice din punct de vedere al securitii,
ndeosebi a aspectelor ascunse ale acestora. Pe lng analiza matematic a
algoritmilor criptografici, include i studiul diverselor alte ci de atac ale
sistemelor, nu neaprat ale algoritmilor, ci ale diverselor puncte slabe ale
sistemelor, ale implementrilor acestora, cu decodificarea mesajelor
criptate fr a se cunoate cheile de criptare. Criptografia ar putea fi
privit ca latura defensiv a criptologiei, n timp ce criptanaliza ca latura
ofensiv a acesteia. Specialitii din criptografie se numesc criptografi, iar
cei din domeniul criptanaliz se numesc criptanaliti. Scopul final al
criptanalizei este cumva similar cu cel al decriptrii i anume aflarea
textului clar al mesajlui. Diferena const n faptul ca la decriptare se
cunoate cheia, n tip ce criptanaliza ncearc acest lucru fr a cunoate
cheia.
Din punct de vedere istoric, criptologia a fost asociat exclusiv cu
criptarea si decriptarea mesajelor, cu scopul de a ascunde informaia.
Abia dupa apariia sistemelor de calcul in sec. XIX-XX, domeniul s-a
dezvoltat foarte mult, au aprut noi metode bazate pe teorii matematice
complexe i necesitatea folosirii calculatoarelor din ce n ce mai
performante, precum i noi cerine pentru sistemele informatice.
Un algoritm criptografic (cryptographic algorithm), sau cifru (cipher) pe
scurt, este o funcie matematic folosit n procesul de criptare i de
decriptare. Un astfel de algoritm de criptare este folosit de obicei n
combinaie cu o cheie (key), care poate fi de exemplu un cuvnt, o fraz,
un text mai lung sau un numar. Aceasta cheie este folosit pentru
criptarea unui text clar. Folosind acelai algoritm pentru un text clar, dar
chei diferite de criptare, se obine texte codificate diferite. De obicei
securitatea (confidenialitatea) mesajului criptat este dependent att de
puterea algoritmului (in englez strength), ct si de confidenialitatea cheii
de criptare.

13

Exist foarte muli termeni folosii n criptografie, noi am prezentat


doar o mic parte din ei. Pentru o list complet cu definiiile termenilor
folosii n criptografie i n special n securitatea Internetului se poate
consulta [3].

1.3

Clasificarea algoritmilor de criptare

Exista mai multe criterii dup care se pot clasifica algoritmii de


criptare. Cel mai important criteriu este dup felul n care se folosete
cheia la criptarea, respectiv decriptarea mesajului. Algoritmii se mpart n
dou mari clase: cu chei simetrice (sau chei private) i cu chei publice
(sau chei asimetrice).
Algoritmii de criptare cu chei simetrice au proprietatea c folosesc
aceeai cheie att pentru criptarea textului clar, ct i pentru decriptare
textului codificat. Din acest motiv este folosit termenul de simetric. Cheile
pot fi identice, sau una din ele s poat fi obinut din cealalt folosind
transformri simple. Cheile reprezint de fapt un secret care este partajat
doar de prile implicate (de exemplu Alice i Bob) i care permite
schimbul ulterior de mesaje n mod secret intre acestea. Unul din marile
dezavantaje ale acestor tipuri de algoritmi este faptul c aceste chei
trebuie partajate, acest lucru nefiind ntotdeauna posibil, existnd situaii
n care aceast cheie nu poate fi transmis n mod sigur.
Algoritmii de criptare cu chei asimetrice, sau cu chei publice folosesc
dou chei diferite pentru criptare i decriptare, una din ele fiind secret
(privat) iar cealalta public. Dei cheile snt diferite, exist o legtur
ntre ele din punct de vedere matematic. Una din chei este folosit pentru
criptarea mesajului clar, iar cealalt pentru decriptarea mesajului codat.
Niciuna dintre aceste chei nu poate fi folosit doar ea att pentru criptare
ct i pentru decriptare. Cheia public poate fi publicat fr nici un risc
n a compromite securitatea, n timp ce cheia privat nu trebuie s o tie
dect cei care au acces la informaie. Algoritmii folosii n criptarea
asimetric au la baz probleme matematice care nu au soluii eficiente
(factorizarea numereler ntregi foarte mari, problema logaritmului
discret, etc.).
Dei este uor s se genereze cele dou chei mpreun, avnd doar
cheia public este extrem de dificil, practic aproape imposibil s se
gseasc cheia privat asociat. Din acest motiv algoritmii de criptare
14

asimetrici nu necesit un canal de comunicaie sigur ntre parteneri


pentru schimbul iniial de chei secrete, spre deosebire de algoritmii
simetrici, unde acest lucru este necesar. Criptarea este realizat de Alice
folosind cheia public a lui Bob, n timp ce Bob este singurul care poate
decripta mesajul folosind cheia sa privat. O alt utilizare a acestor
algoritmi este verificarea autenticitii unui mesaj utiliznd semntura
digital. Aceast semntur poate fi efectuat folosind cheia privat, iar
verificarea semnturii poate fi efectuat ulterior de ctre oricine, folosind
doar cheia public.
Algoritmi
de criptare
cu chei
publice

substitutie
cu chei
simetrice

transpozitie
bloc

stream

kpub kpriv

Figura 1.5 Clasificarea algoritmilor de criptare

Clasificarea algoritmilor de criptare se poate face i dup felul n care


se proceseaz textul clar/criptat la criptare/decriptare. O prim metod
este procesarea pe blocuri, iar algoritmii se numesc de obicei cifruri bloc.
Textul clar este mprit n blocuri cu lungime fix de caractere, dup care
fiecare bloc este criptat rnd pe rnd. n cazul n care lungimea textului
clar nu este multiplu ntreg de lungimea blocului, se folosete un algoritm
de completare a acestuia cu caractere pn la lungimea blocului folosit.
Acest lucru se numete padding (din cuvntul englez to pad=a cptui),
iar cea mai simpl variant este completarea cu caractere zero sau spaii.
Cele mai cunoscute moduri de operare ale cifrurilor bloc snt: ECB
(electronic code block) i CBC (chiper block chaining). Modul ECB este cel mai
simplu i cel mai uzual i presupune codificarea independent a fiecrui
bloc Bi al mesajului clar ntr-un bloc cifrat Ci de aceeai mrime, folosind
chei diferite Ki pentru fiecare pas. Modul CBC folosete un mecanism de
feedback n care rezultatul cifrrii unui bloc anterior C i-1 este folosit
pentru cifrarea blocului curent Bi, textul cifrat nemaifiind dependent doar
de textul clar ci i de textul cifrat.

15

criptare

Bi
mesaj clar

Ci
mesaj cifrat

Ki

cheie

Figura 1.6 Codificare pe blocuri de tip ECB

Ci-1
Bi

criptare

mesaj clar

Ci
mesaj cifrat

Ki

cheie

Figura 1.7 Codificare pe blocuri de tip CBC

Pentru decriptare se folosete n mod similar mprirea n blocuri de


aceeai lungime. Lungimea blocurilor este relativ mare, i poate avea
valori tipice de 64, 128 sau 256 bits. Spre deosebire de cifrurile de tip bloc,
cifrurile stream codific mesajele folosind blocuri foarte mici, de un
character (sau o liter din alfabet) sau chiar i de 1 bit lungime.

1.4

Metode de criptanaliz

Criptanaliza se ocup cu determinarea unei chei folosite de un


algoritm de criptare, doar pe baza mesajelor criptate i eventual a altor
informaii secundare. Criptanalistul poate folosi diferite strategii pentru
aflarea cheii, n funcie de algoritm i de situaia n care se afl. El poate
de exemplu s cunoasc doar textul criptat i eventual alte detalii despre
textul clar (limba n care este scris mesajul, frecvena literelor unui alfabet
amd). Deasemenea, este posibil s cunoasc una sau mai multe perechi
de caractere sau blocuri (text clar, text criptat), ori poate s aib acces la
algoritm i s poat cripta anumite texte clare selectate de el.

16

Criptanaliza prin for brut (brute force attack) const n parcurgerea


tuturor cheilor posibile. Pentru fiecare cheie se decripteaz textul i se
verific dac este cel corect. Acest tip de atac reuete ntotdeauna
deoarece parcurgnd fiecare cheie vom trece inevitabil i peste cheia
folosit pentru criptare. Atacul poate fi realizat practic doar n cazul n
care spaiul cheilor posibile este mic, altfel timpul necesar parcurgerii lor
este mult prea mare. Din acest motiv, pentru a descuraja atacurile prin
for brut, este recomandat ca cifrurile s aib un numr foarte mare de
chei posibile.

1.5

Standarde de criptare

O metod pentru a pstra securitatea informaiei este folosirea unor


algoritmi secrei. Dac doar Alice i Bob cunosc algoritmul, atunci am
putea presupune c oricine ascult mesajele schimbate ntre ei nu va
putea s le neleag. n realitate ns este dificil acest lucru. Pe de o parte
ei vor trebui s-i scrie singuri programele software care implementeaz
algoritmul respectiv, lucru destul de dificil, iar pe de alt parte, de-a
lungul timpului s-a constatat c nici un algoritm nu este infailibil, i c
mai devreme sau mai trziu acesta poate fi spart, fr chiar ca Alice i Bob
s tie acest lucru. Daca Alice va dori s comunice i cu alte persoane,
atunci va trebui s aib cte un algoritm pentru fiecare persoan, lucru
deja extrem de dificil. Cu toate acestea, folosirea unor astfel de algoritmi
secrei care nu se cunosc public este practicat chiar i n zilele noastre.
Foarte multe sisteme, inclusiv sisteme de operare i diverse dispozitive
folosesc acest lucru n mod curent, fr a lua foarte n serios implicaiile
din punct de vedere al securitii.
Deoarece este dificil proiectarea i implementarea unui algoritm bun
de criptare, implicnd un efort considerabil, iar sistemele informatice fiind
foarte diferite, s-a impus de-a lungul timpului necesitatea standardizrii
n criptografie, n special a algoritmilor i a protocoalelor folosite.
Avantajele majore oferite de standardizare sint compatibilitatea i
interoperabilitatea sistemelor. Avnd un algoritm de criptare care este
standardizat, iar dac implementarea acelui algoritm pe diferite sisteme
respect acel standard, atunci vom fi siguri ca un acelai mesaj codificat
pe ambele sisteme, cu aceleai chei, vom obine acelai rezultat. Este mult
mai uor s avem un algoritm standard care este deja implementat n
diferite sisteme pe care s-l putem folosi. E drept c va trebui s avem
ncredere n cei care au proiectat algoritmul i c nu exist nici un punct
17

slab n algoritm care s poat fi exploatat de un eventual criptanalist. De


obicei standardizarea este fcut de organizaii care ne asigur c acest
lucru nu este posibil, sau foarte puin probabil.
Exist diferite standarde pentru diferite aspecte din criptografie:
standarde pentru algoritmi: DES, AES, 3DES, RSA, RC4
standarde pentru funcii matematice de tip hash: MD5,SHA1,HMAC
standarde pentru semnturi digitale: DSA, RSA
standarde pentru criptarea n reele wireless: WEP, WPA, WPA2
standarde pentru criptarea n reele GSM: A5/1, A5/2
standarde pentru securitatea reelelor Internet: documente RFC
standarde pentru autentificare: Kerberos, RADIUS
standarde pentru protocoale de conectare la servere: SSH

1.6

Teme i exerciii

1. S se descrie cteva sisteme n care se folosete criptarea. S se


explice de ce acest lucru este necesar n aceste cazuri.

1.7

Bibliografie

1. Schneier, Bruce, Applied Cryptography: Protocols, Algorithms,


and Source Code in C, Wiley, 1996, ISBN 978-0471117094.
2. Gordon, John, The Story of Alice and Bob, after dinner speech
at The Zurich Seminar , April 1984,
(online http://downlode.org/Etext/alicebob.html).
3. Shirey, N., Internet Security Glossary, Version 2, RFC 4949.
August 2007, (online http://tools.ietf.org/html/rfc4949).

4. Kessler, Gary C., An Overview of Cryptography, Hanbook on


Local Area Networks, Auerbach, 1999.
5. Kessler, Gary C., An Overview of Cryptography, (online 2013
http://www.garykessler.net/library/crypto.html).

18

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