Sunteți pe pagina 1din 7

5.1.

Sisteme criptografice

Simplist, criptografia poate fi definit ca tiina scrierii secrete i folosete metode


matematice pentru transformarea datelor n scopul de a ascunde coninutul lor sau de a le
proteja mpotriva modificrilor. Criptografia are o istorie lung i dac ar fi s dm un
exemplu ne-am referi la ,,cifrul lui Cezar ntruct principiul substituiei utilizate de el s-a
meninut aproape dou milenii. Preocuparea criptografelor a fost dedicat ntririi
cifrurilor prin complicarea algoritmilor prin combinarea de substituii i transpoziii
asupra unor simboluri sau blocuri. Istoria modern a criptografiei este marcat de apariia
i dezvoltarea reelelor de calculatoare i de adoptarea unui principiu definit de acela al
cifrrii simetrice. Astfel n 1976 W. Diffe i M. Hallman (cercettori la Universitatea
Stanford din California) prun bazele criptografiei asimetrice cu chei publice. Aceast
metod nlocuiete cheia secret cu dou chei diferite, una pentru cifrare, alta pentru
descifrare.
Pentru c este imposibil deducerea unei chei din alta, una din chei este fcut
public i pus la dispoziia oricui dorete s transmit un mesaj cifrat. Mesajul este
descifrat doar cu cea de a doua cheie.
De remarcat este faptul c aceast tiin servete dou lumi cu interese diferite,
prima este lumea comunicaiilor autorizate, cum sunt cele dintre utilizatori de drept ai
aceleiai baze de date (i sunt operaii legale) i a doua este lumea operaiilor ilegale n
care persoana neautorizat ncearc s intercepteze mesaje sau s le altereze (uneori s le
distrug).
Din acest unghi criptografia apare ca o lupt continu ntre cele dou pri. Un
succes al celui ce intr neautorizat va conduce iminent la ntrirea msurilor de siguran
ntreprinse de utilizatorii autorizai.
Iat cum au aprut diveri algoritmi criptografici.
Noiunea de baz n criptografie este cifrul care se definete ca transformarea unui
mesaj clar sau text n mesaj cifrat denumit i criptogram. Acest proces de transformare
din text clar n text cifrat se numete cifrare sau criptare, iar procesul invers se numete
descifrare sau decriptare. Operaia de criptare ct i cea de decriptare sunt controlate de
una sau mai multe chei criptografice. Criptanaliza studiaz metodele de spargere a
cifrurilor care nseamn determinarea textului clar sau a cheii de criptare din criptogram.
Componena unui sistem criptografic este (fig.1.2) :
- M text clar;
- C text cifrat ;
2 funcii inverse E ( ) i D ( ) ;
un algoritm care produce cheile Ke i Kd astfel nct :
C = EKe (M)
i
M = DKd
Sistemele criptografice se clasific n :
- Sisteme simetrice sau cu cheie secret care utilizeaz o aceeiai cheie att pentru
cifrarea ct i pentru descifrarea mesajelor ;
- Sisteme asimetrice sau cu chei publice care folosesc chei distincte pentru cifrare
i descifrare, dar legate ntre ele.
Patriciu V. i colaboratori Securitatea informaiei n UNIX i INTERNET

Vom evidenia civa algoritmi criptografici cu cheie simetric sau secret.


Caracteristica acestor algoritmi este c se ine secret cheia i este utilizat n comun de
ctre emitor i receptor.
Definiie un algoritm cu cheie secret este compus din dou funcii E ( ) i D ( )
care utilizeaz chei cu urmtoarele proprieti :
- Kc = Kd = K
- Ke i Kd sunt secrete
Exemple de astfel de criptosisteme simetrice sunt DES (Data Encryption
Standard) sau IDEA (International Data Encryption Algorithm).
Criptarea simetric ofer protecia cheii prin asigurarea securitii care cuprinde
ca aspecte generarea i distribuia cheilor precum i memorarea acestora.
Pentru generarea cheilor se poate 2tilize o tabel de conversie sau proceduri
manuale (ca de exemplu datul cu banul sau aruncarea zarurilor) numai pentru generarea
cheilor master.
ns pentru cheile de sesiune sau de terminal nu se pot utiliza aceste proceduri
manuale ci numai automate, cum sunt cele de generare (pseudo) aleatoare bazate pe
funcii matematice sau diferii parametri.
n distribuia cheilor sunt probleme date de transportul cheii secrete. Pentru a
cripta o astfel de cheie se va folosi o alt cheie numit cheie terminal.
K
K

Criptare

B
Decriptare

