Sunteți pe pagina 1din 6

ANALELE TIINIFICE ALE UNIVERSITII ALEXANDRU IOAN CUZA DIN IAI Tomul LII/LIII tiine Economice 2005/2006

UN MODEL DE CRIPTARE DESCRIS PE PAI


DANIEL HOMOCIANU

A Ciphering Model Described Step by Step


Abstract

The ciphering is a security technique used to protect information the way it could not be theoretically understood by any unauthorized person that tries to intercept it as stored or transmitted data. But the time and the deciphering machine are critical factors in order to practically find out the meaning of the safe data. This paper describes a ciphering / deciphering technique as it was implemented thru a Rapid Application Development solution. The algorithms which implement it are followed by comments in order to provide the understanding of the whole solution.
Key words: ciphering, RAD solution, algorithms, comments

1 Introducere

n condiiile unui mediu economic competitiv, informaiile i tehnologiile informaionale au devenit eseniale pentru atingerea obiectivelor unei firme [Oprea, 2002, p.11]. Necesitatea dezvoltrii tehnicilor de criptare - n calitate de msuri recunoscute de protecie i securitate a informaiilor - a evoluat n sensul automatizrii acestora, dar i a optimizrii algoritmilor pentru codificarea mesajelor transmise. n termeni generali, se obinuiete s se numeasc mesaj un ansamblu de date trimis de un emitor ctre un receptor. Printr-un algoritm de criptare, mesajele vor fi transformate, pe baza unei chei de criptare, ntr-un rezultat inteligibil doar de ctre destinatar. Soluia descris n acest material folosete un sistem de criptare prin chei simetrice (secrete), tiut fiind c acest tip este cu mult mai rapid, mai sigur i mai eficient - pentru volume nsemnate de date - dect orice sistem bazat pe chei de criptare asimetrice (publice), dincolo de orice posibil dezavantaj legat de standardizare. Algoritmii care compun acest model utilizeaz dou tehnologii criptografice simple: permutarea i substituia, plecnd de la ideea c o combinare a acestora poate s conduc la variante aproape imposibil de spart [Oprea, 2003, p.110]. Astfel, elementele eseniale vor consta n tipurile de deplasamente n irurile de caractere, respectiv n legile de conversie ale alfabetului. Dificultatea descifrrii mesajului codificat va rezulta, ns, din execuia n cascad a procedurilor / funciilor criptografice i, astfel, din diminuarea consistent a relevanei rezultatelor posibile de obinut prin analiza dispersiei (hashing) respectiv a frecvenei

Doctorand, Catedra de Informatic Economic, Facultatea de Economie i Administrarea Afacerilor, Universitatea Alexandru Ioan Cuza Iai, e-mail: daniel.homocianu@feaa.uaic.ro

354

DANIEL HOMOCIANU

apariiei. Un avantaj suplimentar ine de lungimea variabil a cheii finale de criptare corespunztoare ordinii de apelare a procedurilor i, concomitent, de posibilitatea definirii unui algoritm de generare a cheilor, sensibil la dimensiunea mesajului n clar.
2 Algoritmi de permutare

n limbajul de programare Visual Basic - un mediu rapid de dezvoltare de software (RAD), algoritmii de permutare sunt implementai prin intermediul unor funcii. Ele servesc la schimbarea ordinii caracterelor din irul original dup metode variabile. Vom denumi simbolic aceste funcii prin: Ci (de la criptare). Primul algoritm va inversa textul de codificat (figura 1), coinciznd practic cu simetricul su, implementat prin funcia de decriptare (D1).

Fig. 1 Algoritm de inversare a unui text

Cel de-al doilea algoritm va prelua mai nti caracterele de pe poziii impare i, ulterior, pe cele de pe poziii pare (figura 2).

Fig. 2 Algoritmi de preluare / restaurare a caracterelor de pe poziii impare, respectiv pare

Un alt algoritm va conduce la preluarea succesiv a caracterelor de pe poziii simetrice din irul de prelucrat - parametru al funciei (figura 3). Ali 5 algoritmi preiau subiruri de cte i caractere din irul parametru, crora le interschimb extremele, realiznd n plus inversarea subirului rmas, format din caractere care nsumeaz mai puin de i poziii. Mai menionm c i = 2, 3, 5 (figura 4), 7, 9, iar funciile corespunztoare de permutare sunt identice ca definiie cu opusele lor.

