Sunteți pe pagina 1din 14

Criptografia

Masterand: Radu MOINESCU

Introducere
Criptografia este știința care folosește matematica pentru a codifica și decodifica
informațiile. Cu ajutorul criptografiei se pot stoca ușor informațiile sau se pot transmite de-a lungul
unor rețele nesigure (de exemplu, Internetul) și nu pot fi citite decât de aceia care posedă cheia
pentru decriptare. În timp ce criptografia este știința securizării informațiilor, criptanaliza este
știința analizării și verificării securității comunicației. Criptanaliza clasică implică combinații
interesante de judecăți analitice, aplicații ale metodelor matematice, căutarea șabloanelor,
determinare și noroc. Criptologia le include pe ambele: criptografia și criptanaliza.
Importanţa criptării informaţiilor este evidenţiată de utilizarea în tot mai multe domenii a
legăturilor secretizate: comunicaţiile militare, comunicaţiile serviciilor speciale, comunicaţiile
guvernamentale, comunicaţiile diplomatice, comunicaţiile din mediile financiar-bancare,
comunicaţiile agenţilor economici, televiziunile companiilor private.
Comunicaţiile protejate au ca scop păstrarea confidenţialităţii informaţionale şi a
caracterului de secret, atât politico-diplomatic cât şi economico-financiar.
Accesul neautorizat la comunicaţiile structurilor militare, ale altor instituţii de stat sau ale
agenţilor economici, care nu respectă strict regulile de trafic în reţelele proprii, care nu aplică
măsuri de protecţie capabile să înlăture sau să diminueze stările de pericol generate de
vulnerabilităţile sistemelor de telecomunicaţii sau ale celor de securitate, poate produce consecinţe
grave.
Un sistem de comunicaţii este alcătuit din componente diferite, distribuite spaţial, permiţând
efectuarea cu uşurinţă de atacuri sau operaţii ilegale, aspect care subliniază necesitatea vitală a
protecţiei sistemului.
În proiectarea securităţii unui sistem de comunicaţie trebuie avute în vedere următoarele
categorii de protecţii:
- confidenţialitatea – protejarea informaţiei împotriva citirii sau copierii de către
utilizatorii care nu au o autorizare explicită;
- integritatea datelor – protejarea informaţiei împotriva ştergerii sau modificării făcute
fără permisiunea proprietarului acesteia;
- disponibilitatea – protejarea unui serviciu astfel încât acesta să fie disponibil
permanent şi să nu poată fi inactivat fără autorizaţie din partea administratorului;
- controlul accesului – gestionarea accesului la sistem; împiedică utilizatorii
neautorizaţi să acceadă în sistem, periclitând integritatea resurselor şi confidenţialitatea
informaţiilor;
- auditul – înregistrarea activităţii sistemului, pentru ca administratorul să identifice în
egală măsură utilizatorii şi acţiunile întreprinse, ţinînd cont că şi utilizatorii autorizaţi pot face
acţiuni eronate sau răuvoitoare care să afecteze sistemul.
Fiecare organizaţie atribuie importanţă diferită acestor aspecte, în funcţie de cerinţele şi
obiectivele de securitate avute în vedere:
- domeniul militar, diplomatic sau guvernamental – confidenţialitatea este pe prim plan,
iar disponibilitatea într-un plan secund;
- mediul bancar – integritatea şi auditul sunt cele mai importante, pe plan imediat
inferior fiind confidenţialitatea şi disponibilitatea;
- mediul universitar – integritatea şi diponibilitatea sunt cele mai importante.
În cazul utilizării algoritmilor criptografici, indiferent de tipul acestora (criptografia clasică
cu algoritmi simetrici sau cea cu chei publice), întrebarea care se pune este cum să se facă criptarea:
hardware sau software? Până recent, toţi producătorii de sisteme de criptare îşi ofereau produsele
sub forma unor cutii ce se ataşau unei linii de comunicaţii şi criptau datele de-a lungul liniei. Deşi
criptarea software devine tot mai dominantă, cea hardware este încă cea mai cerută în aplicaţiile
1
militare sau comerciale de mare importanţă.
Tendinţa actuală este ca tot mai multe companii să îşi secretizeze datele printr-un hardware
specializat implementat în echipamentele de comunicaţie, existând însă în momentul de faţă şi
cealaltă soluţie cel puţin la fel de atractivă. Orice algoritm de criptare poate fi implementat
software. Dezavantajele, cel puţin până în prezent, constau în viteză, dezavantaj minimizat de
apariţia procesoarelor performante, şi lipsa de protecţie în faţa atacurilor distructive. Avantajul este
oferit de flexibilitate şi portabilitate, uşurinţă în folosire şi în efectuarea de upgrade-uri. Programele
criptografice pot fi copiate foarte uşor şi instalate pe orice sistem şi se pot încorpora în aplicaţii
complexe, cum ar fi cele de comunicaţii.
Criptografia a jucat un rol foarte important în istorie, iar producătorii de cifruri au dorit
realizarea unor sisteme de cifrare cât mai rezistente. Dacă la început şi-au pus mai puţin problema
operativităţii şi a productivităţii, odată cu creşterea volumului de corespondenţă ce trebuia cifrată,
aceste probleme au devenit foarte importante. De asemenea, crescând complexitatea metodelor de
cifrare a crescut şi riscul de a greşi. Toate acestea au impus necesitatea realizării unor dispozitive
care să facă mai sigură şi mai rapidă activitatea de cifrare. Au apărut mai întâi simple rigle, discuri,
abace, apoi acestea au fost mereu perfecţionate ajungându-se la adevărate maşini la început
mecanice, apoi electromecanice ajungându-se astăzi la realizarea unor sisteme de cifrare bazate pe
utilizarea calculatoarelor şi a microprocesoarelor specializate.
Toate aceste dispozitive şi maşini pot fi grupate în şase generaţii care urmăresc evoluţia
dezvoltării tehnicii şi tehnologiilor de realizare, precum şi a metodelor şi principiilor de cifrare.
În prima generaţie pot fi incluse acele dispozitive simple bazate pe principiul riglei şi care
au apărut începând se pare cu anul 475 î.e.n.
Dintre acestea cel mai vechi dispozitiv de cifrat a fost SKYTALA spartanilor.
A doua generaţie este generaţia maşinilor mecanice bazate pe cilindri, tamburi, roţi dinţate
şi pârghii. Acestea au apărut la sfârşitul secolului al XIX-lea, s-au dezvoltat apoi rapid atingând
apogeul în timpul primului război mondial. Aceste maşini utilizează, pentru asigurarea secretului,
cheile în număr foarte mare şi practic nerepetabile. Deci, algoritmul de cifrare se complică dar se
automatizează, iar cele mai perfecţionate maşini din această generaţie asigură şi tipărirea textelor
clare şi a criptogramelor.
Acest lucru elimină greşelile de transcriere, măreşte siguranţa şi operativitatea cifrării.
A treia generaţie apare la mijlocul secolului al XIX-lea, fiind condiţionată de apariţia
telegrafului. Ea se dezvoltă în paralel cu a doua generaţie împrumutându-i multe din principiile şi
modalităţile practice de realizare. Această generaţie impune metode de cifrare şi criptanaliză,
maşinile fiind în general electromecanice.
A patra generaţie este generaţia aparaturii electrice şi începe să se impună puţin înainte de
izbucnirea primului război mondial. Primele realizări au utilizat sisteme cu relee sau se bazau pe
transformări ale maşinilor de scris electrice şi pe utilizarea roţilor de cod.
Ele au fost considerate mult timp deosebit de rezistente chiar dacă în 1929 Friedman a reuşit
să spargă un asemenea cod. Mai târziu prof. ABRAHAM SINKOV de la Universitatea din
ARIZONA a demonstrat eficacitatea utilitării teoriei grupurilor la spargerea acestor coduri.
A cincea generaţie a debutat puţin înaintea izbucnirii celui de-al doilea război mondial,
odată cu accentuarea dezvoltării electronicii şi apariţia calculatoarelor cu memorii magnetice.
Alături de telegraf, comunicaţiile prin radio influenţează tot mai mult criptologia impunând
o dezvoltare rapidă a criptoanalizei.
A şasea generaţie apărută după deceniul al VI-lea al secolului XX se impune ca fiind
generaţia microelectronicii, a informaticii, a procesoarelor specializate. Se bazează pe algoritmi
complecşi, iteractivi, pe utilizarea cheilor aleatoare şi unice, pe trecerea de la folosirea ca suporţi de
informaţie a benzilor sau colilor de hârtie la dischete sau benzi magnetice.
Dar evoluţia acestor mijloace este departe de a fi încheiată ea continuând şi astăzi într-un
ritm şi mai alert.
Înainte de a trece la prezentarea unor dispozitive şi maşini criptografice consider util să fac o
prezentare a principalilor beneficiari ale acestora.
Beneficiarii de mijloace criptoanalitice pot fi clasificaţi în cinci categorii mai importante:
- militari;
2
- diplomaţi;
- servicii de informaţii;
- oameni de afaceri;
- corespondenţi particulari.
Din aceste categorii militarii sunt de departe principalii utilizatori ai mijloacelor
criptologice. Un exemplu este edificator pe această linie. Astfel la foarte scurt timp după ce
inginerul suedez Boris Hagelin a inventat maşina de codificat C-36, uzinele Smith-Carana au
construit pentru armata SUA circa 14 000 de exemplare ale acestei maşini cu denumirea
„CONVERTER M-209”. Se disting două tipuri de maşini criptografice militare:
- modele „strategice”, care funcţionează la eşaloanele superioare ale armatelor;
- modele „tactice”, care servesc la transmisiuni de campanie.
Dintre acestea, maşinile „strategice” trebuie să asigure un grad superior de securitate şi de
aceea sunt mai costisitoare. Mesajele prelucrate cu aceste maşini pot păstra valabilitatea şi
importanţa, perioade mai îndelungate de timp de ordinul anilor sau chiar deceniilor.
Maşinile „tactice” nu trebuie să fie atât de complexe pentru că informaţiile de la acest nivel
au o valoare limitată în timp. Astfel, poziţia unei subunităţi să zicem, nu mai prezintă nici un interes
pentru inamic la un interval de câteva zile, chiar ore după transmiterea mesajului. Aceste maşini vor
utiliza coduri de campanie care nu necesită în practică mult timp şi efort pentru a fi decodificate.
Ar fi greşit să se creadă că serviciile diplomatice nu reprezintă decât o piaţă restrânsă pentru
dispozitivele de codificare. Să admitem că, de exemplu, 120 de state fac schimb de reprezentanţe, se
obţine un total de peste 28 000 de maşini criptografice dacă se consideră doar câte două maşini
pentru ambasadă sau consulat şi alte două la Ministerul de Externe al fiecărui stat.
Serviciile de informaţii sunt la rândul lor mari „consumatoare” de maşini de cifrat dacă
avem în vedere aria largă a activităţilor pe care le desfăşoară: contraspionaj, securitate naţională şi,
în multe situaţii, spionaj (economic, militar etc.).
Dispozitivele şi maşinile criptografice folosite de industriaşi şi oameni de afaceri reprezintă
mai puţin de 5% din totalul acestora. Mai trebuie luate în considerare aici organismele financiare
(marile bănci, instituții de credit, companii de asigurări) care utilizează în mod frecvent maşinile
criptografice.
Costul relativ mare al aparaturii de cifrare face ca particularii care le utilizează să fie extrem
de puţini. În sfârşit organizaţiile criminale, în special cele ce se ocupă cu traficul de orice natură,
recurg deseori la criptografie.
De exemplu, în perioada prohibiţiei navele care soseau în SUA cu alcool, primeau prin radio
instrucţiuni codificate de la căpeteniile traficanţilor.
Dar numai între anii 1927-1929 o echipă condusă de o femeie Elisabeth Smith Friedman a
descifrat peste 12 000 din aceste mesaje. Iar poliţia dispunea la rândul ei de păzitoare de coastă
dotate cu laboratoare de decodificare.
Sisteme mecanice de criptare
Sistemele de criptare pot fi aduse la un grad mai mare de complexitate și securitate dacă se
folosesc mijloace mecanice de criptare. Astfel de mecanisme special construite vor ușura – pe de-o
parte – operațiile de criptare/decriptare, iar pe de-altă parte vor fi capabile să creeze un număr mult
mai mare de chei posibile.
Skytala (”baston” în grecește), figura nr.1, apărută în secolul V î.e.n. era un baston în jurul
căruia se înfăşura spiră lângă spiră o panglica foarte îngustă de piele, papirus sau pergament pe care,
pe generatoare se scriau literele mesajelor. După scrierea textului panglica era dublată, mesajul
devenea indescifrabil, întrucât literele erau dezasamblate. Mesajul se putea descifra numai de
persoana care dispunea de un baston de lungime şi grosime identice cu dimensiunile iniţiale pe care
să fie înfăşurate din nou panglica primită. Ea realiza o transpoziţie, fiind o primă formă a acestei
metode de cifrare. Conform istoricilor greci, spartanii foloseau acest mod de comunicare în timpul
campaniilor militare. El avea avantajul de a fi rapid și nu comporta erori de transmitere.
Dezavantajul era acela că putea fi ușor de spart.