unde: M mesaj, C criptogram, K cheie


Fig.1.2 Schema-bloc a unui sistem criptografic
Utilizarea algoritmilor simetrici pentru N entiti ce doresc s comunice, implic
N (N-1) / 2 chei de memorat, memorare care trebuie fcut ntr-un mod sigur. n practic
ns nu toate legturile bidirecionale se stabilesc n acelai timp i de aceea se utilizeaz
chei de sesiune.
Cheile de terminal, care capteaz date foarte secrete sunt dificil de atacat. La
utilizarea cheilor publice, X500 este soluia cea mai la ndemn pentru managementul
cheilor.
Cheile publice sunt pstrate n directoare X500, ca certificate semnate cu o
semntur digital a Autoritii de certificare (Certificate Authority).
n ceea ce urmeaz se vor descrie succint cteva cifruri mai des ntlnite.
Cifrul DES (Data Encryption Standard) este primul standard dedicat proteciei
criptografice a datelor prelucrate de calculator.

Au fost fcute studii de firma IBM nc din 1970, iar dup modificrile fcute
mpreun cu NBS i NSA (Naional Security Agency) a fost publicat ca FIPS PUB46 n
1977 i denumit DES. Ulterior a fost adoptat de ANSI (American Standard Institute) ca
standard ANSI x 1,92 i intitulat DEA.
DES este de fapt un cifru bloc cu lungime de 64 de bii prelucrai n configuraie
cu o cheie care la rndul ei este compus din 56 bii generai aleator i 8 bii care sunt
folosii n detectarea erorilor de transmisie, fiecare dintre ei reprezentnd paritatea impus
a celor 8 octei ai cheii.
Prin aceast tehnic, cheia este expandat la lungimea blocului. Cheia este
pstrat de toi membri unui grup de utilizatori care n acest mod pot cifra sau descifra
datele care circul ntre ei.
n ansamblu algoritmul este o combinaie a dou tehnici de cifrare numite
,,confuzie i ,,difuzie.
Construcia unui bloc DES este o combinaie unic a celor dou tehnici
menionate anterior. Ca atare o substituie este urmat de o permutare asupra textului,
bazat pe chei.
O astfel de substituie se numete rund. DES se compune de 16 runde, ceea ce
nseamn c se aplic aceiai combinaie de tehnici asupra blocului de text clar de 16
octei. Algoritmul se bazeaz pe un set de permutri, substituii i sum modulo 2 ,
aplicate iterativ pe 16 octei, pe un bloc de date de 64 bii, prin folosirea unei chei diferite
la fiecare trecere, format din 48 de bii extrai dintr-o cheie de 56.
Date sunt mprite n blocuri de 64 de bii i criptate fr a se modifica lungimea
lor.
Exist o varietate de derivaii ale acestei cifri cum sunt :
a) DES multiplu este DES-triplu folosit de anumite implementri ale DES-ului. n
acest caz DES nu are structur de grup, iar textul cifrat rezultat este mai greu de spart
ntruct sunt necesare 2112 ncercri n loc de 256 ;*
b) DES cu sub-chei independente presupune utilizarea unor sub-chei diferite
pentru fiecare rund, toate fiind extrase din cheia principal i nu derivate din aceasta ca
n varianta clasic. Fiecare rund va utiliza o sub-cheie de 41 bii ceea ce nseamn c la
16 runde va avea 768 bii.
Varianta aceasta mrete dificultatea atacului la cheie la 2 768 ncercri, fcndu-l n
acest fel impracticabil ;
c) DESX este varianta DES dezvoltat de RSA Data Security Inc. Ea utilizeaz o
tehnic numit transparen. Dac detaliem se observ c pe lng cheia de 56 bii a
DES-ului, DESX mai adaug o cheie de 64 de bii denumit cheie transparent.*
Cei 64 de bii se vor nsuma module 2 cu textul clar nainte de nceperea
algoritmului DES. Dup ultima rund a DES-ului se va face suma module 2 ntre rezultat
i ,,cheia transparent. Din acest motiv DESX este mai puternic dect DES-ul la un atac
obinuit.
d) DES generalizat (GDES) a fost proiectat pentru a mri viteza de lucru a DESului ct i pentru ntrirea algoritmului.
Dimensiunea blocului se mrete, n timp ce numrul de calcule rmne constant.
Varianta GDES opereaz cu blocuri de text clar de dimensiune variabil. Astfel blocurile
Patriciu V. i colectiv Securitatea informatic n UNIX i INTERNET