Un model de criptare descris pe pai

355

Fig. 3 Algoritmi de preluare succesiv / restaurare de caractere de pe poziii simetrice n ir

Fig. 4 Algoritm de interschimbare a extremelor pe subiruri de cte 5 caractere

Fig. 5 Fragment din Codul ASCII [Look Up Tables]

356

DANIEL HOMOCIANU

Fig. 6 Algoritmi de substituie - conversie ASCII n zecimal / reconversie ASCII n text

3 Algoritm de substituie

Funcia care implementeaz algoritmul de substituie convertete alfabetul (domeniul de valori) iniial prin restrngere la un set mai simplu de caractere. Aici s-a utilizat conversia ASCII (figura 5) ntre setul de caractere utilizat de un editor obinuit de texte i un domeniu mixt, compus din setul zecimal (cifre de la 0 la 9) i caracterul virgula, acesta din urm facilitnd procesul invers substituiei. Apelnd la un banal algoritm data/text mining de predicie a valorilor, subirul care urmeaz dup prima virgul poate fi simplu perceput ca ir de poziii, dat fiind diferena mic (2 sau 3) dintre valorile seriilor foarte uor de identificat [Airinei, 2002, p.140]. O astfel de serie este: 0 2 5 8 11 14 17 (figura 6). Interceptnd i subirul propriu-zis codificat ASCII (cel de dinaintea primei virgule), orice sprgtor amator ar putea conchide c algoritmul este, prin concepie, condamnat s ofere o bre de securitate. Intervin, ns, cteva faciliti suplimentare, care, prin combinaie cu mecanismul n discuie, determin succesul soluiei finale: a. posibilitatea de a defini o funcie suplimentar (eventual C10) de transformare a rezultatului astfel obinut (numere i virgule) prin redefinirea pe un domeniu nou, conceput plecnd de la semnificaia unui grup de k cifre consecutive. De exemplu, grupuri de 2 sau 3 cifre consecutive, cu valori n intervalul 32-126 se pot reconverti ASCII n text obinuit (n MS Word - normal text, basic latin subset); b. apelarea n cascad a altor algoritmi: o de permutare - deoarece diminueaz considerabil posibilitile de depistare a unor tipare de evoluie a valorilor n irul rezultat;

Un model de criptare descris pe pai

357

c.

o de adugare de iruri redundante - pentru c determin euarea multor algoritmi de criptanaliz care se bazeaz pe descoperirea frecvenei i a dispersiei valorilor ntr-o serie de date; controlul execuiei n cascad folosind o cheie de criptare final coninnd cifre ce corespund numelui funciilor Ci executate i avnd dimensiune variabil, posibil de stabilit printr-un algoritm suplimentar de generare care va respecta cteva reguli elementare: o dimensiunea cheii va fi invers proporional cu cea a mesajului n clar; o funcia de substituie C6 (corespunztoare valorii 6 n cheia final) va fi executat cu o frecven restrns din cteva motive simple: evitarea unei cantiti enorme de caractere generate; limitarea relevanei tentativelor de depistare a valorilor repetitive; o ultimul apel al funciei de substituie va fi urmat, n mod obligatoriu, de permutri i adaos de text redundant n mesajul rezultat (algoritmii de la punctul b).

Fig. 7 Algoritm recursiv de criptare final

4 Algoritm de inserare de iruri redundante

Acest algoritm este tratat deocamdat de o manier simplist. Cu alte cuvinte, soluia dispune doar de o singur funcie de acest tip, care preia fiecare caracter din irul redundant pentru a-l aduga dup fiecare poziie din irul de prelucrat. Ulterior, pot fi stabilite tipare variate de inserare sau se poate defini o funcie automat de generare a unei chei de inserare pentru astfel de iruri. Simplificat, aceasta va putea returna ranguri sau poziii de inserare n irul original. Ct privete alegerea irului redundant, se poate apela, de asemenea, la un algoritm suplimentar de generare depinznd de necesitile de context (de pild, alegerea valorilor dintr-un domeniu diferit de cel al irului n care se face inserarea, din raiuni de sporire a dispersiei valorilor nainte de urmtoarea substituie).
5 Algoritm de aplicare a cheii finale de criptare