3
Figura nr.1 Skytala

Criptograful lui Alberti (figura nr.2) era alcătuit din două discuri concentrice cu diametre
diferite, suprapuse. Fiecare disc era împărţit în 24 de sectoare pe care erau înscrise literele şi cifrele.
Pe discul magnetic erau înscrise 20 de litere (fără H, J, K, U, W) şi cifrele de la 1 la 4, iar pe al
doilea 23 de litere (fără H, K, Y) şi conjuncţia „ET”. Ordinea lor era arbitrară. Pentru cifrare se
stabilea o cheie de exemplu D = A. Aceasta însemna că pentru cifrare litera D de pe discul mic se
aşeza în dreptul literei A de pe discul mare şi apoi începea cifrarea. Alberti recomanda pentru
mărirea rezistenţei schimbarea cheii după un număr de cuvinte. Criptograful lui Alberti a fost
perfecţionat de Silvester, Argenti şi alţii constituind un element de bază pentru criptografele de tip
disc apărute ulterior. Silvester Porta a împărţit discurile în 26 de sectoare utilizând apoi toate cele
26 de litere, criptograful său permiţând o substituţie simplă dar complet literală.

Figura nr.2 Discul lui Alberti

Cilindrul Jefferson
Ideea de mașină de criptare apare clar prima dată la Thomas Jefferson, primul secretar de
Stat al Statelor Unite; acesta a inventat un aparat de criptat numit roată de criptare, folosit pentru
securitatea corespondenței cu aliații – în special cei francezi.
Un cilindru Jefferson (figura nr.3) este format din n discuri de dimensiuni egale (inițial
n = 26 sau n = 36) așezate pe un ax. Discurile se pot roti independent pe ax, iar pe muchea fiecăruia
sunt înscrise cele 26 litere ale alfabetului, într-o ordine aleatoare dar diferită pentru fiecare disc.
La criptare, textul clar se împarte în blocuri de n caractere. Fiecare astfel de bloc se scrie pe
4
o linie (generatoare) a cilindrului, rotind corespunzător fiecare disc pentru a aduce pe linie
caracterul căutat. Oricare din celelalte 25 linii va constitui blocul de text criptat.
Pentru decriptare este necesar un cilindru identic, în care se scrie pe o linie textul criptat (de
n caractere) și apoi se caută printre celelalte 25 linii un text cu semnificație semantică.
Probabilitatea de a avea un singur astfel de text crește cu numărul de discuri din cilindru.
O mică diferență apare dacă textul clar nu are nici o semnificație semantică (s-a folosit o
dublă criptare). Atunci trebuie convenită dinainte o anumită distanță de criptare s (1 ≤ s ≤ 25).
Ordinea discurilor poate fi de asemenea schimbată. De exemplu, un cilindru cu n = 10
discuri poate realiza 10! = 3.628.800 texte criptate diferite pentru același text clar.
Cilindrul Jefferson realizează o substituție polialfabetică de perioadă n. Dacă ar fi privit ca
un sistem de criptare Vigenere, lungimea cheii este enormă (de multe ori nn, în funcție de
modalitățile de aranjare a alfabetelor pe discuri).
Cilindrul Jefferson a fost reinventat ulterior de mai multe ori, cea mai notabilă fiind se pare
mașina de criptat M − 94, care a fost în serviciu până în al doilea război mondial.