de text clar se mpart n q sub-blocuri de 12 de bii, unde q este egal cu raportul dintre
dimensiunea blocului i 12.
Funcia f se va calcula pentru fiecare rund asupra blocului celui mai din dreapta.
Rezultatul se va nsuma module 2 cu toate celelalte pri, care mai apoi sunt rotite la
dreapta.
GDES are un numr n variabil de runde. Pentru q=2 i n=16 se obine DES.
Avantajul GDES-ului este c este mai rapid ca DES-ul, dar ofer mai puin securitate
dect acesta din urm.
e) DES cu cutii S alternative. n acest caz se construiesc S cutii variabile care se
modific. S. Biham i Shamir au artat c alegerea cutiilor S originale nu a fost arbitrar,
ci ele au fost optimizate mpotriva atacurilor care folosesc criptanaliza diferenial.
f) DES cu cutii S dependente de cheie.
De remarcat este faptul c criptanaliza liniar i cea diferenial pot fi folosite ca
atac DES numai dac se cunoate componena cutiilor S. Dac cutiile S sunt dependente
de cheie i alese prin metode criptografice puternice, atunci criptarea liniar i cea
diferenial devin dificil de folosit.
Se va analiza o metod de utilizare a unei chei de 56 de bii pentru generarea de
cutii S rezistente la criptanaliza liniar i diferenial :
- se face i alt aranjare a cutiilor S ale DES-ului n modul urmtor : 2, 4, 6, 7, 1,
1, 5, 8 ;
- se selecteaz 16 bii din cheie. Dac :
- primul este egal cu 1, se interschimb primele dou linii cu ultimele dou
linii ale cutiei S1 ;
- al doilea bit este 1, se interschimb primele 8 coloane cu urmtoarele 8
coloane ale cutiei S1 ;
- se procedeaz similar n cutia S2 cu biii 1 i 4. Algoritmul se continu
pentru cutiile S de la 1 la 8.
- Se selecteaz ceilali 12 bii din cheie, se face suma module 2 ntre primii 4 bii
i intrrile corespunztoare n cutia S1, iar procesul este repetabil pentru celelalte cutii S.
Complexitatea unui atac prin cripanaliz diferenial este 251, iar pentru
criptanaliza liniar este 251. Complexitatea unui atac prin cutri exaustive este 2102.
Avantajul acestei variante const n aceea c algoritmul poate fi implementat
hardware folosind componentele deja existente. Exist chip-uri care au posibilitatea de a
ncrca cutii S. Metoda de generare a cutiilor S se poate face n afara chip-ului, apoi
cutiile S pot fi ncrcate n circuit.
Cifrare bloc.
Cifrare carte de coduri (Electronic Code book ECB) este cea mai utilizat cale de
cifrare bloc unde un bloc de text se transform ntr-un bloc de text cifrat. ntruct fiecare
bloc de text este ntotdeauna cifrat n acelai bloc de text cifrat, teoretic se consider a fi
posibil crearea unei cri de coduri n care s se poate face asocierea dintre text-clar i
text-cifrat. Pentru blocuri cu o lungime de 64 bii rezult 2 64 intrri n cartea de coduri,
ceea ce constituie o mrime ce nu permite uor memorarea i lucrul. De asemenea este
tiut c i fiecare cheie necesit o carte de coduri special.
Aceast metod nu necesit ca fiierul intrat la criptare s fie cifrat liniar de la
nceput pn la sfrit.