Rezultatul final va fi un set de 10 funcii de manipulare a irurilor. Ordinea aplicrii succesive a acestora pornind de la mesajul n clar poate fi generat i salvat sub forma unei chei de criptare finale care ia valori cifrice i nu binare. Aceasta va presupune, bineneles, i un algoritm de apelare recursiv a funciilor precedente (figura 7).

358

DANIEL HOMOCIANU

Pentru procesul invers, s-a definit o funcie recursiv asemntoare (D). n ambele cazuri rein atenia: posibilitatea de optimizare prin reducerea timpilor necesari recursivitii - renunarea la structura alternativ generalizat, respectiv importana care trebuie acordat prelurii posibilelor erori - apelul funciilor de decriptare n alt ordine dect cea corespunztoare ordinii inverse a cifrelor din cheia de criptare final conduce la erori fatale care trebuie camuflate. Alturi de aceste necesiti care se refer adesea la principii elementare n criptanaliz, rein atenia i cteva calcule de rezisten a soluiei finale. Astfel, pentru o cheie de criptare final stocat pe 512 poziii definite ca valori n sistemul zecimal (0-9), testul brut de descifrare presupune validarea a 10512(>23x512) variante de chei, adic o nevoie de timp mai mare dect pentru o cheie de criptare ipotetic pe 1536 bii (3x512). n plus, este cunoscut faptul c, nu demult, un procesor avea viteza exprimat n milioane de cicluri pe secund - MHz, n timp ce operaiile elementare (o.e.) de executat necesitau adesea un ciclu [Mueller .a., 2000, p.32] - la ora actual doar o fraciune. Astfel c, un procesor rulnd la n GHz opereaz la circa n x 109 cicluri (perioade) pe secund i va executa (n operaii pe secund) n x 109 cicluri/secund x nr.de o.e./ciclu. Vom presupune c o unitate de procesare va putea ajunge la performana de a testa 2512 astfel de chei (aproximativ 1,34 x 10154) ntr-o secund. Atunci, pentru a descifra mesajul criptat folosind soluia descris (considernd c se cunosc cei 10 algoritmi), tot va fi nevoie de cel puin 23x512/2512 secunde, ntr-un test brut. Mai precis 22x512 secunde sau (mprind la 365 x 24 x 3600=3,1536 x 107 secunde/an) aproximativ 5,7 x 10300 ani - are la exponent cu un ordin de mrime mai mult dect la acelai tip de rezultat pentru algoritmul Rijndael (aplicat n standardul AES - Advanced Encryption Standard).
6 Concluzii

Modelul prezentat poate fi utilizat cu succes n transmiterea securizat a mesajelor confideniale sau n codarea parolelor de salvat. Dei optimizat pentru mesaje n clar de dimensiuni rezonabile, soluia pornind de la care s-a definit acest model teoretic poate nregistra performane i n zona mult mai complex a bazelor de date - camuflarea valorilor unor cmpuri confideniale din anumite tabele. Modelul descris este eficient i n msura n care alfabetul destinaie este suficient de neobinuit i dificil de intuit ca i reguli de transformare. Aceeai eficien depinde, ns, esenial, de performana i complexitatea algoritmilor de generare a cheilor.
Bibliografie

Airinei, D., Depozite de date, Editura Polirom, Iai, 2002. Andreica, A., Concepte i evoluii n informatic, Editura Facultii de Studii Europene, Cluj-Napoca, 2000. Mueller, S., Zacker, C., PC Depanare i modernizare, Ediia a III-a, Editura Teora, Bucureti, 2000. Oprea, D., Protecia i securitatea sistemelor informaionale, Editura Polirom, Iai, 2002. Oprea, D., Protecia i securitatea informaiilor, Editura Polirom, Iai, 2003. *** http://www.ciphersbyritter.com/NEWS6/CASCADE.HTM. *** http://www.lookuptables.com .