Figura nr.3 Cilindrul Jefferson

Enigma (figura nr.4) este poate cea mai cunoscută mașină de criptat. A fost fabricată în
Germania şi larg utilizată în timpul celui de-al doilea război mondial. Sub acest nume se află o
varietate largă de modele de mașini de criptat electro-mecanice, care asigură o criptare
polialfabetică de tip Vigenere sau Beaufort.
Ea a fost proiectată la Berlin în 1918, de inginerul german Arthur Scherbius. Primul model
(A) este prezentat la Congresele Uniunii Poștale Internaționale din 1923 și 1924. Modele ulterioare
sunt folosite în mai multe țări europene și asiatice (Suedia, Olanda, Marea Britanie, Japonia, Italia,
Spania, SUA, Polonia, Elveția) în scopuri comerciale, militare sau diplomatice. Din 1926 începe să
fie preluată și de armata germană, care după 1928 își definește propriile modele (G, I, K). În total au
fost construite circa 100 000 mașini Enigma, din care 40 000 în timpul războiului.
Algoritmul criptografic al maşinii avea la bază o substituţie polialfabetică complexă,
realizată cu ajutorul a trei discuri mobile, prevăzute fiecare cu câte 26 de contacte pe o faţă şi 26 de
ace pe cealaltă.
Contactele şi acele sunt legate electric între ele; două câte două, dar nu direct, ci într-o
anumită ordine.
Există şi un al patrulea disc, fix, prevăzut cu 26 de contacte, legate două câte două. Discurile
sunt coaxiale şi montate în aşa fel încât acele unuia presează contactele celuilalt, realizându-se
astfel 13 linii paralele, formate din câte 3 segmente cu variaţie independentă.