Criptarea se poate face lund blocuri din fiier n mod aleator. Acest mod de lucru
este foarte important mai ales pentru fiierele criptate care sunt accesate aleator, precum
sunt bazele de date. Dac se cripteaz o baz de date cu cifrul ECB, atunci se poate
aduga orice nregistrare, se poate terge, se poate cripta sau decripta independent de
celelalte. Condiia este ns ca nregistrrile s conin un numr ntreg de blocuri
criptate. Problema care se ridic n utilizarea ECB, este dac un criptanalist care deine
att textul clar ct i textul cifrat echivalent pentru cteva mesaje, poare realiza o carte de
coduri fr a ti cheia. Unele mesaje au fragmente care tind s se repete, iar altele ca n
pota electronic au structuri regulate i de aceea un criptanalist ar putea intercepta o
serie de informaii. El poate ataca textul de baz, indiferent de tria cfrului. Sunt foarte
multe mesaje care se mpart exact n blocuri de cte 64 bii i ECB-ul nu lucreaz dect
cu astfel de blocuri. De aceea se recurge la operaia de padding (completare) a blocurilor.
Ultimul bloc se va completa cu un model zero-unu, alternnd cifre de 1 i 0, n aa fel
nct blocul s fie complet.
La decriptare este nevoie de tergerea acestor surplusuri. Pentru stergerea
surplusurilor se adaug ca ultim octet al ultimului bloc, numrul de octei adugai.
Cifrare bloc cu nlnuire (Cipher Block Chaining CBC).
Prin aceast metod se adaug mecanismului de criptare un bloc de reacie.
Rezultatul criptrii unui bloc anterior revine prin bucl i intervine n criptarea blocului
curent. Printr-un astfel de procedeu, textul cifrat nu mai depinde doar de textul clar, ci i
de modul de cifrare al blocului anterior.
n CBC, textul clar este nsumat module 2 (XOR) cu blocul text cifrat anterior,
nainte de a intra n blocul de criptare propriu-zis. Textul cifrat care rezult se stocheaz
ntr-un registru al buclei de reacie. La urmtorul pas, cnd un alt text clar va fi criptat el
este fcut XOR cu blocul din registrul de reacie i devine intrare pentru rutina de
criptare.
Dup criptare, coninutul registrului va fi nlocuit cu blocul criptat, descifrarea
blocului i depinde de toate cele i-1 blocuri anterioare. La decriptare, textul cifrat este
decriptat, normal i depozitat n registrul de reacie. Urmtorul bloc care se va decripta
este fcut XOR cu coninutul registrului de reacie.
Se mai pot utiliza cifrarea bloc cu nlnuire, cifrarea CBC cu propagare (PCBC)
sau cifrarea cu reacie neliniar la ieire (OFBNLF).
Cifruri secveniale
Cifrarea secvenial (Stream Ciphers) const n convertirea bit cu bit a textului clar n
text cifrat. Aceast metod dispune de un generator de chei, (care n funcie de timp)
genereaz un ir de bii K1, K2, , Ki. Cu ajutorul acestui ir de chei numit i cheie
curent se face XOR cu irul de bii ai textului clar, p 1, p2, , pi, pentru a obine un ir de
text cifrat de forma : Ci= pi Ki. La decriptare se obine rezultatul prin efectuarea unui
XOR ntre criptogram i cheia curent pi = Ci Ki (fig.1.3).
Securitatea acestui sistem depinde de generatorul de chei i anume acesta genereaz
iruri-cheie aleatoare, atunci exist un grad nalt de securitate. Generatorul de chei

genereaz iruri aleatoare (sunt iruri deterministe) care pot fi recompuse complet n
momentul efecturii operaiei de decriptare.

Generator
de
chei

Text clar

Generator
de
chei

Text cifrat

Pi

Text clar
Pi

Ci

Criptare

Decriptare
Fig. 1.3. Modul secvenial

Generatorul de iruri-cheie se compune cum se observ n fig. 1.4.

Starea
intern
Cheia K

Funcia
strii
urmtoare
Funcie ieire

Ki

Fig.1.4. Coninutul unui generator de iruri-cheie

Patriciu V. i colectiv Securitatea informatic n UNIX I INTERNET

Strile interne dau de fapt starea curent a generatorului. Cu aceiai cheie i cu


aceiai stare intern, ele vor genera acelai ir-cheie.
Funcia de ieire preia starea intern i va genera un bit din irul cheie. Funcia
pentru urmtoarea stare preia starea intern i duce la generarea unei noi stri interne.
2. Cifrarea secvenial cu auto-sincronizare, presupune c fiecare bit al irului
cheie este funcie de un numr fix de bii din textul care a fost criptat anterior. Starea
intern a acestui tip de generator este funcie de n bii criptai anterior.
Complexitatea criptografic este generat de o funcie care preia starea intern i
genereaz urmtorul bit al irului cheie. Datorit acestei proprieti, generatorul iruluicheie de la recepie se va sincroniza cu cel de la emisie, dup ce au fost recepionai cei n
bii de text cifrat. Exist i cifrare secvenial cu auto-sincronizare care se caracterizeaz
prin aceea c fiecare bit al irului cheie este funcie de un numr fix de bii din textul
criptat anterior. Este dotat acest sistem de criptare i cu o funcie care preia starea intern
i genereaz urmtorul bit al irului cheie. Ca atare starea intern depinde de cei n bii
cifrai anterior. n acest fel generatorul irului-cheie de la recepie se va sincroniza cu cel
de la emisie, numai dup ce s-a fcut recepia celor n bii de text cifrat. Exist i o serie
de alte tipuri de cifrri cum sunt de exemplu : cifrarea cu reacie (Cipher FeedBack
CFB), cifrarea secvenial sincron, cifrarea secvenial cu reacie la ieire, cifrarea cu
contor i cifrare multipl.

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