Documente Academic
Documente Profesional
Documente Cultură
DANIEL HOMOCIANU∗
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.
1 Introducere
∗
Doctorand, Catedra de Informatică Economică, Facultatea de Economie şi Administrarea Afacerilor,
Universitatea „Alexandru Ioan Cuza” Iaşi, e-mail: daniel.homocianu@feaa.uaic.ro
354 DANIEL HOMOCIANU
2 Algoritmi de permutare
Cel de-al doilea algoritm va prelua mai întâi caracterele de pe poziţii impare şi,
ulterior, pe cele de pe poziţii pare (figura 2).
3 Algoritm de substituţie
Acest algoritm este tratat deocamdată de o manieră simplistă. Cu alte cuvinte, soluţia
dispune doar de o singură funcţie de acest tip, care preia fiecare caracter din şirul redundant
pentru a-l adăuga după fiecare poziţie din şirul de prelucrat.
Ulterior, pot fi stabilite tipare variate de inserare sau se poate defini o funcţie automată
de generare a unei chei de inserare pentru astfel de şiruri. Simplificat, aceasta va putea
returna ranguri sau poziţii de inserare în şirul original.
Cât priveşte alegerea şirului redundant, se poate apela, de asemenea, la un algoritm
suplimentar de generare depinzând de necesităţile de context (de pildă, alegerea valorilor
dintr-un domeniu diferit de cel al şirului în care se face inserarea, din raţiuni de sporire a
dispersiei valorilor înainte de următoarea substituţie).
Pentru procesul invers, s-a definit o funcţie recursivă asemănătoare (D). În ambele
cazuri reţin atenţia: posibilitatea de optimizare prin reducerea timpilor necesari
recursivităţii - renunţarea la structura alternativă generalizată, respectiv importanţa care
trebuie acordată preluării posibilelor erori - apelul funcţiilor de decriptare în altă ordine
decât cea corespunzătoare ordinii inverse a cifrelor din cheia de criptare finală conduce la
erori fatale care trebuie camuflate.
Alături de aceste necesităţi care se referă adesea la principii elementare în criptanaliză,
reţin atenţia şi câteva calcule de rezistenţă a soluţiei finale. Astfel, pentru o cheie de criptare
finală stocată pe 512 poziţii 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 decât pentru o cheie de criptare ipotetică pe 1536 biţi (3x512).
În plus, este cunoscut faptul că, nu demult, un procesor avea viteza exprimată în
milioane de cicluri pe secundă - MHz, în timp ce operaţiile elementare (o.e.) de executat
necesitau adesea un ciclu [Mueller ş.a., 2000, p.32] - la ora actuală doar o fracţiune. Astfel
că, un procesor rulând la n GHz operează la circa n x 109 cicluri (perioade) pe secundă şi va
executa (în operaţii pe secundă) n x 109 cicluri/secundă x nr.de o.e./ciclu.
Vom presupune că o unitate de procesare va putea ajunge la performanţa de a testa 2512
astfel de chei (aproximativ 1,34 x 10154) într-o secundă. Atunci, pentru a descifra mesajul
criptat folosind soluţia descrisă (considerând că se cunosc cei 10 algoritmi), tot va fi nevoie
de cel puţin 23x512/2512 secunde, într-un test brut. Mai precis 22x512 secunde sau (împărţind 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 mărime mai mult decât la acelaşi tip de rezultat pentru algoritmul Rijndael
(aplicat în standardul AES - Advanced Encryption Standard).
6 Concluzii
Bibliografie