Circuitul electric se realizează de la sursă la tastă, care marchează prin apăsare litera clară
(la cifrare) sau pe cea cifrată (la descifrare), prin contactul acesteia la o contraplacă cu 20 de
5
contacte fixe, apoi prin discurile I, II şi III, după circuite realizate din segmentele cu variaţie
independentă, la discul al patrulea, fix, şi prin una din cele 13 perechi de contacte ale acestuia se
înapoiază prin alt circuit, format din segmente de către cele trei discuri mobile, la un bec ce
iluminează litera cifrată (la cifrare) sau pe cea clară (la descifrare).
Complexitatea maşinii constă în numărul de segmente, care realizează variaţia circuitelor,
datorită rotirii celor trei discuri funcţie de tastele apăsate şi de caracteristicile componentei textului
clar.
La fiecare apăsare de tastă, în funcţie de cheia adoptată, cele trei discuri se deplasează unul
faţă de celălalt, cu un anumit număr de poziţii, astfel încât se realizează de fiecare dată, un anumit
circuit electric şi deci o anumită corespondenţă între litera clară apăsată şi litera cifrată iluminată.
Cele trei discuri, cu diferite scheme de legaturi între contactele şi acele acestora, se pot
schimba între ele, realizând practic în acest fel o altă variantă a maşinii. De altfel, în afara celor trei
discuri montate, fiecare maşină dispunea şi de un alt set de discuri cu legături complet diferite.
Dacă se consideră că fiecare dintre cele cinci discuri poate fi realizat întrun alt mod, se
obţine o succesiune de patru alfabete diferite, din care trei fiind realizate de discurile mobile, sunt
permutabile. Dar datorită legăturilor întreţesute se poate considera că la fiecare transformare de
literă clară în litera cifrată contribuie şapte alfabete (sase realizate de traseele – dus şi întors – din
discurile mobile şi unul în cel de-al patrulea disc).
Fără îndoială, aceste posibilităţi de schimbare a alfabetelor determină un număr foarte mare
de transformări, greu de descifrat, chiar şi în cazul în care se posedă o variantă a maşinii de cifrat.
Un alt element caracteristic al maşinii îl constituie cheia; aceasta defineşte ordinea
discurilor, poziţia iniţială şi deplasările relative ale discurilor în timpul cifrării unei anumite litere.
Așa cum afirmă Frank Carter și John Gallehawk, existau 158 de milioane de milioane de
milioane de posibilități diferite de setare a mașinii la începutul procesului de cifrare. Nu este de
mirare că germanii erau foarte încrezători că-și vor păstra secrete mesajele.
Deşi robustă şi comodă, datorită faptului că nu avea posibilitatea de a imprima textul cifrat
sau clar (acestea se culegeau şi se notau sau se scriau la altă maşină) greşelile de transcriere erau
destul de frecvente. La acestea se mai adăugau şi câteva necazuri tehnice produse de imperfecţiunea
unor contacte, arderea becurilor şi scăderea capacităţii sursei de alimentare.
După 1945 aliații au capturat toate mașinile de pe teritoriul german, acestea fiind încă mult
timp considerate sigure. Abia în 1970 au apărut primele informații despre decriptarea de către aliați
a unui mare număr de mesaje criptate prin modelul militar Enigma și transmise prin radio în timpul
războiului.

Figura nr.4 Mașina Enigma

Algoritmii moderni de criptare


Algoritmii moderni de criptare sunt considerați siguri – și totuși nu ne protejează
întotdeauna de furtul de date.
6
Furtul de date nu se va termina niciodată și problemele ridicate de spyware sunt într-un
trend crescător: un număr tot mai mare de parole, conturi și numere de cărți de credit sunt spionate
în fiecare zi. Așa se face că foarte mulți utilizatori sunt îngrijorați de securitatea datelor personale
pe care le salvează pe PC sau pe care le transmit în internet (forumuri, servicii sau diverse
formulare), respectiv pe e-mail. O suită de securitate cu update-uri la zi ne protejează de spyware și
criptarea datelor personale ne asigură că un eventual furt este inutil pentru datele pe care le salvăm
local pe hard disk sau când navigăm pe internet.
Dar la fel ca programele antivirus, utilitarele de criptare nu oferă protecție 100%. Trebuie
însă un efort enorm în termeni de tehnologie (putere de calcul, echipamente speciale) și timp ca
protecția să fie spartă. În ciuda acestui fapt, dezvoltatorii de aplicații specializate sunt în competiție
și aici. Metode considerate sigure cu ceva ani în urmă au ajuns să fie ușor de spart și sunt cu
potențial mare de risc dacă sunt folosite acum. De aceea cine vrea să folosească cele mai sigure
metode de protecție trebuie să înțeleagă cum funcționează algoritmii de criptare și cum sunt ei
implementați în aplicații.
Criptarea în practică
În timp ce noi ca utilizatori criptăm în mod voit datele de pe hard disk sau pe cele trimise
prin e-mail, acest lucru se întâmplă automat când comunicăm prin reţea sau internet.

Textul original și cel criptat: sunt numeroase servicii Web care codează textele cu ajutorul parolelor. Nu
avem nici o idee cum arată textul original

