Documente Academic
Documente Profesional
Documente Cultură
Criptarea datelor
(7.1)
(7.2)
H ( M ) p( M i ) log p( M i )
(7.3)
i 1
(7.4)
H (k ) log( n)
(7.5)
(7.6)
H ( M / C ) p( M i C j ) log p( M i C j )
(7.7)
i 1 j 1
Alfabet
A B C D E F G H I J K L MN O P Q R S T U VWX Y Z
mesaj
Alfabet
D E F G H I J K L MN O P Q R S T U VWX Y Z A B C
criptogram
De exemplu, mesajul
ACESTA ESTE UN TEXT CODIFICAT
devine
DFHVWD HVWH XQ WHAW FRGLILFDW.
O mic generalizare a cifrului lui Caesar permite alfabetului textului cifrat s fie
deplasat cu k litere, n loc de a fi deplasat ntotdeauna cu trei litere. n acest caz,
k devine o cheie pentru metoda general a alfabetelor deplasate circular.
Matematic, cifrul lui Caesar generalizat se exprim conform relaiei (7.1), iar
printr-o transformare liniar a funciei, se obine
Ci (mi k ) mod p
(7.8)
Alfabet
A B C D E F G H I J K L MN O P Q R S T U VWX Y Z
mesaj
Alfabet
J K LMN O P Q R S T U VWX Y Z A B C D E F GH I
criptogram
Dac mesajului
ACESTA ESTE UN TEXT CODIFICAT
i se aplic corespondena din tabelul 7.2, rezult urmtorul mesaj criptat
JLNBCJ NBCN DW CNGC LXMRORLJC
(7.9)
(7.10)
n
5
C
R
O
R
i
3
E
I
D
E
T
v
9
S
T
I
S
E
e
2
T
M
F
T
r
6
I
E
B
s
7
A
D
C
U
Tabelul 7.4.
a
1
L
E
A
F
N
l
4
G
R
O
.
Adversar pasiv
Cheia surs
e
Canal nesecurizat
Criptare
Decriptare
Canal securizat
m
Text necriptat
surs
Destinaie
A
Fig. 7.1. Criptare folosind tehnica cheilor publice
c1
A1
Ee(m1)=c1
e
c2
A2
Ee(m2)=c2
Dd(c2)=m2
e
c3
A3
Dd(c1)=m1
Dd(c3)=m3
Ee(m3)=c3
e
Fig. 7.2. Criptarea cu chei publice cu trei entiti distincte
Adversar
Cheia surs
Criptare
Ee(m)=c
c
Decriptare
Dd(c)=m
e
m
Cheia surs
Criptare
Ee(m)=c
Decriptare
Dd(c)=m
Text necriptat
surs
Destinatar
Fig. 7.3. Atacul asupra unei comunicri n doi cu asumarea unei identiti false
(7.11)
Se calculeaz:
n = pq = 6153 = 3233
z = (p-1)(q-1) = 6052 = 3120
Conform algorimului se alege e = 17 i d = 2753
Cheia public va fi (n,e)=(3233,17)
Cheia privat rezult (n,d)=(3233,2753)
Se alege mesajul clar (de criptat) m=123.
Codificarea este
c =me mod n = 12317 mod 3233 =
= 337587917446653715596592958817679803 mod 3233 = 855
Decodificarea este
m = cd mod n =8552753 mod 3233 =123
Semntura digital R.S.A.
Avantajul algoritmului R.S.A. este c poate fi utilizat i pentru semnarea
mesajelor expediate. Acest tip de semntur este cunoscut sub numele de
semntura digital R.S.A.
Semntura digital este folosit pentru a identifica autorul unui mesaj i
reprezint una dintre cele mai importante contribuii ale criptrii cu chei publice.
Primul standard internaional pentru semnturile digitale , ISO/IEC 9796, bazat
pe schema cheilor publice RSA, a fost adoptat n 1991. Schema bloc a sistemului
de transmitere a mesajelor semnate digital este reprezentat n figura 7.5.
Dup cum este cunoscut, fiecare membru al unui grup deine cheia public a
celorlali membri ai grupului i cheia sa privat. Pentru a transmite persoanei C
un mesaj criptat i semnat, persoana A cripteaz mesajul (textul clar) cu cheia sa
privat (personal). Persoana C primete mesajul criptat de la A i l decodific cu
cheia public a acesteia (cheia public a lui A), obinnd astfel textul clar original.
Spre deosebire de schema de criptare din figura 7.4, n acest caz, toate persoanele
din grup pot decodifica mesajul dar nu exist nici un dubiu n privina identitii
expeditorului.
A, B, C, D i E pot fi att persoane ct i programe, ceea ce nseamn c acest
sistem de criptare poate fi folosit :
de persoane n vederea transmiterii de maseje (de exemplu transmiterea de
e-mail-uri, fiiere n orice format),
de programe (pachete de programe client/server) n vederea transmiterii
de informaii de la aplicaia server la aplicaia client i/sau invers, n cadrul
reelelor de tip LAN (Local Area Network) sau WAN (World Area
Network).
Folosind notaiile de la metoda de criptare, pentru a obine mesajul criptat c
(criptogram semnat digital), mesajul clar m (privit ca ir de bii), se mparte n
k blocuri de text clar. Fiecrui bloc mi, i 0, k - 1 i se aplic funcia
(7.13)
f. Rezolvnd problema sumei subirurilor, sunt gsii ntregii r1, r2, ... , rn,
ri {0,1}, astfel nct d=r1b1+r2b2++rnbn.
g. Biii mesajului sunt: mi=r(i), i1,2,...,n.
Algoritmul binar extins al celui mai mare divizor comun, folosit pentru a
determina inversul fa de nmulire al x mod y
Date de intrare: dou numere ntregi x i z.
Date de ieire: ntregii a i b, astfel nct ax + bz = 1, unde 1 este cel mai mare
divizor comun al lui x i y.
1. ct timp x i y sunt pare, execut: xx/2, yy/2
2. ux, vy, A1, B0, C0, D1.
3. ct timp u este par, execut:
3.1. uu/2
3.2. dac AB0 (mod 2), atunci AA/2, BB/2;
altfel, A(A+y)/2, B(B-x)/2.
4. ct timp v este par, execut:
4.1. vv/2
4.2. dac CD0(mod 2), atunci CC/2, DD/2;
altfel, C(C+y)/2, D(D-x)/2.
5. dac u v atunci uu v, A A - C, B B - D
altfel: v v u, C C A, D D B.
6. Dac u = 0, atunci aC, bD i returneaz a, altfel reia de la pasul 3.
Definiie: un ir (b1, b2, ... , bn) de numere ntregi pozitive este supercresctor
dac are proprietatea bi > j=1i-1 bj pentru fiecare i, 2 i n.
Algoritm pentru rezolvarea problemei sumei unui subir supercresctor
Date de intrare: un ir supercresctor (b1, b2, ... , bn) i un numr ntreg s, care
este suma subirului bi.
Date de ieire: (x1, x2, ... , xn) unde xi {0,1}, astfel nct i=1n xibi = s.
1. i n
2. ct timp i 1 execut:
2.1 dac s bi , atunci xi 1 i s s - bi ; altfel: xi 0.
2.2 i i - 1
3. returneaz (x1, x2, ... , xn)
Verificarea decriptrii. Decriptarea din algoritmul de mai sus permite
recuperarea textului mesajului original, deoarece d W-1c W-1i=1n miai i=1n
(7.15)
(7.16)
Permutare
iniial
C
H
E
I
E
Iteraia 1
...............................
K
Iteraia 16
Interschimb
jumti
Permutare final
64 bii text
cifrat
Fig. 7.6. Schema general a criptrii cu algoritmul D.E.S.
(7.17)
(7.18)
Dup calculul format din cele 16 iteraii descrise anterior, blocul de 32 de bii este
supus unei permutri IP-1, inversa permutrii iniiale.
Decriptarea const n folosirea aceluiai algoritm, dar cu cheile K(i) aplicate n
sens invers, de la K16 la K1. Astfel, primul pas n decriptare este aplicarea
permutrii IP, care dezleag ultimul pas IP-1 din operaia de criptare. Apoi se
genereaz n sens invers:
R(i-1) = L(i)
L(i-1) = R(i) f(L(i), K(i))
(7.19)
A.E.S. are o mrime bloc fix de 128 bii i mrimea cheii de 128, 192 sau 256
bii i opereaz pe un tablou de bii de dimensiune 4x4, numit the state,
conform reprezentrii din figura 7.7.
Pentru codare, fiecare ciclu a lui A.E.S. (exceptnd ultimul) const din patru
stadii, i anume:
Substituire, prin efectuarea unui pas de substituie neliniar, prin care
fiecare bit este nlocuit cu un altul, conform descrierii din figura 7.7.;
Schimbarea rndurilor un pas de transpunere, unde fiecare rnd al strii
este schimbat ciclic la un anumit numr de pasi;
Amestecarea coloanelor - o operaie de amestecare care opereaz asupra
coloanelor de stare, combinnd cei 4 bii din fiecare coloan folosind o
transfomare liniar;
Cheia adugare ciclic, n care fiecare bit al strii este combinat cu cheia
ciclului, astfel nct fiecare ciclu este obinut din cheia zero folosind o cheie
program.
Ciclul final omite stadiul amestecrii coloanelor.
Pasul de substituie
n pasul de substituie, fiecare bit din tablou este actualizat folosind un S-box de
8 bii. Aceast operaie furnizeaz o neliniaritate n cifru. S-box-ul folosit este
obinut din inversarea funciei GF (28) cunoscut, cu bune proprieti neliniare.
Pentru a evita atacurile bazate pe proprieti simple algebrice, S-box-ul este
construit prin combinarea funciei inverse cu o transformare inversabil. S-boxul este de asemenea ales pentru a evita orice puncte fixe i orice puncte fixe
opuse.
Pasul de schimbare a rndurilor (Shift Rows)
n acest pas, subcheia este combinat cu starea. Prin efectuarea fiecrui ciclu, o
subcheie este obinut din cheia principal folosind programul cheii, fiecare
subcheie avnd aceeai mrime ca i starea. Subcheia este adugat prin
combinarea fiecrui bit al strii cu bitul corespunztor al subcheii bitwise (bitul
inteligent) XOR. Realizarea acestui pas poate fi observat n figura 7.10.
punctelor formeaz un grup finit. Curba prezentat n figura 7.11. este definit de
ecuaia
y2 + y = x3 - x2
(7.20)
Astfel, suma u + v = z.
Dar pentru a putea utiliza aceast regul n context criptografic, trebuie s fie
definite unele situaii speciale care implic existena unui punct imaginar
suplimentar O, numit origine sau punct la infinit. Se admite c punctul O este
localizat foarte sus, unde se presupune c toate liniile verticale converg. n plus, O
este pe curb, chiar dac nu este caracterizat de coordonatele specifice (x,y). O
alt presupunere este aceea c o linie tangent la un punct se spune c
intersecteaz punctul de dou ori.
(7.21)
cu A i B alte dou numere mari, atent alese, din Zp*. Aceast curb conine exact
N puncte, unde N =
6.277.101.735.386.680.763.835.789.423.337.
720.473.986.773.608.255.189.015.329.
Aceste N puncte formeaz un grup, conform regulii prezentate anterior.
Considernd p ca un numr binar, se observ c are o form special, p = 2192 264 - 1, ceea ce uureaz considerabil calculul. Oricum, calculele cu numere mari
nu constituie o problem pentru sistemele moderne, cu att mai mult cu ct
dimensiunile acestor numere sunt mult mai mici dect cele utilizate de metodele
tradiionale, de tip R.S.A.