Criptarea locală
Programele de securizare a datelor de pe hard disk folosesc un proces simetric cu o singură
cheie pentru că un singur utilizator accesează datele. Popularul program TrueCrypt de exemplu
foloseşte trei algoritmi (AES, Twofish şi Serpent) în mod individual sau pe rând. În funcţie de
alegerea utilizatorului, programul poate cripta anumite fişiere sau întregul hard disk.
Traficul prin e-mail
Criptarea datelor transmise prin e-mail funcţionează cu ajutorul unui proces hibrid. Aplicaţii
de genul GPG4Ewin codează simetric conţinutul e-mail-ului şi cheia asimetric. Standardul
OpenPGP folosit se bazează pe implementări ale algoritmilor IDEA sau RSA.
Conexiuni SSL (Secure Sockets Layer)
Protocolul SSL (sau succesorul său TLS) stabileşte o conexiune sigură prin internet către
anumite servere (bancă, magazin online). Un sistem de autentificare oferit de furnizorul serviciului
electronic este un factor decisiv în această situaţie.
Dacă site-ul Web acceptă autentificarea, atunci este pornită transmisia criptată hibrid şi
codează simetric datele (AES, DES şi RC4 sunt cele mai folosite tehnologii), iar cheia asimetric (cu
RSA).
Transmisia radio prin WLAN (Wireless Local Area Network)
Vechiul standard WEP foloseşte o implementare proastă a algoritmului RC4 pentru a cripta
datele.
Noul standard WPA2 foloseşte un protocol mai bun (CCMP) cu un algoritm AES. Cheia
poate fi aleasă de către utilizator şi stocată în configuraţia ruterului.
Electronic Banking prin HBCI (Home Banking Computer Interface)
Aplicaţiile ce suportă HBCI (sau standardul succesor FinTS) codează mesajele folosind o
7
procedură simetrică 3DES cu două chei (una fixă şi una generată aleator pe baza 3DES).
Programele criptează apoi cheile asimetric cu RSA pentru transmiterea securizată.
Cheia sau indiciul pentru înțelegerea textului
Cea mai mare problemă a criptărilor este cheia. Principiul Kerckhoff, principiul de bază a
criptării, spune că siguranța unei proceduri de criptare nu trebuie să fie afectată chiar dacă tot ceea
ce este legat de ea este făcut public, inclusiv algoritmul, dar nu și cheia. Astăzi dezvoltatorii își fac
publice procedurile și algoritmii de criptare pentru ca specialiștii în criptare să le poată testa cât mai
bine. De exemplu, DRM (Digital Rights Management) este o excepție: algoritmul este păstrat
secret, dar cu toate acestea nu a putut rezista atacurilor hacker-ilor.
Cheia este structura după care sunt codificate datele. Algoritmul specifică modalitatea în
care criptarea are loc. Există două modalități de bază pentru criptare: simetrică și asimetrică.
Algoritmul simetric presupune că aceeași cheie este folosită și pentru criptarea datelor și pentru
decriptarea lor. În mod opus, criptarea asimetrică folosește chei diferite pentru criptare/decriptare.
Criptarea Hibridă
Criptarea simetrică (figura nr.5) este sigură atâta vreme cât utilizatorul salvează datele local
pe hard disk și nu le trimite altundeva. Avantajul: procedurile de criptare simetrică sunt foarte
rapide datorită faptului că se folosesc algoritmi mai simpli și cheile au lungimi mai mici. Programul
TrueCrypt de exemplu codează aproximativ 175 MB pe secundă.
Dezavantajul procedurilor simetrice este acela că nu sunt recomandate pentru transmiterea
de date. De exemplu, chiar dacă serverele creează aleator chei noi (cheie de sesiune) la fiecare
sesiune în cazul unei conexiuni de internet securizate, partenerii de comunicație trebuie să schimbe
cheile ca să le poată folosi. Dacă un atacator interceptează această cheie, poate foarte ușor să
decodeze comunicația.
Procedurile asimetrice rezolvă problemele prin faptul că se folosesc de o pereche de chei.
Expeditorul codează datele cu o cheie publică pe care destinatarul a partajat-o deja cu partenerul său
de comunicație. Dar numai cheia privată, pe care doar destinatarul o are, poate să decodeze datele.
Asta dacă nu cumva cheia respectivă ajunge în mâinile cui nu trebuie.
Pe de altă parte, dezvăluirea cheii publice nu reprezintă nici o amenințare pentru că ea nu
decodează datele și nici nu se poate obține din ea cheia privată. Cheia publică este doar un lacăt pe
care îl putem închide, dar nu avem cum să îl deschidem. Totuși metoda are un dezavantaj major:
procedurile asimetrice sunt de 1000 de ori mai încete decât cele simetrice din cauza timpului mare
necesar pentru criptare și de aceea nu se recomandă pentru cantități mari de date.
În practică sunt totuși folosite proceduri hibride, de exemplu pentru transimsia datelor pe
Web, traficul e-mail sau serviciile de online banking. Această metodă codează datele simetric și
cheia asimetric. Metodele simetrice de acest gen combină o transmitere sigură a cheilor și o viteză
mare de codare.

8
Figura nr.5 Criptarea hibridă

Criptarea la nivel de Bit sau criptarea pe blocuri


O altă diferență între metodele de criptare se referă la cantitatea de date procesate: se face
codare pe blocuri sau pe stream? Codarea la nivel de bit (codarea stream) este folosită pentru
transmisiile de date prin rețele wireless sau pe cele asociate stream-urilor. Cum codarea începe de la
primul bit al seriei de date și nu trebuie așteptat un bloc întreg, tehnologia criptează și transmite
datele fără pierdere de timp. În plus, erorile nu afectează întregul set de date, ci numai anumiți biți.
Tehnologiile de criptare a stream-urilor nu folosesc algoritmi complecși; siguranța depinde de
implementarea în mediile software în care sunt integrate.
Vechiul standard WEP (Wired Equivalent Privacy) pentru WLAN este un exemplu pentru
problemele pe care le au tehnologiile de criptare de tip stream. Protocolul WEP controlează
criptarea în rețelele WLAN și se folosește de RC4. Principiul: RC4 generează o serie de numere
aleatoare între 0 și 255 (fiecare de câte 8 biți) pentru cheie. RC4 asociază apoi seria de numere bit
cu bit cu datele originale. Procedura este considerată sigură pentru că folosește o cheie generată
aleator și în care numerele apar o singură dată.
Din păcate, protocolul WEP nu este sigur așa cum se presupune în teorie. Cheia unică
presupune o cheie fixă WEP (salvată în configurația router-ului) și o cheie de sesiune aleatoare
(Initialization Vector). Dar WEP transmite pachetele IV (Initialization Vector – 24 de biți) necriptat
împreună cu fiecare pachet de date. Timpul necesar pentru generarea cheii fixe (de obicei 40 sau
104 biți) din datele codate și din vectorul de inițializare cunoscut este minim, chiar și cele mai slabe
PC-uri înarmate cu aplicația Aircrack putând să ofere rezultate bune. În plus aplicația Aircrack
trebuie să intercepteze și să analizeze numai 5000 de pachete de date în cazul unei chei de 40 biți –
o chestiune de câteva minute!
Cripatea blocurilor oferă mai multă siguranță pentru codare și este mai consumatoare de
timp (decât criptarea datelor pe hard disk, traficul e-mail sau Web). Asemenea proceduri împart
datele în blocuri și folosesc algoritmi complecși pentru fiecare bloc.
Sistemul de criptare DES
Guvernul SUA a creat metoda de criptare în bloc DES (Data Encryption Standard) în 1977,
bazată pe algoritmul Lucifer, ca primul standard de criptare simetrică. DES criptează blocuri de 64
de biţi cu o cheie de 56 de biţi. Cifrul Feistel folosit aici împarte blocul de date în jumătate
(blocurile L – stânga şi R – dreapta), fiecare bloc de 32 de biţi. Extinde blocul R la 48 de biţi şi îl
conectează bit cu bit cu o cheie de 48 de biţi generată din cheia actuală. DES reduce apoi blocul de
date rezultat de 48 de biţi la 32, folosind o tabelă substitut şi îl conectează bit cu bit la blocul L.
Fiecare bloc trece prin 16 etape folosind acest algoritm.
9
DES a fost considerat sigur până în 1998, când supercomputerul Deep Crack a fost primul
care a reuşit să spargă criptarea DES folosind forţa brută (încercând pe rând toate cheile posibile) –
în numai 56 de ore! Aşa a ieşit 3DES (sau triple DES) care foloseşte trei chei de 56 de biţi şi este
acum folosit pentru online banking şi conexiuni securizate SSL. Cele trei chei criptează blocurile de
date una după alta, numai că a doua cheie foloseşte algoritmul inversat – similar operaţiei de
decodare. Procedura s-a numit EDE (Encrypt-Decrypt-Encrypt).
Sistemul de criptare AES
Chiar dacă 3DES este sigur şi acum datorită cheilor îmbunătăţite şi algoritmului modificat,
este destul de încet. Din cauza acestui motiv, AES (Advanced Encryption Standard) a înlocuit
vechiul DES în 2002 şi este standardul actual.
AES (figura nr.6) este bazat pe algoritmul Rijndael şi codează blocuri de 128 de biţi
folosind chei de 128,192 sau 256 de biţi. Fiecare bloc este trecut de 10, 12 sau 14 ori prin
algoritmul de criptare, în funcţie de lungimea cheii. Marele avantaj în comparaţie cu DES este
implementarea mai simplă în software şi hardware şi viteza bună a algoritmilor optimizaţi.
Lungimea minimă a cheii de 128 de biţi garantează siguranţa în cazul unor atacuri cu forţă brută în
următorii ani. 128 de biţi înseamnă 2128 de chei posibile – adică un număr din 39 de cifre în format
zecimal! Este mult prea mult chiar şi pentru supercomputerele actuale să încerce toate combinaţiile
într-o perioadă de timp realistă. De aceea AES este prima alegere în cazul unor aplicaţii practice, de
exemplu criptarea hard diskurilor, conexiunile SSL sau noul standard WLAN, WPA2 – chiar şi
serviciile secrete ale SUA, NSA îşi criptează documentele cu AES.

Figura nr.6 Algoritmul: în TrueCrypt, utilizatorul poate cripta datele folosind trei metode în același timp.

Sistemul de criptare RSA


Doar procedurile asimetrice care criptează cheile simetrice garantează siguranţa transferului
cheilor folosite pentru datele codate simetric. Standardul RSA (numit aşa după creatorii săi: Rivest,
Shamir şi Adleman) securizează schimbul de chei pentru transmisia de date prin internet (SSL),
online banking sau traficul e-mail criptat. Siguranţa RSA este dată de faptul că nu se cunoaşte un
algoritm care să poată genera rapid un anumit număr ca o combinaţie de numere prime. Utilizatorul
care trebuie să primească datele codate creează o pereche de chei (publică şi privată). Cheia publică
este alcătuită dintr-o pereche de tip e,N, la fel şi cea privată d,N. N este produsul a două numere pri-
me, selectate aleatoriu, iar e (cheia de criptare) este un număr ales de utilizator. Cheia de decriptare
d este calculată folosind factorii primi ai lui e şi N. Datele originale sunt apoi codate ca operaţie
matematică bit cu bit (regresie folosind funcţia modulo – exemplu: 32 mod 24 = 8, pentru că restul
împărţirii exacte a lui 32 la 24 este 8). Un atacator are nevoie de valoarea d şi de factorii primi ai lui
N pentru decodare; dar nu o poate calcula fără informaţii suplimentare (problema factorizării).
Atacatorul poate afla factorii primi folosind procedee de forţă brută sau operaţii aritmetice pentru
valori mici ale lui N.
Spre exemplu, dacă N = 143, factorii săi primi sunt 11 şi 13. Dar RSA foloseşte numere de
1024 sau 2048 de biţi (cu 309, respectiv 617 cifre în format zecimal) care fac asemenea încercări
10
practic imposibile.
Indiferent de opţiune, RSA, AES şi DES nu funcţionează ca programe independente, ci sunt
implementate în diverse aplicaţii (criptarea datelor pe hard disk) sau protocoale de transmisie
(Internet, E-mail, WLAN, online banking) în funcţie de scopul lor. în majoritatea cazurilor,
utilizatorul nu poate selecta algoritmul folosit şi stă liniştit gândindu-se că procedurile sunt sigure.
Parola
Care sunt de fapt posibilităţile pe care un atacator le are în vederea decriptării unui set de
date? În principiu, sunt trei căi de atac: cheia care decodează datele, mediul (programul folosit,
protocoalele de transmisie) în care algoritmul de criptare este integrat şi parola care protejează cheia
(de exemplu, în cazul programelor de criptare a datelor pe hard disk).
În principiu, atacul prin forţă brută este cea mai accesibilă modalitate de spargere a
parolelor. Atacatorul încearcă pur şi simplu toate combinaţiile posibile de caractere. Numărul
posibil al caracterelor din şir (key space) este limitat în cazul parolelor simple, astfel încât şi un
simplu PC poate să genereze rapid toate combinaţiile posibile. Aceasta înseamnă că dacă
utilizatorul salvează cheia şi datele criptate pe hard disk folosind o parolă slabă, chiar şi cel mai
complex algoritm este inutil. Spre exemplu, termeni de tipul Parola, 12345 sunt alegeri proaste!
Un hacker poate să descopere uşor acestea folosind un atac bazat pe dicţionar, unde nu
testează aleatoriu, ci foloseşte cele mai probabile combinaţii de caractere (există pe internet baze de
date care au înregistrate cuvinte şi combinaţii de cuvinte care pot fi folosite ca parole). De aceea
programele de criptare, precum TrueCrypt, recomandă folosirea unor parole de 15-20 de caractere
şi în care să existe combinaţii de litere, cifre şi caractere speciale. Chiar şi cele mai puternice
supercomputere nu pot să le genereze pe toate într-un timp util.

Cât de sigure sunt cheile și parolele?


Securitatea unui algoritm de criptare se bazează pe lunimea parolelor și a cheilor folosite pentru
codarea datelor. Supercomputerul Copacabana, de exemplu. Poate verifica până la 65 de miliarde de
combinații pe secundă.

Parolă Spartă în
Zjovned 0,12 secunde
Pzg1/9}gh87&gtv 33 de ani
Criptare Spartă în
Cheie de 56 de biți (ex: DES) 12,4 ani
Cheie de 128 biți (ex: AES) 166,000,000,000,000,000,000 ani

Semnătura digitală
Semnăturile dovedesc reputaţia site-urilor Web şi îi oferă utilizatorului un anumit grad de
securitate când vine vorba despre tranzacţii Web.
O semnătură digitală are trei funcţii: ascunde comunicarea dintre parteneri, garantează
integritatea datelor şi le protejează de accesul neautorizat al unui terţ. În afara traficului de e-mail
criptat, semnăturile sunt folosite în mod frecvent pentru autentificarea certificatelor site-urilor web
(online banking, magazine online). Acest proces se face automat pentru conexiunile SSL.
Transmiterea datelor se face numai după ce serverul a validat autentificarea.
Prima dată protocolul converteşte un certificat emis de autoritatea de certificare
(Trustcenter) într-o valoare hash. Codurile hash sunt similare cu amprentele: identifică unic pe
cineva; datele originale nu pot fi reconstruite din valoarea hash şi fiecare cod are aceeaşi
dimensiune, indiferent de dimensiunea pachetului de date. Această valoare hash este codată
asimetric cu cheia privată a autorităţii de certificare (trustcenter) şi rezultă semnătura certificatului.
Protocolul asociază această semnătură cu cheia publică a autorității în certificat și o trimite
utilizatorului.

Pe partea utilizatorului, protocolul SSL decodează valoarea hash folosind cheia publică şi
creează hash-ul certificatului original urmând să realizeze comparaţia între cele două. Dacă valorile
sunt identice, atunci autenticitatea certificatului este confirmată.
11
De fapt şi sursa autorităţii care a generat certificatul este un factor decisiv al procedurii.
Dacă utilizatorul acceptă un certificat de la o autoritate care nu este de încredere, poate să îi fie
citite datele cu uşurinţă, fără urmări legale. De aceea, dacă browser-ul nu recunoaşte certificatul, nu
îl acceptaţi!
Forţa brută
Atacurile de forţă brută asupra cheilor sunt inutile. Cum toate metodele de criptare folosesc
chei de lungime minimă 128 de biţi, numărul de chei ce trebuie generate şi încercate este atât de
mare încât şi supercomputerele care pot testa 80 de miliarde de chei pe secundă au nevoie de câteva
trilioane de ani ca să le verifice pe toate!
Singura problemă: forţa brută este o loterie. Chiar dacă există un număr mare de combinaţii
posibile ce trebuie încercate şi care fac imposibilă găsirea unei chei într-un timp scurt, în teorie
cheia poate fi găsită din prima încercare. Aşadar nici cele mai lungi chei nu oferă protecţie 100%!
Atacul criptografic cu text original cunoscut
O modalitate mai bună de decodare a unor pachete de date este atacul de tip plaintext (cu
text original cunoscut). Un atacator cunoaşte textul iniţial, ştie şi cum arată cel criptat şi prin
comparaţie încearcă să găsească cheia de criptare. Apoi nu mai trebuie decât să intercepteze textul
criptat şi are deja acces la mesajul iniţial. Ceea ce pare mai degrabă o căutare a acului într-un car cu
fân devine o operaţie simplă dacă atacatorul cunoaşte părţi sau măcar o parte a textului original
(known plaintext) sau dacă foloseşte o versiune probabilă a textului original (chosen plaintext). Se
pot ataca de exemplu arhivele de date criptate cu ajutorul atacurilor plaintext. Hackerul găseşte o
variantă necriptată a fişierului din arhivă (pe Web sau în altă arhivă necriptată) şi apoi poate calcula
cheia din textul codat.
Atacurile cu text original liber ales (chosen plaintext attack) funcţionează pe acelaşi
principiu. Textele probabile din e-mail- uri de exemplu sunt modalităţile de salut, semnăturile sau
adresele. Atacatorul criptează textul posibil cu chei diferite şi le compară cu textul codat iniţial. În
cazul unor bucăţi de text atât de scurte, similaritatea între textul codat inițial și cel ales pentru
testare nu înseamnă neapărat că s-a găsit cheia, dar limitează destul de mult căutările.
Spre exemplu, algoritmul DES are o vulnerabilitate – un anumit atribut din corelaţia cheie/
text criptat – ce permite unui atac cu text liber ales să înjumătăţească numărul de chei căutate (255 în
loc de 256 combinaţii).
Cheile de criptare
Timpul de procesare pentru aceste atacuri este semnificativ mai mic în comparaţie cu
atacurile clasice de forţă brută, dar tot este mare. Procedurile de criptare cu un număr mic de chei
posibile (RC4 pe 40 biţi sau DES pe 56 de biţi) sunt în mod particular vizate, în contrast, hackerii
nu pot să spargă cele mai noi standarde (AES de exemplu) folosindu-se de asemenea metode.
Atacurile teoretice nu sunt fezabile din cauza timpului mare necesar pentru parcurgerea tuturor
combinaţiilor posibile.
Totul este însă o chestiune de timp pentru că un număr tot mai mare de PC-uri lucrează în
reţele de calcul distribuit şi încearcă să spargă parole. Prin urmare, ceea ce acum pare imposibil, în
câţiva ani (sau poate doar câteva luni?) s-ar putea să nu mai fie chiar aşa de improbabil. Singura
soluţie pe care o avem la îndemână este să folosim chei tot mai lungi ca să creştem gradul de
securitate.
Spargerea unei chei RSA, folosită pentru securizarea schimbului de chei în transmisiile de
date are nevoie de şi mai mult timp. Determinarea factorilor primi ai unui număr de 1024 de biţi
cere mai mult efort decât găsirea unei chei AES pe 128 de biţi.
Certificatele și site-urile Web nesigure
Cel mai mare pericol în cazul schimbului de chei constă în autentificarea partenerului de
comunicare. Dacă browser-ul nu recunoaşte certificatul unui anumit site Web şi utilizatorul îl
acceptă totuşi, browser-ul va stabili o comunicare către respectivul site şi va transmite datele. Poate
fi un site periculos ce accesează „legal” datele confidenţiale ale utili-zatorului. Aici problema nu
este neapărat un browser nesigur, ci mai degrabă faptul că utilizatorul nu ia în serios avertizările ge-
nerate de browser în legătură cu semnătura necunoscută şi totuşi o acceptă.
Conform stadiului actual al tehnologiei, cei mai noi algoritmi de criptare sunt consideraţi
siguri. Vulnerabilitatea lor se află în mediul în care ei sunt folosiţi. Prin urmare, siguranţa datelor
12
transmise depinde aproape întotdeauna de utilizator, care ar trebui să se ghideze după următoarele
principii: să folosească numai parole lungi, care să nu poată fi ghicite uşor, să aplice imediat update-
urile pentru driverele WLAN şi software-ul de pe ruter, browser sau cel pentru online banking; să
nu accepte certificate care nu sunt recunoscute de browser atunci când navighează pe internet.
Aceasta pentru că şi cel mai complex sistem de criptare nu este de nici un folos atunci când cheia
ajunge în mâinile cui nu trebuie!
Viitorul criptării datelor
În zilele noastre, tehnica criptării informației este atât de puternică cât este necesar. Orice
metodă de criptare poate fi întărită prin mărirea numărului de biți ai cheii de criptare. Multe dintre
metodele dezvoltate își vor găsi probabil utilizarea în tehnica de stocare și comunicare a informației.
Cele mai importante în momentul de față par a fi criptarea eliptică, cea vocală (deja
disponibilă liber prin Internet), criptografia cuantică și cea moleculară sau ADN. Puține
microprocesoare au fost proiectate pentru a rula intern un algoritm de criptare. Toate calculatoarele
personale pot îndeplini cerințele hardware și software ale programelor moderne de criptare, în
schimb majoritatea dispozitivelor portabile de tip Palm Pilot, PDA nu pot. Pentru acestea a fost
dezvoltată o nouă clasă de algoritmi, cunoscută drept criptare eliptică, ce folosește o cheie mai
redusă și aritmetică facilă pentru microprocesorul de mai mică putere.
Odată cu creșterea traficului audio și de telefonie prin Internet a început să se dezvolte o
nouă tehnologie: aceea a criptării vocale. Cu un software adecvat, oricine poate astăzi să poarte
convorbiri complet codificate cu un alt utilizator al retelei WWW.
Poate cel mai performant software din acest domeniu este SpeakFreely, disponibil gratuit la
www.speakfreely.org. Unele servicii de „voice-over-the-Internet” nu oferă criptare, totuși. De aceea
ele rutează datele prin serverele companiei ce oferă serviciile, slăbind astfel sistemul de securitate.
Criptarea quantică
Criptografia cuantică nu este în sine un algoritm de codificare. Mai degrabă este un mijloc
de creare și distribuire a unor chei private. Bazată pe principiul incertitudinii al lui Heisenberg,
ideea care stă la baza calculului și criptografiei cuantice este aceea a utilizării mecanicii cuantice
pentru schimbarea și securizarea de mesaje secrete. Principiul aplicat spune că fotonii de
comunicație care se îndreaptă către un receptor nu pot fi deviați prin interceptare fără a crea o
schimbare ireversibilă a stărilor cuantice ale sistemului. Bazele criptografiei cuantice datează din
anii 1970, iar în domeniu au fost efectuate cercetări intense în laboratoare celebre cum ar fi cele de
la Los Alamos, Universitatea din Geneva și Universitatea John Hopkins din Baltimore.
Se cunoaște faptul că nu există proceduri de criptare absolut sigure – cel puţin până acum.
Criptografia quantică ar putea schimba acest lucru foarte curând.
Securitatea metodelor convenţionale depinde în primul rând de lungimea cheii folosite –
care poate fi spartă de supercomputere mai devreme sau mai târziu. În contrast, siguranţa
criptografiei quantice se bazează pe legile fizicii.
Pentru că protocolul BB84 foloseşte fotoni (particule de lumină) care au o anumită stare
(polarizare), la fel ca biţii. Un atacator nu poate să citească sau să copieze starea fotonului fără să îl
altereze (teorema „no cloning”). Această proprietate elementară a mecanismului quantic face
procedura aproape impenetrabilă. Aici, un utilizator A trimite fotoni cu polarizare aleatoare către
utilizatorul B. Utilizatorul măsoară fotonii cu filtre aleatoare de polarizare. Cei doi utilizatori se
anunţă reciproc cu privire la ce fotoni au fost primiţi în aceeaşi stare cu cea în care au fost trimişi.
Starea fotonilor (0 sau 1, în funcţie de polarizare) formează cheia. În pasul următor protocolul
ataşează bit cu bit acestei chei şi le trimite destinatarului. Testele iniţiale au dat rezultate bune. În
prezent însă, efortul tehnologic foarte mare şi distanţa mică (sub 200 km) împiedică tehnologia să
fie folosită în practică.

Bibliografie:

1. Stephen Pincock, Mark Frary, Coduri – O istorie a comunicării secrete, Editura RAO,
13
2007;
2. Alfred Menezes, Paul C. van Oorschot, Scott A. Vanstone, Handbook of Applied
Cryptography, CRC Press, 1996;
3. D. Stinton, Cryptography, Theory and Practice, Chapman & Hall/CRC, 2002;
4. Ernest Volkman, Spionajul, cele mai mari operațiuni de spionaj ale secolului XX, Editura
RAO, 2008;
5. http://en.wikipedia.org/;
6. http://www.cryptography.com

14