Securitatea Criptografica Pag 51 [617403]
SECURITATEA
CRIPTOGRAFIC ¸A
Suport curs
Emil SIMION
2011-2012
2
PREFAT » ¸AIn God we trust all other we monitor.
NSA (No Such Agency )
Constituit¸ a ca ramur¸ a interdisciplinar¸ a, Criptologia, cu cele dou¸ a componente ale
sale, Criptogra¯a » siCriptanaliza apar tot mai frecvent, ca o necesitate, ^ ³n curricula
de ^ ³nv¸ at »¸ am^ ant ca urmare a dezvolt¸ arii exponent »iale a tehnologiilor informat »iei » si
comunicat »iilor.
Un sistem criptogra¯c este compus din algoritm de cifrare (simetric sau asi-
metric), sistem de generare » si management al cheilor de cifrare (secrete sau pub-
lice/private), precum » si protocoale criptogra¯ce necesare identi¯c¸ arii (emitentului
informat »iei), autenti¯c¸ arii (informat »iei sau utilizatorului), transferului (informat »iei)
^ ³n condit »ii de sigurant »¸ a ( protect »ie la erori » sinerepudierea informat »iei) » si asigur¸ arii
con¯dent »ialit¸ at »ii .
Aceast¸ a carte, a°at¸ a la edit »ia a doua, abordeaz¸ a ^ ³ntr-o manier¸ a unitar¸ a latura
ofensiv¸ a a criptologiei » si anume criptanaliza.
Lucrarea prezint¸ a tehnici » si metode utilizate ^ ³n evaluarea » si spargerea sistemelor
de criptogra¯ce . Astfel, se abordeaz¸ a tehnici de analiz¸ a criptogra¯c¸ a pentru sistemele
de cifrare clasice (substitut »ii » si transpozit »ii), cifrurile cu cheie simetric¸ a (cifrurile
°ux » si cifrurile bloc), cifrurile cu cheie public¸ a, protocoalele criptogra¯ce, precum » si
sistemele de cifrare analogic¸ a.
Unele paragrafe din lucrare au la baz¸ a rezultate obt »inute, de autor, din care
o parte au fost publicate ^ ³n reviste de specialitate sau comunicate cu prilejul ex-
punerilor f¸ acute la diferite conferint »e. De asemenea, mare parte din aceast¸ a lucrare
a fost subiectul orelor de curs » si seminar ale disciplinelor de criptologie, ^ ³n cadrul
programelor masterale de pro¯l ale Universit¸ at »ii din Bucure» sti, Academiei Tehnice
Militare, precum » si Universit¸ at »ii Politehnica din Bucure» sti. Se corecteaz¸ a astfel ero-
rile inerente ap¸ arute ^ ³n edit »ia precedent¸ a din anul 2004, ¯ind actualizate tehnicile
criptogra¯ce prezentate. Mult »umim pe aceast¸ a cale tuturor celor care ^ ³n decursul
timpului au semnalat astfel de erori.
Fiecare capitol are propuse o serie de aplicat »ii, unele dintre acestea constituindu-
se ca direct »ii ulterioare de studiu.
Cartea se adreseaz¸ a speciali» stilor din domeniul analizei criptogra¯ce sau a secu-
rit¸ at »ii sistemelor I.T., student »ilor » si masteranzilor de la facult¸ at »ile cu pro¯l matem-
atic¸ a-informatic¸ a, automatic¸ a-calculatoare, precum » si tuturor celor interesat »i de
domeniul securit¸ at »ii informat »iilor.
25 noiembrie 2011 Autorul
3
4
Cuprins
1 INTRODUCERE 15
2 NOT »IUNI GENERALE 19
2.1. Obiectul criptanalizei . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2. Criterii » si standarde . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.1. Bene¯cii ale standardelor . . . . . . . . . . . . . . . . . . . . 20
2.2.2. Organisme de standardizare . . . . . . . . . . . . . . . . . . . 21
2.2.3. Standardele ISO 15408 » si FIPS 140-2 . . . . . . . . . . . . . . 22
2.3. Modelul OSI (Open System Interconectation) . . . . . . . . . . . . . 22
2.3.1. De¯nirea nivelurilor ret »elei . . . . . . . . . . . . . . . . . . . 22
2.3.2. Nivelul ¯zic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.3. Nivelul leg¸ atur¸ a date . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.4. Nivelul ret »ea . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.5. Nivelul transport . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.6. Nivelul sesiune . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.7. Nivelul prezentare . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.8. Nivelul aplicat »ie . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.9. Protocolul TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4. Testarea sistemelor criptogra¯ce . . . . . . . . . . . . . . . . . . . . 25
2.4.1. Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.2. Programul de validare a modulelor criptogra¯ce . . . . . . . . 26
2.4.3. Proceduri de certi¯care » si autorizare . . . . . . . . . . . . . . 28
2.4.4. Autoritate de certi¯care . . . . . . . . . . . . . . . . . . . . . 28
2.5. Procesul de selectare a modulelor criptogra¯ce . . . . . . . . . . . . 29
2.5.1. Faza de plani¯care . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.2. Faza de de¯nire a cerint »elor » si speci¯cat »iilor de securitate . . 31
2.5.3. Faza de achizit »ie . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.4. Faza de operare . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.6. Operat »ii in criptanaliz¸ a . . . . . . . . . . . . . . . . . . . . . . . . . 32
5
6 CUPRINS
2.6.1. Principii criptanalitice . . . . . . . . . . . . . . . . . . . . . . 32
2.6.2. Criterii de evaluare . . . . . . . . . . . . . . . . . . . . . . . . 33
2.6.3. Patru operat »ii de baz¸ a ale criptanalizei . . . . . . . . . . . . . 33
2.6.4. Evaluare » si spargere . . . . . . . . . . . . . . . . . . . . . . . 34
2.7. Clasi¯c¸ ari ale atacurilor criptanalitice . . . . . . . . . . . . . . . . . 38
2.7.1. Tipuri de atac asupra algoritmilor de cifrare . . . . . . . . . . 38
2.7.2. Tipuri de atac asupra cheilor . . . . . . . . . . . . . . . . . . 40
2.7.3. Tipuri de atac asupra protocoalelor de autenti¯care . . . . . 41
2.7.4. Tipuri de atac asupra sistemului . . . . . . . . . . . . . . . . 42
2.7.5. Atacuri hardware asupra modulelor criptogra¯ce . . . . . . . 42
2.8. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3 TEORIA COMPLEXIT ¸AT »II ALGORITMILOR 45
3.1. Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2. Algoritmi » si ma» sini Turing . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3. Teoria problemelor NP¡complete . . . . . . . . . . . . . . . . . . . 46
3.4. Exemple de probleme NP¡complete . . . . . . . . . . . . . . . . . 48
3.5. Limite actuale ale calculatoarelor . . . . . . . . . . . . . . . . . . . . 51
3.6. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4 ANALIZA STATISTICO-INFORMAT »IONAL ¸A 53
4.1. Not »iuni teoretice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.2. Generatoare » si teste statistice . . . . . . . . . . . . . . . . . . . . . . 54
4.2.1. Generatoare uniforme . . . . . . . . . . . . . . . . . . . . . . 54
4.2.2. Conceptul de test statistic . . . . . . . . . . . . . . . . . . . . 54
4.2.3. Modele statistice pentru generatoare . . . . . . . . . . . . . . 56
4.2.4. Teste elementare de aleatorism statistic . . . . . . . . . . . . 57
4.2.5. Interpretarea rezultatelor testelor statistice . . . . . . . . . . 58
4.3. Entropia variabilelor aleatoare discrete . . . . . . . . . . . . . . . . . 59
4.4. Surse de aleatorism de numere intregi . . . . . . . . . . . . . . . . . 62
4.4.1. Formula analitic¸ a a probabilit¸ at »ii ideale a unei surse de aleatorism
de numere ^ ³ntregi . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.4.2. Metoda de calcul efectiv al lui prespectiv q. . . . . . . . . . 63
4.5. Metode de decorelare . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.5.1. Metode deterministe . . . . . . . . . . . . . . . . . . . . . . . 64
4.5.2. Metode nedeterministe . . . . . . . . . . . . . . . . . . . . . . 64
4.6. Teste statistice de aleatorism . . . . . . . . . . . . . . . . . . . . . . 65
4.6.1. Algoritmul de implementare al testului frecvent »ei . . . . . . . 65
4.6.2. Algoritmul de implementare al testului serial . . . . . . . . . 66
4.6.3. Algoritmul de implementare al testului succesiunilor . . . . . 67
CUPRINS 7
4.6.4. Algoritmul de implementare al testului autocorelat »iei temporale 68
4.6.5. Algoritmul de implementare al testului autocorelat »iilor tem-
porale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.6.6. Algoritmul de implementare al testului autocorelat »iei circulare 69
4.6.7. Algoritmul de implementare al testului autocorelat »iilor circulare 70
4.6.8. Algoritmul de implementare al testului poker . . . . . . . . . 70
4.6.9. Algoritmul de implementare al testului CUSUM (sumelor cu-
mulate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.6.10. Algoritmul de implementare al testului de aproximare a entropiei 75
4.6.11. Algoritmul de implementare al testului lui Maurer (1992) » si
testul entropiei . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.6.12. Algoritmul de implementare al testului Â2. . . . . . . . . . . 78
4.6.13. Algoritmul de implementare al testului Kolmogorov-Smirnov 80
4.6.14. Testul spectral (transformarea Fourier discret¸ a) . . . . . . . . 81
4.6.15. Teste de corelat »ie . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.6.16. Algoritmul de implementare al testului corelat »iilor temporale
» si circulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.6.17. Cre» sterea senzitivit¸ at »ii algoritmilor de testare statistic¸ a . . . 83
4.7. Teste de aleatorism algoritmic . . . . . . . . . . . . . . . . . . . . . . 85
4.7.1. Scurt istoric . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.7.2. M¸ asurarea complexit¸ at »ii . . . . . . . . . . . . . . . . . . . . . 86
4.7.3. Complexitatea segmentului . . . . . . . . . . . . . . . . . . . 89
4.7.4. Complexitatea segmentului ca m¸ asur¸ a a aleatorismului . . . . 90
4.8. Teste de necorelare algoritmic¸ a . . . . . . . . . . . . . . . . . . . . . 92
4.8.1. Formularea problemei . . . . . . . . . . . . . . . . . . . . . . 92
4.8.2. Principii de test . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.9. Teste de veri¯care a jocurilor de tip Casino . . . . . . . . . . . . . . 93
4.9.1. Metoda 3 ¡¾pentru rulet¸ a . . . . . . . . . . . . . . . . . . . 94
4.9.2. Metoda 3 ¡¾pentru diferent »e la rulet¸ a . . . . . . . . . . . . . 94
4.9.3. Metoda X2pentru rulet¸ a . . . . . . . . . . . . . . . . . . . . 94
4.9.4. Metoda X2aplicat¸ a diferent »elor pentru rulet¸ a . . . . . . . . . 95
4.9.5. Metoda X2pentru jocurile de tip loto . . . . . . . . . . . . . 95
4.10. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5 CODIFICAREA IN ABSENT »A PERTURBAT »IEI 99
5.1. Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2. Codi¯carea ^ ³n absent »a perturbat »iei . . . . . . . . . . . . . . . . . . . 99
5.3. Codurile Fano » si Hu®man . . . . . . . . . . . . . . . . . . . . . . . . 102
5.3.1. Algoritmul de implemenare a codului Fano . . . . . . . . . . 102
5.3.2. Algoritmul de implementare a codului Hu®man . . . . . . . . 102
8 CUPRINS
5.4. Coduri optime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.5. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6 CRIPTANALIZA CIFRURILOR CLASICE 109
6.1. Substitut »ia simpl¸ a » si multipl¸ a . . . . . . . . . . . . . . . . . . . . . . 109
6.1.1. Substitut »ia simpl¸ a . . . . . . . . . . . . . . . . . . . . . . . . 109
6.1.2. Substitut »ia multipl¸ a . . . . . . . . . . . . . . . . . . . . . . . 111
6.2. Substitut »ia polialfabetic¸ a . . . . . . . . . . . . . . . . . . . . . . . . 113
6.2.1. Caracteristicile » si identi¯carea sistemelor de substitut »ie polial-
fabetic¸ a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.2.2. Atacul sistemelor polialfabetice . . . . . . . . . . . . . . . . . 114
6.3. Solut »ia unui cifru de substitut »ie . . . . . . . . . . . . . . . . . . . . . 114
6.4. Transpozit »ia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.5. Sisteme mixte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.6. Proceduri de identi¯care a sistemului . . . . . . . . . . . . . . . . . . 115
6.6.1. Funct »ia Kappa . . . . . . . . . . . . . . . . . . . . . . . . . . 116
6.6.2. Funct »ia Chi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.6.3. Funct »ia Psi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.6.4. Funct »ia Phi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6.7. Funct »ii simetrice de frecvent »¸ a a caracterelor . . . . . . . . . . . . . . 121
6.8. Atac stereotip asupra cifrurilor de substitut »ie . . . . . . . . . . . . . 122
6.9. Atac de tip frecvent »¸ a maxim¸ a a cifrurilor de substitut »ie . . . . . . . 122
6.10. Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.11. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7 CRIPTANALIZA CIFRURILOR FLUX 127
7.1. Atacul generatoarelor pseudoaleatoare . . . . . . . . . . . . . . . . . 127
7.2. Criptanaliza liniar¸ a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.2.1. Complexitatea liniar¸ a . . . . . . . . . . . . . . . . . . . . . . 128
7.2.2. Algoritmul Berlekamp-Massey. Rezultate teoretice . . . . . . 134
7.2.3. Implementarea algoritmului Berlekamp-Massey . . . . . . . . 134
7.2.4. Testul Berlekamp ca test statistico-informat »ional . . . . . . . 135
7.3. Metoda corelat »iei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.4. Metoda corelat »iei rapide . . . . . . . . . . . . . . . . . . . . . . . . . 137
7.4.1. Transformata Walsh-Hadamard . . . . . . . . . . . . . . . . . 137
7.4.2. Testul statistic Walsh-Hadamard . . . . . . . . . . . . . . . . 141
7.4.3. Caracterizarea propriet¸ at »ilor criptogra¯ce . . . . . . . . . . . 144
7.5. Atacul Siegenthaler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
7.6. Atacul consistent »ei liniare . . . . . . . . . . . . . . . . . . . . . . . . 148
7.7. Metoda sindromului linear . . . . . . . . . . . . . . . . . . . . . . . . 149
CUPRINS 9
7.7.1. Formularea problemei . . . . . . . . . . . . . . . . . . . . . . 149
7.7.2. Preliminarii teoretice . . . . . . . . . . . . . . . . . . . . . . . 149
7.7.3. Algoritmul Sindromului Linear . . . . . . . . . . . . . . . . . 150
7.7.4. Numere critice » si numere de ra¯nare . . . . . . . . . . . . . . 150
7.8. Corect »ia iterativ¸ a a erorii . . . . . . . . . . . . . . . . . . . . . . . . 154
7.8.1. Prezentare general¸ a . . . . . . . . . . . . . . . . . . . . . . . 154
7.8.2. Prezentarea algoritmilor de corect »ie iterativ¸ a . . . . . . . . . 155
7.8.3. Rezultate experimentale . . . . . . . . . . . . . . . . . . . . . 157
7.8.4. Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
7.9. Algoritm de criptanaliz¸ a diferent »ial¸ a . . . . . . . . . . . . . . . . . . 159
7.10. C^ ateva tehnici de proiectare . . . . . . . . . . . . . . . . . . . . . . . 160
7.10.1. Transformarea neliniar¸ a feed-forword . . . . . . . . . . . . . . 160
7.10.2. Generatorul Ge®e . . . . . . . . . . . . . . . . . . . . . . . . 160
7.10.3. Generatorul Jennings . . . . . . . . . . . . . . . . . . . . . . 161
7.10.4. Generatorare cu tact controlat . . . . . . . . . . . . . . . . . 162
7.10.5. Generatoare cu ceasuri multiple . . . . . . . . . . . . . . . . . 165
7.10.6. Generatoare autodecimate . . . . . . . . . . . . . . . . . . . . 166
7.11. Exemplu de atac criptanalitic . . . . . . . . . . . . . . . . . . . . . . 166
7.12. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
8 CRIPTANALIZA CIFRURILOR BLOC 173
8.1. Introducere » si concepte generale . . . . . . . . . . . . . . . . . . . . . 173
8.2. Securitatea » si complexitatea atacurilor . . . . . . . . . . . . . . . . . 174
8.3. Criterii de evaluare a cifrurilor bloc . . . . . . . . . . . . . . . . . . . 174
8.4. Moduri de operare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
8.4.1. Modul ECB (electronic code-book) . . . . . . . . . . . . . . . 175
8.4.2. Modul CBC (cipher-block chaining) . . . . . . . . . . . . . . 176
8.4.3. Modul CFB (cipher feedback) . . . . . . . . . . . . . . . . . . 179
8.4.4. Modul OFB (output feedback) . . . . . . . . . . . . . . . . . 180
8.4.5. Modul BC (block chaining) . . . . . . . . . . . . . . . . . . . 182
8.4.6. Modul BC cu sum¸ a de control (BC-checksum) . . . . . . . . 182
8.4.7. Modul OFBNLF (output feedback block with a nonlinear func-
tion) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
8.4.8. Cascade de cifruri » si cifr¸ ari multiple . . . . . . . . . . . . . . 183
8.5. Generarea tabelelor de substitut »ie . . . . . . . . . . . . . . . . . . . 186
8.6. Criptanaliza diferent »ial¸ a . . . . . . . . . . . . . . . . . . . . . . . . . 187
8.7. Criptanaliza liniar¸ a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
8.8. Alte metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
8.9. Implement¸ ari » si rezultate experimentale . . . . . . . . . . . . . . . . 188
8.9.1. Implementarea standardului de cifrare A.E.S. . . . . . . . . . 188
10 CUPRINS
8.9.2. Testarea algoritmului AES . . . . . . . . . . . . . . . . . . . . 189
8.9.3. Rezultate experimentale . . . . . . . . . . . . . . . . . . . . . 189
8.9.4. Interpretarea rezultatelor . . . . . . . . . . . . . . . . . . . . 192
8.10. Concluzii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
8.11. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
9 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE 197
9.1. Principii de baz¸ a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
9.1.1. Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
9.1.2. Securitatea algoritmilor cu cheie public¸ a . . . . . . . . . . . . 198
9.1.3. Comparat »ii ale algoritmilor asimetrici » si a algoritmilor simetrici198
9.2. Algoritmi de tip rucsac . . . . . . . . . . . . . . . . . . . . . . . . . . 199
9.2.1. Algoritmi rucsac supercresc¸ ator . . . . . . . . . . . . . . . . . 199
9.2.2. Crearea cheii publice din cheia privat¸ a . . . . . . . . . . . . . 199
9.2.3. Cifrarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
9.2.4. Descifrarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
9.2.5. Implementarea efectiv¸ a . . . . . . . . . . . . . . . . . . . . . 200
9.3. Algoritmul RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
9.3.1. Descrirea principiilor de cifrare » si descifrare . . . . . . . . . . 200
9.3.2. Viteza algoritmilor tip RSA . . . . . . . . . . . . . . . . . . . 201
9.3.3. Securitatea RSA-ului . . . . . . . . . . . . . . . . . . . . . . . 203
9.3.4. Tipuri de atacuri asupra algoritmilor RSA . . . . . . . . . . . 204
9.3.5. Trape ^ ³n generarea cheilor RSA . . . . . . . . . . . . . . . . . 209
9.4. Algoritmul Pohlig-Hellman . . . . . . . . . . . . . . . . . . . . . . . 209
9.5. Algoritmul Rabin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
9.6. Algoritmul ElGamal . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
9.7. Curbe eliptice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
9.8. Aplicat »ii practice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
9.9. Teste de primalitate » si metode de factorizare . . . . . . . . . . . . . 214
9.9.1. Teste de primalitate . . . . . . . . . . . . . . . . . . . . . . . 214
9.9.2. Metode de factorizare . . . . . . . . . . . . . . . . . . . . . . 217
9.9.3. Metode de generare a numerelor prime . . . . . . . . . . . . . 217
9.10. Infrastructura Cheilor Publice (PKI) . . . . . . . . . . . . . . . . . . 218
9.10.1. Elementele PKI . . . . . . . . . . . . . . . . . . . . . . . . . . 218
9.10.2. Ghid de folosire a tehnologiei PKI ^ ³n ret »ele deschise . . . . . 219
9.10.3. Riscuri ale utiliz¸ arii tehnologiei PKI . . . . . . . . . . . . . . 220
9.10.4. Standarde ale PKI . . . . . . . . . . . . . . . . . . . . . . . . 221
9.11. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
CUPRINS 11
10 CRIPTANALIZA SEMN ¸ATURILOR DIGITALE 225
10.1. Prezentare general¸ a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
10.2. Not »iuni preliminare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
10.3. Funct »ii hash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
10.3.1. Generalit¸ at »i . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
10.3.2. Algoritmi hash . . . . . . . . . . . . . . . . . . . . . . . . . . 229
10.3.3. Funct »ii hash bazate pe cifruri bloc . . . . . . . . . . . . . . . 230
10.3.4. Funct »ii hash nebazate pe cifruri bloc . . . . . . . . . . . . . . 230
10.4. Modalit¸ at »i de realizare a semn¸ aturilor digitale . . . . . . . . . . . . . 231
10.4.1. Aplicarea criptosistemelor simetrice . . . . . . . . . . . . . . 231
10.4.2. Aplicarea criptosistemelor asimetrice . . . . . . . . . . . . . . 232
10.4.3. Apelarea la funct »ii hash unidirect »ionale . . . . . . . . . . . . 232
10.4.4. Semn¸ aturi digitale convent »ionale (normale) . . . . . . . . . . 233
10.5. Alte tipuri de semn¸ aturi digitale . . . . . . . . . . . . . . . . . . . . 235
10.5.1. Semn¸ atura invizibil¸ a . . . . . . . . . . . . . . . . . . . . . . . 235
10.5.2. Semn¸ aturi fail-stop . . . . . . . . . . . . . . . . . . . . . . . . 235
10.6. Legislat »ia ^ ³n domeniu . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
10.7. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
11 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE 237
11.1. Protocoale elementare . . . . . . . . . . . . . . . . . . . . . . . . . . 237
11.1.1. Protocoale de schimb de chei . . . . . . . . . . . . . . . . . . 237
11.1.2. Protocoale de autenti¯care . . . . . . . . . . . . . . . . . . . 241
11.1.3. Autenti¯carea » si schimbul de chei . . . . . . . . . . . . . . . . 244
11.1.4. Protocoale de transfer orb . . . . . . . . . . . . . . . . . . . . 248
11.1.5. Analiza formal¸ a a protocoalelor de autenti¯care » si a proto-
coalelor de schimb de chei . . . . . . . . . . . . . . . . . . . . 248
11.1.6. Divizarea secretului . . . . . . . . . . . . . . . . . . . . . . . 249
11.1.7. Partajarea secretului . . . . . . . . . . . . . . . . . . . . . . . 249
11.2. Protocoale avansate . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
11.2.1. Protocol de tip demonstrat »ie conving¸ atoare f¸ ar¸ a detalii . . . . 249
11.2.2. Protocol de tip dezv¸ aluire minim¸ a . . . . . . . . . . . . . . . 250
11.2.3. Protocol de tip dezv¸ aluire zero . . . . . . . . . . . . . . . . . 250
11.2.4. Protocoale de tip transfer bit » si aplicat »ii . . . . . . . . . . . . 250
11.2.5. Alte protocoale avansate . . . . . . . . . . . . . . . . . . . . . 254
11.3. Divizarea » si partajarea secretelor . . . . . . . . . . . . . . . . . . . . 254
11.3.1. Protocol de divizare a secretului . . . . . . . . . . . . . . . . 255
11.3.2. Protocolul de partajare LaGrange . . . . . . . . . . . . . . . 255
11.3.3. Protocolul de partajare vectorial . . . . . . . . . . . . . . . . 256
11.3.4. Protocolul de partajare Asmuth-Bloom . . . . . . . . . . . . 256
12 CUPRINS
11.3.5. Protocolul de partajare Karnin-Greene-Hellman . . . . . . . 256
11.3.6. Atacuri asupra protocoalelor de partajare (divizare) a secre-
tului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
11.4. Exemple de implementare . . . . . . . . . . . . . . . . . . . . . . . . 257
11.4.1. Scheme de autenti¯care . . . . . . . . . . . . . . . . . . . . . 257
11.4.2. Algoritmi de schimb al cheilor . . . . . . . . . . . . . . . . . . 260
11.5. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
12 CRIPTANALIZA SISTEMELOR DE CIFRARE ANALOGICE 265
12.1. Formularea problemei . . . . . . . . . . . . . . . . . . . . . . . . . . 265
12.2. Calcul Operat »ional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
12.2.1. Transformata Laplace . . . . . . . . . . . . . . . . . . . . . . 266
12.2.2. Transformata Fourier . . . . . . . . . . . . . . . . . . . . . . 267
12.2.3. Transformata Fourier Discret¸ a . . . . . . . . . . . . . . . . . 269
12.2.4. Transformata Cosinus Discret¸ a . . . . . . . . . . . . . . . . . 271
12.2.5. Transformata Walsh . . . . . . . . . . . . . . . . . . . . . . . 271
12.2.6. Transformata z . . . . . . . . . . . . . . . . . . . . . . . . . . 272
12.3. Caracterizarea variabilelor aleatoare . . . . . . . . . . . . . . . . . . 273
12.4. Conversia Analogic/Digital . . . . . . . . . . . . . . . . . . . . . . . 274
12.4.1. Modulat »ia ^ ³n puls . . . . . . . . . . . . . . . . . . . . . . . . 274
12.5. Cifrarea Analogic¸ a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
12.5.1. Inversarea spectrului . . . . . . . . . . . . . . . . . . . . . . . 275
12.5.2. Rotirea spectrului inversat . . . . . . . . . . . . . . . . . . . . 276
12.5.3. Amestecarea spectrului . . . . . . . . . . . . . . . . . . . . . 277
12.5.4. Multiplexarea ^ ³n timp . . . . . . . . . . . . . . . . . . . . . . 279
12.6. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
13 MANAGEMENTUL CHEILOR CRIPTOGRAFICE 281
13.1. Managementul cheilor . . . . . . . . . . . . . . . . . . . . . . . . . . 281
13.2. Generarea cheilor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
13.3. Protect »ia cheilor criptogra¯ce . . . . . . . . . . . . . . . . . . . . . . 284
13.3.1. Cheie utilizator . . . . . . . . . . . . . . . . . . . . . . . . . . 284
13.3.2. Arhivarea cheilor . . . . . . . . . . . . . . . . . . . . . . . . . 285
13.3.3. Distrugerea cheilor . . . . . . . . . . . . . . . . . . . . . . . . 285
13.4. Lungimea cheilor criptogra¯ce . . . . . . . . . . . . . . . . . . . . . . 286
13.5. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
A METODE S »I TEHNICI DE PROGRAMARE 289
A.1. Structuri de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
A.2. Alocarea memoriei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
CUPRINS 13
A.3. Recursivitate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
A.4. Metoda backtracking . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
A.5. Tehnica Divide et Impera . . . . . . . . . . . . . . . . . . . . . . . . 291
A.6. Tehnica branch and bound . . . . . . . . . . . . . . . . . . . . . . . . 291
A.7. Programarea dinamic¸ a . . . . . . . . . . . . . . . . . . . . . . . . . . 292
A.8. Tehnica greedy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
A.9. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
B ELEMENTE DE TEORIA PROBABILIT ¸AT »ILOR 295
B.1. Caracteristici ale variabilelor aleatoare . . . . . . . . . . . . . . . . . 295
C STATISTIC ¸A DESCRIPTIV ¸A 297
C.1. Momentele unei variabile aleatoare . . . . . . . . . . . . . . . . . . . 297
C.2. Teoria select »iei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
C.3. Aplicat »ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
D TEORIA ESTIMAT »IEI 301
D.1. Tipuri de estimatori . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
D.2. Margini inferioare ale estimatorilor . . . . . . . . . . . . . . . . . . . 302
D.3. Estimat »ia de verosimilitate maxim¸ a . . . . . . . . . . . . . . . . . . . 304
D.4. Estimat »ia Bayesian¸ a . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
E REPATIT »II STATISTICE 307
E.1. Repartit »ii continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
E.1.1. Repartit »ia normal¸ a . . . . . . . . . . . . . . . . . . . . . . . . 307
E.1.2. Repartit »ia lognormal¸ a . . . . . . . . . . . . . . . . . . . . . . 308
E.1.3. Repartit »ia uniform¸ a . . . . . . . . . . . . . . . . . . . . . . . 308
E.1.4. Repartit »ia exponent »ial¸ a . . . . . . . . . . . . . . . . . . . . . 309
E.1.5. Repartit »ia gama . . . . . . . . . . . . . . . . . . . . . . . . . 310
E.1.6. Repartit »ia beta . . . . . . . . . . . . . . . . . . . . . . . . . . 312
E.1.7. Repartit »ia Cauchy . . . . . . . . . . . . . . . . . . . . . . . . 313
E.2. Distribut »ii discrete . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
E.2.1. Distribut »ia Bernoulli . . . . . . . . . . . . . . . . . . . . . . . 313
E.2.2. Distribut »ia binomial¸ a . . . . . . . . . . . . . . . . . . . . . . 313
E.2.3. Distribut »ia Poisson . . . . . . . . . . . . . . . . . . . . . . . . 314
E.2.4. Distribut »ia hipergeometic¸ a . . . . . . . . . . . . . . . . . . . 314
E.2.5. Distribut »ia geometric¸ a . . . . . . . . . . . . . . . . . . . . . . 314
E.3. Calculul numeric al cuantilelor . . . . . . . . . . . . . . . . . . . . . 314
E.3.1. Cuantila repartit »iei normale . . . . . . . . . . . . . . . . . . . 315
E.3.2. Cuantilele repartit »iei chi-p¸ atrat . . . . . . . . . . . . . . . . . 315
14 CUPRINS
F SERII DINAMICE STAT »IONARE 317
F.1. Exemple de serii dinamice . . . . . . . . . . . . . . . . . . . . . . . . 317
F.2. Procese stochastice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
F.3. Stat »ionaritate » si strict stat »ionaritate . . . . . . . . . . . . . . . . . . 319
F.3.1. Relat »ia dintre Stat »ionaritate » si Strict Stat »ionaritate . . . . . 320
F.4. Estimarea » si eliminarea componentelor tendint »¸ a » si sezoniere . . . . . 322
F.4.1. Eliminarea tendint »ei ^ ³n absent »a componenetei sezoniere . . . 323
F.4.2. Eliminarea simultan¸ a a componentelor tendint »¸ a » si sezoniere . 325
F.5. Funct »ia de autocovariant »¸ a a unui proces stat »ionar . . . . . . . . . . . 327
F.5.1. Funct »ia de autocovariant »¸ a de select »ie . . . . . . . . . . . . . . 329
G MODELUL AUTOREGRESIV-MEDIE MOBIL ¸A 331
G.1. Modelul autoregresiv AR(p) . . . . . . . . . . . . . . . . . . . . . . . 331
G.2. Modelul medie mobil¸ a MA(q) . . . . . . . . . . . . . . . . . . . . . . 332
G.3. Modelul ARMA(p,q) . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
G.4. Modelul ARIMA(p,d,q) . . . . . . . . . . . . . . . . . . . . . . . . . 333
G.5. Probleme puse proceselor ARIMA(p,d,q) . . . . . . . . . . . . . . . . 333
H SIMULAREA VARIABILELOR ALEATOARE 335
H.1. Tehnici de simulare . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
H.2. Legea tare a numerelor mari . . . . . . . . . . . . . . . . . . . . . . . 336
I ELEMENTE DE TEORIA NUMERELOR 339
I.1. Teste de primalitate . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
I.2. Lema chinezesc¸ a a resturilor . . . . . . . . . . . . . . . . . . . . . . . 340
I.3. Num¸ arul de numere prime . . . . . . . . . . . . . . . . . . . . . . . . 341
I.4. Simbolurile lui Legendre » si Jacobi . . . . . . . . . . . . . . . . . . . . 341
BIBLIOGRAFIE 343
Capitolul 1
INTRODUCERE
Acest¸ a lucrare abordeaz¸ a o ramur¸ a delicat¸ a a Criptologiei » si anume latura ofen-
siv¸ a a acesteia: Criptanaliza. Init »ial, domeniul criptanalizei a fost o preocupare
exclusiv guvernamental¸ a dar odat¸ a cu dezvoltarea Tehnologiei Informat »iei acest
domeniu a c¸ ap¸ atat » si un aspect comercial. Primele studii criptanalitice moderne
au fost realizate ^ ³n perioada celei de a doua con°agrat »ii mondiale » si vom ment »iona
pe urm¸ atorii cercet¸ atori: William F. Friedman ,Claude E. Shannon (SUA), Hans
Rohrbach (Germania), Alan Mathison Turing (Marea Britanie), Marian Rejewski
(Polonia), Arne Beurling (Suedia) » si Ernst S. Selmer (Norvegia).
Domeniul criptanalizei este un domeniu interdisciplinar din care se disting: teoria
informat »iei, teoria complexi¸ at »ii algoritmilor, metodele numerice, statistica matem-
atic¸ a, teoria probabilit¸ at »ilor, teoria codurilor » si nu ^ ³n ultimul r^ and, teoria numerelor.
Lucrarea este abordat¸ a din perspectiva evaluatorului de cifru » si nu a crackerului
(trebuie f¸ acut¸ a distinct »ia fat »¸ a de termenul hacker, care realizeaz¸ a act »iuni distruc-
tive).
Materialul este structurat ^ ³n 14 capitole, dup¸ a cum urmeaz¸ a:
Capitolul 1 realizeaz¸ a o prezentare a ^ ³ntregului material, indic^ and totodat¸ a » si o
diagram¸ a de parcurgere a acestuia.
^In Capitolul 2 se prezint¸ a not »iunile generale, accentul pun^ andu-se pe obiec-
tul criptanalizei » si pe operat »iile ce se efectueaz¸ a ^ ³n criptanaliz¸ a, ¯naliz^ andu-se cu
clasi¯c¸ ari ale atacurilor criptanalitice. Sunt prezentate, de asemenea, o serie de stan-
darde internat »ionale cu implicat »ii^ ³n evaluarea securit¸ at »ii sistemelor IT » si a modulelor
criptogra¯ce.
Capitolul 3 prezint¸ a teoria complexit¸ at »ii algoritmilor mai exact se vor prezenta
elemente de teoria ma» sinilor Turing » si exemple concrete de probleme NP¡complete.
Analiza statistico-informat »ional¸ a, prezentat¸ a ^ ³n Capitolul 4, este prima operat »i-
une ce se execut¸ a ^ ³n criptanaliz¸ a (teste statistice de aleatorism » si de complexitate
15
16 INTRODUCERE
algoritmic¸ a) » si este, de departe, cel mai vast capitol, datorit¸ a elementelor practice
constitutive. Practic, cu ajutorul tehnicilor prezentate, se pot sparge sistemele crip-
togra¯ce (algoritmi » si protocoale).
Operat »iunea de codi¯care este realizat¸ a dup¸ a cea de cifrare, pentru a realiza o
compatibilitate a ie» sirii algoritmului de cifrare cu canalul de comunicat »ie. ^In capi-
tolul 5 sunt prezentate tehnicile de codi¯care cele mai uzuale, precum » si principalele
rezultate referitoare la acestea.
Evident, o carte despre criptanaliz¸ a trebuie s¸ a^ ³nceap¸ a cu elemente de criptanaliz¸ a
clasic¸ a : cifruri de permutare » si cifruri de transpozit »ie. Capitolul 6 aduce cititorului
o nou¸ a viziune a abord¸ arii unor astfel de sisteme de cifrare: orice cifru simetric este
o combinat »ie dintre o transpozit »ie » si substitut »ie polialfabetic¸ a.
Capitolul 7 abordeaz¸ a problematica cifrurilor °ux, prezent^ andu-se metodele de
criptanaliz¸ a liniar¸ a, de corelat »ie, corelat »ie rapid¸ a, Siegenthaler, sindrom liniar, corec-
t »ia iterativ¸ a a erorilor, etc. Capitolul se ^ ³ncheie cu prezentarea unor tehnici de
proiectare, precum » si cu exemplu practic de atac criptanalitic.
^In mod natural, abordarea continu¸ a cu criptanaliza cifrurilor bloc, prezentat¸ a ^ ³n
Capitolul 8, ^ ³n care se face o expunere a principalelor moduri de lucru ale acestora,
accentul pun^ andu-se pe studiile comparative ale e¯cient »ei acestora. Este realizat¸ a
o introducere ^ ³n criptanaliza diferent »ial¸ a » si criptanaliza liniar¸ a, ¯ind date » si o serie
de exemple de implement¸ ari » si rezultate experimentale referitoare la standardul de
cifrare AES ( Advanced Encryption Standard ) care este succesorul standardului DES
(Data Encryption Standard ).
Capitolul 9 este dedicat introducerii ^ ³n criptogra¯a asimetric¸ a (chei publice) ^ ³n
care securitatea sistemului se bazeaz¸ a pe di¯cultatea computat »ional¸ a a unor prob-
leme din teoria numerelor, ca de exemplu: factorizarea numerelor mari, logaritmul
discret, extragerea r¸ ad¸ acinii p¸ atrate modulo ^ ³n num¸ ar compozit, etc. Sunt prezen-
tate metodele de cifrare de tip rucsac, RSA, Pohling-Hellman, Rabin, ElGamal,
sistemele de cifrare bazate pe curbe eliptice, precum » si tehnicile » si metodele de fac-
torizare a numerelor mari. Se abordeaz¸ a » si problematica PKI (infrastructura cu chei
publice).
Semn¸ atura digital¸ a a ap¸ arut ca un element de necesitate: realizarea unei funct »ii
care s¸ a aib¸ a aceea» si valoare ca semn¸ atura olograf¸ a. ^In capitolul 10 sunt prezen-
tate tehnici de realizare a semn¸ aturilor digitale cu ajutorul criptogra¯ei simetrice » si
asimetrice.
Un loc aparte ^ ³n cadrul acestei prezent¸ ari ^ ³l det »ine Capitolul 11 ;dedicat cript-
analizei protocoalelor criptogra¯ce : protocoale elementare de autenti¯care » si schimb
de chei, protocoale avansate de tip demonstrat »ii conving¸ atoare f¸ ar¸ a detalii, cunoa-
» stere zero, dezv¸ aluire minim¸ a, transfer de bit, etc.
^In Capitolul 12, se prezint¸ a o introducere ^ ³n analiza sistemelor de cifrare ana-
17
logic¸ a, abord^ andu-se tematici de calcul operat »ional (transformatele Laplace, Fourier,
Walsh » si z), conversie semnal analogic ^ ³n semnal digital » si cifrare analogic¸ a (inver-
sarea, rotirea, amestecarea » si multiplexarea spectrului).
Una dintre p¸ art »ile critice ale unui sistem criptogra¯c este aceea a managementu-
lui cheilor criptogra¯ce. ^In Capitolul 13, sunt abordate probleme de management,
generare » si protect »ie al cheilor criptogra¯ce.
Majoritatea capitolelor abordate cont »in numeroase exemple practice, precum » si
exercit »ii rezolvate sau propuse spre rezolvare.
Datorit¸ a caracterului interdisciplinar, am considerat util¸ a prezentarea unor anexe
din tehnicile de programare, teoria probabilit¸ at »ilor, statistic¸ a matematic¸ a, simulare
» si teoria algebric¸ a a numerelor. Problemele puse^ ³n cadrul acestor anexe pot constitui
cursuri de suport pentru o dezvoltare aprofundat¸ a a domeniului criptogra¯c.
Lucrarea se ^ ³ncheie cu o bibliogra¯e ^ ³n care au fost incluse o serie de referint »e
clasice din domeniul criptanalizei. ^In ¯gura 1.1 se prezint¸ a o abordare optim¸ a a
subiectelor tratate ^ ³n aceast¸ a carte.
Figura 1.1: Diagrama de parcurgere a c¸ art »ii.
S-a avut ^ ³n vedere elaborarea unei culegerei ce va cont »ine exemple, exercit »ii » si
studii de caz care s¸ a dubleze materialul de fat »¸ a.
Cartea este util¸ a proiectant »ilor de sisteme criptogra¯ce, student »ilor de la fac-
ult¸ at »ile cu pro¯l IT, masteranzilor » si doctoranzilor din domeniul securit¸ at »ii crip-
togra¯ce, precum » si tuturor celor interesat »i de domeniul securit¸ at »ii ^ ³n form¸ a elec-
tronic¸ a a informat »iilor.
18 INTRODUCERE
Capitolul 2
NOT »IUNI GENERALE
ars ipsi secreta magistro
Jean Robert du Carlet,1644
2.1. Obiectul criptanalizei
Consider¸ am util s¸ a de¯nim unele dintre principalele not »iuni cu care vom opera
^ ³n cele ce urmeaz¸ a.
CRIPTOLOGIA este » stiint »a scrierilor secrete, av^ and drept obiect ap¸ ararea secre-
tului datelor » si informat »iilor con¯dent »iale, cu ajutorul sistemelor criptogra¯ce.
CRIPTOGRAFIA este latura defensiv¸ a a CRIPTOLOGIEI , av^ and drept obiect
de activitate elaborarea (conceperea) sistemelor criptogra¯ce » si a regulilor folosite.
Cei care au aceast¸ a specialitate sunt denumit »i criptogra¯.
CRIPTANALIZA este latura ofensiv¸ a a CRIPTOLOGIEI , av^ and drept obiect
de activitate studierea sistemelor criptogra¯ce proprii pentru a le oferi caracteris-
ticile necesare, astfel ^ ³nc^ at acestea s¸ a-» si ^ ³ndeplineasc¸ a funct »ia pentru care au fost
concepute. Totodat¸ a criptanaliza poate analiza sistemele criptogra¯ce ale tert »elor
p¸ art »i-prin intermediul criptogramelor realizate cu ele- astfel ^ ³nc^ at spargerea aces-
tora s¸ a obt »in¸ a informat »ii utile institut »iei pe care o deserve» ste. Speciali» stii din acest
domeniu se numesc criptanali» sti sau, folosind un termen mai romantic, sp¸ arg¸ atorii
de coduri.
Prinalgoritm criptogra¯c ^ ³nt »elegem o mult »ime de transform¸ ari uniinversabile prin
care mult »imea mesajelor (textelor) clare dintr-o limb¸ a se transform¸ a ^ ³n mult »imea M
a criptogramelor.
Cheia de cifrare constituie o convent »ie particular¸ a, materializat¸ a, printr-un cu-
v^ ant, fraz¸ a, num¸ ar, » sir numeric etc. » si care dirijeaz¸ a (reglementeaz¸ a) operat »ia de
cifrare .
19
20 NOT »IUNI GENERALE
Unprotocol criptogra¯c este un set de reguli, ^ ³ntre doi sau mai mult »i parteneri,
prin care are loc o operat »ie de autenti¯care » si/sau transfer de cheie sau mesaje.
Unsistem criptogra¯c este compus din trei elemente: algoritm de cifrare, sistem
de generare al cheilor » si protocol de distribut »ie al cheilor de cifrare.
Supracifrarea const¸ a dintr-o mult »ime de transform¸ ari aplicate asupra criptogra-
melor » si are rolul s¸ a ^ ³nt¸ areasc¸ a rezistent »a criptogramelor (deci a sistemului crip-
togra¯c) fat »¸ a de atacul criptanali» stilor tert »elor p¸ art »i.
Descifrarea este operat »ia invers¸ a cifr¸ arii » si ea const¸ a ^ ³n aplicarea sistemului de
cifrare cunoscut (^ ³n prezent »a cheii corecte) asupra criptogramelor pentru a°area
mesajului clar.
Decriptarea este operat »ia prin care, numai pe baza analizei criptogramelor re-
alizate cu un sistem de cifru necunoscut, se pune ^ ³n evident »¸ a mesajul clar care a
fost criptogra¯at » si se determin¸ a caracteristicile sistemului criptogra¯c folosit pen-
tru cifrare.
Sistemele criptogra¯ce (cifruri, coduri sau combinat »ii ale acestora) se aplic¸ a unor
mesaje clare redactate ^ ³ntr-o limb¸ a oarecare, mesaje care au anumite caracter-
istici structurale » si statisice, proprii limbii respective. Prin aplicarea sistemelor
criptogra¯ce aceste caracteristici sunt perturbate, intensitatea » si direct »ia acestor
perturbat »ii reg¸ asindu-se ^ ³n criptogram¸ a. Un sistem criptogra¯c este cu at^ at mai
bun cu c^ at intensitatea acestor perturbat »ii este mai mare, astfel ^ ³nc^ at criptograma
s¸ a nu mai re°ecte caracteristicile structurale ale mesajelor clare, deci ale limbii ^ ³n
care au fost ele redactate. Diverse tehnici » si metode permit ca anumite tipuri de
sisteme de cifrare s¸ a ¯e invariante la anumit »i parametrii. Ace» sti invariant »i constituie
elemente de baz¸ a ^ ³n criptanaliz¸ a. Cititorul poate consulta pentru o introducere ^ ³n
domeniul criptologiei Tilborg [89] » si Schneier [69].
2.2. Criterii » si standarde
2.2.1. Bene¯cii ale standardelor
Standardele, indiferent de categoria lor, sunt importante prin faptul c¸ a de¯nesc
practici, metode » si m¸ asuri ce urmeaz¸ a a ¯ urmate de c¸ atre dezvoltator, integrator » si
bene¯ciar. Din acest motiv standardele cresc ¯abilitatea » si e¯cient »a produselor, iar
acest lucru duce la o cre» stere a gradului de calitate. Standardele ofer¸ a solut »ii care
sunt acceptate de comunitatea c¸ areia i se adreseaz¸ a » si sunt evaluate de c¸ atre expert »i
^ ³n domeniul respectiv. Prin folosirea standardelor, organizat »iile pot reduce costurile
» si protejeaz¸ a investit »iile lor ^ ³n echipamente tehnologice.
Standardele ofer¸ a pentru domeniul IT interoperabilitate, securitate » si integritate.
CRITERII S »I STANDARDE 21
Interoperabilitatea. Produsele elaborate de un standard speci¯c pot ¯ folosite
cu alte produse elaborate dup¸ a aceea» si categorie de standarde. Spre exemplu, prin
folosirea unui algoritm de cifrare, datele au fost cifrate prin intermediul unui echipa-
ment produs de ¯rma A» si pot ¯ descifrate cu ajutorul unui echipament produs de
c¸ atre ¯rma B:Prin asigurarea interoperabilit¸ at »ii dintre diferitele echipamente, stan-
dardele permit unei organizat »ii sau ¯rme s¸ a opteze pentru un anume produs pentru
a minimiza cheltuielile.
Securitatea. Standardele pot ¯ utilizate pentru a atinge un anume nivel comun
de securitate. Majoritatea directorilor de ¯rme nu sunt expert »i ^ ³n probleme de se-
curitate, dar prin folosirea unui algoritm standardizat (de exemplu standarde FIPS)
au certitudinea c¸ a acesta a fost analizat de c¸ atre organizat »ia de standardizare (^ ³n
acest caz NIST).
Integritatea. Standardele pot ¯ folosite pentru a asigura integritatea unui anume
produs.
Nivel de referint »¸ a. Un standard poate ¯ un nivel de referint »¸ a ^ ³n evaluarea pro-
duselor elaborate de catre o ¯rm¸ a A(de exemplu standardul FIPS PUB 140-2 este
un standard pentru cerint »ele de securitate a modulelor criptogra¯ce).
Minimizarea costurilor. Un standard poate duce la minimizarea cheltuielilor prin
adoptarea unei solut »ii deja existente. F¸ ar¸ a aceste standarde, de exemplu, utilizatorii
de sisteme informatice vor trebui s¸ a devin¸ a expert »i ^ ³n orice produs IT.
2.2.2. Organisme de standardizare
Principalele organisme de standardizare din SUA sunt:
-National Institute of Standards and Technologies (NIST) este o organizat »ie care
elaboreaz¸ a standarde FIPS pentru guvernul federal al SUA,
-American National Standards Institute (ANSI) este un administartor al stan-
dardelor din sectorul privat (orice standard FIPS are un echivalent ^ ³n standardele
ANSI),
-Institute of Electrical and Electronical Engineering (IEEE) are ca obiectiv prin-
cipal elaborarea de teorii » si tehnici avansate din domeniile electric, electronic, » stiint »a
calculatoarelor » si informatic¸ a,
-Internet Engineering Task Force (IETF), este o comunitate internat »ional¸ a de
proiectant »i de ret »ele, operatori, comerciant »i de servicii » si cercet¸ atori care se ocup¸ a
^ ³n principal de evolut »ia arhitecturii Internetului. Aceast¸ a comunitate act »ioneaz¸ a ^ ³n
grupuri de lucru care sunt organizate dup¸ a domeniile de activitate speci¯ce ca de
exemplu: rutare, transport, securitate, etc,
-IETF Public-Key Infrastructure (X.509) (PKIX) Working Group se ocup¸ a de
standardizarea protocoalelor folosite de ret »eaua Internet care au la baz¸ a sistemele cu
22 NOT »IUNI GENERALE
chei publice. X509 reprezint¸ a un standard acceptat pe scar¸ a larg¸ a pentru infrastruc-
tura ce de¯ne» ste formatul datelor » si a procedurilor legate de distribut »ia cheilor pub-
lice prin certi¯catele digitale semnate de autorit¸ at »ile de certi¯care (CA),
-International Organization for Standardization (ISO), este un organism negu-
vernamental la care au aderat peste 100 de state » si are ca scop principal promovarea
dezvolt¸ arii standardiz¸ arii pentru a facilita schimbul internat »ional de bunuri » si ser-
vicii, precum » si cooperarea ^ ³n domeniile intelectual, stiint »i¯c, tehnologic » si economic.
ISO lucreaz¸ a ^ ³n comitete tehnice de lucru, subcomitete » si grupuri de lucru.
2.2.3. Standardele ISO 15408 » si FIPS 140-2
Criterii Comune [106] (cunoscute » si ca standardul ISO 15408 ), notate ^ ³n cele
ce urmeaz¸ a prin CC, sunt rezultatul ^ ³ncerc¸ arilor de evaluare a securit¸ at »ii IT » si se
folosesc ^ ³n comunitatea internat »ional¸ a drept sistem de referint »¸ a. Criteriile Comune
de¯nesc un set de reguli » si cerint »e din domeniul IT pentru a valida securitatea pro-
duselor » si sistemelor IT. Criteriile comune de¯nesc modul de construct »ie al pro¯lului
protect »iei (PP) care permite eventualilor bene¯ciari sau produc¸ atori, creeare de se-
turi de standarde de cerint »e de securitate care s¸ a ^ ³ndeplineasc¸ a nevoile acestora. CC
este un standard voluntar care este folosit pentru a descrie propriet¸ at »ile securit¸ at »ii
(funct »ionale » si de asigurare) ale produselor » si sistemelor IT » si sunt organizate pe 7
niveluri de ^ ³ncredere (cunoscute sub acronimul de EAL).
Manualele FIPS PUB sunt linii directoare care trebuiesc urmate. De exemplu
FIPS PUB 46-3, Data Encryption Standard, este un set speci¯c de cerint »e tehnice
de securitate pentru algoritmul DES. Dup¸ a cum am ment »ionat mai sus FIPS 104-2
este un standard de cerint »e pentru modulul criptogra¯c care este organizat pe 4
niveluri.
C^ and dezvolt¸ am o speci¯cat »ie sau criteriu pentru selectarea unui modul sau pro-
dus criptogra¯c trebuie s¸ a veri¯c¸ am at^ at cerint »ele CC c^ at » si ale FIPS-urilor.
Produsele proiectate cu propriet¸ at »i speci¯cate de CC sau FIPS 140-2 trebuie tes-
tate (validate) pentru con¯rmarea acestor criterii. Validarea se face de un laborator
de testare specializat » si acreditat de c¸ atre organismele abilitate » si care con¯rm¸ a
faptul c¸ a produsele testate ^ ³ndeplinesc speci¯cat »iile de securitate respective.
2.3. Modelul OSI (Open System Interconectation)
2.3.1. De¯nirea nivelurilor ret »elei
Consider¸ am util prezentarea modului de interconectare a sistemelor actuale de
comunicat »ii (vezi Jamsa [34] ) care se poate face conform modelului OSI ( Open Sys-
MODELUL OSI (OPEN SYSTEM INTERCONECTATION) 23
tem Interconectation ), model ce de¯ne» ste cadrul de implementare a protocoalelor de
comunicat »ii pe » sapte niveluri » si anume:
-Nivelul ¯zic ^ ³n care are loc conversia bit »ilor ^ ³n impulsuri electrice, luminoase sau
semnale radio;
-Nivelul leg¸ atura de date realizeaz¸ a ^ ³mpachetarea datelor sub forma de bit »i;
-Nivelul ret »ea implementeaz¸ a circuite logice de transmisie a datelor;
-Nivelul transport asigur¸ a controlul °uxului de date ^ ³ntre sisteme de comunicat »ii;
-Nivelul sesiune realizeaz¸ a conexiuni ^ ³ntre aplicat »ii;
-Nivelul prezentare asigur¸ a independent »a fat »¸ a de diferent »ele de prezentare ale
datelor » si sintaxei;
-Nivelul aplicat »ie ^ ³n care are loc identi¯carea partenerilor de comunicat »ie;
Cele cinci mari principii, introduse de Andrew Tanenbaum ^ ³n anul 1981, utilizate
la realizarea nivelurilor ^ ³n modelul de referint »¸ a OSI, prezentate mai sus, sunt:
1. Se creeaz¸ a un nou nivel al ret »elei ori de c^ ate ori software-ul de ret »ea necesit¸ a
un nivel diferit de abstractizare;
2. Fiecare nivel trebuie s¸ a ^ ³ndeplineasc¸ a o funct »ie bine de¯nit¸ a;
3. Funct »ia ¯ec¸ arui nivel se alege t »in^ and cont de de¯nirea protocoalelor standard-
izate la nivel internat »ional;
4. Limitele nivelurilor se aleg astfel ^ ³nc^ at s¸ a minimizeze °uxul de informat »ii pe
interfet »e;
5. Num¸ arul de niveluri trebuie s¸ a ¯e su¯cient de mare astfel ^ ³nc^ at proiectant »ii s¸ a
nu ¯e obligat »i s¸ a implementeze funct »ii diferite pe acela» si nivel. Totu» si, num¸ arul de
niveluri nu trebuie s¸ a ¯e at^ at de mare ^ ³nc^ at acestea s¸ a devin¸ a greu de st¸ ap^ anit.
2.3.2. Nivelul ¯zic
Nivelul ¯zic transmite datele prin intermediul canalelor de comunicat »ie din ret »ea.
Nivelul ¯zic include elementele ¯zice (hardware) necesare pentru ^ ³ndeplinirea acestei
funct »ii. Ca atare, liniile de transmisie din ret »ea-cablurile care conecteaz¸ a toate calcu-
latoarele din ret »ea -fac parte din nivelul ¯zic. Metodele de transmisie a datelor, inclu-
siv semnalele de control » si temporiz¸ arile, sunt de asemnea componente ale nivelului
¯zic. Nivelul ¯zic include de asemenea » si tehnologiile de ret »ea (Ethernet, ARCNET
» si token ring) care de¯nesc parametrii pentru transmisiile de date.
2.3.3. Nivelul leg¸ atur¸ a date
Nivelul leg¸ atur¸ a date (sau nivelul leg¸ atur¸ a) transfer¸ a datele brute ^ ³ntre nivelul
¯zic » si nivelul ret »ea. Placa de ret »ea reprezint¸ a nivelul leg¸ atur¸ a de date ^ ³n calculator.
Funct »ia principal¸ a a nivelului leg¸ atur¸ a date este de a preveni alterarea datelor ^ ³n
cadrul nivelului ¯zic.
24 NOT »IUNI GENERALE
2.3.4. Nivelul ret »ea
Nivelul ret »ea determin¸ a ruta sau calea pe care o vor urma datele pentru a ajunge
la destinat »ie. Ca atare, nivelul ret »ea trebuie s¸ a gestioneze tra¯cul^ ³n ret »ea, congestiile
» si ratele de transfer (vitezele) de-a lungul liniilor de transmisie. Nivelul ret »ea tre-
buie de asemenea s¸ a gestioneze alter¸ arile datelor ^ ³n cadrul canalului de comunicat »ie.
Nivelul ret »ea poate ¯ considerat un sistem de livrare ^ ³n cadrul ret »elei. IP( Internet
Protocol ) este sinonim cu nivelul ret »ea.
2.3.5. Nivelul transport
Nivelul transport livreaz¸ a datele ^ ³n cadrul unui calculator host. Cu alte cuvinte,
dup¸ a ce nivelul ret »ea livreaz¸ a datele la adresa host corect¸ a, nivelul transport livreaz¸ a
datele la aplicat »ia corespunz¸ atoare din cadrul hostului destinat »ie.
2.3.6. Nivelul sesiune
Ca interfat »¸ a a utilizatorului cu ret »eaua, nivelul sesiune negociaz¸ a conexiunea
^ ³ntre procese sau aplicat »ii de pe calculatoare host diferite. Ca atare, nivelul sesiune
gestioneaz¸ a detalii ca nume de cont, parole » si autorizarea utilizatorilor. De exemplu,
^ ³n multe ret »ele, trebuie realizat¸ a operat »ia de login ^ ³nainte de a folosi serviciile de
ret »ea. Fiecare operat »ie de login deschide o sesiune.
2.3.7. Nivelul prezentare
Nivelul prezentare reune» ste funct »ii folosite ^ ³n mod repetat ^ ³n timpul comunica-
t »iilor ^ ³n ret »ea. Nivelul prezentare gestioneaz¸ a detaliile legate de interfat »a ret »eli cu
imprimantele, cu monitoarele » si formatele de ¯» siere. Pe scurt, nivelul prezentare de-
¯ne» ste felul cum se prezint¸ a ret »eaua pentru hardwarele » si softwarele instalat. Pentru
a ^ ³nt »elege motivele pentru care a fost creat nivelul prezentare, ne putem raporta la
cele cinci principii majore utilizate la proiectarea modelului OSI. De exemplu, chiar
dac¸ a ¯ecare aplicat »ie de ret »ea poate executa independent toate funct »iile nivelului
prezentare, putem de asemenea de¯ni toate funct »iile acestui nivel f¸ ar¸ a referint »¸ a la o
aplicat »ie sau la un alt nivel de ret »ea (principiul 2). Totu» si, pentru aceasta, trebuie
s¸ a cree¸ am un nivel diferit de abstractizare » si, astfel, un nou nivel (principiul 1).
Prin localizarea tuturor informat »iilor legate de imprimante, monitoare » si formate de
¯» siere ^ ³n acela» si nivel, minimiz¸ am °uxul de informat »ie relativ la acest¸ a interfat »¸ a prin
frontierele altor nivele (principiul 4).
TESTAREA SISTEMELOR CRIPTOGRAFICE 25
2.3.8. Nivelul aplicat »ie
Nivelul aplicat »ie cont »ine detalii despre aplicat »iile din ^ ³ntreaga ret »ea. Ca pro-
gramator de aplicat »ii sau creator de soft, deja suntem familiari cu o mare parte din
funct »ionarea nivelului aplicat »ie. Exemplele de aplicat »ii de ret »ea includ po» sta elec-
tronic¸ a (e-mail) » si bazele de date distribuite. Aplicat »iile dezvoltate pentru utilizarea
^ ³n Internet vor ¯ o component¸ a a nivelului aplicat »ie. De fapt, toate programele pen-
tru utilizatorii calculatoarelor din ret »ea (utilizatorii terminalelor de ret »ea) fac parte
din nivelul aplicat »ie.
2.3.9. Protocolul TCP/IP
Cel mai r¸ asp^ andit model de interconectare al sistemelor IT este TCP/IP (Trans-
port Control Protocol/Internet Protocol ) care s-a dezvoltat ^ ³n mediul universitar » si
actualmente este standardul de comunicat »ie pe Internet . TCP/IP are o segmentare
pe patru niveluri. Cele patru niveluri includ serviciile descrie de OSI astfel:
-Nivelul aplicat »ie : grupeaz¸ a funct »iile OSI din Aplicat »ie, Prezentare » si Sesiune
(nivelurile cinci, » sase » si » sapte);
-Nivelul transport este similar cu nivelul patru din OSI » si descrie dou¸ a protocoale:
UDP ( User Datagram Protocol ) » si TCP.
-Nivelul ret »ea , denumit » si INTERNET, asigur¸ a funct »iile OSI corespunz¸ atoare
nivelului trei » si reprezint¸ a baza arhitecturii TCP/IP.
-Nivelul de acces la ret »ea grupeaz¸ a serviciile OSI de pe nivelurile unu » si doi,
utiliz^ and standardele existente precum: Ethernet, Token Ring, FDDI, HSSI sau
ATM ( Asynchronous Transfer Mode ).
Elementele de criptologie pot interveni pe oricare dintre nivele de interconectare
pentru asigurarea serviciilor de con¯dent »ialitate, integritate, autenti¯care, nere-
pudiere, disponibilitate a informat »iei precum » si a controlului accesului la resursele
sistemului.
2.4. Testarea sistemelor criptogra¯ce
2.4.1. Introducere
Serviciile criptogra¯ce se implementeaz¸ a prin folosirea modulelor criptogra¯ce
(criptomodule) care au anumite funct »iuni ca de exemplu: generarea » si veri¯carea
semn¸ aturilor digitale (poate include » si servicii de notariat digital), cifrare » si de-
scifrare, generarea cheilor, distribut »ia cheilor, etc. Pentru a atinge un nivel de secu-
ritate al serviciilor ^ ³n sistem trebuie folosite de cele mai multe ori un num¸ ar mare
de module criptogra¯ce, deci o eroare nedetectat¸ a ^ ³n unul din modulele componente
26 NOT »IUNI GENERALE
ale sistemului poate afecta funct »iile criptogra¯ce ale ¯ec¸ arui utilizator al sistemu-
lui. Figura 2.1 prezint¸ a un model ierarhic de testare a securit¸ at »ii, model ce include
module criptogra¯ce. Acest model precum si organismele de testare aplicate sunt
descrise ^ ³n cadrul acestui capitol.
Figura 2.1: Model de testare.
Nivelurile minime sunt algoritmul criptogra¯c » si modulul criptogra¯c. Aceste
produse trebuie testate a priori dac¸ a se pot integra ^ ³ntr-un sistem existent sau
un sistem nou creeat. Modulele criptogra¯ce sunt testate de c¸ atre dezvoltatorul
aplicat »iei » si apoi trimise la Programul de Validare al Modulelor Criptogra¯ce (cunos-
cut sub acronimul CMVP ) pentru a ¯ testate sub incident »a FIPS 140-2 (Cerint »e de
Securitate pentru Modulele Criptogra¯ce).
2.4.2. Programul de validare a modulelor criptogra¯ce
Prezentare general¸ a
NIST » siCSE (Communication Security Establishment) din Canada au stabilit
de comun acord programul CMVP. Acesta are ca rol principal furnizarea servici-
ilor » si agent »iilor federale o metric¸ a a securit¸ at »ii pentru a ¯ folosit¸ a ^ ³n procurarea
TESTAREA SISTEMELOR CRIPTOGRAFICE 27
echipamentelor care cont »in module criptogra¯ce. Metrica este constituit¸ a cu aju-
torul test¸ arii independente de c¸ atre laboratoare acreditate. Validarea modului crip-
togra¯c se face cu ajutorul metodologiei DRT (Derived Test Requirements ) pentru
FIPS PUB 140-2. DRT-ul este o list¸ a a tuturor cerint »elor necesare pentru validarea
unui modul criptogra¯c » si sunt baza testelor efectuate de laboratoarele (acreditate)
de testare a modulului criptogra¯c ( CMT ).
Unmodul criptogra¯c este o combinat »ie a unor procese software » si hardware
specializate. Principalele avantajele ale folosirii modulelor validate (acreditate) sunt
urm¸ atoarele:
-asigurarea faptului c¸ a modulele au ^ ³ncorporate cerint »ele necesare;
-asigur¸ a personalul tehnic de faptul c¸ a produsul este conform cu un standard
agreeat » si de faptul c¸ a acesta a fost testat;
-asigur¸ a pe utilizator c¸ a modulul a fost supus unor cerint »e de securitate bine
de¯nite;
-cre» ste ¯abiliatatea cerint »elor de securitate care trebuie ^ ³ndeplinite pentru re-
alizarea unei aplicat »ii speci¯ce.
Printre responsabilit¸ at »ile NIST/CSE ment »ion¸ am:
-vizualizarea rapoartelor » si a certi¯catelor de validare;
-elaborarea politicilor CMVP;
-elaborarea de ghiduri » si clari¯c¸ ari pentru FIPS 140-1 » si alte standarde crip-
togra¯ce.
-asistarea National Voluntary Laboratory Accreditation Program (NVLAP).
Cerint »e ale FIPS PUB 140-2
Cerint »ele de securitate ale FIPS PUB 140-2 acoper¸ a 11 domenii legate de designul
» si implementarea modulului criptogra¯c. ^In funct »ie de cerint »ele ce sunt ^ ³ndeplinite,
^ ³n majoritatea domeniilor, modulul criptogra¯c prime» ste o not¸ a (de la 1 la 4) direct
proport »ional¸ a cu nivelul de securitate asigurat.
Validarea modulelor criptogra¯ce
Lista modulelor criptogra¯ce validate cuprinde urm¸ atoarele informat »ii pentru
¯ecare modul criptogra¯c:
-numele produc¸ atorului » si punctele de contact;
-numele modulului » si num¸ arul versiunii;
-tipul de modul (software sau hardware);
-data de validare;
-nivelul de validare;
-descrierea modulului (sau a produselor ce sunt incorporate ^ ³n acest modul).
28 NOT »IUNI GENERALE
2.4.3. Proceduri de certi¯care » si autorizare
Organizat »ii industriale » si de standardizare
Nivelul superior de testare, dup¸ a cel efectuat asupra algoritmilor » si modulelor,
se a°¸ a situat la nivelul product »iei. Produsele sunt testate de c¸ atre distribuitor,
organizat »ii de standardizare, precum » si de alte organizat »ii independente cu atribut »ii
de veri¯care » si de validare, care veri¯c¸ a faptul c¸ a produsele analizate funct »ioneaz¸ a
corect » si ^ ³ntr-un mod sigur. Modulele » si componentele criptogra¯ce vor ¯ ^ ³nglobate
^ ³n aceste produse, iar pentru aplicat »ii guvernamentale aceste module vor trebui s¸ a
satisfac¸ a prevederile unui standard nat »ional (echivalent cu FIPS PUB 140-2). La
acest nivel, elementul cel mai important este de a obt »ine garant »ii c¸ a respectivul
produs nu compromite sau elimin¸ a caracteristicile criptogra¯ce, conduc^ and – prin
aceasta – la realizarea unui dispozitiv cu funct »ionare nesigur¸ a din acest punct de
vedere.
2.4.4. Autoritate de certi¯care
Nivelul cel mai ridicat de testare se realizeaz¸ a ^ ³n cadrul unui sistem sau al unei
aplicat »ii. La nivel nat »ional, aceast¸ a testare va reprezenta chiar testarea de certi-
¯care. Prin ea se ^ ³nt »elege o analiz¸ a exhaustiv¸ a at^ at a procedurilor de control de
securitate tehnice sau de alt¸ a natur¸ a, precum » si alte m¸ asuri de protect »ie ale sis-
temului. Testarea de certi¯care precizeaz¸ a ^ ³n ce m¸ asur¸ a un anumit sistem satisface
cerint »ele de securitate, depinz^ and de funct »iile sale » si de nevoile operat »ionale. Re-
spectiva certi¯care vine ^ ³n sprijinul autoriz¸ arii acordate (de c¸ atre forurile ^ ³n drept)
privind utilizarea unui sistem. Prin certi¯care sistemul este examinat ^ ³n cadrul
mediului s¸ au operat »ional » si ^ ³mpreun¸ a cu alte sisteme care sunt legate ^ ³n ret »ea. Una
din sarcinile importante ale test¸ arii de certi¯care este aceea de a veri¯ca eliminarea
oric¸ aror riscuri de compromitere sau de eliminare ale caracteristicilor de securitate,
ce ar putea apare datorit¸ a unor sisteme externe. Se impune deci nu numai veri¯-
carea procedurilor tehnice de control, dar » si a celorlalte m¸ asuri de securitate (¯zice,
administrative » si de personal). Pentru institut »iile guvernamentale este de dorit ca
aceast¸ a testare de certi¯care s¸ a ¯e efectuat¸ a de departamente/organizat »ii care nu au
activit¸ at »i de cercetare/proiectare, asigur^ andu-se astfel o deplin¸ a obiectivitate. La
toate nivelurile la care se efectueaz¸ a testarea, o deosebit¸ a important »¸ a are posibili-
atea de urm¸ arire a modului cum au fost implementate controalele criptogra¯ce » si
ale altor parametri de securitate ^ ³n raport cu cerint »ele standardelor ^ ³n vigoare.
PROCESUL DE SELECTARE A MODULELOR CRIPTOGRAFICE 29
2.5. Procesul de selectare a modulelor criptogra¯ce
2.5.1. Faza de plani¯care
^In faza de plani¯care, scopul activit¸ at »ii este de a de¯ni obiectivele pe care trebuie
s¸ a le aib¸ a ^ ³n vedere tehnicile » si metodele criptogra¯ce. Aceste obiective se bazeaz¸ a
part »ial pe reglement¸ arile nat »ionale » si internat »ionale aplicabile. Aceste obiective se
stabilesc » si ^ ³n funct »ie de mediul de securitate existent (sau propus), precum » si ^ ³n
leg¸ atur¸ a cu o analiz¸ a preliminara a riscurilor fat »¸ a de riscuri » si a vulnerabilit¸ at »ilor
identi¯cate.
Politica de securitate
Politica de securitate (IT) este ^ ³n general de¯nit¸ a drept activitatea de stabilire a
deciziilor privind securitatea informat »iilor (electronice). Sunt incluse aici politicile
manageriale referitoare la :
1. Crearea unui program de securitate a ret »elelor de comunicat »ii electronice, cu
stabilirea sarcinilor » si a responsabilit¸ at »ilor,
2. Precizarea regulilor de securitate pentru anumite sisteme informatice,
3. Dezvoltarea politicilor necesare ^ ³n cadrul organizat »iilor.
Proiectarea sistemului include implemntari hardware » si software, proceduri, cerin-
t »e asupra ambientului, considerente privind securitatea ¯zic¸ a, etc. De obicei, politi-
cile de securitate au la baz¸ a nevoia de a proteja resursele IT, datele » si informat »iile.
^Intr-o organizat »ie politicile de securitate exist¸ a la toate nivelurile, pornind de la
situat »ii generale » si p^ an¸ a la aplicat »ii speci¯ce. Exist¸ a de asemenea politici de secu-
ritate la nivel nat »ional, care se aplic¸ a tuturor organizat »iilor sau agent »iilor » si, din
acest punct de vedere, se garanteaz¸ a o direct »ie de act »iune precis¸ a pentru protect »ia
resurselor IT nat »ionale. Dup¸ a cum vom vedea ^ ³n continuare, urm¸ atoarea etap¸ a im-
portant¸ a din faza de plani¯care este evaluarea riscurilor, dup¸ a care se vor putea
dezvolta politici privind utilizarea sistemelor de operare evaluate » si a modulelor
criptogra¯ce ^ ³n anumite condit »ii de mediu ambiental. D¸ am, mai jos, doar c^ ateva
din problemele ce trebuie avute ^ ³n vedere c^ and se elaboreaz¸ a cerint »ele » si politicile
criptogra¯ce:
1) modul de folosire a algorimilor » si con¯gurarea parametrilor acestora;
2) clasele de utilizatori ce vor folosi metode criptogra¯ce » si privilegiile asociate
acestor atribut »ii;
3) de¯nirea controalelor de con¯dent »ialitate » si integritate, ca » si a tehnicilor de
autenti¯care;
4) procedurile de audit;
5) managementul cheilor, inclusiv distribut »ia, generarea, folosirea » si distrugerea;
30 NOT »IUNI GENERALE
6) interoperabilitatea ^ ³ntre diferite organizat »ii » si institut »ii, etc.
Evaluarea riscurilor
Managementul riscurilor are dou¸ a componente: evaluarea, urmat¸ a de select »ia » si
implementarea contram¸ asurilor necesare.
-Evaluarea riscurilor determin¸ a impactul anumitor pierderi » si probabilitatea ca
acestea s¸ a apar¸ a. Pentru metodele criptogra¯ce aceste evenimente sunt reprezentate
de dezv¸ aluirea neautorizat¸ a » si de modi¯carea datelor.
-Select »ia » si implementarea contram¸ asurilor reduc probabilitatea de aparit »ie sau
minimizeaz¸ a impactul pierderilor.
Evaluarea riscurilor include urmatoarele activit¸ at »i:
1) identi¯carea obiectivelor de protejat;
2) evaluarea mecanismelor curente de securitate » si protect »ie;
3) identi¯carea » si clasi¯carea amenint »¸ arilor ce afecteaz¸ a integritatea, con¯dent »iali-
tatea, autenti¯carea, non-repudierea, disponibilitatea;
4) identi¯carea » si clasi¯carea pierderilor potent »iale;
5) dezvoltarea de scenarii de risc;
6) identi¯carea contram¸ asurilor de protect »ie potent »iale;
7) efectuarea analizei de cost/bene¯cii pentru contram¸ asurile propuse.
Obiectivele de securitate
Cea de-a treia sarcin¸ a major¸ a ^ ³n faza de plani¯care este stabilirea obiectivelor de
securitate . Aceste obiective sunt considerate de nivel ridicat » si se refer¸ a la securitatea
^ ³n general » si la criptogra¯e ^ ³n particular. Iat¸ a ^ ³n continuare doar c^ ateva exemple de
obiective de securitate:
1)Integritatea : Trebuie garantat¸ a corectitudinea cheilor criptogra¯ce precum » si
a altor CSP (parametri critici de securitate).
2)Disponibilitatea : Mecanismele de securitate trebuie s¸ a ¯e permanent disponi-
bile.
3)Sigurant »a : Trebuie s¸ a existe un anumit nivel de sigurant »¸ a c¸ a mecanismele de
securitate funct »ioneaz¸ a corect. Nu trebuie s¸ a apar¸ a vulnerabilit¸ at »i sporite la un
sistem prin conectarea sa la sisteme/ret »ele externe.
4)Autenti¯carea : Se va realiza identi¯carea » si autenti¯carea utilizatorilor sis-
temului, precum si urm¸ arirea ulterioar¸ a a activit¸ at »ilor acestora.
5)Semn¸ aturi numerice : Se vor folosi pentru a valida identitatea semnatarului
unui mesaj » si integritatea informat »ieie recept »ionate.
PROCESUL DE SELECTARE A MODULELOR CRIPTOGRAFICE 31
2.5.2. Faza de de¯nire a cerint »elor » si speci¯cat »iilor de securitate
^In aceast¸ a faz¸ a obiectivul este de a preciza cerint »ele » si speci¯cat »iile pentru metodele
criptogra¯ce propuse. Dup¸ a elaborarea acestor prevederi se va trece la de¯nirea
criteriilor generale de select »ie, iar ^ ³n ¯nal se vor identi¯ca metodele ce satisfac re-
spectivele cerint »e. Cerint »ele vor ¯ detaliate deoarece ele se constituie ^ ³ntr-un ajutor
pret »ios ^ ³n activitatea de selectarea a produselor, de implementare » si de testare.
Cerint »ele criptogra¯ce pot ¯ ^ ³mp¸ art »ite ^ ³n trei categorii: funct »ionale, de sigurant »¸ a » si
de mediu ambiental.
Cerint »ele funct »ionale descriu comportarea de securitate dorit¸ a pentru un sistem
sau produs » si ele trebuie s¸ a satisfac¸ a obiectivele de securitate.
Cerint »ele de sigurant »¸ a garanteaz¸ a faptul c¸ a un produs sau sistem IT r¸ aspunde
obiectivelor sale de securitate. Certitudinea c¸ a obiectivele de securitate sunt satis-
facute are la baz¸ a urm¸ atorii factori:
a) ^ ³ncrederea ^ ³n corectitudinea implement¸ arii funct »iilor de securitate, deci evalu-
area acestei implement¸ ari;
b) ^ ³ncredera ^ ³n e¯cient »a funct »iilor de securitate, respectiv evaluarea satisfacerii
obiectivelor de securitate stabilite.
Cerint »ele ambientale sunt menite s¸ a previn¸ a amenint »¸ arile » si riscurile din mediul
ambiental de operare al produsului sau sistemului » si s¸ a acopere orice politici sau
ipoteze de securitate din cadrul organizat »iei. Aceste cerint »e se aplic¸ a mai cur^ and
la sisteme dec^ at la metode criptogra¯ce speci¯ce. Ele sunt o component¸ a a secu-
rit¸ at »ii mediului, care include legi, politici de securitate, expertiz¸ a » si alte cuno» stint »e
relevante pentru acest domeniu.
Etapa ¯nal¸ a ^ ³n faza de de¯nire este identi¯carea categoriilor de metode » si tehnici
criptogra¯ce veri¯cate ca r¸ aspunz^ and cerint »elor de securitate prin metode de evalu-
are a riscurilor.
2.5.3. Faza de achizit »ie
^Infaza de achizit »ie se va selecta un produs sau modul ce corespunde cerint »elor
documentate, pentru ca ulterior acesta s¸ a ¯e con¯gurat, implementat » si testat ^ ³n
sistem. Trebuie subliniat faptul c¸ a testarea extensiv¸ a a controalelor criptogra¯ce este
deosebit de important¸ a datorit¸ a rolului acestora ^ ³n garantarea securit¸ at »ii sistemului
^ ³n ansamblul s¸ au.
O a doua sarcin¸ a major¸ a^ ³n aceast¸ a faz¸ a este elaborarea documentat »iei pentru uti-
lizatori » si administratorul de securitate criptogra¯c¸ a care s¸ a-i instruiasc¸ a ^ ³n privint »a
responsabilit¸ at »ilor ce le revin pentru a garanta securitatea sistemului.
Securitatea oferit¸ a de un sistem criptogra¯c depinde de valabilitatea matematic¸ a
a algoritmului folosit, de lungimea cheilor criptogra¯ce, de managementul cheilor » si
32 NOT »IUNI GENERALE
de modul de operare. ^In fazele de cercetare » si dezvoltare, responsabilitatea privind
realizarea unui modul care s¸ a respecte anumite cerint »e de securitate revine pro-
duc¸ atorului, dar trebuie avut ^ ³n vedere faptul c¸ a prin conformitatea cu un anumit
standard nu se garanteaz¸ a automat c¸ a un anumit produs este sigur. Responsabili-
tatea ¯nal¸ a revine integratorului de sistem, care trebuie s¸ a asigure con¯gurarea » si
veri¯carea unui modul criptogra¯c pentru a garanta funct »ionarea sa ^ ³n condit »ii de
securitate acceptate.
Urm¸ atoarele trei reguli guverneaz¸ a implementarea criptogra¯ei ^ ³n sistemele IT:
1) S¸ a se determine precis ce informat »ii trebuie protejate folosind o funct »ie crip-
togra¯c¸ a;
2) S¸ a se protejeze datele^ ³nainte de generarea/veri¯carea semn¸ aturii » si de operat »iile
de cifrare sau descifrare;
3) S¸ a se dea utilizatorilor posibilitatea de a monitoriza local toate datele ce sunt
semnate sau cifrate.
2.5.4. Faza de operare
^In aceast¸ a faz¸ a trebuie s¸ a se asigure funct »ionarea continu¸ a ^ ³n sigurant »¸ a a metode-
lor criptogra¯ce. Cele dou¸ a domenii critice sunt pregatirea utilizatorilor » simanage-
mentul supravegherii componentelor criptogra¯ce .
Este deosebit de important ca tot »i utilizatorii s¸ a ¯e con» stient »i de responsabilit¸ at »ile
ce le revin, s¸ a cunoasc¸ a procedurile ce trebuie respectate ^ ³n condit »ii normale sau de-
osebite » si s¸ a » stie unde s¸ a cear¸ a sprijin ^ ³n caz de necesitate. Respectivele proceduri
trebuie s¸ a se constituie ^ ³n standarde general aplicabile ^ ³n cadrul sistemului. Dac¸ a nu
se respect¸ a un set bine documentat de proceduri, ^ ³n sistem pot apare sl¸ abiciuni care
pot ajunge p^ an¸ a la transmiterea datelor ^ ³n clar. ^Intret »inerea componentelor crip-
togra¯ce este un factor critic ^ ³n asigurarea funct »ion¸ arii ^ ³n sigurant »¸ a, precum » si pen-
tru disponibilitatea modulului/produsului. Ca simplu exemplu, cheile criptogra¯ce
neschimbate dup¸ a plecarea unor angajat »i, constituie un element de nesigurant »¸ a.
^In acest context, se vor avea ^ ³n vedere urm¸ atoarele domenii de ^ ³ntret »inere: hard-
ware/¯rmware, software, aplicat »ii, chei » si personal.
2.6. Operat »ii in criptanaliz¸ a
2.6.1. Principii criptanalitice
^In general ^ ³n proiectarea unui sistem criptogra¯c trebuie respectate urm¸ atoarele
principii de proiectare :
1. Nu trebuie subestimat adversarul;
2. Numai un criptanalist poate evalua securitatea unui sistem criptogra¯c;
OPERAT »II IN CRIPTANALIZ ¸A 33
3.^In evaluarea unui sistem criptogra¯c se ia ^ ³n considerare faptul c¸ a adversarul
are cuno» stint »e complete despre sistemul evaluat ( Claude E. Shannon [73]: adversarul
cunoa» ste ^ ³n totalitate sistemul criptogra¯c). Tot secretul unui sistem criptogra¯c
trebuie s¸ a rezide numai ^ ³n cheie;
4. Complicat »iile super¯ciale pot ¯ iluzorii iar acestea pot induce criptografului
un sentiment de fals¸ a sigurant »¸ a;
5.^In evaluarea unui sistem criptogra¯c trebuie luate ^ ³n calcul toate elementele
ca de exemplu reglement¸ arile referitoare la distribut »ia cheilor, a materialului crip-
togra¯c, etc.
2.6.2. Criterii de evaluare
Claude Shannon a propus ca urm¸ atoarele elemente s¸ a ¯e luate ^ ³n considerare ^ ³n
operat »ia de analiz¸ a a unui sistem criptogra¯c:
1. C^ a» stigul adversarului rezultat din eventuala decriptare a materialului;
2. Lungimea cheii » si complexitatea modului de manipulare al acestora;
3. Gradul de complexitate al efectu¸ arii unui ciclu de cifrare-descifrare;
4. Dimensiunea textului cifrat relativ la dimensiunea textului clar;
5. Modul de propagare al erorilor.
2.6.3. Patru operat »ii de baz¸ a ale criptanalizei
^In general, operat »iile de baz¸ a pentru solut »ionarea ¯ec¸ arei criptograme sunt siten-
tizate ^ ³n urm¸ atoarele etape:
1) determinarea limbii folosite ^ ³n textul respectiv;
2) determinarea tipului de sistem criptogra¯c folosit;
3) reconstruct »ia unei chei speci¯ce (part »iale sau complete) a sistemului crip-
togra¯c echivalent determinat la PASUL 2;
4) reconstruct »ia folosirii unui astfel de sistem » si/sau stabilirea textului clar com-
plet.
^In unele cazuri, etapa 2 poate precede etapa 1. Aceasta este abordarea clasic¸ a ^ ³n
criptanaliz¸ a » si poate ¯ redus¸ a la:
1. Aranjarea sau rearanjarea datelor pentru g¸ asirea caracteristicilor nealeatoare
sau a manifest¸ arilor (num¸ ar¸ atoare de frecvent »¸ a, repetit »ii, forme, fenomene simet-
rice);
2. Recunoa» sterea caracteristicilor nealeatoare sau a manifest¸ arilor c^ and sunt puse
^ ³n evident »¸ a (prin statistici sau alte tehnici);
3. Explicarea caracteristicilor nealeatoare c^ and sunt recunoscute (prin noroc,
inteligent »¸ a sau perseverent »¸ a). Munca cea mai grea const¸ a^ ³n determinarea sistemului
general.
34 NOT »IUNI GENERALE
^In analiza ¯nal¸ a, solut »ia ¯ec¸ arei criptograme implic¸ a o form¸ a de substitut »ie ce
depinde de reducerea termenilor monoalfabetici dac¸ a textul cifrat nu se exprim¸ a prin
literele textului clar.
2.6.4. Evaluare » si spargere
Trebuie s¸ a facem de la bun ^ ³nceput diferent »a dintre not »iunile de evaluare » si cea de
spargere a unui sistem criptogra¯c. Evaluarea este un proces prin care se urm¸ areste
punerea ^ ³n evident »¸ a a unor neconcordant »e sau hibe ale sistemului criptogra¯c ce pot
¯ folosite de un eventual cracker. Un model de testare (testare algoritm, testare
modul criptogra¯c, testare produs » si testare aplicat »ie/sistem) este prezentat¸ a ^ ³n
¯gura 2.4.1.
Evaluarea modulului criptogra¯c se poate face de exemplu cu ajutorul standar-
dului NIST FIPS 140-2 (pe patru niveluri de ierarhizare) iar evaluarea unui produs
cu ajutorul metodologiei CC Common Criteria, adoptat¸ a de SUA, CANADA » si UE
(pe » sapte niveluri de ierarhizare). Proiectarea » si evaluarea securit¸ at »ii unei ret »ele de
calculatoare se poate face conform Stallings [88] » si respectiv standardului american
NIST 800-40 [108].
Spargerea este operat »ia prin care se poate proiecta o tehnic¸ a, metod¸ a sau algoritm
prin care s¸ a se poat¸ a recupera cheia sistemului criptogra¯c sau textul clar cu o
complexitate mai mic¸ a dec^ at metoda atacului brut:
-evaluatorul dore» ste s¸ a g¸ aseasc¸ a cantitatea minim¸ a de informat »ie de tip ie» sire din
care poate determina, prin folosirea unor instrumente matematice puternice, o serie
de informat »ii despre algoritmul de cifrare, cheia folosit¸ a » si/sau textul clar;
-crackerul dore» ste s¸ a g¸ aseasc¸ a cantitatea maxim¸ a de informat »ie din care poate
deduce textul clar.
Aici termenii de maxim sau minim au o semni¯cat »ie generic¸ a. De fapt, problema
este o problem¸ a de decizie multicriterial¸ a (vezi Preda [57] pentru o introducere ^ ³n
teoria deciziilor statistice ): o serie de funct »ii obiectiv trebuie maximizate (m¸ arimea
cheii de cifrare, gradul de neliniaritate, complexitatea liniar echivalent¸ a, perioada
generatorului pseudoaleatoriu, riscul de interceptare a cheii ^ ³ntr-o ret »ea criptogra¯c¸ a
etc.) iar alte funct »ii trebuie minimizate (redundant »a generatorului de chei, gradul de
corelare al intr¸ arii/ie» sirii). Aceste funct »ii sunt condit »ionate de cunoa» sterea sistemului
criptogra¯c (adversarul are cuno» stint »e complete despre sistemul de cifrare folosit),
decit¸ aria unui sistem de cifrare trebuie s¸ a rezide numai ^ ³n cheie.
S¸ a not¸ am cu Info n(m;c;k) informat »ia adit »ional¸ a referitoare la sistemul crip-
togra¯c, adic¸ a o relat »ie vectorial¸ a ^ ³ntre o mult »ime de nmesaje clare, o mult »ime de
p(n) criptograme » si o mult »ime de q(n) chei particulare. Relat »ia Info n(m;c;k) este
construit¸ a cu ajutorul mai multor tipuri de atac, ca de exemplu: atacul pe baza
textului clar (text clar cunoscut » si/sau text clar ales), atac diferent »ial, cunoa» sterea
OPERAT »II IN CRIPTANALIZ ¸A 35
unei mult »imi particulare de chei ( q(n)>0), mesaje identice cifrate cu dou¸ a sau
mai multe chei diferite (unui mesaj clar i se asociaz¸ a mai multe mesaje cifrate), sau
cunoa» sterea sistemului criptogra¯c.
Pentru evaluator. Fieen2[0; 1] un » sir de numere reale » si funct »ia obiectiv n+
p(n) +q(n):Problema de optimizare pentru evaluator este:
8
><
>:min(n+p(n) +q(n))
Info n(m;c) =0
H(mjc)¸en;
unde H(mjc) este entropia condit »ionat¸ a (vezi Guia» su [32])de vectorul criptogramelor
ca variabilei aleatoare asignate vectorului mesajelor clare m.
Evaluatorul dore» ste ca:
1. limn!1en= 1 (cunoa» sterea textului cifrat nu compromite textul clar);
2. s¸ a minimizeze pierderea maxim¸ a (notat¸ a aici prin L(x; y)) adic¸ a:
®= minxmaxyL(x; y);
unde xeste strategia de ap¸ arare a evaluatorului (numit¸ a » si politic¸ a de ap¸ arare), iar
yeste strategia atacatorului.
Pentru cracker. Fiedn2[0; 1] un » sir de numere reale » si funct »ia obiectiv n+
p(n) +q(n):Problema de optimizare pentru cracker este:
8
><
>:max( n+p(n) +q(n))
Info n(m;c) =0
H(mjc)·dn;
unde H(mjc) este entropia condit »ionat¸ a de criptograma a variabilei aleatoare asig-
nate mesajului clar.
Crackerul dore» ste ca:
1. limn!1dn= 0 (cunoa» sterea textului cifrat compromite mesajul clar);
2. s¸ a maximizeze c^ a» stigul minim (notat tot prin L(x; y);c^ a» stigul ¯ind o pierdere
negativ¸ a) adic¸ a:
¯= maxyminxL(x; y);
unde xandyau acelea» si speci¯cat »ii.
^In general, avem ¯·®adic¸ a maximul c^ a» stigul minim al crackerului nu poate
dep¸ a» si minimul pierderii maxime a evaluatorului (dac¸ a avem egalitate atunci strate-
giile corespunz¸ atoare se numesc puncte » sa pentru funct »ia L).
Avem ¯ < ® dac¸ a canalul de interceptare este cu perturbat »ie.
36 NOT »IUNI GENERALE
Cele dou¸ a probleme de programare (evaluator/cracker) sunt probleme duale.
Avem urm¸ atoarea relat »ie vectorial¸ a:
c=f(m;kt) (2.1)
undefeste operatorul de criptare.
Dac¸ a kt=kpentru orice t2T(Teste perioada de cifrare care este o mult »ime
discret¸ a) atunci relat »ia anterioar¸ a se rescrie:
c=f(m;k) (2.2)
unde feste operatorul de criptare. ^In acest caz, spunem c¸ a avem de a face cu
o codi¯care a informat »iei (rolul teoriei codurilor este de a proteja informat »ia de
erorile ce pot ap¸ area pe canalul de comunicat »ie; rolul criptogra¯ei este de a proteja
informat »ia de interceptarea neautorizat¸ a).
^In cazul codi¯c¸ arii dup¸ a rezolvarea unui sistem neliniar, putem scrie:
m=h(c;k) (2.3)
Deci cunoa» sterea lui f(:;:) ne permite s¸ a g¸ asim pe mdinc. Sistemul 2.1, care este
un sistem stochastic ( ;K;P);este mult mai di¯cil de rezolvat dec^ at sistemul 2.2
care este un sistem determinist, deoarece nu apare parametrul t. Solut »ia sistemului
2.2, dat¸ a de 2.3, este o solut »ie particular¸ a a sistemului 2.1 pentru situat »ia ^ ³n care
kt=k. Cu alte cuvinte, putem spune c¸ a operat »ia de codi¯care este o operat »ie de
criptare cu o cheie particular¸ a.
De foarte multe ori, funct »ia de criptare feste dat¸ a ^ ³n forma scalar¸ a:
ci=f(mi; ki);pentru orice i= 1; :::; n;
unde kieste cheia iobt »inut¸ a din cheia de baz¸ a kt:
Dac¸ a fpoate ¯ factorizat¸ a ^ ³n modul urm¸ ator:
f(mi; ki) =mi©g(ki);
unde©este operatorul de sumare mod 2 ;atunci schema de criptare se nume» ste
cifrare °ux , iar funct »ia ggenerator pseudoaleatoriu . Datorit¸ a simplit¸ at »ii (din punct
de vedere al implement¸ arii) » si rapidit¸ at »ii aceast¸ a schem¸ a de cifrare este foarte folosit¸ a
^ ³n cifrarea comunicat »iilor de tip date » si voce. ^In acest caz di¯cultatea spargerii este
echivalent¸ a cu di¯cultatea predict »iei sau chiar a determin¸ arii funct »iei g(sau a unei
funct »ii echivalente care d¸ a aceea» si ie» sire). Tehnica rezolv¸ arii problemei este echiva-
lent¸ a cu tehnica ingineriei inverse. Pentru a putea face o comparat »ie a complexit¸ at »ii
de implementare sau a complexit¸ at »ii de spargere a algoritmilor de cifrare se folosesc
simbolurile O» sio.
OPERAT »II IN CRIPTANALIZ ¸A 37
De¯nit »ia 2.6.1. (M¸ asura complexit¸ at »ii ). Fie f:D!R:
a) Spunem c¸ a o funct »ie g:D!ResteO(f) dac¸ a gapart »ine mult »imii:
O(f) =fh:D!Rj 9M > 0 :
jh(x)j ·Mjf(x)j;8x2Dg:
b) Spunem c¸ a o funct »ie g:D!Resteo(f) dac¸ a gapart »ine mult »imii:
o(f) =fh:D!Rjlim
x!0h(x)
f(x)= 0g:
Se poate demonstra (vezi Knuth [38]) c¸ a o(f)½O(f):
De¯nit »ia anterioar¸ a se poate reformula ^ ³n cazul » sirurilor.
De¯nit »ia 2.6.2. (M¸ asura complexit¸ at »ii ). Fie » sirul xn:
a) Spunem c¸ a » sirul znesteO(xn) dac¸ a znapart »ine mult »imii:
O(xn) =fynj 9M > 0 :jynj ·Mjxnjg:
b) Spunem c¸ a » sirul znesteo(xn) dac¸ a znapart »ine mult »imii:
o(xn) =fynjlimn!1yn
xn= 0g:
De asemenea avem o(xn)½O(xn) (vezi Knuth [38]).
Folosind notat »iile anterioare putem evalua complexitatea algoritmilor de spargere.
Dac¸ a dorim s¸ a proiect¸ am un cifru bun atunci trebuie s¸ a garant¸ am o complexitate
minim¸ a de spargere de O(2n) (acest lucru ^ ³nseamn¸ a c¸ a oponentul nu poate sparge
sistemul ^ ³n timp rezonabil sau cu alte cuvinte cea mai e¯cient¸ a metod¸ a de spargere
este c¸ autarea exhaustiv¸ a a cheii sau a parolei), iar dac¸ a dorim s¸ a proiect¸ am un
cracker pentru un algoritm de cifrare atunci trebuie s¸ a garant¸ am o complexitate de
cel put »in O(n) (aceasta ^ ³nseamn¸ a c¸ a spargem sistemul adversarului ^ ³n timp cel mult
polinomial).
Evaluarea complexit¸ at »ii sistemelor criptogra¯ce face parte din clasa testelor de
con¯rmare (alte teste de con¯rmare sunt testele de complexitate liniar¸ a ,complexi-
tate p¸ atratic¸ a saucomplexitate Lempel-Ziv (vezi NIST 800-22 [107])). Aceste teste
se execut¸ a, de regul¸ a, dup¸ a procesarea testelor de referint »¸ a (teste statistice sau alte
criterii funct »ionale ca: avalan» s¸ a strict¸ a, balans, neliniaritare, simetrie, nedegener-
are, necorelare ). O descriere complet¸ a a acestor teste statistico-informat »ionale este
f¸ acut¸ a ^ ³n Capitolul 4. Testele pentru evaluarea sistemelor de cifrare sunt f¸ acute ^ ³n
urm¸ atoarea ordine (vezi Simion [84]):
PAS 1. Execut¸ a teste de REFERINT » ¸A: teste statistice. Dac¸ a sistemul de cifrare
cade la aceste teste (decizie multicriterial¸ a) atunci respinge acest sistem de cifrare ,
38 NOT »IUNI GENERALE
iar ^ ³n caz contrar execut¸ a PAS 2 . Aceste teste sunt procesate ^ ³n timp O(1);cost de
memorie O(1) » si au o senzivitate de obicei mai mare ca 95%.
PAS 2. Execut¸ a teste de REFERINT » ¸A: teste funct »ionale. Dac¸ a sistemul de
cifrare cade la aceste teste (decizie multicriterial¸ a) atunci respinge acest sistem de
cifrare , iar ^ ³n caz contrar execut¸ a PAS 3 . Aceste teste sunt procesate ^ ³n timp O(n);
cost de memorie O(1) » si au o senzivitate de obicei mai mare ca 98%.
PAS 3. Execut¸ a teste de CONFIRMARE : teste de complexitate liniar¸ a (vezi
Preda » siSimion [59]). Dac¸ a sistemul de cifrare cade la aceste teste (decizie multi-
criterial¸ a) atunci respinge acest sistem de cifrare , iar ^ ³n caz contrar execut¸ a PAS 4 .
Aceste teste sunt procesate ^ ³n timp O(n);cost de memorie O(n) » si au o senzivitate
mai mare ca 99%.
PAS 4. Execut¸ a teste de CONFIRMARE : teste de complexitate Lempel-Ziv » si
complexitate p¸ atratic¸ a. Dac¸ a sistemul de cifrare cade la aceste teste (decizie multi-
criterial¸ a) atunci sistemul de cifrare are predictibilitate ascuns¸ a, iar ^ ³n caz contrar
sistemul de cifrare trece de bateria de teste . Aceste teste sunt procesate ^ ³n timp
O(2n);cost de memorie O(2n) » si au o senzivitate mai mare ca 99,9%.
Se observ¸ a c¸ a cele mai rapide teste sunt cele de la pa» sii 1 » si 2. Cele mai lente
teste care cer un cost foarte mare de stocare sunt testele executate la pasul 4.
Observat »ie. ^In ultima perioad¸ a se vehiculeaz¸ a ideea c¸ a autoritatea statal¸ a trebuie
s¸ a aib¸ a acces la cont »inutul mesajelor cifrate, prin intermediul a» sa -numitei proceduri
de recuperare a cheii ( key recover ), dar nu trebuie ca acest lucru s¸ a afecteze sigurant »a
sistemului de semn¸ atur¸ a digital¸ a. Pentru realizarea acestui deziderat o parte din
cheia secret¸ a se transmite pe canalul de comunicat »ie (evident ^ ³n mod criptat » si ^ ³n
urma unor autenti¯c¸ ari) c¸ atre autoritatea desemnat¸ a.
2.7. Clasi¯c¸ ari ale atacurilor criptanalitice
^In acest paragraf sunt prezentate o serie de tipuri de atac asupra sistemelor de
cifrare. Astfel sunt exempli¯cate tipurile de atac asupra algoritmilor de cifrare,
asupra cheilor, protocoalelor de autenti¯care, atacurile asupra sistemului propriu-
zis precum » si atacurile neconvent »ionale (hardware). Aceste tipuri de atac nu sunt
exhaustive, un atac e¯cient ¯ind compus, ^ ³n general, dintr-o submult »ime a celor ce
urmeaz¸ a.
2.7.1. Tipuri de atac asupra algoritmilor de cifrare
Principalele tipuri de atac care se refer¸ a la algoritmul de cifrare sunt urm¸ atoarele:
Atac cu text clar cunoscut . Criptanalistul det »ine un text cifrat » si corespondentul
s¸ au ^ ³n clar. Prin acest tip de atac se urm¸ are» ste, de c¸ atre criptanalist, separarea
CLASIFIC ¸ARI ALE ATACURILOR CRIPTANALITICE 39
informat »iei text de cheia de cifrare, acesta av^ and posibilitatea s¸ a obt »in¸ a, prin metode
speci¯ce, algoritmul de cifrare sau o parte a acestuia » si/sau cheia.
Atac cu text clar ales . Criptanalistul poate indica textul clar ce urmeaz¸ a a ¯
cifrat. Prin acest tip de atac se urm¸ are» ste, de c¸ atre critpanalist, separarea informat »iei
text de cheia de cifrare, acesta av^ and posibilitatea s¸ a obt »in¸ a, prin metode speci¯ce,
algoritmul de cifrare » si/sau cheia.
Atac cu text cifrat-cifrat . Criptanalistul det »ine un text clar » si corespondentul s¸ au
cifrat cu dou¸ a sau mai multe chei diferite. Criptanalistul, prin metode speci¯ce,
poate reconstrui algoritmul de cifrare sau o parte a acestuia.
Atac de tip divide et impera . Criptanalistul poate realiza o serie de corelat »ii ^ ³ntre
diversele intr¸ ari ^ ³n algoritm » si ie» sirea acestuia, ^ ³ncerc^ and s¸ a separe diversele intr¸ ari
^ ³n algoritm, ceea ce ^ ³l face pe acesta s¸ a sparg¸ a problema ^ ³n dou¸ a sau mai multe
probleme mai u» sor de rezolvat.
Atac de tip sindrom liniar . Metoda de criptanaliz¸ a const¸ a ^ ³n elaborarea unui
sistem de ecuat »ii liniare ale generatorului pseudoaleator » si veri¯carea acestora de
c¸ atre textul cifrat, obt »in^ andu-se astfel textul clar cu o probabilitate destul de mare.
Atacul consistent »ei liniare . Metoda de criptanaliz¸ a const¸ a ^ ³n elaborarea unui sis-
tem de ecuat »ii liniare ale generatorului pseudoaleator pornind de la o cheie echiva-
lent¸ a de cifrare » si veri¯carea sistemului, de c¸ atre generatorul pseudoaleator, cu o
probabilitate care tinde la 1, obt »in^ andu-se astfel textul clar cu o probabilitate destul
de mare.
Atac stochastic asupra ie» sirii generatorului, numit » si atac prin previziune, este
posibil dac¸ a ie» sirea generatorului este autocorelat¸ a, criptanalistul reu» sind s¸ a det »in¸ a,
ca date de intrare, ie» sirea generatorului pseudoalator » si textul cifrat obt »in^ and, astfel
textul clar corespunz¸ ator. Pentru evitarea acestui tip de atac generatorul trebuie s¸ a
satisfac¸ a condit »iile de:
-balans: toate intr¸ arile posibile trebuie s¸ a produc¸ a toate ie» sirile posibile de acela» si
num¸ ar de ori;
-nedegenerare: ie» sirea trebuie s¸ a provin¸ a din ¯ecare element al intr¸ arii;
-imunitate la corelat »ie: intr¸ ari corelate produc ie» siri necorelate;
-avalan» s¸ a strict¸ a: schimbarea unui bit s¸ a produc¸ a schimb¸ ari ^ ³n proport »ie de 50% :
Atac informat »ional liniar asupra generatorului, numit » si atac de complexitate
liniar¸ a, este posibil dac¸ a se poate echivala generatorul cu un algoritm tip Fibonacci
(registru de deplasare liniar) » si dac¸ a complexitatea liniar echivalent¸ a a generatorului
este mic¸ a. Cu ajutorul acestei tehnici se poate construi un algoritm echivalent » si o
cheie echivalent¸ a de cifrare.
Atac cu ajutorul perioadei generatorului pseudoaleator este realizabil dac¸ a pe-
rioada generatorului pseudoaleator este mic¸ a » si se poate reconstrui textul clar core-
spunz¸ ator.
40 NOT »IUNI GENERALE
Atac cu ajutorul viru» silor informatici este posibil dac¸ a algoritmul de cifrarea este
implementat » si ruleaz¸ a pe un PC vulnerabil sau neprotejat. Virusul poate substitui
sau inhiba algoritmul de cifrare utilizat.
2.7.2. Tipuri de atac asupra cheilor
Atacurile cele mai frecvente care se realizeaz¸ a asupra cheilor de cifrare:
Atacul brut const¸ a ^ ³n veri¯carea exhaustiv¸ a a cheilor sau parolelor » si este posibil
dac¸ a:
-lungimea cheii de cifrare efective (sau a parolei) este mic¸ a;
-spat »iul cheii de cifrare (sau a parolei) este mic.
Atacul brut inteligent se realizeaz¸ a dac¸ a gradul de aleatorism al cheii de cifrare
(sau parolei) este mic (entropia este mic¸ a) » si permite a°area parolelor care se
aseam¸ an¸ a cu cuvinte din limba utilizat¸ a.
Atacul de tip backtracking const¸ a ^ ³n implementarea metodei de c¸ autare de tip
backtracking (presupune existent »a unor condit »ii de continuare a c¸ aut¸ arii ^ ³n direct »ia
de c¸ autare considerat¸ a).
Atacul de tip greedy furnizeaz¸ a cheia optim¸ a local¸ a care poate s¸ a nu coincid¸ a cu
cheia optim¸ a global¸ a.
Atacul de tip dict »ionar (c¸ autarea parolelor sau a cheilor se face dup¸ a un dict »ionar)
este posibil dac¸ a parola sau cheia sunt cuvinte cu sens (nume, date etc.).
Atac de tip dict »ionar hibrid este posibil prin modi¯carea cuvintelor din dict »ionar,
init »ializ^ andu-se atacul brut cu ajutorul cuvintelor din dict »ionar.
Atac cu ajutorul viru» silor informatici este posibil dac¸ a cheile se stocheaz¸ a pe un
PC neprotejat.
Atac asupra hashului parolei saucheii de cifrare . Este posibil dac¸ a hashul parolei
este scurt sau necorespunz¸ ator elaborat.
Atac prin substitut »ie . Cheia original¸ a este substituit¸ a, de c¸ atre o tert »¸ a persoan¸ a,
» si ^ ³nlocuit¸ a ^ ³n toat¸ a ret »eaua de comunicat »ii (sau ^ ³ntr-o parte a ei) cu o cheie a
acestuia. Este posibil cu ajutorul viru» silor informatici.
Stocarea cheii de cifrare ^ ³n mod necorespunz¸ ator (^ ³mpreun¸ a cu datele cifrate) ^ ³n
clar f¸ ar¸ a m¸ asuri de protect »ie ¯zice sau criptogra¯ce (soft sau hard) poate duce la
atac asupra mesajului cifrat.
Stocarea necorespunz¸ atoare a cheilor vechi sau scoase din uz duce la compro-
miterea documentelor cifrate vechi.
Compromiterea cheii . Dac¸ a se compromite cheia simetric¸ a, se compromit numai
acele documente cifrate cu aceasta. Dac¸ a se compromite cheia public¸ a, care se poate
a°a pe diverse servere, atacatorul se poate substitui utilizatorului legal provoc^ and
daune ^ ³n toat¸ a ret »eaua de comunicat »ii.
CLASIFIC ¸ARI ALE ATACURILOR CRIPTANALITICE 41
Concluzie: Existent »a cheilor master saua cheilor de salvare constituie trape ^ ³n
sistemul criptogra¯c.
Timpul de viat »¸ a al cheii este o component¸ a esent »ial¸ a care exclude posibilitatea
unui atac reu» sit, dar nedetectat.
Existent »a unui sistem de generare, gestiune » si management al cheilor de cifrare
este cheia ^ ³ntregului succes.
2.7.3. Tipuri de atac asupra protocoalelor de autenti¯care
Protocoalele de autenti¯care pot ¯ supuse urm¸ atoarelor tipuri de atacuri:
Atac criptogra¯c asupra cheii publice folosite (dac¸ a se folose» ste sistemul cu chei
publice) pentru semn¸ atur¸ a ^ ³n cadrul protocolului.
Atac criptogra¯c asupra algoritmului simetric folosit (dac¸ a se folose» ste sistemul
simetric) pentru semn¸ atura din cadrul unui protocolului de autenti¯care.
Pentru evitarea atacului asupra semn¸ aturilor digitale trebuie ca:
-semn¸ atura s¸ a ¯e nefalsi¯cabil¸ a: semn¸ atura este o dovad¸ a c¸ a semnatarul a semnat
^ ³n mod deliberat documentul;
-semn¸ atura este autentic¸ a: semn¸ atura convinge destinatarul c¸ a semnatarul a sem-
nat ^ ³n mod deliberat documentul;
-semn¸ atura este nereutilizabil¸ a: semn¸ atura face parte din document » si nu poate
¯ mutat¸ a pe alt document;
-documentul semnat este inalterabil: dup¸ a semnare, documentul nu poate ¯ mod-
i¯cat;
-semn¸ atura este nerepudiabil¸ a: semnatarul nu poate pretinde mai t^ arziu c¸ a nu a
semnat documentul respectiv;
Semn¸ atura invizibil¸ a poate ¯ citit¸ a numai de c¸ atre destinatarul documentului.
Semn¸ atura de tip fail-stop este un protocol criptogra¯c ^ ³n care expeditorul poate
aduce dovezi dac¸ a semn¸ atura sa a fost falsi¯cat¸ a.
Atac de concordant »¸ a , numit ^ ³n literatura de specialitate » si atacul zilei de na» stere ,
este posibil dac¸ a probabilitatea ca funct »ia semn¸ atur¸ a aplicat¸ a la dou¸ a documente
diferite s¸ a produc¸ a aceea» si semn¸ atur¸ a.
Atac pasiv asupra protocolului de autenti¯care. Interceptorul monitorizeaz¸ a
comunicat »ia pe canal f¸ ar¸ a a face nici un fel de intervent »ie, scopul acestuia ¯ind
de a trage concluzii despre procesul de autenti¯care.
Atac prin a treia persoan¸ a . Comunicat »ia dintre cei doi parteneri ai canalului de
comunicat »ie este interceptat¸ a activ de c¸ atre o tert »¸ a persoan¸ a.
42 NOT »IUNI GENERALE
2.7.4. Tipuri de atac asupra sistemului
Sistemul de cifrare (algoritm, cheie » si protocol de autenti¯care) este supus urm¸ atoa-
relor tipuri de atacuri:
Atac la nivel de algoritm . Sunt cele prezentate anterior.
Folosirea necorespunz¸ atoare a algoritmului de cifrare :
-nu exist¸ a algoritm de cheie de mesaj;
-folosirea necorespunz¸ atoare a supracifr¸ arii poate duce la un algoritm echivalent
mult mai slab dec^ at ¯ecare algoritm ^ ³n parte.
Atac la nivel de cheie . Sunt cele prezentate anterior.
Atac la nivel de protocol de autenti¯care saude transmitere a cheii .
Atacuri datorate erorilor de implementare .
2.7.5. Atacuri hardware asupra modulelor criptogra¯ce
Metode de atac ce presupun o serie de m¸ asur¸ atori hardware asupra modului
criptogra¯c:
Atacuri prin m¸ asurarea timpului de execut »ie. Prin m¸ asurarea timpului necesar
efectu¸ arii unor operat »ii asupra cheii private , atacatorul poate determina exponent »ii
utilizat »i ^ ³n protocolul Di±e-Hellman, factorul RSA (^ ³n special asupra algoritmului
RSA ce folose» ste pentru semn¸ atur¸ a lema chinezesc¸ a a resturilor CRT), precum » si o
serie de alte sisteme criptogra¯ce cum ar ¯ algoritmul de semn¸ atur¸ a digital¸ a DSS
(vezi Kocher [43]).
Atacuri prin m¸ asurarea puterii consumate. Atacul cu ajutorul analizei simple
a puterii (SPA) const¸ a ^ ³n m¸ asurarea puterii consumate de dispozitiv ^ ³n timpul
operat »iei criptogra¯ce. Acest tip de atac se aplic¸ a, de regul¸ a, dispozitivelor cu
surs¸ a de tensiune exterioar¸ a (ca de exemplu smart-cardurile). Consumul de putere
depinde de instruct »iunea executat¸ a. Astfel, monitoriz^ and consumul de putere, se
poate deduce secvent »a de instruct »iuni (codul surs¸ a). Dac¸ a secvent »a de instruct »iuni
depinde de lungimea cheii, atunci consumul de putere poate da informat »ii despre
cheie. ^In majoritatea procesoarelor, patternul puterii consumate de o instruct »iune
depinde » si de valoarea operanzilor (de exemplu setarea unui bit ^ ³ntr-un registru
consum¸ a mai mult¸ a energie dec^ at » stergerea acestuia). M¸ asur¸ atori efectuate asupra
mai multor intr¸ ari pot deduce valoarea operandului. Tehnica se nume» ste analiza
diferent »ial¸ a a puterii (DPA).
Atacuri cu ajutorul defect »iunilor (erorilor) hardware. Echipamentele hardware
pot genera erori (tranziente, latente sau induse) ^ ³n timpul efectuarii unor operat »ii
aritmetice. Prin exploatarea rat »ional¸ a a acestor erori se pot recupera cheia privat¸ a
pentru algoritmii de semn¸ atur¸ a RSA » si Rabin. O serie de protocoale criptogra¯ce
APLICAT »II 43
cum ar ¯ Fiat-Schamir » si Schnorr se pot sparge prin folosirea judicioas¸ a a rezultatelor
acestor erori (vezi Boneh [11]).
Analiza diferent »ial¸ a a defect »iunilor. Analiza diferent »ial¸ a a defect »iunilor (DFA)
este o schem¸ a ce se utilizeaz¸ a pentru recuperarea cheilor secrete ale unui sistem
criptogra¯c dintr-un dispozitiv HSM (Hardware Security Module) securizat ¯zic.
Modelul de defect este acela al defectelor tranziente (aleatoare) » si al defectelor in-
duse. Metoda folose» ste la identi¯carea cheilor ^ ³n cazul utiliz¸ arii unor cifruri cunos-
cute (de exemplu DES) » si/sau a unor cifruri cu algoritm necunoscut (de exemplu
SkipJack), reconstruct »ia algoritmului (cu o structur¸ a cunoscut¸ a) (vezi Biham [8]).
2.8. Aplicat »ii
Exercit »iul 2.8.1. Care este diferent »a dintre standardele ISO 15408 » si FIPS 140-
2?
Exercit »iul 2.8.2. La ce nivel OSI se ^ ³ncadreaz¸ a cifrarea software?
Exercit »iul 2.8.3. Care sunt principalele caracteristici ale unui modul criptogra¯c?
Exercit »iul 2.8.4. Descriet »i fazele de dezvoltare a unui modul criptogra¯c.
Exercit »iul 2.8.5. Speci¯cat »i pe scurt principalele bene¯cii ale standardelor.
Exercit »iul 2.8.6. Care este diferent »a dintre activitatea de evaluare » si activi-
tatea de spargere a unui modul criptogra¯c?
Exercit »iul 2.8.7. Descriet »i principalele clasi¯c¸ ari ale atacurilor criptanalitice.
Exercit »iul 2.8.8. Care sunt criteriile de evaluare a sistemelor criptogra¯ce?
Exercit »iul 2.8.9. Precizat »i operat »iile de baz¸ a efectuate ^ ³n criptanaliz¸ a.
Exercit »iul 2.8.10. Care sunt caracteristicile cerint »elor funct »ionale » si a speci¯cat »iilor
de securitate IT?
44 NOT »IUNI GENERALE
Capitolul 3
TEORIA COMPLEXIT ¸AT »II
ALGORITMILOR
En cryptographie, aucune rµ egle
n'est absolute.
¶Etienne Bazeries, 1901
3.1. Introducere
Teoria complexit¸ at »ii algoritmilor (se pare c¸ a acest¸ a denumire provine din al-
Khow^ arizm^ ³ numele unui matematician persan din secolul al IX-lea) se ocup¸ a ^ ³n
principal cu evaluarea timpului necesar execut »iei unui algoritm dat ( complexitate
dinamic¸ a ) precum » si a resurselor de stocare sau memorie necesare ( complexitate
spat »iu ) rul¸ arii acestuia. Av^ and la dispozit »ie aceste dou¸ a not »iuni putem introduce o
relat »ie de ordine pe mult »imea algoritmilor, care rezolv¸ a o problem¸ a bine precizat¸ a,
putem face o comparat »ie obiectiv¸ a a doi sau mai mult »i algoritmi » si vom putea da
o de¯nit »ie a terminologiei de algoritm e¯cient. Deorece prezenta lucrare abordeaz¸ a
domeniile Teoriei deciziilor, Cercet¸ arii operat »ionale » si Criptogra¯ei din perspectiva
elabor¸ arii algoritmilor (e¯cient »i) de rezolvare a problemelor speci¯ce acestor domenii
am considerat util¸ a prezentarea unei scurte introduceri ^ ³n teoria complexit¸ at »ii algo-
ritmilor.
3.2. Algoritmi » si ma» sini Turing
Informal, un algoritm este orice procedur¸ a bine de¯nit¸ a, care pentru o anumit¸ a
mult »ime de valori, numit¸ a » si intrare , produce o ie» sire . Putem, de asemenea, privi un
algoritm ca un element ajut¸ ator pentru rezolvarea problemelor computat »ionale bine
45
46 TEORIA COMPLEXIT ¸AT »II ALGORITMILOR
speci¯cate. Algoritmul descrie o procedur¸ a computat »ional¸ a pentru realizarea unei
relat »ii ^ ³ntre datele de la intrare » si datele de la ie» sire.
Complexitatea ^ ³n timp a unui algoritm este o funct »ie de lungimea intr¸ arii. Un
algoritm are complexitatea ^ ³n timp f(n);cuf:N¤!N¤;dac¸ a » si numai dac¸ a
pentru orice n» si orice intr¸ ari de lungime n, execut »ia algoritmului se face ^ ³n cel
mult f(n) pa» si. Dac¸ a neste un ^ ³ntreg, lungimea lui este num¸ arul de cifre sau
bit »i din n. Desigur, pot exista algoritmi lent »i sau rapizi pentru aceea» si problem¸ a, ^ ³n
anumite cazuri este posibil¸ a o accelerare nelimitat¸ a. Este di¯cil^ ³ns¸ a de stabilit limite
inferioare pentru complexit¸ at »i, de a ar¸ ata, de exemplu c¸ a orice algoritm pentru o
anumit¸ a problem¸ a este cel put »in de complexitate p¸ atratic¸ a ^ ³n timp.
Evident, complexitatea depinde de modelul de algoritm adoptat. Num¸ arul de
pa» si scade pe m¸ asura cre» sterii sarcinilor atribuite spre rezolvare ¯ec¸ arui pas. Totu» si,
not »iuni fundamentale, ca de pild¸ a complexitatea polinomial¸ a ^ ³n timp sunt indepen-
dente de model. Modele frecvente pentru algoritmi sunt ma» sinile Turing deter-
ministe (^ ³n funct »ie de starea ma» sinii » si de intrare aceasta produce o ie» sire unic¸ a)
saunedeterministe (de exemplu, ma» sina ghice» ste sau folose» ste un num¸ ar arbitar de
procesoare paralele). Mai precis ma» sina Turing determinist¸ a:
-opereaz¸ a ^ ³n cuante de timp;
-^ ³n ¯ecare moment de timp ea are o stare intern¸ a bine precizat¸ a;
-num¸ arul st¸ arilor interne posibile este ¯nit;
-dispune de un mecanism citire/scriere de pe o band¸ a a unui » sir de caractere,
mi» scarea acestuia ¯ind st^ anga, dreapta sau pe loc;
-dac¸ a se ajunge cu operat »ia de citire/scriere la cap¸ atul » sirului de caractere atunci
i se adaug¸ a acestuia caracterul vid (extinderea nelimitat¸ a a memoriei externe).
Deci complexitatea ma» sinii Turing deterministe Aeste de¯nit¸ a ca:
fA(n) = max fmjAse opre» ste dup¸ a mpa» si pentru o intrare !de lungime ng;iar
complexitatea ma» sinii Turing nedeterministe Aeste de¯nit¸ a ca:
fA(n) = max f1; mjs(!) are mpa» si pentru o intrare !de lungime ng;unde prin
s(!) se consider¸ a cel mai scurt calcul ^ ³ncheiat cu succes pentru o intrare !(calcul
ce duce la o stare ¯nal¸ a).
3.3. Teoria problemelor NP¡complete
Teoria problemelor NP¡complete se aplic¸ a ^ ³n principal problemelor de decizie
care nu pot avea dec^ at dou¸ a r¸ aspunsuri codi¯cate 0 (fals) » si 1 (adev¸ ar): r¸ aspunsul
da » si r¸ aspunsul nu.
De¯nit »ia 3.3.1. O problem¸ a de decizie ¦ este format¸ a dintr-o mult »ime de
instant »e D¦» si dintr-o submult »ime 0 ¦µD¦de 0-instant »e.
Vom prezenta ^ ³n continuare un exemplu celebru de astfel de problem¸ a de decizie.
TEORIA PROBLEMELOR NP¡COMPLETE 47
Exemplul 3.3.1. (Problema comis-voiajorului, vezi Cormen [14])
Instant »e: O mult »ime ¯nit¸ a C=fc1; :::; c mgde ora» se, o distant »¸ a d(ci; cj) ^ ³ntre
acestea, o margine superioar¸ a M.
^Intrebare: Se poate organiza un tur al ora» selor din mult »imea Castfel ^ ³nc^ at
distant »a total¸ a parcurs¸ a s¸ a nu ¯e mai mare dec^ at M?
De¯nit »ia 3.3.2. Unalgoritm se nume» ste polinomial dac¸ a complexitatea sa este
O(p(n));unde p(n) este un polinom de grad n:Clasa algoritmilor polinomiali se
noteaz¸ a cu P. Un algoritm care nu este polinomial, deci care nu face parte din clasa
P;face parte din clasa NP; iar ^ ³n acest caz algoritmul se nume» ste exponent »ial .
De¯nit »ia 3.3.3. Oproblem¸ a se va numi intractabil¸ a dac¸ a nu exist¸ a nici un al-
goritm polinomial care s¸ a o poat¸ a rezolva.
Se conjectureaz¸ a (vezi Cormen [14]) c¸ a P6=NP(avem relat »ia P½NP). Av^ and
formulat¸ a o problem¸ a pe care dorim s¸ a o studiem din punctul de vedere al com-
plexit¸ at »ii cel mai adesea se face reducerea acesteia la o problem¸ a a c¸ arei complexitate
este deja cunoscut¸ a. Acest¸ a reducere se face ^ ³ns¸ a dup¸ a un algoritm care trebuie s¸ a
¯e un algoritm de complexitate polinomial¸ a adic¸ a din clasa P.
Exemplul 3.3.2. (Problema circuitului hamiltonian, vezi Cormen [14])
Instant »e: Un graf G= (V; E);
^Intrebare: Graful Gcont »ine un circuit hamiltonian?
Aceast¸ a problem¸ a este echivalent¸ a cu problema comis-voiajorului.
De¯nit »ia 3.3.4. O problem¸ a de decizie Lse nume» ste NP¡complet¸ a dac¸ a este
din clasa NP» si orice alt¸ a problem¸ a L¤2NP se reduce, printr-o transformare
polinomial¸ a, la problema Lsau, cu alte cuvinte, problema Leste cel put »in la fel de
grea ca problema L¤. Acest lucru se va nota L¤ÁL:
De¯nit »ia 3.3.5. O problem¸ a de decizie Lse nume» ste co ¡NPdac¸ a comple-
mentara acesteia este din clasa NP.
Avem PµNP» siPµco¡NP:S-a conjecturat (vezi Cormen [14]) c¸ a incluziunile
de mai sus sunt stricte » si mai mult NP6=co¡NP» siP6=NP\co¡NP. Aceste
conjecturi sunt explicitate ^ ³n ¯gura 3.1.
Din cele prezentate reiese important »a existent »ei problemelor NP¡complete.
Pentru aceasta ¯e U=fu1; :::; u mgo mult »ime de variabile booleene . O asignare
de adev¸ ar pentru mult »imea Ueste o funct »ie t:U! f0;1g:Dac¸ a ueste o variabil¸ a
dinU, atunci u» si negat »ia sa usunt a¯rmat »ii peste U:A¯rmat »ia ueste 1 ( ueste
adev¸ arat¸ a) sub tdac¸ a » si numai dac¸ a t(u) = 1 ;a¯rmat »ia ueste adev¸ arat¸ a dac¸ a » si
numai dac¸ a t(u) = 0 ( ueste fals¸ a). Vom numi clauz¸ a peste Uo mult »ime de a¯rmat »ii
peste U;care reprezint¸ a disjunct »ia a¯rmat »iilor din U:O clauz¸ a este 1 (adev¸ arat¸ a)
dac¸ a » si numai dac¸ a cel put »in una din a¯rmat »iile din clauza respectiv¸ a este satisf¸ acut¸ a
(cel put »in o a¯rmat »ie este adev¸ arat¸ a), deci o clauz¸ a este 0 dac¸ a » si numai dac¸ a toate
48 TEORIA COMPLEXIT ¸AT »II ALGORITMILOR
Figura 3.1: Relat »iile conjecturate ^ ³ntre mult »imile P,NP NP ¡complete » si co ¡NP:
a¯rmat »iile din clauza respectiv¸ a sunt false. Vom spune despre o mult »ime de clauze
Cc¸ a este satisfabil¸ a dac¸ a » si numai dac¸ a exist¸ a o asignare de adev¸ ar care satisface
simultan toate clauzele din mult »imea C. O asemenea funct »ie se va numi funct »ie de
satisfabilitate a valorii de adev¸ ar.
Problema satisfabilit¸ at »ii este:
Instant »a: O mult »ime Ude variabile » si o mult »ime Cde clauze peste U.
^Intrebare: Exist¸ a o funct »ie de satisfabilitate a valorii de adev¸ ar pentru C?
Cook a demonstrat c¸ a problema satisfabilit¸ at »ii este o problem¸ a NP¡complet¸ a.
Pornind de la ea se construiesc toate celelate probleme NP¡complete. Se poate
demonstra c¸ a problema comis-voiajorului este tot o problem¸ a NP¡complet¸ a, deci
» si problema ciclului hamiltonian. Din motivele prezentate anterior ne vom axa nu-
mai pe problemele NP¡complete. Dup¸ a cum se observ¸ a, existent »a unei singure
probleme NP¡complete duce la construirea altor probleme NP¡complete.
Algoritmul de demonstrat NP¡completitudinea unei probleme Leste urm¸ ato-
rul:
Pas 1. Demonstreaz¸ a c¸ a L2NP:
Pas 2. Selecteaz¸ a L¤problem¸ a NP¡complet¸ a.
Pas 3. Construie» ste o transformare fde la problema L¤la problema L:
Pas 4. Demonstreaz¸ a c¸ a feste o transformare polinomial¸ a.
3.4. Exemple de probleme NP¡complete
Exist¸ a o multitudine de exemple de probleme NP¡complete, ne vom rezuma
^ ³ns¸ a la a ment »iona pe c^ ateva dintre cele mai sugestive. Unele exemple fac apel la
not »iunea de graf.
EXEMPLE DE PROBLEME NP¡COMPLETE 49
Exemplul 3.4.1. (Circuit hamiltonian)
Instant »a: Graful G=(V,E);
^Intrebare: Graful Gcont »ine un circuit hamiltonian?
Exemplul 3.4.2. (Drum hamiltonian)
Instant »a: Graful G=(V,E);
^Intrebare: Graful Gcont »ine un drum hamiltonian?
Exemplul 3.4.3. (Drum hamiltonian orientat)
Instant »a: Graful G=(V,E);
^Intrebare: Graful Gcont »ine un drum hamiltonian orientat?
Exemplul 3.4.4. (Problema comis-voiajorului)
Instant »a: O mult »ime ¯nit¸ a C= fc1; :::; c mgde ora» se, o distant »¸ a d(ci; cj)2N, o
margine superioar¸ a M.
^Intrebare: Se poate organiza un tur al ora» selor din mult »imea C astfel ^ ³nc^ at
distant »a total¸ a parcurs¸ a s¸ a nu ¯e mai mare dec^ at M?
Exemplul 3.4.5. (Problema rucsacului)
Instant »a: O mult »ime U, o m¸ arime s(u)2N» si o valoare v(u)2Nde¯nite pentru
orice u2U;o restrict »ie de m¸ arime B2N» si o restrict »ie de valoare K2N:
^Intrebare: Exist¸ a o submult »ime U¤½Uastfel ca:
X
u2U¤s(u)·B
» siX
u2U¤v(u)¸K:
Exemplul 3.4.6. (Calcul paralel)
Instant »a: O mult »ime ¯nit¸ a Ade tascuri, de lungimi l(a)2N;a2Aun num¸ ar
m2Nde procesoare » si un timp limit¸ a D2N:
^Intrebare: Exist¸ a o partit »ie a lui A=A1[:::[Am^ ³nmmult »imi astfel ^ ³nc^ at
maxfP
a2AIl(a) :i=1; mg ·D?
Exemplul 3.4.7. (Congruent »e p¸ atratice)
Instant »a: a; b; c2N;
^Intrebare: Exist¸ a x < c astfel ca x2´amod b?
Exemplul 3.4.8. (Rezolvarea ecuat »iei diofantice)
Instant »a: a; b; c2N;
^Intrebare: Exist¸ a x; y; c 2Nastfel ca ax2+by=c?
Criptogra¯a cu chei publice se bazeaz¸ a pe existent »a problemelor NP¡complete
dar care pot ¯ rezolvate cu informat »ie suplimentar¸ a ^ ³n timp polinomial ca de exem-
plu:
50 TEORIA COMPLEXIT ¸AT »II ALGORITMILOR
Exemplul 3.4.9. (Factorizarea unui num¸ ar)
Instant »a: nnum¸ ar ^ ³ntreg pozitiv;
^Intrebare: Este nprodus de numere prime?
Problema de mai sus este NP¡complet¸ a, dar dac¸ a se cunoa» ste un factor (netriv-
ial) al lui natunci acest lucru se poate veri¯ca ^ ³n timp polinomial. Nu se » stie dac¸ a
problema de mai sus este din clasa P.
S¸ a consider¸ am un sistem de cifrare cu chei publice. Cheia de criptare este public¸ a.
S¸ a combin¸ am acest fapt cu cerint »a pus¸ a pentru orice criptosistem, ¯e el clasic sau
cu cheie public¸ a: criptarea este u» soar¸ a de ^ ³ndat¸ a ce cheia de criptare » si textul clar
este cunoscut (altfel, criptosistemul va ¯ greu de folosit). Aceasta implic¸ a faptul
c¸ a, ^ ³n orice criptosistem cu chei publice rezonabil, problema criptanalizei este de
clas¸ a NP. D^ andu-se un text criptat, criptanalistul ghice» ste, mai ^ ³nt^ ai, textul clar
» si apoi textul cifrat, dup¸ a care ^ ³l cripteaz¸ a pentru a stabili dac¸ a acesta conduce la
criptotextul dat. Chiar dac¸ a metoda de criptare f¸ acut¸ a public¸ a este nedeterminist¸ a,
^ ³ntreaga procedur¸ a este din clasa NP.
Problema criptanalizei este de asemenea ^ ³n co¡NP: Dac¸ a metoda de criptare
este determinist¸ a, atunci acest lucru este evident, deoarece se poate proceda exact
ca mai sus: stabilim dac¸ a textul clar prezumtiv nu conduce la criptotextul dat. ^In
cazul general, independent de faptul c¸ a metoda de criptare este determinist¸ a, vom
rat »iona astfel. Avem tripletul: ( m;k;c) unde meste candidatul pentru textul clar,
keste cheia public¸ a de criptare » si ceste criptotextul. Presupunem c¸ a accept¸ am
tripletul exact ^ ³n cazul ^ ³n care wnu este textul clar care va genera pe c. Este clar
c¸ a exist¸ a numai un astfel de text clar (^ ³n caz contrar decriptarea ar ¯ ambigu¸ a).
Algoritmul nostru ghice» ste mai ^ ³nt^ ai textul clar p, apoi stabile» ste (^ ³n timp poli-
nomial nedeterminist) dac¸ a pgenereaz¸ a pe cconform cu k. Numai ^ ³n cazul unui
r¸ aspuns pozitiv algoritmul continu¸ a, compar^ and pe p» siwliter¸ a cu liter¸ a. Dac¸ a este
g¸ asit¸ a o diferent »¸ a, algoritmul accept¸ a textul. Am abordat problema criptanalizei ^ ³n
urm¸ atorul mod evident: s¸ a se stabileasc¸ a textul clar, c^ and criptotextul » si cheia pub-
lic¸ a sunt cunoscute. Merg^ and pe aceea» si linie, se poate ar¸ ata c¸ a anumite probleme
analoage fac parte din intersect »ia NP\co¡NP: Prin urmare, dac¸ a problema Cde
criptanaliz¸ a ar ¯ NP¡complet¸ a, atunci am avea NP=co¡NP. Pentru aceasta s¸ a
consider¸ am un element LdinNP. Deoarece CesteNP¡complet¸ a, Leste reductibil
^ ³n timp polinomial la C.^In consecint »¸ a la fel » si complementul lui Leste reductibil ^ ³n
timp polinomial la complementul lui C, care este ^ ³n co¡NP, conform presupunerii
noastre. Aceasta implic¸ a faptul c¸ a Leste ^ ³n co¡NP» si prin urmare, NPeste inclus
^ ³nco¡NP. Din aceast¸ a implicat »ie, incluziunea invers¸ a este evident¸ a. S¸ a lu¸ am orice
Ldinco¡NP. Complementul lui Leste ^ ³n NP» si ^ ³n consecint »¸ a ^ ³n co¡NP. Aceasta
implic¸ a faptul c¸ a Leste ^ ³n NP. Am ar¸ atat c¸ a dac¸ a problema criptanalizei pentru
criptosisteme cu chei publice este NP¡complet¸ a, atunci NP=co¡NP. Aceasta
LIMITE ACTUALE ALE CALCULATOARELOR 51
implic¸ a faptul c¸ a este extrem de improbabil ca problema criptanalizei pentru cripto-
sisteme cu chei publice s¸ a ¯e NP¡complet¸ a sau cu un grad mare de complexitate.
Pentru situat »ia ^ ³n care dispunem numai de cheie de cifrare problema criptanalizei
este o problem¸ a NP¡complet¸ a. Este evident c¸ a nu poate ¯ dat¸ a nici o limit¸ a su-
perioar¸ a pentru complexitatea criptanalitic¸ a a criptosistemelor clasice. ^In esent »¸ a,
acestea se datoreaz¸ a faptului c¸ a simplitatea cript¸ arii » si decript¸ arii pentru utilizatorii
legali nu conduce la nici o consecint »¸ a ^ ³n ce prive» ste munca criptanalistului, deoarece
toate elementele criptosistemului se p¸ astreaz¸ a^ ³n secret (de fapt^ ³n evaluarea unui sis-
tem criptogra¯c se presupun cunoscute toate aceste elemente, toat¸ a t¸ aria sistemului
de criptare trebuie s¸ a r¸ am^ an¸ a ^ ³n cheia de cifrare).
3.5. Limite actuale ale calculatoarelor
Datorit¸ a legii lui Moore care spune c¸ a la ¯ecare doi ani puterea de calcul se
dubleaz¸ a, se va ajunge, cu aproximat »ie, ^ ³n anul 2015 la bariera siliciului ¯ind nevoie
de noi suporturi pentru calcul.
Calculatoarele clasice de tip Turing-von Neumann sunt aproape de limita de per-
fect »ionalitate » si au » si limite intrinseci legate de secvent »ialitate. Din acest motiv,
de mai mult »i ani se caut¸ a noi suporturi pentru calcul. Dintre acestea, dou¸ a sunt
direct »iile fundamentale de cercetare:
1. calculatoarele cuantice;
2. calculatoarele moleculare sau biologice: deorece molecula de ADN se comport¸ a
sintactic s-au putut realiza experimente de calcul ^ ³n eprubet¸ a.
^In 1994 Adelman a realizat primul experiment de calcul ^ ³n eprubet¸ a de rezolvare
a problemei drumului hamiltonian: dac¸ a ^ ³ntr-un graf exist¸ a sau nu un drum hamil-
tonian ^ ³ntre dou¸ a noduri. Ulterior, calculul genetic » si-a g¸ asit aplicat »ii ^ ³n criptogra¯e:
^ ³n 1995 algoritmul DES (Data Encryption Standard ) a fost spart ^ ³n trei luni, iar ^ ³n
1996 ^ ³n dou¸ a luni. Rezultate similare s-au obt »inut cu sistemul RSA (sistem cu chei
publice elaborate de Rivest, Shamir » si Adelman).
52 TEORIA COMPLEXIT ¸AT »II ALGORITMILOR
3.6. Aplicat »ii
Exercit »iul 3.6.1. Evaluat »i valorile O(xn) » sio(xn) unde xneste num¸ arul de
operat »ii aritmetice necesar calculului Transformatei Fourier Discrete pentru un » sir
binar de lungime n:
Exercit »iul 3.6.2. Dat »i exemple de probleme din clasa P:
Exercit »iul 3.6.3. Dat »i exemple de probleme din clasa NP:
Exercit »iul 3.6.4. Dat »i exemplu de o problem¸ a din clasa NPcare nu este ^ ³n
clasa P:
Exercit »iul 3.6.5. Dat »i exemplu de o problem¸ a NP¡complet¸ a.
Exercit »iul 3.6.6. Problema criptanalizei este din clasa P,NPsauNP¡com-
plet¸ a?
Exercit »iul 3.6.7. Dat »i exemplu de o problem¸ a din clasa co¡NPcare nu este
NP¡complet¸ a.
Capitolul 4
ANALIZA STATISTICO-
INFORMAT »IONAL ¸A
Even in cryptology, silence is
golden.
Laurence D. Smith
4.1. Not »iuni teoretice
Problema test¸ arii echipamentelor industriale (procese de ¯abilitate), incluz^ and
» si veri¯carea » si testarea echipamentelor electronice care sunt generatoare de aleato-
rism (generatorare pseudoaleatoare criptogra¯ce) sau a echipamentelor mecanice de
aleatorism (jocuri din clasa casino de tip bingo sau rulet¸ a), are ca rol principal
luarea unei decizii de genul este sau nu echipamentul testat o surs¸ a cu propriet¸ at »ile
speci¯cate de c¸ atre produc¸ ator. Modelul matematic considerat ^ ³n studiu este acela
al unui » sir de variabile aleatoare X1; : : : ; X nce iau valori ^ ³ntr-o mult »ime de numere
^ ³ntregi bine speci¯cat¸ a. Din acest¸ a succesiune de numere ^ ³ntregi vom construi o
succesiune de valori binare 0 » si 1. Bine^ ³nt »eles c¸ a av^ and un generator aleator binar
de 0 » si 1 putem lesne construi un generator de numere ^ ³ntregi aleatoare ^ ³ntre 0 » si
m= 2®:Reciproca este evident adev¸ arat¸ a meste o putere a lui 2. Prezentul capitol
^ ³ncearc¸ a, printre altele, s¸ a acopere acest spat »iu dintre puterile lui 2, mai exact
se ^ ³ncearc¸ a o modalitate de testare statistic¸ a a generatoarelor pseudoaleatoare de
numere ^ ³ntregi, cu numere cuprinse ^ ³ntre dou¸ a limite nmin» sinmaxce nu sunt puteri
ale lui 2 :
Prezentul capitol este organizat dup¸ a cum urmeaz¸ a: se prezint¸ a conceptele de
generatoare pseudoaleatorii » si de test statistic, se prezint¸ a schematic, sub forma de
pseudocod, algoritmul de estimare a probabilit¸ at »ii ideale a sursei testate. Mai mult
53
54 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
dec^ at at^ at, este prezentat¸ a o formul¸ a analitic¸ a pentru calculul acestei probabilit¸ at »i.
Se vor prezenta, tot sub form¸ a de pseudo-cod, testele frecvent »ei, serial, autocorelat »iei
circulare/temporale precum » si a autocorelat »iilor circulare/temporale. Ca o caracter-
istic¸ a a acestui capitol remarc¸ am caracterul formal al schemelor de testare prezentate
sub form¸ a algoritmic¸ a. Astfel, acestea pot ¯ foarte u» sor implementate ^ ³n diverse lim-
baje de programare lucru ce este exempli¯cat ^ ³n ultimul paragraf al acestui capitol.
4.2. Generatoare » si teste statistice
4.2.1. Generatoare uniforme
Un generator aleatoriu de bit »i este un mecanism a c¸ arui ie» sire este un » sir binar de
variabile aleatoare independente » si simetric distribuite, adic¸ a poate ¯ implementat
de o surs¸ a binar¸ a simetric¸ a ( BSS). Un generator pseudoaleatoriu este un algoritm
care produce un » sir binar care simuleaz¸ a o surs¸ a binar¸ a simetric¸ a (un exemplu de
astfel de generator, cu propriet¸ at »i bune din punct de vedere al aleatorismului, este
de exemplu implementat de relat »ia Xn=Xn¡24+Xn¡55mod munde meste un
num¸ ar par, iar X0; : : : ; X 54sunt cuvinte pe mbit »i nu toate pare). Aleatorismul este
o proprietate a unui model matematic abstract caracterizat de un c^ amp de proba-
bilitate. Un model probabilistic care s¸ a poat¸ a da o descriere exact¸ a a realit¸ at »ii este
o problem¸ a ¯lozo¯c¸ a legat¸ a de ^ ³ntrebarea dac¸ a universul este sau nu determinist. Pe
de alt¸ a parte, exist¸ a procese haotice naturale ca zgomotul termic ^ ³ntr-un tranzistor
ce permite construct »ia unui generator aleatoriu de bit »i, care pentru aplicat »iile prac-
tice este echivalent cu o surs¸ a binar¸ a simetric¸ a. ^In aplicat »iile practice, ^ ³n procesul de
proiectare al unui echipament electronic, care exploateaz¸ a aceste propriet¸ at »i haotice
ale proceselor ¯zice, se impune s¸ a nu existe dependent »e ^ ³ntre bit »i sau deplas¸ ari ale
acestora. Aleatorismul reprezint¸ a pentru procesele matematice ceea ce este haosul
pentru procesele ¯zice. Matematic, aleatorismul unei surse revine la:
De¯nit »ia 4.2.1. Generatorul Gse nume» ste generator aleatoriu dac¸ a e» santioa-
neleg1; : : : ; g nsunt variabile aleatoare independente » si:
P(G= 0) = P(G= 1) = 0 ;5:
Din motivele prezentate anterior, pentru un asemenea echipament, este esent »ial¸ a
testarea statistic¸ a extins¸ a dup¸ a proiectare » si de asemenea periodic de-a lungul ope-
rat »iilor ce le efectueaz¸ a.
4.2.2. Conceptul de test statistic
^In acest paragraf discut¸ am din punct de vedere teoretic problema deciziei dac¸ a
ie» sirea unei surse este statistic independent¸ a » si uniform distribuit¸ a. Decizia trebuie
GENERATOARE S »I TESTE STATISTICE 55
luat¸ a pe un » sir e» santion de o anumit¸ a lungime N. Vom spune la momentul oportun
ce volum trebuie s¸ a aib¸ a e» santionul. S¸ a not¸ am cu Bmult »imea f0,1g. Un algoritm
determinist care are ca intrare un » sir binar » si ca ie» sire o variabil¸ a binar¸ a de decizie
se nume» ste test statistic » si poate ¯ privit ca o funct »ie: T:BN! faccept; resping g
care ^ ³mparte mult »imea BNa » sirurilor sN=s1; : : : ; s Nde lungime N^ ³ntr-o mult »ime
(de obicei mai mic¸ a) ST=fsN:T(sN) =resping g ½BNa » sirurilor proaste sau
nealeatorii, complementara acesteia ¯ind mult »imea » sirurilor bune sau aleatorii. Sunt
numeroase de¯nit »ii date aleatorismului: Kolmogorov, de exemplu, de¯ne» ste acest
concept ca lungimea celei mai scurte reguli de generare a » sirului. Un » sir este aleatoriu
dac¸ a regula amintit¸ a anterior este chiar » sirul ^ ³nsu» si. Mai formal, aleatorismul (sau
complexitatea Kolmogorov ) unui » sir este lungimea celui mai mic program Turing care
genereaz¸ a » sirul pentru o ma» sin¸ a Turing universal¸ a ¯xat¸ a. Martin-Lof a ar¸ atat c¸ a
asimptotic un » sir este aleatoriu dac¸ a satisface aceast¸ a de¯nit »ie pentru toate testele
statistice calculabile. O mic¸ a problem¸ a apare la de¯nit »ia lui Kolmogorov: lungimea
celui mai scurt program depinde de ma» sina Turing particular aleas¸ a. Probleme mai
mari apar la faptul c¸ a aceast¸ a complexitate Kolmogorov nu este calculabil¸ a, chiar
folosind un calculator cu putere de calcul in¯nit¸ a. Aceast¸ a problem¸ a este echivalent¸ a
problemei opririi pentru ma» sini Turing.
Pentru orice model probabilistic cu parametri speci¯cat »i (de exemplu, o surs¸ a
binar¸ a f¸ ar¸ a memorie care emite 1 cu probabilitatea 0 ;4 » si 0 cu probabilitatea 0 ;6),
problema deciziei dac¸ a » sirul de la ie» sire este ^ ³n concordant »¸ a cu modelul se rezolv¸ a
cu ajutorul testelor statistice. Pentru modelele parametrizate, testele statistice nu
sunt optimale ^ ³n ceea ce prive» ste testarea ipotezelor. ^In primul r^ and chiar ¯x^ and
o distribut »ie pe anumite modele nu pot de¯ni un criteriu de optimalitate global¸ a.
^In al doilea r^ and, ca » si ^ ³n cazul test¸ arii ipotezelor statistice, strategia optimal¸ a
chiar pentru o alegere particular¸ a a parametrilor poate ¯ greu de implementat.
Din motivele ar¸ atate anterior multe teste statistice sunt euristice. C^ ateva teste
(de exemplu testul frecvent »ei » si testul serial) pot ¯ interpretate ^ ³n modul urm¸ ator:
parametrii unui model statistic sunt estimat »i din » sirul e» santion » si se construie» ste o
funct »ie test bazat¸ a pe diferent »a dintre acest parametru » si parametrul unei BSS. Ba-
z^ andu-ne pe repartit »ia funct »iei test pentru un » sir cu adev¸ arat aleatoriu » sirul testat
este respins sau acceptat. Principalele teste care se efectueaz¸ a ^ ³n statistic¸ a, cu
aplicat »ii ^ ³n problematica test¸ arii cheilor de cifrare se refer¸ a la:
-compararea mediei unei select »ii cu valoarea mediei repartit »ie teoretice din care
se presupune c¸ a provine aceasta (cu testul t);
-compararea dispersiilor a dou¸ a select »ii independente (cu testul F);
-compararea frecvent »elor;
-compararea repartit »iilor: se compar¸ a dac¸ a o repartit »ie empiric¸ a nu difer¸ a sem-
ni¯cativ de repartit »ia teoretic¸ a (se folose» ste testul Â2» si/sau testul Kolmogorov-
56 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
Smirnov);
-corelat »ie care poate ¯ de mai multe tipuri » si anume: Pearson (m¸ asoar¸ a leg¸ atura
linear¸ a ^ ³ntre variabile), Spearman (este coe¯cientul de corelat »ie al lui Pearson, dar
calculat din ranguri), Kendall-Tau (m¸ asoar¸ a probabilitatea ca datele s¸ a ¯e corelate
din punctul de vedere al ordinii de aparit »ie).
Se mai poate efectua » si analiz¸ a de tip ANOVA, adic¸ a analiza dispersiei, care
analizeaz¸ a diferent »ele dintre mediile unor grupuri de date, diferent »iate pe baza unui
factor a c¸ arui in°uent »¸ a asupra valorilor medii ale grupurilor dorim s¸ a o investig¸ am.
Aceste teste se pot aplica pe bit »i » si/sau bytes, sau alt parametru de codi¯care (hexa,
word etc). ^In continuare, majoritatea testelor prezentate sunt la nivel logic binar.
4.2.3. Modele statistice pentru generatoare
Cel mai simplu model pentru un generator este sursa binar¸ a f¸ ar¸ a memorie( BMS )
a c¸ arei ie» sire este un » sir de variabile aleatoare independente » si uniform distribuite
¯ind caracterizat¸ a de un singur parametru: probabilitatea pde a emite 1. Acest
model se va nota cu BMS p. Remarc¸ am faptul c¸ a BMS 1=2este echivalent¸ a cu BSS.
Un alt model simplu, notat cu STp, emite 0 » si 1 cu aceea» si probabilitate, dar prob-
abilit¸ at »ile de tranzit »ie sunt deplasate: o cifr¸ a binar¸ a este urmat¸ a de complementul
ei cu probabilitatea p» si de aceea» si cifr¸ a cu probabilitatea 1 ¡p. Aceasta este un
exemplu de o surs¸ a binar¸ a stat »ionar¸ a cu memorie de 1 bit. ^In general, distribut »ia de
probabilitate a bitului ide la ie» sire poate s¸ a depind¸ a de Mie» siri anterioare, unde M
este memoria sursei. ^In multe aplicat »ii practice se poate presupune c¸ a un generator
defect sau slab criptogra¯c este modelat de o asemenea surs¸ a cu memorie relativ
mic¸ a.
Consider¸ am o surs¸ a Scare emite » sirul U1; U2; U3; : : :de variabile aleatoare binare.
Dac¸ a exist¸ a un ^ ³ntreg pozitiv M > 0 astfel ^ ³nc^ at pentru orice n > M probabilitatea
luiUncondit »ionat¸ a de U1; U2; : : : ; U n¡1depinde numai de ultimii Mbit »i de la ie» sire
adic¸ a dac¸ a:
PUnjUn¡1:::U1(unjun¡1: : : u 1) =PUnjUn¡1:::Un¡M(unjun¡1: : : u n¡M);
pentru un n > M » si orice » sir binar ( u1; u2; : : : ; u n)2Bn, atunci cel mai mic astfel
deMse nume» ste memoria sursei S» si prin §n= [Un¡1; : : : ; U n¡M] se noteaz¸ a starea
la momentul n. Fie§1= [U0; : : : ; U ¡M+1]starea init »ial¸ a unde U¡M+1; : : : ; U 0sunt
variabile aleatoare. Dac¸ a ^ ³n plus sursa satisface:
PUnj§n(uj¾) =PU1j§1(uj¾);
pentru orice n > M » si orice u2B» si¾2BMsursa se va numi stat »ionar¸ a .
GENERATOARE S »I TESTE STATISTICE 57
Deci o surs¸ a stat »ionar¸ a cu memoria Meste complet determinat¸ a de distribut »ia de
probabilitate a st¸ arii init »iale P§1» si distribut »ia de probabilitate a tranzit »iilor st¸ arilor
P§2j§1. S »irul st¸ arilor formeaz¸ a un lant » Markov cu proprietatea suplimentar¸ a c¸ a
¯ecare din cele 2Mst¸ ari are cel mult dou¸ a st¸ ari succesoare cu probabilitate nenul¸ a.
Vom identi¯ca cele 2Mposibile st¸ ari ale lant »ului Markov cu numerele ^ ³ntregi din
intervalul [0 ;2M¡1] (§ n=j^ ³nseamn¸ a c¸ a Un¡1; : : : ; U n¡Meste reprezentarea binar¸ a
a luij). Pentru clasa lant »urilor Markov ergodice care cont »ine toate clasele de interes
practic exist¸ a o distribut »ie de tranzit »ie a st¸ arilor invariant¸ a p0; : : : ; p2M¡1astfel^ ³nc^ at:
limn!1P§n(j) =pj pentru 0 ·j·2M¡1:
Mai mult probabilit¸ at »ile pjsunt solut »iile sistemului linear:
8
>>><
>>>:2M¡1P
j=0pj= 1;
pj=2M¡1P
k=0P§2j§1(jjk)pk pentru 0 ·j·2M¡2:
4.2.4. Teste elementare de aleatorism statistic
A» sa cum am amintit, un test statistic Tpentru » siruri de lungime Neste o funct »ie
T:BN! faccept resping gcare ^ ³mparte mult »imea BNde » siruri binare de lungime
N sN=s1; : : : ; s N^ ³ntr-o mult »ime mai mic¸ a ST= =fsN:T(sN) =resping g ½BN
a mult »imii » sirurilor nealeatorii. Mult »imea complementar¸ a este mult »imea » sirurilor
aleatorii. Probabilitatea ca un » sir generat de o surs¸ a BSS s¸ a ¯e respins este:
½=card(ST)
2N
» si se nume» ste rata de respingere . Aceasta reprezint¸ a probabilitatea de a respinge un
» sir aleatoriu » si se nume» ste riscul de ordinul 1 (sau riscul produc¸ atorului). ^In cazul ^ ³n
care testul statistic se construie» ste pe baza intervalelor de estimare apare » si a doua
probabilitate de eroare statistic¸ a » si anume: probabilitatea de a accepta o ipotez¸ a
fals¸ a cunoscut¸ a sub numele de riscul de ordinul 2 (sau riscul bene¯ciarului). Ideal
este ca ambele riscuri s¸ a ¯e minime ceea ce nu se poate. De aceea, pentru situat »iile
practice vom stabili ½» si vom evalua cel de-al doilea risc. Reamintim c¸ a testele de
tipNeyman-Pearson minimizeaz¸ a riscul de ordinul 2 pentru un risc de ordinul 1
¯xat(deci ^ ³n acest caz nu mai trebuie s¸ a calcul¸ am funct »ia caracteristic¸ a operatoare
a testului care ne d¸ a riscul bene¯ciarului).
Un test statistic T, pentru o select »ie rezonabil¸ a de lungime N, se implementeaz¸ a
cu ajutorul unei funct »ii fTde¯nit¸ a astfel: fT:BN!R. Se determin¸ a distribut »ia
58 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
de probabilitate a unei variabile aleatoare reale f(RN) unde RNeste un » sir de N
variabile binare independente » si simetric distribuite, limitele inferioar¸ a » si superioar¸ a
t1» sit2astfel ^ ³nc^ at:
Pr[fT(RN)·t1] +Pr[fT(RN)¸t2] =½:
De obicei, Pr[fT(RN)·t1] =Pr[fT(RN)¸t2]¼½=2 (^ ³n acest caz t1se nume» ste
cuantila de ordinul ½=2;iart2se nume» ste cuantila de ordinul 1¡½=2) ceea ce core-
spunde testului bilateral. Mult »imea » sirurilor proaste ST, cu cardinalul ½2Neste
de¯nit¸ a de:
ST=fsN2BN:fT(sN)·t1saufT(sN)¸t2g:
De cele mai multe ori, fT(RN) are o distribut »ie relativ cunoscut¸ a ca: normaà l¸ a,
Â2(n); t(n); F(n1; n2); exp (¸). Distribut »ia normal¸ a apare c^ and un num¸ ar mare de
variabile independente identic distribuite sunt ^ ³nsumate. Distribut »ia Â2(n) se obt »ine
din ^ ³nsumarea p¸ atratelor a nvariabile independente distribuite gaussian de medie 0
» si dispersie 1.
4.2.5. Interpretarea rezultatelor testelor statistice
Operat »ia de interpretare a rezultatelor este destul de laborioas¸ a deoarece dac¸ a
execut¸ am o baterie de teste, ca ^ ³n cazul test¸ arii generatoarelor pseudoaleatoare crip-
togra¯ce, acestea pot s¸ a nu ¯e independente. Interpretarea unui singur test este
mult mai simpl¸ a. Astfel, ¯e dou¸ a ipoteze statistice » si anume:
H0:sNaleatoriu(nu prezint¸ a component¸ a predictibil¸ a);
HA:sNnealeatoriu(prezint¸ a cel put »in component¸ a predictibil¸ a).
1¡®= Pr(accept H0jH0adev¸ arat¸ a) ¡probabilitatea aparit »iei unui rezultat neg-
ativpentru o surs¸ a aleatoare;
®= Pr(resping H0jH0adev¸ arat¸ a) ¡probabilitatea aparit »iei unui rezultat fals
pozitiv pentru o surs¸ a aleatoare;
1¡¯= Pr(resping H0jH0fals¸ a)¡probabilitatea aparit »iei unui rezultat pozitiv
pentru o surs¸ a aleatoare;
¯= Pr(accept H0jH0fals¸ a)¡probabilitatea aparit »iei unui rezultat fals negativ
pentru o surs¸ a aleatoare.
Decizia referitoare la apartenent »a la una din cele dou¸ a ipoteze se face pe baza
unei funct »ii de test fcalculat¸ a dintr-un e» santion X1; :::; X nde volum n:Ideal este
ca ambele tipuri de erori s¸ a ¯e minime. Din p¸ acate, acest lucru nu este posibil.
Testele de tip Neymann-Pearson minimizeaz¸ a riscul de ordinul 2 pentru un risc de
ordinul 1 ¯xat, iar testele bazate pe intervale de ^ ³ncredere ¯x¸ am ®» si calcul¸ am pe ¯
bene¯ciarului.
ENTROPIA VARIABILELOR ALEATOARE DISCRETE 59
Valoarea Peste cel mai mic prag de semni¯cat »ie (risc de ordinul 1) pentru care
se respinge ipoteza nul¸ a H0(pe baza valorilor statisticii f(X1; :::; X n)) deci:
P·® resping H0la pragul ®;
» si
® < P accept H0la pragul ®:
Observat »ia 4.2.1. Valoarea Pasociat¸ a unei statistici f(X1; :::; X n) se obt »ine
din ecuat »ia P=Pr(resping H0jregiunea de respingere pentru H0dat¸ a de valoarea
f):
4.3. Entropia variabilelor aleatoare discrete
FieXo variabil¸ a aleatoare discret¸ a care ia valori ^ ³ntr-o mult »ime ¯nit¸ a sau nu-
m¸ arabil¸ a, dar in¯nit¸ a. Variabila aleatoare Xeste modelat¸ a de distribut »ia de prob-
abilitate PX:X !Rcare satisface:
X
x2XPX(x) = 1 :
De¯nit »ia 4.3.1. Variabilele aleatoare X1; : : : ; X nsunt statistic independente
dac¸ a:
PX1;:::;X n(x1; : : : ; x n) =PX1(x1): : : P Xn(xn):
De¯nit »ia 4.3.2. Entropia Shannon sauincertitudinea variabilei aleatoare X
este de¯nit¸ a de:
H(X) =¡X
x2X:PX(x)6=0PX(x) log2PX(x):
Dac¸ a Xeste ¯nit¸ a atunci: 0 ·H(X)·log2jXj, unde prin jXjam notat cardi-
nalul mult »imii X. Avem egalitatea:
H(X) = 0 dac¸ a » si numai dac¸ a ( 9)x2 Xastfel ^ ³nc^ at PX(x) = 1 :
ceea ce corespunde cazului dezordine minim¸ a (caz determinist) » si egalitatea:
H(X) = log2jXjdac¸ a » si numai dac¸ a ( 8)x2 X avem PX(x) =1
jXj:
ceea ce corespunde cazului dezordine maxim¸ a.
60 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
De¯nit »ia 4.3.3. Entropia Renyi de ordinul ®care este de¯nit¸ a ca:
H®(X) =1
1¡®log2X
x2XP®
X(x):
^In cazul limit¸ a ®!1 obt »inem H(x) =lim
®!1H®(X) (entropia Shannon ), pentru
®! 1 obt »inem min-entropia H1(X) =¡log2max
x2XPX(x) iar pentru ®= 2
obt »inem entropia de coliziune. Avem de asemenea urm¸ atoarele inegalit¸ at »i:
log2jXj ¸ H(X)¸H2(X)¸H1(X)
» si
0< ® < ¯ atunci H®(X)¸H¯(X)
cu egalitate dac¸ a » si numai dac¸ a Xeste uniform distribuit¸ a peste Xsau o submult »ime
a luiX.
De¯nit »ia 4.3.4. Redundant »a variabilei aleatoare ¯nite Xeste de¯nit¸ a prin for-
mula: R(X) = log2jXj ¡ H(X):
Entropia variabilelor X1; : : : ; X neste de¯nit¸ a ca o extensie a de¯nit »iei anterioare
» si anume:
H(X1; : : : ; X n) =¡X
PX1;:::;X n(x1; : : : ; x n) log2PX1;:::;X n(x1; : : : ; x n):
unde sumarea se face dup¸ a acele probabilit¸ at »i nenule.
De¯nit »ia 4.3.5. Redundant »a variabilelor aleatoare ¯nite X1; : : : ; X neste de¯nit¸ a
prin formula: Rn(X1; : : : ; X n) =n¢log2jXj ¡ H(X1; : : : ; X n):
De¯nit »ia 4.3.6. Distant »a de unicitate a unui sistem criptogra¯c cu spat »iul cheiii
K» si spat »iul textelor clar Meste de¯nit¸ a prin:
minfn2N¤jRn¸H(K)g
unde H(K) reprezint¸ a entropia cheii iar Rnredundant »a textului clar.
Observat »ia 4.3.1. Distant »a de unicitate este un indicator teoretic » si ideal pen-
tru a efectua schimbarea cheii (^ ³n momentul ^ ³n care redundant »a textului clar este
mai mare ca entropia cheii criptanalistul are su¯ciente resurse pentru a determina,
^ ³n cazul ^ ³n care dispune de capacitate de stocare » siputere de calcul nelimitat¸ a , textul
clar din criptogram¸ a).
ENTROPIA VARIABILELOR ALEATOARE DISCRETE 61
Observat »ia 4.3.2. ^In cazul ^ ³n care X=f0;1giar cheia este pe kbit »i » si toate
acestea sunt echiprobabile atunci distant »a de unicitate este k:Sistemul de cifrare
care distant »a de unicitate in¯nit este sistemul cu cheie de unic¸ a folosint »¸ a (OTP-
one time pad ) care const¸ a ^ ³n sumarea modulo 2 a textului clar cu o secvent »¸ a cheie
generat¸ a, prin mecanisme hardware, ^ ³n mod aleator (nu pseudoaleator).
De¯nit »ia 4.3.7. Entropia condit »ionat¸ a a variabilei aleatoare Xdat¸ a ¯ind vara-
bila aleatoare Yeste de¯nit¸ a ca:
H(XjY) =¡X
(x;y)PXjY(x; y) log2PXjY(x; y);
unde PXjY(x; y) este probabilitatea condit »ionat¸ a ca Xs¸ a ia valoarea xdac¸ a se
observ¸ a Y=y.
Se poate ar¸ ata c¸ a:
0·H(XjY)·H(X);
avem H(XjY) = 0 dac¸ a » si numai dac¸ a Ydetermin¸ a ^ ³n mod unic peX» siH(XjY) =
H(X) dac¸ a » si numai dac¸ a X» siYsunt s tatistic independente . O regul¸ a important¸ a
de transformare a nedermin¸ arilor este regula lant »ului :
H(X1; : : : ; X n) =H(X1) +H(X2jX1) +: : :+H(XnjX1; : : : ; X n¡1);
care pentru entropia condit »ionat¸ a are forma:
H(X1; : : : ; X njY) =H(X1jY) +H(X2jX1; Y) +: : :+H(XnjX1; : : : ; X n¡1; Y):
De¯nit »ia 4.3.8. Informat »ia mutual¸ a ^ ³ntre variabilele aleatoare X» siYeste de¯ni-
t¸ a ca:
I(X;Y) =H(X)¡H(XjY) =H(Y)¡H(YjX) =I(Y;X);
» si este o m¸ asur¸ a a reducerii nedetermin¸ arii luiXdac¸ a se observ¸ a Y.
Similar, putem de¯ni informat »ia mutual¸ a condit »ionat¸ a dintre X» siYdac¸ a se d¸ a
Zca:
I(X;YjZ) =H(XjZ)¡H(XjY; Z):
S¸ a ar¸ at¸ am c¸ a pentru jXj=nentropia H(X) este maxim¸ a dac¸ a » si numai dac¸ a
pi=1
n; i= 1; : : : ; n:
62 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
Problema de optimizare este:
8
>><
>>:maxH(X)
nP
i=1pi= 1
pi¸0:
Lagrangeianul L=¡nP
i=1pilog2pi¡¸(nP
i=1pi¡1):
Rezolvarea sistemului: 8
>><
>>:@L
@pi= 0; i=1; n
@L
@¸= 0
conduce la pi=1
n; i=1; n;adic¸ a distribut »ia uniform¸ a.
4.4. Surse de aleatorism de numere intregi
4.4.1. Formula analitic¸ a a probabilit¸ at »ii ideale a unei surse de
aleatorism de numere ^ ³ntregi
FieXo variabil¸ a aleatoare ce ia valori ^ ³ntregi ^ ³n intervalul de numere ^ ³ntregi
fnmin; : : : ; n maxg:S »irul realiz¸ arilor X1; : : : ; X n;care este un » sir de numere ^ ³ntregi va
¯ ^ ³n prealabil transformat ^ ³n » sirul binar ata» sat. Ideal ar ¯ s¸ a g¸ asim o formul¸ a pentru
calculul probabilit¸ at »ii pa simbolului 1 » si pentru q= 1¡pprobabilitatea aparit »iei
simbolului 0. Astfel, dac¸ a not¸ am cu Ntnum¸ arul total de simboluri » si cu N1num¸ arul
de simboluri de 1 emise de surs¸ a obt »inem (f¸ ac^ and formal notat »ia 0 := log20):
p=N1
Nt=nmaxP
i=nminw(bin(i))
nmaxP
i=nmin([log2i] + 1);
deci avem:
p=nmaxP
i=nminw(bin(i))
nmaxP
i=nmin[log2i] + (nmax¡nmin);
unde prin w(:) s-a notat operatorul pondere w:Bn!N, iar prin bin(:) funct »ia
ce transform¸ a un caracter ^ ³ntreg ^ ³n binar, bin:N!Bn. Pentru ca formula s¸ a
SURSE DE ALEATORISM DE NUMERE INTREGI 63
¯e operat »ional¸ a trebuie g¸ asit¸ a o expresie pentru compunerea w(bin(:)) :N!N:
Aceasta este dat¸ a de:
w(bin(i)) =[log2i]X
j=0[i
2j] mod 2 ;
(cu aceea» si convent »ie ca mai sus 0 := log20). Deci avem urm¸ atoarea formul¸ a pentru
p:
p=nmaxP
i=nmin[log2i]P
j=0[i
2j] mod 2
nmaxP
i=nmin[log2i] + (nmax¡nmin):
O problem¸ a pe care o avem^ ³n vedere este aceea a comportamentului asimptotic al
probabilit¸ at »ii anterioare. Astfel, trebuie s¸ a vedem cum evolueaz¸ a p=p(nmax; nmin)
c^ and:
i) diferent »a nmax¡nmin! 1 ;
ii)nmax! 1 :
Metoda de mai jos este o metod¸ a computat »ional¸ a de calcul a probabilit¸ at »ii pce
poate ¯ folosit¸ a ca o alternativ¸ a la formula de mai sus.
4.4.2. Metoda de calcul efectiv al lui prespectiv q
Urm¸ atorul algoritm, prezentat ^ ³n pseudocod, furnizeaz¸ a la ie» sire valoarea proba-
bilit¸ at »ii pa unei surse de numere ^ ³ntregi.
PAS 0. Se cite» ste valoarea minim¸ a nmin» si valoarea maxim¸ a nmaxa realiz¸ arilor
posibile.
Se init »ializeaz¸ a lungimea reprezent¸ arii binare L= 0;
Se init »ializeaz¸ a ponderea (num¸ arul de 1 ) W= 0;
PAS 1 . Pentru i=nminp^ an¸ a la nmaxexecut¸ a:
se converte» ste num¸ arul i^ ³n binar.
se a°¸ a ponderea w(i) corespunz¸ atoare num¸ arului iprecum » si l(i) lungimea sa ^ ³n
bit »i.
W=W+w(i);L=L+l(i);
PAS 2. Se estimeaz¸ a probabilitatea lui 1 prin formula: p=W
L» si probabilitatea
lui 0 prin relat »ia: q= 1¡W
L;
64 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
4.5. Metode de decorelare
Metodele de decorelare au ca scop eliminarea corelat »iilor binare dintr-o secvent »¸ a
aleatoare binar¸ a care prezint¸ a o descentrare a Pr(X= 0)6= 0;5:Aceste metode se
aplic¸ a, de regul¸ a, generatoarelor hardware de secvent »e aleatoare. Metodele pot ¯ de-
terministe (se poate recupera -part »ial sau^ ³n totalitate- secvent »a de intrare cunosc^ and
ie» sirea) sau nedeterministe (nu se poate recupera informat »ia de intrare).
4.5.1. Metode deterministe
Diferent »ierea unei secvent »e binare
Fie (Xn) un » sir de variabile aleatoare independente cu Pr(Xn= 0) =1
2+pcu
p < 0;5:Atunci » sirul Zi=Xi©Xi¡1;obt »inut prin operat »ia de diferent »iere, are
Pr(Zn= 0) =1
2+ 2p2;probabilitatea acestuia ¯ind mai apropiat¸ a de 0 ;5 dec^ at
probabilitatea lui Xn:Evident din secvent »a Zse poate recupera secvent »a X;^ ³n
concluzie tehnica nu este indicat¸ a a se folosi la aplicat »ii criptogra¯ce.
Sumarea a dou¸ a sau mai multe secvent »e independente
O variant¸ a a metodei prezentate mai sus se aplic¸ a pentru obt »inerea unei secvent »e
mai bune (din punct de vedere al probabilit¸ at »ii) din dou¸ a secvent »e binare aleatoare
independente ( Xn) » si ( Yn) cu Pr(X= 0) = p1respectiv Pr(Y= 0) = p2(pre-
supunem p1; p2>0;5). Atunci:
Pr(X©Y= 0) = 1 + 2 p1p2¡p1¡p2<minfp1; p2g:
Metoda se aplic¸ a, de exemplu, la construct »ia generatorarelor hardware care au ^ ³n
component »¸ a dou¸ a sau mai multe generatoare de secvent »e binare independente dar
descentrate de la uniformitate ( p1; p26= 0;5).
4.5.2. Metode nedeterministe
Vom prezenta metoda de decorelare a lui Von Neumann care este bazat¸ a pe ideea
decim¸ arii secvent »ei generate. Astfel secvent »ele de tipul 00 » si 11 sunt ignorate pe c^ and
secvent »ele de tipul 01 » si 10 sunt codi¯cate ^ ³n 1 respectiv 0 :Din secvent »a de ie» sire,
care prezint¸ a o corelat »ie binar¸ a mai mic¸ a dec^ at secvent »a de intrare, nu se poate
recupera » sirul binar init »ial. Procedeul se poate aplica recursiv.
TESTE STATISTICE DE ALEATORISM 65
4.6. Teste statistice de aleatorism
O descriere exhaustiv¸ a a testelor statistice ce se vor prezenta se poate g¸ asi » si ^ ³n
[107]. Vom prezenta o serie de teste de aleatorism statistic. Acestea se bazeaz¸ a
pe construct »ia unor funct »ii de test, distribut »ia de referint »¸ a ¯ind distribut »ia normal¸ a
sau chi-p¸ atrat. Testele presupun un volum su¯cient de mare al e» santionului. Pentru
volum mic al e» santionului se aplic¸ a alte teste ^ ³n care distribut »ia de referint »¸ a este
Bernoulli, binomial¸ a sau Poisson. Aceste teste (care presupun calcul ^ ³n discret) sunt
mai di¯cil de implementat dec^ at prima categorie de teste (care presupun manipularea
de funct »ii continue). Eroarea de decizie poate ¯ facut¸ a oric^ at de mic¸ a dac¸ a volumul
e» santionului tinde la in¯nit.
4.6.1. Algoritmul de implementare al testului frecvent »ei
Descrierea testului: Acest test este un test fundamental » si se bazeaz¸ a pe distribut »ia
num¸ arului de 1 din » sirul testat. Statistica testului este de tip gaussian (vezi pasul
2 din algoritmul anterior). Testul se poate executa la diverse rate de respingere » si
pentru diverse valori ale parametrului p0;probabilitate care indic¸ a valoarea ideal¸ a
a probabilit¸ at »ii de aparit »ie a simbolului 1.
Scopul testului: Testul pune ^ ³n evident »¸ a o abatere semni¯cativ¸ a a probabilit¸ at »ii
(reale) de simboluri de 1 fat »¸ a de probabilitatea teoretic¸ a (ideal¸ a).
Pseudocodul este prezentat ^ ³n continuare (se speci¯c¸ a intr¸ arile » si ie» sirile algorit-
mului).
Intrare: Succesiunea binar¸ a sN=s1; : : : ; s N:
Probablilitatea p0de aparit »ie a simbolului 1 (dac¸ a p0= 0;5;atunci avem o surs¸ a
binar¸ a simetric¸ a). Aceast¸ a probabilitate se poate calcula utiliz^ and algoritmul descris
anterior sau formula analitic¸ a corespunz¸ atoare.
Not¸ am q0= 1¡p0= Pr( S= 0) probabilitatea de aparit »ie a simbolului 0.
Ie» sire: Decizia de acceptare sau respingere a aleatorismului, adic¸ a » sirul sNeste
realizarea unei surse stat »ionare cu Pr( S= 1) = p0;ipoteza alternativ¸ a ¯ind Pr( S=
1) = p16=p0:
PAS 0. Cite» ste » sirul sN;rata de respingere ®.
PAS 1. Calculeaz¸ a funct »ia de test:
fTF(sN) =1pN¤p0¤q0(NX
i=1si¡N¤p0):
PAS 2. Dac¸ a fTF(sN)2[u®
2;u1¡®
2] (u®
2» siu1¡®
2sunt cuantilele repartit »iei
normale de ordinul ®=2 respectiv 1 ¡®=2) se accept¸ a ipoteza aleatorismului, iar ^ ³n
caz contrar se respinge ipoteza aleatorismului.
66 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
PAS 3 . Calculeaz¸ a riscul de ordinul 2 (probabilitatea de a accepta o ipotez¸ a
fals¸ a):
¯= 1 + ©(( u®
2¡N(p1¡p0)pNp0q0)rp0q0
p1q1)¡©((u1¡®
2¡N(p1¡p0)pNp0q0)rp0q0
p1q1);
unde ©( z) =1p
2¼zR
¡1e¡x2
2dxestefunct »ia lui Laplace .
4.6.2. Algoritmul de implementare al testului serial
Descrierea testului: Testul serial veri¯c¸ a dac¸ a distribut »ia la nivel de element
de codi¯care (bit -test echivalent cu testul frecvent »ei , dublet -test numit » si testul
frecvent »ei dublet »ilor , caracter hexa – testul frecvent »elor caracterelor hexa , byte – testul
frecvent »ei bytes , sau word etc) a elementelor » sirului este uniform¸ a. Statistica testului
este de tip Â2;num¸ arul de grade de libertate al statisticii depinz^ and de nivelul de
codi¯care. Testul se poate executa la diverse rate de respingere.
Scopul testului: Acest test este de fapt o clas¸ a de teste, ¯ecare pun^ and ^ ³n evident »¸ a
abateri de la distribut »ia de probabilitate ideal¸ a a num¸ arului de simboluri (bit, dublet,
hexa, byte, word sau alt¸ a dimensiune a cuv^ antului).
Pseudocodul este prezentat ^ ³n continuare (se speci¯c¸ a intr¸ arile » si ie» sirile algorit-
mului).
Intrare: Succesiunea binar¸ a sN=s1; : : : ; s N:
S »irul probablilit¸ at »ilor p(0)de aparit »ie a simbolului i(dac¸ a p(0)
i=1
2L;atunci avem
o surs¸ a binar¸ a simetric¸ a). Acest vector se estimeaz¸ a prin generarea succesiuni binare
corespunz¸ atoare valorii minime nmin» si valorii maxime nmaxa realiz¸ arilor posibile » si
a°area cardinalului tuturor t¸ aieturilor de lungime Ldin aceast¸ a succesiune.
Ie» sire: Decizia de acceptare sau respingere a aleatorismului, adic¸ a » sirul sNeste
realizarea unei surse stat »ionare cu Pr( S=i) =p(0)
i:
PAS 0. Cite» ste » sirul sN;rata de respingere ®;dimensiunea blocului de procesat
L.
PAS 1. S »irul e» santion sNeste ^ ³mp¸ art »it ^ ³nN
Lblocuri consecutive de lungime L
(pentru L= 2 testul este echivalent cu testul frecvent »ei pe dublet »i, pentru L= 8
testul este echivalent cu testul frecvent »ei pe octet »i etc; alt »i parametri uzuali de
codi¯care sunt L= 4 (hexa) » si L= 16 (word)) » si se determin¸ a num¸ arul ni(sN) al
aparit »iilor reprezent¸ arii binare a num¸ arului ipentru 0 ·i·2L¡1:
PAS 2. Calculeaz¸ a funct »ia de test:
fTS(sN) =2L¡1X
i=0(ni(sN)¡N
Lp(0)
i)2
N
Lp(0)
i:
TESTE STATISTICE DE ALEATORISM 67
PAS 3. Dac¸ a fTS(sN)2[0;Â2
1¡®(2L¡1)] (Â2
1¡®(2L¡1) este cuantila de ordinul
1¡®a distribut »iei Â2(2L¡1)) se accept¸ a ipoteza aleatorismului, iar ^ ³n caz contrar
respinge ipoteza aleatorismului.
Observat »ia 4.6.1. O valoare prea mic¸ a a lui fTS(sN) (apropiat¸ a 0) poate ¯
considerat¸ a suspect¸ a, ^ ³n concluzie este indicat de a utiliza un test bilateral ^ ³n care
regiunea de decizie este
[Â2®
2(2L¡1);Â2
1¡®
2(2L¡1)]
(Â2®
2(2L¡1) » siÂ2
1¡®
2(2L¡1) ¯ind cuantilele de ordinul®
2respectiv 1 ¡®
2ale distribut »iei
Â2(2L¡1)).
4.6.3. Algoritmul de implementare al testului succesiunilor
Descrierea testului: Prezentul test se bazeaz¸ a pe distribut »ia num¸ arului de suce-
siuni de 0 » si de 1 de o anumit¸ a lungime. Statistica testului este de tip Â2:Testul se
poate executa la diverse rate de respingere.
Scopul testului: Testul succesiunilor1(runs test^ ³n literatura de specialitate) pune
^ ³n evident »¸ a abateri de la uniformitatea succesiunilor de 0 » si de 1 :
Pseudocodul este prezentat mai jos (se speci¯c¸ a intr¸ arile » si ie» sirile algoritmului).
Intrare: Succesiunea binar¸ a sN=s1; : : : ; s N:
Ie» sire: Decizia de acceptare sau respingere a aleatorismului, adic¸ a » sirul sNeste
realizarea unei surse stat »ionare binare simetrice cu Pr( S= 1) = 0 ;5:
PAS 0. Cite» ste » sirul sN;rata de respingere ®;dimensiunea maxim¸ a a succesiu-
nilor L.
PAS 1. ^Intestul succesiunilor cu parametrul Lse determin¸ a num¸ arul n0
i(sN) al
succesiunilor de 0 de lungime i» sin1
i(sN) al succesiunilor de 1 de lungime ipentru
1·i·L(e.g. L= 15).
PAS 2. Calculeaz¸ a funct »ia de test:
fTR(sN) =X
b2f0;1gLX
i=1(nb
i(sN)¡N
2i+2)2
N
2i+2:
PAS 3. Dac¸ a fTR(sN)2[0;Â2
1¡®(2L)] (Â2
1¡®(2L) este cuantila de ordinul 1 ¡®
a distribut »iei Â2(2L)) se accept¸ a ipoteza aleatorismului, iar ^ ³n caz contrar respinge,
ipoteza aleatorismului.
1O succesiune de 1, de lungime keste un » sir de 1 de lungime k+ 2 ce are ca pre¯x » si su¯x 0.
Analog se de¯ne» ste succesiunea de 0.
68 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
Observat »ia 4.6.2. O valoare prea mic¸ a a lui fTR(sN) (apropiat¸ a 0) poate ¯
considerat¸ a suspect¸ a, ^ ³n concluzie este indicat de a utiliza un test bilateral ^ ³n care
regiunea de decizie este
[Â2®
2(2L);Â2
1¡®
2(2L)]
(Â2®
2(2L) » siÂ2
1¡®
2(2L) ¯ind cuantilele de ordinul®
2respectiv 1 ¡®
2ale distribut »iei
Â2(2L)).
4.6.4. Algoritmul de implementare al testului autocorelat »iei tem-
porale
Descrierea testului: Testul autocorelat »iei temporale este echivalent^ ³ntr-o oarecare
form¸ a cu testul frecvent »ei: astfel, dac¸ a Seste o variabil¸ a aleatoare binar¸ a cu p0=
Pr(S= 1);atunci testul frecvent »ei se va aplica cu parametru de probabilitate 2 p0q0
unui » sir diferent »iat la distant »a bine speci¯cat¸ a (pasul 1). De regul¸ a, acest test se
aplic¸ a pentru orice valoare a parametrului de codi¯care ( d= 8;16;etc). Testul se
poate executa la diverse rate de respingere.
Scopul testului: Se veri¯c¸ a ipoteza conform c¸ areia nu sunt corelat »ii de tip cuv^ ant
shiftat.
Pseudocodul este prezentat ^ ³n continuare (se speci¯c¸ a intr¸ arile » si ie» sirile algorit-
mului).
Intrare: Succesiunea binar¸ a sN=s1; : : : ; s N:
Ie» sire: Decizia de acceptare sau respingere a necorelat »iei temporale la o distant »¸ a
¯xat¸ a apriori.
PAS 0. Cite» ste » sirul sN;rata de respingere ®;distant »a de autocorelare temporal¸ a
d.
PAS 1. Aplic¸ a testul frecvent »ei, cu parametru de probabilitate 2 p0q0, » sirului
binar de lungime N¡d:
s1©s1+d; s2©s2+d; : : : ; s N¡d©sN;
unde prin ©s-a notat suma modulo 2.
PAS 2. Dac¸ a » sirul trece testul frecvent »ei, atunci decidem ipoteza necorel¸ arii
temporale a » sirului sN=s1; : : : ; s N, la distant »a d» si la riscul de ordinul 1 ®(deci a
aleatorismului » sirului), iar ^ ³n caz contrar respingem ipoteza necorel¸ arii temporale la
distant »a d.
4.6.5. Algoritmul de implementare al testului autocorelat »iilor
temporale
Descrierea testului: Acest algoritm decide dac¸ a un » sir prezint¸ a sau nu autocore-
lat »ii temporale. Este o compunere a testelor de autocorelat »ie temporale » si se poate
TESTE STATISTICE DE ALEATORISM 69
executa la diverse rate de respingere.
Scopul testului: Se veri¯c¸ a ipoteza conform c¸ areia nu sunt corelat »ii de tip cuvinte
shiftate.
Pseudocodul este prezentat ^ ³n continuare (se speci¯c¸ a intr¸ arile » si ie» sirile algorit-
mului).
Intrare: Succesiunea binar¸ a sN=s1; : : : ; s N:
Ie» sire: Decizia de acceptare sau respingere a necorel¸ arii temporale.
PAS 0. Cite» ste » sirul sN;rata de respingere ®;distant »a maxim¸ a de autocorelare
temporal¸ a d.
PAS 1. nc= 0;
Fori= 1 to dexecut¸ a:
aplic¸ a testul autocorelat »iilor la distant »a i;
dac¸ a nu se trece testul nc=nc+ 1;
EndFor.
PAS 2. Dac¸ a nc < ®d; atunci » sirul trece testul autocorelat »iilor p^ an¸ a la distant »a d
» si la riscul de ordinul 1 ®;iar ^ ³n caz contrar respingem ipoteza necorel¸ arii temporale.
4.6.6. Algoritmul de implementare al testului autocorelat »iei cir-
culare
Descrierea testului: Este un test care r¸ aspunde la problema existent »ei autocorela-
t »iei circulare ^ ³n » sirul testat. Deosebirea dintre testul autocorelat »iei temporale » si
testul autocorelat »iei circulare este aceea c¸ a » sirul procesat este rotit » si nu shiftat.
Testul se poate executa la diverse rate de respingere.
Scopul testului: Se veri¯c¸ a ipoteza conform c¸ areia nu sunt corelat »ii de tip cuv^ ant
rotit.
Pseudocodul este prezentat ^ ³n continuare (se speci¯c¸ a intr¸ arile » si ie» sirile algorit-
mului).
Intrare: Succesiunea binar¸ a sN=s1; : : : ; s N:
Ie» sire: Decizia de acceptare sau respingere a necorelat »iei circulare la o distant »¸ a
¯xat¸ a apriori.
PAS 0. Cite» ste » sirul sN;rata de respingere ®;distant »a de autocorelare circular¸ a
d.
PAS 1. Aplic¸ a testul frecvent »ei, cu parametru de probabilitate 2 p0q0, » sirului
binar de lungime N:
s1©s1+d; s2©s2+d; : : : ; s i©s(i+d) mod N; : : : ; s N©sd;
unde prin ©s-a notat suma modulo 2.
70 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
PAS 2. Dac¸ a » sirul trece testul frecvent »ei decidem ipoteza necorel¸ arii circulare a
» sirului sN=s1; : : : ; s Nla distant »a d» si la riscul de ordinul 1 ®(deci a aleatorismului
» sirului), iar ^ ³n caz contrar respingem ipoteza necorel¸ arii temporale la distant »a d.
4.6.7. Algoritmul de implementare al testului autocorelat »iilor
circulare
Descrierea testului: Este un test care r¸ aspunde la problema existent »ei autocore-
lat »iilor circulare ^ ³n » sirul testat.
Scopul testului: Se veri¯c¸ a ipoteza conform c¸ areia nu sunt corelat »ii de tip cuv^ ant
rotit.
Pseudocodul este prezentat ^ ³n continuare (se speci¯c¸ a intr¸ arile » si ie» sirile algorit-
mului).
Intrare: Succesiunea binar¸ a sN=s1; : : : ; s N:
Ie» sire: Decizia de acceptare sau respingere a necorel¸ arii circulare.
PAS 0. Cite» ste » sirul sN;rata de respingere ®;distant »a maxim¸ a de autocorelare
circular¸ a d.
PAS 1. nc= 0;
Fori= 1 to dexecut¸ a:
aplic¸ a testul autocorelat »iilor la distant »a i;
dac¸ a nu se trece testul nc=nc+ 1;
EndFor.
PAS 2. Dac¸ a nc < ®d; atunci » sirul trece testul autocorelat »iilor, p^ an¸ a la distant »a
d» si la riscul de ordinul 1 ®;iar^ ³n caz contrar respingem ipoteza necorel¸ arii temporale.
4.6.8. Algoritmul de implementare al testului poker
Descrierea testului: Testul poker clasic consider¸ a ngrupe de c^ ate cinci ^ ³ntregi
succesivi fY5n; Y5n+1; Y5n+2; Y5n+3; Y5n+4gpentru 0 ·j·n» si urm¸ are» ste care dintre
urm¸ atoarele modele se potrive» ste ¯ec¸ aruia dintre cvintupluri sau patternuri:
Toate diferite: abcde
O pereche: aabcd
Dou¸ a perechi: aabbc
Trei buc¸ at »i: aaabc
Full: aaabb
Careu: aaaab
Cinci la fel: aaaaa
Scopul testului: Acest test detecteaz¸ a abateri semni¯cative de la statistica ideal¸ a
a cvintuplurilor anterioare. Statistica testului este de tip Â2:
Schema de implementare e¯cient¸ a este prezentat¸ a ^ ³n continuare.
TESTE STATISTICE DE ALEATORISM 71
Pentru a u» sura munca de programare necesar¸ a putem s¸ a num¸ ar¸ am valorile dis-
tincte din mult »imea de cinci valori. Am avea atunci cinci categorii:
5 valori = toate diferite;
4 valori = o pereche;
3 valori = dou¸ a perechi sau trei buc¸ at »i;
2 valori = full sau careu;
1 valoare = cinci la fel.
Acest compromis conduce la o determinare statistic¸ a mai u» soar¸ a, iar testul este
aproape la fel de bun.
Statistica testului partit »iei este de Â2(k¡1) » si cu probabilitatea pentru ivalori
diferite:
pi=d(d¡1): : :(d¡r+ 1)
dk(
k
i)
pentru i= 1; : : : ; k;
unde formula probabilit¸ at »ii este dat¸ a pentru cazul general ^ ³n care am considerat
ngrupe de c^ ate knumere succesive, iar deste num¸ arul maxim de valori din » sirul
testat ( d= 2 codi¯care binar¸ a, d= 8 codi¯care la nivel de octet etc.). Numerele©k
iă
reprezint¸ a num¸ arul de moduri^ ³n care se poate partit »iona o submult »ime de kelemente
^ ³nisubmult »imi disjuncte nevide (sau clase). Aceste numere se numesc numerele lui
Stirling de spet »a a doua » si se pot calcula recursiv dup¸ a formula urm¸ atoare:
8
>>>>><
>>>>>:©0
0ă= 1;©n
1ă= 1 pentru n >0;©n
0ă= 0 pentru n >0;©0
mă= 0 pentru m > 0;©n
mă=m©n¡1
mă+©n¡1
m¡1ăpentru m > 1» sin¸1:
Intrare : O succesiune sN=s1; : : : ; s Ncusi2 f0;1; : : : ; d ¡1g:
Ie» sire : Decizia de acceptare sau respingere a aleatorismului.
PAS 0 . Cite» ste urm¸ atoarele elemente:
²succesiunea de testat sN;
²rata de respingere a testului ®;
²parametrul d(sau se extrage din succesiunea sN) reprezint¸ a valorile pe care
le poate lua un element al succesiunii de la intrare (parametrul dse poate seta, de
exemplu implicit 8 » si atunci spunem c¸ a efectu¸ am un test la nivel de byte sau cod
ASCII extins: numere ^ ³ntre 0 » si 255);
²lungimea patternului notat¸ a prin k(de exemplu, aceasta poate ¯ setat¸ a la 5 ;
iar ^ ³n acest caz numerele lui Stirling sunt 1 ;15;25;10 respectiv 1);
PAS 1. Fori= 1 to kcalculeaz¸ a (dup¸ a formula anterioar¸ a) piprobabilitatea
ideal¸ a ca ^ ³ntr-o succesiune de lungime ks¸ a avem ielemente distincte.
PAS 2. Fori= 0 to kdoa[i] = 0;
72 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
PAS 3. Fori= 0 toN
kdo if al i¡lea grup de kelemente consecutive are j
elemente distincte atunci a[j] =a[j] + 1;
PAS 4. Calculeaz¸ a statistica testului:
Â2=kX
i=1(a[i]¡N
kpi)2
N
kpi:
PAS 5. Dac¸ a Â2< Â2
1¡®(k¡1) (cuantila de ordinul 1 ¡®a distribut »iei Â2(k¡1)),
atunci se admite ipoteza aleatorismului succesiunii la riscul ®:
Observat »ia 4.6.3. O valoare prea mic¸ a a lui Â2(apropiat¸ a 0) poate ¯ consid-
erat¸ a suspect¸ a, ^ ³n concluzie este indicat de a utiliza un test bilateral ^ ³n care regiunea
de decizie este
[Â2®
2(k¡1);Â2
1¡®
2(k¡1)]
(Â2®
2(k¡1) » siÂ2
1¡®
2(k¡1) ¯ind cuantilele de ordinul®
2respectiv 1 ¡®
2ale distribut »iei
Â2(k¡1)).
4.6.9. Algoritmul de implementare al testului CUSUM (sumelor
cumulate)
Descrierea testului : Testul CUSUM const¸ a ^ ³n determinarea drumului aleator
maxim (^ ³ncep^ and cu zero) de¯nit de sumele cumulative part »iale ale cifrelor de ¡1
» si +1 din secvent »a binar¸ a testat¸ a. Testul determin¸ a dac¸ a sumele cumulate ale
secvent »elor part »iale sunt prea mari sau prea mici relativ la valoarea a» steptat¸ a a
sumelor cumulate pentru secvent »ele aleatoare. Aceast¸ a sum¸ a cumulat¸ a poate ¯ con-
siderat¸ a ca un drum aleator. Pentru o secvent »¸ a aleatoare, valoarea unui drum aleator
trebuie s¸ a ¯e aproape de zero. Pentru un anume tip de secvent »e nealeatoare drumul
p^ an¸ a la zero trebuie s¸ a ¯e mare.
Scopul testului : Testul este bazat pe valoarea maxim¸ a absolut¸ a a sumelor part »iale
ale secvent »ei reprezentat¸ a ^ ³n forma §1. Valorile mari ale acestei statistici indic¸ a
faptul ca sunt prea multi bit »i de unu sau prea mult »i bit »i de zero ^ ³n faza de ^ ³nceput
a secvent »ei. Valorile mici arat¸ a c¸ a bit »ii de unu » si de zero sunt mixat »i foarte des.
Fies:s1; : : : ; s kun » sir binar ( si2 f0;1g). Construim x:x1; : : : ; x n; xi= 2si¡1:
Distribut »ia de probabilitate a variabilei seste dat¸ a de Pr( S= 1) = pde unde
rezult¸ a c¸ a distribut »ia variabilei xeste Pr( X= 1) = p:
Fie
Sk=kX
i=1xi= 2kX
i=1si¡k:
TESTE STATISTICE DE ALEATORISM 73
Valoarea medie a lui Skeste:
E(Sk) =k(2p¡1);
iar dispersia sa este:
D2(Sk) = 4 pk(1¡p):
Variabila aleatoarekP
i=1siare, la limit¸ a, o distribut »ie normal¸ a N(kp; k(1¡p)p):
Deci
kP
i=1si¡kp
p
kp(1¡p)»N(0;1);
adic¸ a
Sk+k
2¡kpp
kp(1¡p)»N(0;1);
de unde rezult¸ a:
Sk+k¡2kp
2p
kp(1¡p)»N(0;1):
Avem, pentru valori mici ale lui z:
limn!1Pr(max 1·k·njSkjpn·z) =1p
2¼zZ
¡z1X
k=¡1(¡1)kexp(
¡(u¡2kz)2
2)
du
=4
¼1X
j=0(¡1)j
2j+ 1exp(
¡(2j+ 1)2¼2
8z2)
:
Pentru valori mari ale luimax 1·k·njSkjpnvom folosi formula:
limn!1Pr (max 1·k·njSkjpn·z) =1X
k=¡1(¡1)k[©((2 k+ 1)z)¡©((2k¡1)z)]
= ©( z)¡©(¡z) + 21X
k=1(¡1)k[©((2 k+ 1)z)¡©((2k¡1)z)]
= ©( z)¡©(¡z) + 21X
k=1[2©((4 k¡1)z)¡©((4k+ 1)z)¡©((4k¡3)z)]
¼©(z)¡©(¡z)¡2[2©(3 z)¡©(5z)¡©(z)]
¼1¡4p
2¼zexp(
¡z2
2)
;
74 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
unde ©( X) este distribut »ia normal¸ a standardizat¸ a.
Utiliz^ and teorema 2.6 din Revesz [66] obt »inem:
Pr( max
1·k·njSkj ¸ z) = 1¡1X
k=¡1Pr((4 k¡1)z < S n<(4k+ 1)z))
+1X
k=¡1Pr((4 k+ 1)z < S n<(4k+ 3)z)):
Observat »ii . i) Dac¸ a p= 0;5 (distribut »ie uniform¸ a) atunci E(Sk) = 0 » si D2(Sk) =
k:
ii) Dac¸ a secvent »a are o distribut »ie uniform¸ a ( p= 0;5) atunci funct »ia de test
devine:Skp
k»N(0;1):
iii) Testul se poate aplica » si ^ ³n format regresiv ^ ³n acest caz calculul sumelor
cumulate Skf¸ ac^ andu-se de la ultimul c¸ atre primul element:
Sk=kX
i=1xn¡i+1; k= 1; : : : ; n:
iv) Statistica CUSUM este de¯nit¸ a ca ¯ind egal¸ a cu max
kjSkj;iar distribut »ia
acesteia se construie» ste cu ajutorul statisticii maximum (vezi paragraful 4.6.15.).
^In cele ce urmeaz¸ a se prezint¸ a o variant¸ a, ^ ³n pseudocod, a algoritmului de testare
CUSUM:
Intrare: Succesiunea binar¸ a s1; : : : ; s n:
Ie» sire : Decizia referitoare la acceptarea sau respingerea aleatorismului.
PAS 0. Cite» ste probabilitatea p= Pr( S= 1);rata de respingere a testului ®,
lungimea minim¸ a a drumului kmin(minim 1000).
PAS 1. Se transform¸ a » sirul binar s1; : : : ; s n^ ³n » sirul Xde§1 dup¸ a formula:
xi= 2si¡1:
PAS 2. Forj=kmintondo calculeaz¸ a statistica:
CUSUM [j] =jP
i=1si¡jp
p
jp(1¡p):
PAS 3. Dac¸ a pentru orice j2 fkmin; : : : ; n gstatistica CUSUM [j]2[u®
2;u1¡®
2]
(u®
2» siu1¡®
2sunt cuantilele de ordinul®
2respectiv 1 ¡®
2ale repartit »iei N(0; 1)) atunci
secvent »a testat¸ a este declarat¸ a aleatoare. Decizia se poate lua » si pe baza statisticii
max 1·k·njSkjde¯nite mai sus. ^In acest caz este di¯cil de calculat cuantila de
TESTE STATISTICE DE ALEATORISM 75
ordinul ®a statisticii max 1·k·njSkj» si deci vom lua decizia cu ajutorul valorii Pa
probabilit¸ at »ii:
P= 1¡(n=z¡1)=4X
k=(¡n
z+1)=4·
©µ(4k+ 1)zpn¶
¡©µ(4k¡1)zpn¶¸
+(n=z¡1)=4X
k=(¡n
z¡3)=4·
©µ(4k+ 3)zpn¶
¡©µ(4k+ 1)zpn¶¸
prin compararea acesteia cu riscul ®: dac¸ a P < ® atunci vom respinge ipoteza
aleatorismului, ^ ³n caz contrar vom accepta ipoteza aleatorismului.
4.6.10. Algoritmul de implementare al testului de aproximare a
entropiei
Descrierea testului : Testul de aproximare a entropiei se bazeaz¸ a pe evaluarea
diferent »ei aproxim¸ arii empirice a entropiei Shannon, realizat¸ a cu ajutorul blocurilor
intercalate, dintre dou¸ a lungimi consecutive a blocurilor. Statistica testului de aprox-
imare a entropiei este de tip Â2;descrierea acesuia ¯ind dat¸ a ^ ³n Rukhin [67].
Scopul testului : Valori mari ale diferent »ei dintre aproximarea empiric¸ a a entropiei
Shannon, calculat¸ a intercalat pe dou¸ a lungimi de bloc consecutive m» sim+ 1, pune
^ ³n evident »¸ a °uctuat »ii mari sau iregularit¸ at »i ale » sirului iar o valoare mic¸ a a acestei
diferent »e apare ca urmare a unei regularit¸ at »i substant »iale a » sirului testat.
^In cele ce urmeaz¸ a se prezint¸ a o variant¸ a, ^ ³n pseudocod, a algoritmului de testare.
Intrare: S »irul (codi¯cat pe sbit »i) x1; : : : ; x n:
Ie» sire : Decizia referitoare la acceptarea sau respingerea aleatorismului la riscul
®.
PAS 0. Cite» ste probabilitatea p= Pr( X= 1);rata de respingere a testului
®, parametrul sde codi¯care a datelor, gradul de aproximare al datelor (lungimea
blocului pe care se face evaluarea entropiei) m:
PAS 1. Se calculeaz¸ a:
¼m
lfrecvent »a relativ¸ a a patternului l= (i1; :::; i m) din » sirul x1; : : : ; x n;aceasta
calcul^ andu-se pe blocuri intercalate de lungime m;
¼m+1
lfrecvent »a relativ¸ a a patternului l= (i1; :::; i m+1) din » sirul x1; : : : ; x n;aceasta
calcul^ andu-se pe blocuri intercalate de lungime m+ 1:
PAS 2. Se calculeaz¸ a diferent »a de aproximare a entropiilor de ordinul m» sim+1 :
ApEn (m) = ©m¡©m+1;
76 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
unde
©m=smX
i=1¼m
lln¼m
l;
©m+1=sm+1X
i=1¼m+1
lln¼m+1
l:
PAS 3. Se calculeaz¸ a statistica testului:
fApEn = 2¢n¢[lns¡ApEn (m)]»Â2(sm+1¡sm)
PAS 4. Dac¸ a fApEn < Â2
1¡®(sm+1¡sm) (cuantila de ordinul 1 ¡®a distribut »iei
Â2(sm+1¡sm)), atunci se admite ipoteza aleatorismului secvent »ei testate la riscul
®:
Observat »ia 4.6.4. O valoare prea mic¸ a a lui fApEn (apropiat¸ a 0) poate ¯ con-
siderat¸ a suspect¸ a, ^ ³n concluzie este indicat de a utiliza un test bilateral ^ ³n care
regiunea de decizie este
[Â2®
2(sm+1¡sm);Â2
1¡®
2(sm+1¡sm)]
(Â2®
2(sm+1¡sm) » siÂ2
1¡®
2(sm+1¡sm) ¯ind cuantilele de ordinul®
2respectiv 1 ¡®
2
ale distribut »iei Â2(sm+1¡sm)).
Observat »ia 4.6.5. Valoarea uzual¸ a a parametrului seste 2 ;a lui m¸14 » si
condit »ia de consistent »¸ a m < [log2n]¡2:
Observat »ia 4.6.6. Testul se poate generaliza, ^ ³n cadrul pasului 2 ;utiliz^ and
aproximarea empiric¸ a a entropiei lui R¶ enyi de ordinul °:
4.6.11. Algoritmul de implementare al testului lui Maurer (1992)
» si testul entropiei
Descrierea testului: Testul lui Maurer, proiectat ^ ³n 1992, este un test care pe
l^ ang¸ a decizia referitoare la aleatorism calculeaz¸ a » si o estimare a redundant »ei (gradul
de predictibilitate) » si a entropiei (gradul de dezordine) sursei testate. Acest test
poate ¯ utilizat » si ca un test de compresie. De fapt, ideea principal¸ a care a stat la
proiectarea acestui test este testul de compresie Lempel-Ziv: cu o probabilitate foarte
mare o surs¸ a stat »ionar¸ a emite toate patternurile posibile (de o anumit¸ a lungime)
^ ³ntr-o perioad¸ a de timp bine speci¯cat¸ a. Statistica testului este de tip normal, el
put^ andu-se realiza la diverse rate de respingere.
TESTE STATISTICE DE ALEATORISM 77
Scopul testului: Decizia asupra aleatorismului sursei testate » si o estimare a en-
tropiei acesteia.
Algoritmul de implementare al testului lui Maurer este descris ^ ³n continuare,
speci¯c^ andu-se intr¸ arile » si ie» sirile din algoritm.
PAS 0. Cite» ste » sirul binar sN=s1; : : : ; s n; : : : s N
PAS 1. Cite» ste parametrii testului N; L; Q: Ace» stia sunt legat »i prin relat »ia:
N= (Q+K)L: N este lungimea » sirului, Keste num¸ arul total de pa» si, iar Qeste
num¸ arul pa» silor init »iali.
Vom nota bn(sN) = [sL(n¡1)+1; : : : ; s Ln] pentru n= 1; : : : Q +K:Deci » sirul este
^ ³mp¸ art »it ^ ³n Q+Kblocuri adiacente de lungime L:
PAS 2. Cite» ste rata de respingere ½. Calculeaz¸ a cuantila repartit »iei normale
y=¡u½
2:
PAS 3. Determin¸ a AQ+1(sN); : : : ; A Q+K(sN);unde:
An(sN) =(
minfi:bn(sN) =bn¡i(sN)gdac¸ afi:bn(sN) =bn¡i(sN)g 6=;
ndac¸ afi:bn(sN) =bn¡i(sN)g=;:
PAS 4. Calculeaz¸ a :
statistica testului:
fTU(sN) =1
KQ+KX
n=Q+1log2An(sN);
constanta de proport »ionalitate:
c(L; K)¼0:7¡0:8
L+ (1:6 +12:8
L)K¡4
L;
valoarea medie:
E[fTU(RN)] =E[log2An(RN)] = 2¡L1X
i=1(1¡2¡L)i¡1log2i;
dispersia variabilei aleatoare ce reprezint¸ a un bloc:
V ar[log2An(RN)] = 2¡L1X
i=1(1¡2¡L)i¡1(log2i)2¡(E[fTU(RN)])2;
dispersia:
¾=c(k; L)s
V ar[log2An(RN)]
K:
78 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
PAS 5. Calculeaz¸ a limitele de respingere ale testului:
t1=E[fTU(RN)]¡y¾;
» si
t2=E[fTU(RN)] +y¾:
PAS 6. Se respinge aleatorismul dac¸ a fTU< t1saufTU> t2, ^ ³n caz contrar se
accept¸ a ipoteza aleatorismului.
PAS 7. Calculeaz¸ a estimarea entropiei: HS=E[fTU(UN
S)]
L:
PAS 8. Calculeaz¸ a estimarea redundant »ei: RS= 1¡HS:
PAS 9. Estimarea m¸ arimii efective a cheii (vezi Maurer [46] » si Simion [81]) este
valoarea fTU(calculat¸ a la Pasul 4).
Observat »ii privind implementarea testului. i) Pentru implementarea testului se
recomand¸ a alegerea parametrului L^ ³ntre 6 » si 16, Q¸10£2L,Kc^ at de mare se
poate(de exemplu K= 1000 £2L). Aceast¸ a alegere a lui Qgaranteaz¸ a c¸ a cu o
probabilitate foarte mare ¯ecare bloc de lungime Lapare cel put »in o dat¸ a ^ ³n primele
Qblocuri ale » sirului aleatoriu.
ii) Recomand¸ am alegerea lui ½^ ³ntre 0 ;05 » si 0 ;001:
iii) Funct »ia test construit¸ a fTUare o repartit »ie normal¸ a de medie m» si dispersie
¾2.
iv) Pentru o surs¸ a stat »ionar¸ a ergodic¸ a S, cu ie» sirea UN
S;avem:
lim
L!1E[fTU(UN
S)]
L=HS:
4.6.12. Algoritmul de implementare al testului Â2
Descrierea testului: Acest test folose» ste ca baz¸ a pentru o mult »ime de alte teste
particulare. Algoritmul de implementare este descris mai jos.
Intrare : O succesiune sN=s1; : : : ; s Ncusi2 SundeS=E1[: : :[ Ekeste o
partit »ie a valorilor lui s;» sirul frecvent »elor ideale pi= Pr( S2 Ei):
Ie» sire : Decizia de acceptare sau respingere a aleatorismului.
PAS 0 . Cite» ste succesiunea sN» si rata de respingere ®:
PAS 1 . For i= 1 to kcalculeaz¸ a fifrecvent »a celui de al i-lea simbol ^ ³n » sirul sN:
PAS 2 . Calculeaz¸ a statistica testului:
Â2=kX
i=1(fi¡Npi)2
Npi=kX
i=1f2
i
Npi¡N:
TESTE STATISTICE DE ALEATORISM 79
PAS 3. Dac¸ a Â2< Â2
1¡®(k¡1) (cuantila de ordinul 1 ¡®a distribut »iei Â2(k¡1)),
atunci se admite ipoteza aleatorismului succesiunii la riscul ®:
Observat »ii . i) Pe baza testului Â2se construiesc » si testele de frecvent »¸ a digrame,
poker, al colect¸ arii cupoanelor, al golurilor, iterat »iilor » s.a. Un exemplu complet de
aplicare al acestui tip de test este testul statistico-informat »ional al lui Berlekamp-
Massey (vezi cap. 6).
ii) Calculul cuantilei de ordinul ®a unei distribut »ii de tip Â2se reduce la re-
zolvarea ecuat »iilor de forma:
xZ
¡1ta(®)e¡tdt=b(®);
unde a(®) » sib(®) sunt polinoame ^ ³n funct »ie de ®:Aceste cuantile se pot aproxima
cu ajutorul cuantilelor repartit »iei normale » si sunt de obicei tabelate.
iii) Valoarea ideal¸ a a statisticii Â2pentru veri¯carea uniformit¸ at »ii ( pi=1
k) este 0
» si cu c^ at aceast¸ a valoare este mai mare cu at^ at » sirul este mai predictibil. Statistica
testului este ^ ³n acest caz:
Â2=kX
i=1(fi¡N
k)2
N
k:
O valoare prea mic¸ a a lui Â2(apropiat¸ a 0) poate ¯ considerat¸ a suspect¸ a, ^ ³n con-
cluzie este indicat de a utiliza un test bilateral ^ ³n care regiunea de decizie este
[Â2®
2(k¡1);Â2
1¡®
2(k¡1)]
(Â2®
2(k¡1) » siÂ2
1¡®
2(k¡1) ¯ind cuantilele de ordinul®
2respectiv 1 ¡®
2ale distribut »iei
Â2(k¡1)).
Documentat »ia NIST 800-22 [107] sugereaz¸ a utilizarea testelor de tip Â2^ ³n vari-
anta unilateral¸ a » si la riscul ®= 0;01 (sunt acceptate » si secvent »ele perfecte ). Stan-
dardul American FIPS PUB 140-2 [105] » si Welschenbach [96] impun teste bilaterale
de tip Â2» si la riscul ®= 0;0001 ( secvent »ele perfecte sunt considerate suspecte deci
respinse ).
Pentru k= 2 (test la nivel de bit) vom obt »ine:
Â2=4(f1¡N
2)2
N;
unde f1este num¸ arul de bit »i de 1 din sucesiunea testat¸ a. Vom observa mai departe
c¸ a acest¸ a variabil¸ a Â2(1) este de fapt o variabil¸ a normal¸ a (de la testul frecvent »ei)
ridicat¸ a la p¸ atrat, deci testul frecvent »ei este un caz particular al testului Â2:
iv) Dac¸ a pi=1
k(distribut »ia uniform¸ a), pentru orice i, atunci calcule elementare
conduc la E(Â2) =N
k» siD2(Â2) =k¡1:
80 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
4.6.13. Algoritmul de implementare al testului Kolmogorov-Smirnov
Descrierea testului: Testele precedente decideau ^ ³ntre dou¸ a ipoteze » si anume dac¸ a
o succesiune avea o abatere de la uniformitate. Testul se poate aplica la diverse
riscuri de ordinul 1, statistica testului ¯ind determinat¸ a printr-o formul¸ a asimptotic¸ a.
Scopul testului: Testul Kolmogorov-Smirnov este un test care se aplic¸ a pentru a
decide asupra repartit »iei variabilei aleatoare (surs¸ a de zgomot etc.) testate.
Testul care urmeaz¸ a, introdus de Kolmogorov » siSmirnov , decide ^ ³ntre dou¸ a
ipoteze asupra distribut »iei F(x) a unei variabile aleatoare (continue) X» si anume:
H0:Xare funct »ia de repartit »ie F(x);
respectiv:
H1:Xnu are repartit »ie F(x):
Reamintim c¸ a funct »ia de repartit »ie F(x) este egal¸ a cu Pr( X·x):Statistica
testului este determinat¸ a prin formulele asimptotice de la pasul 3.
Algoritmul de implementare este prezentat ^ ³n continuare:
PAS 0 . Cite» ste e» santioanele X1; : : : ; X n» si rata de respingere a testului ®:
PAS 1 . Calculeaz¸ a funct »ia de repartit »ie empiric¸ a:
Fn(x) =cardfXi·xji= 1; : : : ; n g
n:
PAS 2 . Calculeaz¸ a abaterile K+
n» siK¡
n:
K+
n=pnmaxx(Fn(x)¡F(x)) c^ and Fn(x)¸F(x);
» si
K¡
n=pnmaxx(F(x)¡Fn(x)) c^ and Fn(x)< F(x):
PAS 3 . Calculeaz¸ a distribut »iile lui K+
n» siK¡
ndup¸ a una din formulele (exacte):
Pr(K+(¡)
n·tpn) =t
nntX
k=0Ck
n(k¡t)t(t+n¡k)n¡k¡1;
Pr(K+(¡)
n·tpn) = 1¡t
nnX
t<k·nCk
n(k¡t)t(t+n¡k)n¡k¡1
sau dup¸ a formula asimptotic¸ a (Smirnov 1951):
Pr(K+(¡)
n·s) = 1¡e¡2s2(1¡2
3spn+O(1
n)):
TESTE STATISTICE DE ALEATORISM 81
PAS 4 . Calculeaz¸ a cuantila u1¡®de ordinul 1 ¡®dup¸ a formula:
Pr(K+(¡)
n·u1¡®) = 1¡®:
PAS 5 . Dac¸ a K+
n» siK¡
n2[0; u1¡®];atunci se decide c¸ a repartit »ia variabilei X
esteF(x):^In caz contrar se respinge ipoteza asupra repartit »iei lui X:
Observat »ii: i) Dac¸ a F(x) =x¡a
b¡a; x2[a; b];atunci testul respectiv face o veri¯-
care a uniformit¸ at »ii variabilei X2[a; b]:
ii) Calculul valorilor K+
n» siK¡
npoate ¯ mult simpli¯cat prin urm¸ atoarea proce-
dur¸ a:
1. Se ret »in observat »iile independente: X1; : : : ; X n:
2. Sorteaz¸ a ascendent aceste observat »ii: X1·: : :·Xn(acest lucru se poate
face cu ajutorul algoritmului de sortare rapid¸ a, sortare prin interclasare etc.).
3.K+
n» siK¡
nse calculeaz¸ a dup¸ a formulele:
K+
n=pnmax
1·j·n(j
n¡F(Xj));
respectiv:
K¡
n=pnmax
1·j·n(F(Xj)¡j¡1
n):
4.6.14. Testul spectral (transformarea Fourier discret¸ a)
Descrierea testului: Acest test urm¸ are» ste s¸ a disting¸ a elementele periodice (patter-
nuri care se repet¸ a » si care sunt foarte apropiate, puse ^ ³n evident »¸ a prin intermediul
transformatei Fourier) care pot indica o anume abatere de la aleatorismul » sirului
(autocorelare). Statistica testului este de tip normal, iar acesta se poate aplica la
diverse rate de respingere.
Scopul testului: Se testeaz¸ a distribut »ia spectrului ^ ³n amplitudine al » sirului testat.
Algoritmul de implementare al testului spectral descris^ ³n continuare, speci¯c^ andu-
se intr¸ arile » si ie» sirile din algoritm.
Intrare : Succesiunea binar¸ a s1; : : : ; s n;pragul de referint »¸ a pentru modulul trans-
formatei ¿2[0;1] (^ ³n NIST 800-22 [107] acesta este setat la 0,95) » si pragul de
semni¯cat »ie ®:
Ie» sire: decizia asupra aleatorismului la pragul de semni¯cat »ie ®.
PAS 1. Se transform¸ a » sirul binar s1; : : : ; s n^ ³n » sirul Xde 1 » si ¡1 dup¸ a formula
xi= 2si¡1:
PAS 2. Calculeaz¸ a (vezi observat »iile) transformata Fourier discret¸ a F=DTF (X)
a lui Xdup¸ a formula:
fj=nX
k=1xkexp(¡2¼(k¡1)ij
n);pentru j= 0; : : : ; n ¡1
82 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
unde exp(2¼(k¡1)j
n) = cos(2¼(k¡1)j
n) +isin(2¼(k¡1)j
n), » sii=p¡1:
Datorit¸ a simetriei transform¸ arii numerelor reale ^ ³n numere complexe vom consid-
era numai valorile de la 0 la£n
2¤:
PAS 3. Calculeaz¸ a M=modul (F0);unde F0este prima jum¸ atate a lui F:
F0= (f0; : : : ; f [n
2]):
Se produce astfel » sirul (numit spectrul ^ ³n amplitudine , m¸ asurat ^ ³n decibeli )M=
(m0; : : : ; m [n
2]):
Evident 0 ·mj» si o valoare mjpoate lua numai 2nvalori. Mai mult mj=mn¡j
pentru j= 1; :::;[n
2]:
PAS 4. Calculeaz¸ a limita T=p
¡nln(1¡¿) pentru care, cu probabilitatea de
¿, amplitudinea meste mai mic¸ a ca T:
PAS 5 . Se calculeaz¸ a num¸ arul mediu (ipoteza aleatorismului) de amplitudini
dinMcare sunt mai mici ca T:
N0=¿¢n
2:
PAS 6. N1num¸ arul de amplitudini din Mcare sunt mai mici ca T:
PAS 7 . Diferent »a normalizat¸ a (funct »ia de decizie):
d=N1¡N0q
n
4¢¿¢(1¡¿):
PAS 8 . Dac¸ a d2[u®
2; u1¡®
2] (u®
2» siu1¡®
2sunt cuantilele de ordinul®
2respectiv
1¡®
2ale repartit »iei normale standardizate), atunci decide ipoteza aleatorismului la
nivelul de risc ®;^ ³n caz contrar respinge ipoteza aleatorismului.
Observat »ii. i)O valoare prea mic¸ a a lui dindic¸ a faptul c¸ a mai put »in de 100 ¢¿%
din frecvent »e sunt peste limita T» si prea multe (mai mult ca 100 ¢(1¡¿)%) peste
aceeia» si limit¸ a. O valoare prea mare a lui dindic¸ a faptul c¸ a num¸ arul de frecvent »e
care sunt peste limita Teste peste pragul de 100 ¢¿% » si num¸ arul de frecvent »e sub
limita Teste mai mic ca 100 ¢(1¡¿)%:
ii) Pentru calculul transformatei Fourier discrete se poate utiliza algoritmul trans-
formatei Fourier rapide care reduce num¸ arul operat »iilor aritmetice de la O(n2) la
O(nlog2n):
iii) Transformata Fourier se poate de¯ni » si pentru funct »ii din L1(R) prin formula:
^
f(!) =1Z
¡1f(t)e¡i!tdt;
TESTE STATISTICE DE ALEATORISM 83
acesta realizeaz¸ a o transformare a semnalului din domenul timp ^ ³n domeniul frec-
vent »¸ a.
iv) Exist¸ a » si un alt test statistic mult mai util ^ ³n activitatea de criptanaliz¸ a
» si anume testul bazat pe transformata Walsh-Hadamard care este de¯nit¸ a, pentru
funct »ii booleene f:Zn
2!Z2;prin formula:
^
f(!) =X
xf(x)(¡1)!:x:
unde!:xeste produsul scalar dintre vectorii !» six, iar sumarea se face ca ^ ³n R.
Acest test se folose» ste pentru detectarea algoritmului folosit ^ ³n recurent »ele de tip
neliniar. Testele de acest tip se mai numesc » si teste spectrale.
v) T »in^ and cont de faptul c¸ a xi=§1;relat »ia lui Parserval devine ^ ³n acest caz:
n¡1X
j=0jfjj2=nnX
i=1jxij2=n2:
4.6.15. Teste de corelat »ie
Fie » sirurile xn» siyncare sunt realiz¸ arile unor surse binare stat »ionare cu Pr( X=
1) = p0respectiv Pr( Y= 1) = p1:Untest de corelat »ie la distant »a deste un test de
aleatorism statistic aplicat » sirului binar zn=xn©yn+dcu Pr( Z= 1) = p0q0+p1q1:
Se pot construi astfel teste de corelat »ie temporal¸ a, circular¸ a, serial¸ a, corelat »ie a
succesiunilor, corelat »ie Poker, corelat »ie Fourier etc. Paragaful urm¸ ator prezint¸ a
testul corelat »iilor temporale » si circulare.
4.6.16. Algoritmul de implementare al testului corelat »iilor tem-
porale » si circulare
Descrierea testului: Testul corelat »iei la distant »a dpentru » sirurile xn» siyncare
sunt realiz¸ arile unor surse stat »ionare cu Pr( X= 1) = p0respectiv Pr( Y= 1) = p1
este de fapt testul frecvent »ei, cu parametru de probabilitate p0q0+p1q1, aplicat
» sirului zn=xn©yn+d:
Scopul testului: Acest test este deosebit de util, de exemplu, ^ ³n aplicat »iile crip-
togra¯ce pentru a stabili gradul de corelare a dou¸ a texte criptate sau a textului clar
cu textul cifrat.
4.6.17. Cre» sterea senzitivit¸ at »ii algoritmilor de testare statistic¸ a
Dup¸ a cum am v¸ azut unele dintre testele prezentate sunt un conglomerat de teste
statistice (de exemplu, testele de autocorelat »ii), iar decizia de acceptare sau resp-
ingere a ipotezei nule (de exemplu, ipoteza necorel¸ arii) se bazeaz¸ a pe statistica
84 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
num¸ arului de decizii de neacceptare dat¸ a de teste(de exemplu, testele de frecvent »¸ a):
dac¸ a acest num¸ ar este mai mic ca n®, unde ®este pragul de semni¯cat »ie al testelor,
atunci accept¸ am ipoteza nul¸ a. Aceast¸ a regul¸ a induce pentru schema de testare un
num¸ ar foarte mare de rezultate fals pozitive, deci rata de respingere este extrem de
mare. Vom ^ ³ncerca s¸ a ment »inem aceast¸ a rat¸ a ^ ³n limite rezonabile.
Agregarea rezultatelor. Pentru a ¯xa ideile s¸ a presupunem c¸ a dorim s¸ a test¸ am,
prin intermediul unei proceduri de test T, parametrii unei variabile aleatoare. Pentru
aceasta efectu¸ am, la rata de respingere ®;un num¸ ar de nteste Tasupra a nrezultate
independente ale variabilei aleatoare ai c¸ arei parametri fac obiectul test¸ arii. S¸ a
not¸ am cu t(n) num¸ arul de respingeri al ipotezei nule date de testul Tdin cele n
teste efectuate la riscul de ordinul 1 ®. Deci num¸ arul de teste care decide ipoteza
nul¸ a este n¡t(n). Dac¸ a ipoteza nul¸ a este adev¸ arat¸ a, atunci variabila ce d¸ a rezultatul
unui test Teste o variabil¸ a de tip Bernoulli cu Pr( T= 1) = ®» si deci variabila t(n)
are o repartit »ie binomial¸ a de parametrii n» si®:
Pr(t(n) =k) =Ck
n®k(1¡®)n¡k:
La limit¸ a t(n) urmeaz¸ a o repartit »ie N(®n; n® (1¡®)) (vezi Anexa E) deci:
t(n)¡®np
n®(1¡®)»N(0;1):
Folosind relat »ia anterioar¸ a dac¸ a:t(n)¡®np
n®(1¡®)2[u®
2;u1¡®
2] (u®
2» siu1¡®
2sunt
cuantilele repartit »iei normale de ordinul®
2;respectiv 1 ¡®
2;) accept¸ am ipoteza nul¸ a,
iar ^ ³n caz contrar, respingem ipoteza nul¸ a. Aceast¸ a regul¸ a de decizie, dac¸ a este
folosit¸ a ^ ³n pasul de decizie, cre» ste senzitivitatea testelor de autocorelat »ii temporale
» si circulare.
Agregarea celor nrezultate ale statisticii notate prin ficui= 1; :::; n; se poate
face » si cu ajutorul statisticii:
Â2(m) =mX
j=1(Fj¡n
m)
n
m2
unde Fjeste num¸ arul acelor pi(cel mai mic prag de semni¯cat »ie la care resping
ipoteza nul¸ a: ^ ³n cazul testului bilateral aceasta ¯indPr(X·fi)
2iar ^ ³n cazul testului
unilateral ¯ind Pr( X·fi)) care sunt ^ ³n intervalul [j¡1
m;j
m) pentru j= 1; :::; m:
Aceast¸ a statistic¸ a veri¯c¸ a uniformitatea valorilor p:
Testul maximum din t. Un alt procedeu este acela de a considera statistica
t= max 1·i·n(ti), unde tieste valoarea statisticii corespunz¸ atoare e» santionului i
TESTE DE ALEATORISM ALGORITMIC 85
(presupunem c¸ a e» santioanele sunt independente), care^ ³n ipoteza Hau aceea» si funct »ie
de repartit »ie H(x):Funct »ia de repartit »ie a lui teste:
F(x) = Pr( t·x) = Pr( max
1·i·n(ti)·x) = (H(x))n:
La riscul de ordinul 1 egal cu ®cuantila t1¡®satisface relat »ia:
(H(t1¡®))n= 1¡®:Deci H(t1¡®) = (1 ¡®)1
nunde t1¡®este cuantila de ordinul
(1¡®)1
na repartit »iei H(x) (notat¸ a prin h(1¡®)1
n):Testul poate ¯ lateral (domeniul
critic sau de respingere a ipotezei nule ¯ind de exemplu [ h(1¡®)1
n;1)) sau bilateral
(^ ³n acest caz, domeniul de acceptare este [ h(®
2)1
n; h(1¡®
2)1
n]):
Testul bazat pe statistica maximum- td¸ a informat »ii » si ^ ³n ceea ce prive» ste stabili-
tatea repartit »iei.
Analiza datelor semni¯cative. O alt¸ a problem¸ a ce trebuie avut¸ a ^ ³n vedere
este aceea a datelor semni¯cative adic¸ a a acelor date care se ^ ³ndep¸ arteaz¸ a de media
variabilei aleatoare cu ajutorul c¸ areia se face agregarea testului. ^In acest caz se
folose» ste inegalitatea lui Ceb^ a» sev :
Pr(jX¡mj ¸"¾)·1
"2:
4.7. Teste de aleatorism algoritmic
Aceste teste, spre deosebire de testele statistice care scot ^ ³n evident »¸ a defecte de
tip stochastic, pun ^ ³n evident »¸ a o comportare algoritmic¸ a a sursei testate (cel put »in ^ ³n
probabilitate). Dintre aceste teste ret »inem testele de compresie (de exemplu, testul
Lempel-Ziv, testul Maurer) precum » si teste de tip algoritm recursiv (complexitate
liniar¸ a sau p¸ atratic¸ a). Ret »inem c¸ a o descriere a acestora poate ¯ g¸ asit¸ a de exemplu
la adresa de internet a NIST (National Institute of Standards and Technologies) .
^In cadrul acestui paragraf vom prezenta o abordare a aleatorismului ^ ³n funct »ie de
complexitatea » sirurilor ¯nite. Vom simula diferite » siruri binare sub diverse modele
stochastice pentru a estima puterea testului.
4.7.1. Scurt istoric
Complexitatea linear echivalent¸ a a unei succesiuni de numere (nu neap¸ arat binare)
este lungimea celei mai scurte recurent »e de tip Fibonacci care genereaz¸ a succesiunea
dat¸ a, ¯ind introdus¸ a init »ial de Massey ^ ³n 1969. Jansen » siBoekee au de¯nit ordinul
maxim al complexit¸ at »ii ca lungimea celui mai mic registru de deplasare, nu neap¸ arat
linear, care genereaz¸ a » sirul. Media ordinului maxim al complexit¸ at »ii a unui » sir binar
86 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
de lungime neste aproximativ de nlogn:O alt¸ a m¸ asur¸ a a complexit¸ at »ii este com-
plexitatea Lempel-Ziv . Aceast¸ a m¸ asur¸ a cuanti¯c¸ a rata de aparit »ie a unor structuri
noi ^ ³n » sir. Kolmogorov » siChaitin au introdus not »iunea de complexitate Turing-
Kolmogorov-Chaitin care m¸ asoar¸ a lungimea minim¸ a a intr¸ arii ^ ³ntr-o ma» sin¸ a Turing
universal¸ a care genereaz¸ a » sirul. Nu exist¸ a un algoritm e¯cient pentru calculul com-
plexit¸ at »ii Kolmogorov (de fapt, aceast¸ a complexitate nu este calculabil¸ a). Beth » si
Daiau demonstrat c¸ a complexitatea Turing-Kolmogorov-Chaitin este aproximativ
de dou¸ a ori complexitatea liniar¸ a pentru majoritatea » sirurilor su¯cient de lungi. ^In
continuare ne ax¸ am pe studiul complexit¸ at »ii Kolmogorov.
4.7.2. M¸ asurarea complexit¸ at »ii
A» sa cum am ment »ionat anterior, complexitatea computat »ional¸ a este un concept
fundamental ^ ³n de¯nirea sau recunoa» sterea unui » sir aleatoriu. Pentru a fundamenta
ideile vom face o prezentare informal¸ a a complexit¸ at »ii Kolmogorov . Presupunem c¸ a
cititorul este familiarizat cu de¯nit »iile » si propriet¸ at »ile fundamentale ale ma» sinilor
Turing .
^In esent »¸ a, scopul principal al lui Kolmogorov a fost s¸ a dea o de¯nit »ie a cantit¸ at »ii
de informat »ie cont »inut¸ a ^ ³ntr-un singur obiect, care poate ¯ spre exemplu un » sir
binar, not »iune ce este complementar¸ a altor concepte (exemplu entropia) care sunt
aplicabile surselor stochastice (sau modelelor), dar nu sunt aplicabile elementelor
individuale generate de surs¸ a (model). Dac¸ a avem un » sir binar de lungime ¯x¸ a vom
considera c¸ a acesta este mai mult sau mai put »in aleatoriu dac¸ a demonstr¸ am c¸ a este
di¯cil s¸ a-l descriem ^ ³n c^ ateva cuvinte. De fapt, » sirul este foarte complex (aleatoriu)
dac¸ a cea mai bun¸ a descriere a sa este el^ ³nsu» si. ^In spiritul acestei idei, Kolmogorov (» si
alt »i ca de exemplu LÄ ofgren) au introdus not »iunea de complexitate descriptiv¸ a a unui
singur obiect (un » sir binar, un sistem etc.). A fost demonstrat ulterior (Martin-LÄ of,
LÄ ofgren, Schnorr) c¸ a aceast¸ a not »iune corespunde not »iunii de aleatorism.
Aceasta ^ ³nseamn¸ a c¸ a » sirurile cu complexitate mare vor ¯ declarate aleatorii de
c¸ atre orice test statistic. Cu alte cuvinte, dac¸ a se construie» ste un test de aleatorism
cu ajutorul complexit¸ at »ii descriptive, atunci acele » siruri clasi¯cate ca aleatorii de
c¸ atre acest test vor ¯ acceptate ca aleatorii de c¸ atre orice test statistic.
Prin complexitate Kolmogorov a unui » sir ^ ³nt »elegem di¯cultatea descrierii » sirului
sau a stoc¸ arii » sirului prin intermediul unei reguli. O descriere a unui » sir poate ¯
g^ andit¸ a ca un set de instruct »iuni pentru un anume computer care permite reconstruc-
t »ia » sirului.
Pentru simpli¯care, ne restr^ angem la cazul unui » sir binar de lungime n;notat cu
Sn:Procedura pentru calculul lui Snpoate ¯ un computer, o ma» sin¸ a sau algoritm
®care accept¸ a ca intrare un program (descriere) p» si genereaz¸ a la ie» sire » sirul Sn;de
exemplu:
TESTE DE ALEATORISM ALGORITMIC 87
Sn=®(p):
O m¸ asur¸ a a complexit¸ at »ii lui Sneste lungimea l(p) a lui p:^In orice caz, peste
el ^ ³nsu» si un » sir binar » si probabil exist¸ a o descriere mai simpl¸ a p0a lui pastfel ^ ³nc^ at
l(p0)·l(p) » siSn=®:Baz^ andu-se pe aceste considerat »ii, Kolmogorov a de¯nit
complexitatea relativ¸ a K®(S) a unui » sir ¯nit Srelativ la ®ca:
K®(S) = min fl:®(p) =S; l=l(p)g:
Dac¸ a nu exist¸ a nici un pastfel ^ ³nc^ at ®(p) =S;atunci K®(S) =1. Cu alte
cuvinte : complexitatea unui » sir ¯nit S^ ³n raport cu o ma» sin¸ a ®este lungimea celui
mai scurt program (pe ma» sina ®) care calculeaz¸ a S, dac¸ a un asemenea program
exist¸ a.
Pentru a face de¯nit »ia independent¸ a de ma» sina ®este luat¸ a o ma» sin¸ a Turing
universal¸ a ( MTU ). (OMTU este o ma» sin¸ a Turing cu st¸ arile ¯nite care poate simula
orice ma» sin¸ a Turing). Se poate ar¸ ata c¸ a nu exist¸ a o procedur¸ a pentru calculul lui
K®:Aceasta revine la a a¯rma c¸ a nu exist¸ a nici o ma» sin¸ a Turing ¯astfel ^ ³nc^ at:
8Sn; ¯(Sn) =KÃ(Sn);
unde prin Ãam notat o ma» sin¸ a Turing universal¸ a ¯xat¸ a.
S-a demonstrat de c¸ atre LÄ ofgren (1972, 1977) c¸ a pentru narbitrar de mare se
poate evita di¯cultatea de a determina dac¸ a un » sir dat este de complexitate mare.
Pentru a evita aceste limit¸ ari ne propunem s¸ a g¸ asim m¸ asuri e¯ciente de m¸ asurare a
complexit¸ at »ii.
Lempel » siZiv(1976) au propus o m¸ asur¸ a alternativ¸ a a complexit¸ at »ii unui » sir ¯nit
care satisface o serie de axiome. Vom prezenta ^ ³n continuare aceste axiome.
FieXo mult »ime ¯nit¸ a de simboluri numit¸ a alfabet ( ^ ³n cazul nostru X=f0;1g)
» siXlmult »imea » sirurilor de lungime lcare poate ¯ format¸ a cu elemente din X:Vom
nota cu ¸» sirul vid (adic¸ a » sirul de lungime zero) » si vom de¯ni mult »imea X¤prin:
X¤=1[
l=0Xl:
FieS2X¤» siKdou¸ a funct »ii reale de¯nite pe X¤:Atunci Kse nume» ste m¸ asur¸ a
de complexitate pe X¤dac¸ a satisface urm¸ atoarele axiome:
Axioma 1. 8S2X¤:K(S)¸0 (K(¸) = 0) :
Complexitatea este o funct »ie nenegativ¸ a » si este zero pentru » sirul vid.
Axioma 2 . Fie SQconcatenarea a dou¸ a » siruri arbitrare S; Q2X¤;atunci:
K(SQ)¸K(S):
88 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
Cre» sterea » sirului nu trebuie s¸ a descreasc¸ a complexitatea.
Axioma 3 . Fie S=fx1; : : : ; x ngatunci 8xi; xj2X:
K(xi) =K(xj):
Complexitatea » sirului format dintr-un singur simbol este aceea» si pentru orice
simbol.
Axioma 4 . Fie Xm
i» sirul de lungime m¸1 cu toate elementele egale cu xi2X:
Atunci:
K(Xm
i) = min fK(S) :l(S) =mgpentru orice i= 1; : : : ; n:
S »irul format din repetarea unui singur simbol trebuie s¸ a aib¸ a complexitatea min-
imal¸ a dintre toate » sirurile de aceea» si lungime.
Axioma 5. Fie (xi1; : : : ; x im) o permutare de melemente distincte din S » si ¯e
Sm=xi1: : : x im. Atunci:
K(Sm) = max fK(S) :l(S) =mg:
S »irul al c¸ arui elemente sunt toate distincte trebuie s¸ a aib¸ a complexitatea maxim¸ a
printre toate » sirurile de aceea» si lungime.
Axioma 6. FieAo aplicat »ie a lui X^ ³nX;prinA(S) vom nota transformarea
» sirului S2X¤obt »inut prin aplicarea lui A¯ec¸ arui element al lui S:Atunci 8S2X¤:
K(A(S))·K(S):
O transformare a » sirului ^ ³ntr-un » sir de aceea» si lungime nu trebuie s¸ a creasc¸ a
complexitatea » sirului.
Sunt o mult »ime de funct »ii care satisfac aceste axiome, de exemplu m¸ asura trivial¸ a
K(S) =c1l(S) +c2unde c1,c2sunt constante, iar l(S) este lungimea lui S. Pentru
a restr^ ange aceast¸ a mult »ime impunem urm¸ atoarea axiom¸ a:
Axioma 7 :8S2X¤:K(S)·l(S) +cunde ceste o constant¸ a independent¸ a de
S.^In particular cpoate ¯ 0 ;de unde rezult¸ a:
0·K(S)·l(S);8S2X¤:
Aceasta ^ ³nseamn¸ a c¸ a valoarea Ktrebuie s¸ a ¯e m¸ arginit¸ a de lungimea » sirului.
Deci, dac¸ a ne raport¸ am la » siruri de lungime n;trebuie s¸ a avem:
0·K·n;8S2X¤;cul(S) =n:
Mai sunt » si alte m¸ asuri posibile care satisfac axiomele anterioare. Una dintre aces-
tea, numit¸ a complexitatea modi¯cat¸ a a segmentului , o vom discuta ^ ³n subcapitolul
urm¸ ator.
TESTE DE ALEATORISM ALGORITMIC 89
4.7.3. Complexitatea segmentului
Lempel » si Ziv au de¯nit vocabularul unui » sir ¯nit Snnotat prin v(Sn) ca submult »i-
mea lui X¤format¸ a din toate sub» sirurile diferite Sj(j= 1; : : : ; n );de lungime j;
cont »inut ^ ³n Sn:De exemplu, vocabularul » sirului S=f0010geste:
v(0010) = f0;1;00;01;001;010;0010g:
Complexitatea segmentului Sneste de¯nit¸ a ca ¯ind cardinalul lui v(Sn), de ex-
emplu KS(Sn) =jv(Sn)j:^In cazul exemplului nostru, complexitatea lui Seste
KS(S) = 8 :
Observ¸ am c¸ a este rezonabil s¸ a lu¸ am ca m¸ asur¸ a a aleatorismului complexitatea
segmentului, deoarece » siruri foarte regulate (de exemplu nealeatorii) vor avea un
vocabular mic (consider¸ am cazul extrem ^ ³n care S= 111111) ^ ³n timp ce » sirurile
foarte neregulate (aleatorii) tind s¸ a aib¸ a un vocabular foarte mare.
S¸ a not¸ am prin qcardinalul lui X. Se poate ar¸ ata c¸ a pentru n¸1;» siq¸n:
n·KS(Sn)·n(n+ 1)
2:
De asemenea, dac¸ a q < n avem:
n·KS(Sn)·qm¡q
q¡1+n(n¡m+ 1)¡n(n¡1)¡(m¡1)(m¡2)
2;
unde meste cel mai mic num¸ ar ^ ³ntreg (1 ·m·n) pentru care avem inegalitatea
qm> n¡m+ 1. Complexitatea KS(Sn) poate ¯ transformat¸ a ^ ³n complexitatea
modi¯cat¸ a a segmentului notat¸ a prin KT(Sn) dup¸ a regula:
KT(Sn) =2KS(Sn)
n¡1;
pentru n¸1, iar pentru » sirul vid ¸avem KT(¸) = 0 :Pentru versiunea modi¯cat¸ a
KTa complexit¸ at »ii avem ni» ste inegalit¸ at »i similare » si anume dac¸ a q¸natunci:
1·KT(Sn)·n:
Pentru q < n avem:
1·KT(Sn)·k;
unde
k=2(qm¡q)
n(q¡1)+n¡2(m¡1) +(m¡1)(m¡2)
n:
Este trivial¸ a demonstrat »ia ^ ³n cazul ^ ³n care complexitatea modi¯cat¸ a a segmen-
tului KTsatisface cele » sapte axiome prezentate ^ ³n sect »iunea anterioar¸ a. Vom alege
complexitatea modi¯cat¸ a a segmentului ca un potent »ial test statistic ^ ³n testele de
aleatorism pentru un studiu prin simulare.
90 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
4.7.4. Complexitatea segmentului ca m¸ asur¸ a a aleatorismului
A» sa cum am ment »ionat anterior, testele statistice de aleatorism sunt, de regul¸ a,
instrumente puternice pentru studiul altor variante ale aleatorismului.
Ideea de baz¸ a este de a genera un » sir stochastic binar cu o dependent »¸ a intern¸ a ce
nu poate ¯ detectat¸ a dec^ at folosind un model speci¯c.
Printr-un » sir binar aleatoriu de lungime l=n^ ³nt »elegem un » sir de variabile
aleatoare independente » si identic distribuite (i.i.d) Bernoulli X1; : : : ; X nastfel ^ ³nc^ at
Xi= 0 sau 1 ( i= 1; : : : ; n ) cu:
P(Xk=xkjXk¡1=xk¡1; : : : ; X 1=x1)
=P(Xk=xk) =µ= 0;5
pentru orice k= 1; : : : ; n:
Ipoteza nul¸ a care trebuie testat¸ a este:
H0:X1; : : : ; X nsunt variabile aleatoare independente Bernoulli.
iar ipoteza alternativ¸ a va ¯,
H1:X1; : : : ; X nnu sunt variabile aleatoare independente Bernoulli.
^In cazul complexit¸ at »ii Kolmogorov, un » sir Snde lungime nse nume» ste aleatoriu
(saut¡aleatoriu) dac¸ a pentru o ma» sin¸ a Turing universal¸ a ¯xat¸ a û si pentru t^ ³ntreg
nenegativ avem:
KÃ(Sn)> n¡t:
Se poate demonstra c¸ a folosind aceast¸ a de¯nit »ie se poate construi un test de aleato-
rism astfel^ ³nc^ at » sirurile declarate aleatorii de c¸ atre acest test s¸ a ¯e declarate aleatorii
de c¸ atre orice alt test statistic.
Dar complexitatea Kolmogorov nu este calculabil¸ a » si din acest motiv trebuie s¸ a
folosim alt¸ a m¸ asur¸ a, ca de exemplu complexitatea modi¯cat¸ a a segmentului care
este efectiv calculabil¸ a » si ^ ³ndepline» ste axiomele 1 ¡7:Deci, dac¸ a not¸ am prin KT
complexitatea modi¯cat¸ a a segmentului vom declara un » sir ¯nit binar Snca ¯ind
aleatoriu (^ ³n concordant »¸ a cu ipoteza H0) dac¸ a:
KT(Sn)> k®;
pentru k®astfel ^ ³nc^ at sub H0:
P(KT(Sn)·k®)·®:
Aceasta ^ ³nseamn¸ a c¸ a k®este valoarea critic¸ a corespunz¸ atoare unui test de m¸ arime
®cu regiunea critic¸ a:
C®=fSn:K(Sn)·k®g:
^In aceast¸ a prezentare folosim ca alternative particulare H1un tip special de » siruri
Markov pentru care P(Xm=xmjXm¡1=xm¡1; : : : ; X 1=x1) depinde numai de
TESTE DE ALEATORISM ALGORITMIC 91
a¡(m¡k) variabil¸ a Xm¡kpentru un ^ ³ntreg pozitiv k:Cazul k= 1 corespunde
procesului Markov uzual, iar pentru un kgeneral procesul se va numi proces Markov
cu lagul k . Dac¸ a valoarea keste cunoscut¸ a este u» sor s¸ a adapt¸ am testele existente
pentru a testa H0contra ipotezei alternative:
H1:P(Xm=xmjXm¡1=xm¡1; : : : ; X 1=x1)
=P(Xm=xmjXm¡k=xm¡k) =¸m6= 0;5;
pentru un 0 < ¸m<1. Probabilitatea ¸mia dou¸ a valori deoarece ¯ecare xipoate
lua dou¸ a valori. Dac¸ a knu este cunoscut, atunci nu este u» sor s¸ a test¸ am aleatorismul
» si acesta este cazul ^ ³n care aplicarea lui KTca test statistic s¸ a poat¸ a ¯ mult mai
folositoare.
^In continuare vom descrie modelele » si procedurile pe care le vom aplica. Deoarece
avem un » sir de variabile aleatoare Bernoulli probabilit¸ at »ile sub H1pentru i=k+
1; k+ 2; : : : ; sunt:
P(Xi= 1jXi¡k= 1) = ¸ > µ = 0;5;
P(Xi= 0jXi¡k= 1) = 1 ¡¸ < µ = 0;5;
P(Xi= 0jXi¡k= 0) = ¸ > µ = 0;5;
» si
P(Xi= 1jXi¡k= 0) = 1 ¡¸ < µ = 0;5:
Pentru orice l= 10;20;30;40;50 gener¸ am N» siruri dup¸ a modelul anterior. Simul¸ a-
rile au fost efectuate pentru ¸= 0;6;0;7;0;8;0;9 care corespund diferitelor grade
de dependent »¸ a.
S¸ a remarc¸ am c¸ a primele kelemente ale » sirului sunt generate aleatoriu » si din ele
orice alt bloc de kelemente va avea tendint »a de a ¯ o copie a blocului anterior de
kelemente. Mai exact un bloc de ksimboluri va avea tendint »a de a se reproduce
(c^ at de puternic¸ a este aceast¸ a tendint »¸ a depinde de valoarea ¸), dar odat¸ a produs¸ a
o schimbare a unui simbol ^ ³n noul bloc acesta va avea tendint »a de a se reproduce el
^ ³nsu» si.
Exemplu. Prezent¸ am o serie de » siruri binare ce au fost obt »inute prin simulare
pentru diferite valori ale lui l; k» si¸:
a) lungimea l= 10; k= 1; ¸= 0;6:
1001100011
1000001110
92 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
1110001111
b) lungimea l= 20; k= 3; ¸= 0;8:
11001000110110010011
10010010110011001011
01000001000100100100
c) lungimea l= 30; k= 3; ¸= 0;7:
101001101101101110100100101101
000000001011010000000010010010
001011111001011111100101101101
d) lungimea l= 40; k= 3; ¸= 0;8:
1001001011011010000100101111011011011011
0001001001001001001100100110110110011011
1101101101111001001001001001001001001001
e) lungimea l= 50; k= 5; ¸= 0;9:
10000101001110011100111001110011000100001000010100
00100001000010000100001000011100111001110111101111
00000000000010000100001000010001101011000100001000
4.8. Teste de necorelare algoritmic¸ a
4.8.1. Formularea problemei
Una dintre practicile cele mai frecvente de a elabora algoritmi criptogra¯ci este
aceea de a modi¯ca anumite elemente din algoritmi deja proiectat »i » si evaluat »i de
c¸ atre comunitatea » stiint »i¯c¸ a. Scopul realiz¸ arii acestor modi¯c¸ ari sunt:
-realizarea unui algoritm cel put »in la fel de sigur (din punct de vedere criptogra¯c)
ca algoritmul original;
-gradul de necorelare al celor doi algoritmi s¸ a ¯e su¯cient de mare;
-complexitatea de implementare a noului algoritm s¸ a ¯e comparabil¸ a cu cea a
algoritmului original;
-viteza de calcul a noului algoritm s¸ a ¯e comparabil¸ a cu cea a algoritmului orig-
inal.
4.8.2. Principii de test
Vom prezenta ^ ³n cele ce urmeaz¸ a o serie de principii de testare a necorel¸ arii a
doi algoritmi criptogra¯ci. Pentru ¯xarea ideiilor ¯e A1» siA2doi algoritmi crip-
togra¯ci cu aceela» si spat »iu de intrare al cheilor K» si al mesajelor M. Vom de¯ni
TESTE DE VERIFICARE A JOCURILOR DE TIP CASINO 93
distant »a, relativ la ponderea Hamming a sumei ie» sirilor, dintre algoritmii A1» siA2
prin formula:
d(A1;A2) = max cor
M2M;k2K(A1(M;k); A1(M;k));
corelat »ia ¯ind calculat¸ a ca
1¡2weight (A1(M;k)©A1(M;k))
n;
unde neste lungimea blocului de ie» sire (exprimat¸ a ^ ³n bit »i).
Observat »ia 4.8.1. Evident d2[¡1;1] (d=¡1 ^ ³nseamn¸ a c¸ a cei doi algoritmi
produc ie» siri negate unul fat »¸ a de altul, d= 0 ^ ³nseamn¸ a c¸ a cei doi algoritmi sunt
necorelat »i, d= 1 ^ ³nseamn¸ a c¸ a cei doi algoritmi produc acelea» si ie» siri).
Observat »ia 4.8.2. Se poate opta » si pentru alt¸ a formul¸ a de calcul a distant »ei:
acesta se construie» ste » si pe baza structurii algortimului original » si a modi¯c¸ arilor
efectuate.
Observat »ia 4.8.3. ^In practic¸ a calculul distant »ei deste nefezabil dearece at^ at
card(K) c^ at » si card(M) sunt numere foarte mari. Din acest motiv se iau deregul¸ a
M» sikcuvinte de pondere Hamming maxim prespectiv q(fezabil p= 1; q= 1),
restrict »ion^ and calculul lui dla aceste cuvinte se obt »in^ ane astfel distant »a dp;q(A1;A2):
Complexitatea de calcul a distant »ei dp;q(A1;A2) cre» ste exponent »ial cu p» siq:
O(card(M)p
p!¢card(K)q
q!):
^In acest caz trebuie estimat¸ a eroarea de aproximat »ie :
d(A1;A2)¡dp;q(A1;A2):
4.9. Teste de veri¯care a jocurilor de tip Casino
Testele prezentate ^ ³n cadrul acestui paragraf sunt teste dedicate jocurilor de tip
Casino, care sunt de dou¸ a tipuri » si anume: jocuri de tip bil¸ a ^ ³ntoars¸ a (rulet¸ a) » si bil¸ a
ne^ ³ntoars¸ a (loto, 6/49, 5/40 sau jackpot). Acestea sunt prezentate ^ ³n pseudocod, iar
sintaxa este similar¸ a limbajului C.
94 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
4.9.1. Metoda 3¡¾pentru rulet¸ a
Init »ializ¸ ari: forj= 0 to 36 do k[j] := 0;
Intrare. S »irul realiz¸ arilor x0; x1; x2; : : : ; x n¡12 f0;1;2; ::;36g;
PAS 1. forj= 0 to n¡1 do k[x[j]] :=k[x[j]] + 1;
PAS 2. Calcul¸ am:
¹:=n
37;
¾:=rn
37(1¡1
37):
PAS 3. Dac¸ a pentru orice j= 0;1;2::;36 avem k[j]2[¹¡3¾;¹+ 3¾];atunci
se decide ruleta funct »ioneaz¸ a corect .
Dac¸ a exist¸ a j= 0;1;2::;36 astfel ^ ³nc^ at k[j]=2[¹¡3¾;¹+ 3¾];atunci se decide
ruleta este defect¸ a .
4.9.2. Metoda 3¡¾pentru diferent »e la rulet¸ a
Intrare. S »irul x0; x1; x2; : : : ; x n¡12 f0;1;2; ::;36g,nminim 3700 :
PAS 1. Calcul¸ am diferent »ele: for i= 0 to n¡2y[i] :=x[i+ 1]¡x[i];
PAS 2. Transform¸ am diferent »ele: for i= 1 to n¡2 do
t[i] =(
y[i] dac¸ a y[i]¸0
37 + y[i] dac¸ a y[i]<0:
PAS 3. Aplic¸ am algoritmul 1 (metoda 3 ¡¾pentru rulet¸ a) » sirului diferent »elor.
4.9.3. Metoda X2pentru rulet¸ a
Init »ializare. forj= 0 to 36 do k[j] := 0;
Intrare. S »irul x0; x1; x2; : : : ; x n¡12 f0;1;2; ::;36g,nminim 3700 :
PAS 1. forj= 0 to n¡1 do k[x[j]] :=k[x[j]] + 1;
PAS 2. Calcul¸ am:
X2=36X
j=0(k[j]¡n
37)2
n
37
PAS 3. Dac¸ a X2< u0;9973(36) (cuantila de ordinul 0 ;9973 a distribut »iei Â2(36))
atunci ruleta este corect¸ a .
u0;9973(36) = 64 ;1;
APLICAT »II 95
4.9.4. Metoda X2aplicat¸ a diferent »elor pentru rulet¸ a
Intrare. S »irul x0; x1; x2; : : : ; x n¡12 f0;1;2; ::;36g,nminim 3700 :
PAS 1. Calcul¸ am diferent »ele: for i= 0 to n¡2 do y[i] :=x[i+ 1]¡x[i];
PAS 2. Transform¸ am diferent »ele: for i= 1 to n¡2 do
t[i] =(
y[i] dac¸ a y[i]¸0
37 + y[i] dac¸ a y[i]<0:
PAS 3. Aplic¸ am algoritmul 3 » sirului diferent »elor t[i]:
4.9.5. Metoda X2pentru jocurile de tip loto
Init »ializ¸ ari:
la 5 din 40 : n= 5 » si v= 40;
la 6 din 49 : n= 6 » si v= 49:
Init »ializ¸ ari. forj= 1 to vdok[j] := 0;
Intrare. Num¸ arul de extrageri complete N;» sirul realiz¸ arilor x0; x1; x2; : : : x Nn¡1
dinf1;2; : : : ; v g
PAS 1. forj= 0 to Nn¡1 do k[x[j]] :=k[x[j]] + 1;
PAS 2. Calcul¸ am statistica testului :
X2
L=vX
j=1(k[j]¡Nn
v)2
Nn
v
PAS 3. Dac¸ a X2
L< u 0;9973(v¡n) (cuantila de ordinul 0 ;9973 a distribut »iei
Â2(v¡n)) atunci jocul este corect , unde:
u0;9973(35) = 66 ;77 (5 din 40);
u0;9973(43) = 66 ;1( 6 din 49).
4.10. Aplicat »ii
Exercit »iul 4.10.1. S¸ a se calculeze entropia H(X) a variabilelor repartizate Exp(¸);
N(¹;¾2) » siU(a; b).
Exercit »iul 4.10.2. S¸ a se determine distribut »iile de probabilitate de forma:
Ã
x1: : : x n
p1: : : p n!
care maximizeaz¸ a entropia dar au media egal¸ a cu m.
96 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
R¸ aspuns. Problema de optimizare este:
8
>>>><
>>>>:maxH(X)
nP
i=1pi= 1
nP
i=1xipi=m:
Lagrangeianul va ¯:
L=¡nX
i=1pilogpi¡®(1¡nX
i=1pi)¡¯(m¡nX
i=1xipi):
Sistemul:@L
@pi= 08i= 1; : : : ; n
ne d¸ a:
pi=e¡1+®+¯xi;
unde ®» si¯se determin¸ a din restrict »iile problemei.
Exercit »iul 4.10.3. Pentru testarea conformit¸ at »ii implement¸ arii testelor statis-
tice (mai ^ ³n general pentru orice algoritm), se calculeaz¸ a teoretic ce valoare au
funct »iile de test pentru un set de intr¸ ari particulare. Folosit »i ca intr¸ ari particu-
lare secvent »ele binare 11101110 . . . 1110 (secvent »¸ a de lungime 1024) » si 1010 . . . 1010
(secvent »¸ a de lungime 1024) pentru calculul funct »iilor de test din acest capitol.
Acela» si lucru pentru secvent »a de lungime 256 (exprimat¸ a^ ³n caractere hexa) 00,01,02,
. . . , FF.
Exercit »iul 4.10.4. Calculat »i valorile minime » si maxime ale funct »iilor de testare
statistic¸ a din acest capitol. Cum interpretat »i rezultatele?
R¸ aspuns . Vom exempli¯ca pe statistica testului frecvent »ei. Avem
¡Np0pNp0q0·fTF(sN)·Nq0pNp0q0;
valorile extreme se ating pentru » sirul 0 ; : : : ; 0 respectiv 1 ; : : : ; 1:
Exercit »iul 4.10.5. Cum se poate detecta rata de respingere a ¯ltr¸ arii la care a
fost supus¸ a o secvent »¸ a binar¸ a (prin ¯ltrare ^ ³nt »elegem operat »ia de triere a secvent »elor
cu ajutorul unui test statistic efectuat la rata de respingere ®):
APLICAT »II 97
Exercit »iul 4.10.6. Propunet »i o metod¸ a de integrare a rezultatelor obt »inute ^ ³n
urma aplic¸ arii de nori ale aceluia» si test statistic asupra a ne» santioane binare de
volum m:
Exercit »iul 4.10.7. Care este distant »a de unicitate pentru un cifru bloc cu m
bit »i de cheie » si nbit »i lungimea blocului de date?
98 ANALIZA STATISTICO-INFORMAT »IONAL ¸A
Capitolul 5
CODIFICAREA IN ABSENT »A
PERTURBAT »IEI
The logic of secrecy was the mirror
image of the logic of information.
Colin Burke, 1994
5.1. Introducere
Pentru a optimiza transmisia printr-un canal de comunicat »ie, informat »ia care
circul¸ a prin acel canal de comunicat »ie trebuie codi¯cat¸ a (vezi Guia» su [32]). Codi-
¯carea presupune ^ ³ns¸ a » si construct »ia unor tehnici » si metode matematice ce permit
detectarea erorilor » si corectarea acestora (aceasta este diferent »a dintre teoria co-
durilor » si criptologie: protect »ia contra erorilor ce apar pe canalul de comunicat »ie,
respectiv protect »ia contra accesului neautorizat). Aceste tipuri de coduri se numesc
coduri corectoare » si detectoare de erori » si nu vor face subiectul prezentei expuneri.
^In cele ce urmeaz¸ a vom presupune c¸ a dispunem de un canal de comunicat »ie f¸ ar¸ a
perturbat »ie, ocup^ andu-ne de problema optimiz¸ arii transmisiei. Dup¸ a prezentarea
unor de¯nit »ii generale din teoria codurilor, ^ ³n care rolul central este ocupat de ine-
galitatea lui Kraft, vom prezenta algoritmii de codi¯care ai lui Hu®man » si Fano. ^In
¯nal se prezint¸ a teoremele de codi¯care optimal¸ a ale lui Shannon-Fano.
5.2. Codi¯carea ^ ³n absent »a perturbat »iei
^In acest subcapitol vom prezenta principalele de¯nit »ii din teoria codi¯c¸ arii ^ ³n
absent »a pertubat »iei. Se prezint¸ a inegalitatea lui Kraft referitoare la lungimile cu-
vintelor de cod ale unui cod instantaneu.
99
100 CODIFICAREA IN ABSENT »A PERTURBAT »IEI
S¸ a consider¸ am fA0; ¹gosurs¸ a de informat »ie stat »ionar¸ a (nu ^ ³» si modi¯c¸ a distri-
but »ia de probabilitate ^ ³n timp) astfel ^ ³nc^ at card A0=a0. S¸ a not¸ am canalul f¸ ar¸ a
perturbat »ie cufA; ef!g; Agcuef!g(S) = 1 ; !2S» sief!g(S) = = 0 ; w =2S;pentru
orice S2 F A=B(C);undeC=f[®1; : : : ; ® n;t1; : : : ; t n]; n¯nitgeste familia cilin-
drilor n-dimensionali: [ ®1; : : : ; ® n;t1; : : : ; t n] =f!2AIjxti= =®i; i= 1; : : : ; n g:
Prin procedeu de codi¯care ^ ³nt »elegem o regul¸ a prin care ¯ecare liter¸ a din A0este
codi¯cat¸ a ^ ³ntr-un » sir ¯nit de semnale de cod din A. Fie S(A) mult »imea tuturor
» sirurilor ¯nite de semnale din A. Prin cod^ ³nt »elegem o aplicat »ie:
':A0!S(A); '(vi) =xj1xj2: : : x jni; i= 1; : : : ; a 0
Observat »ie . Uneori se nume» ste cod mult »imea '(A0):
De¯nit »ia 5.2.1. (Caracteriz¸ ari ale codurilor ).
i) Codul 'se nume» ste cod singular dac¸ a exist¸ a i; j2 f1; : : : ; a 0g; i6=jastfel
^ ³nc^ at '(vi)6='(vj):
ii) Codul 'se nume» ste cod nesingular dac¸ a pentru orice i6=javem '(vi)6='(vj):
iii) Codul 'se nume» ste cod uniform dac¸ a ni=npentru i= 1; : : : ; a 0:
iv) Codul 'se nume» ste cu decodi¯care unic¸ a dac¸ a pentru orice succesiune de
cuvinte cod exist¸ a o singur¸ a succesiune de litere din A0ce poate ¯ codi¯cat¸ a ^ ³n
respectiva succesiune de cuvinte cod.
v) Codul 'se nume» ste cod instantaneu dac¸ a nici un cuv^ ant de cod nu este pre¯xul
altui cuv^ ant de cod.
Observ¸ am c¸ a, codurile instantanee sunt cu decodi¯care unic¸ a.
De¯nit »ia 5.2.2. (Lungimea medie a cuvintelor de cod ). Fie fA0; ¹go surs¸ a
stat »ionar¸ a » si ¹[vi]>0; i= 1; : : : ; a 0cua0P
i=1¹[vi] = 1. Fie aplicat »ia ':A0!
S(A); '(vi) =xj1xj2: : : x jni; i= 1; : : : ; a 0un cod instantaneu. Lungimea medie a
cuvintelor de cod este de¯nit¸ a prin formula:
L=a0X
i=1ni¹[vi]:
Urm¸ atoarea teorem¸ a ne furnizeaz¸ a o condit »ie necesar¸ a » si su¯cient¸ a ca o mult »ime
de numere naturale s¸ a ¯e lungimile unui cod instantaneu.
Teorema 5.2.1. (Inegalitatea lui Kraft). Dac¸ a a0=cardA0» sia=cardA
atunci numerele pozitive n1; : : : ; n a0pot ¯ lungimile cuvintelor unui cod instantaneu
CODIFICAREA ^ ³N ABSENT »A PERTURBAT »IEI 101
dac¸ a » si numai dac¸ a:
a0X
i=1a¡ni·1:
Demonstrat »ie. Necesitatea. Fie'un cod instantaneu » si n1; : : : ; n a0lungimile cuvin-
telor de cod.
Fien= max 1·i·a0ni» siri=fjjnj=ig;1·i·nnum¸ arul cuvintelor de cod
de lungime i:Atunci:
a0X
i=1a¡ni=nX
i=1ria¡i
Dar
r1·a;
r2·(a¡r1)a=a2¡r1a;
r3·[(a¡r1)a¡r2]a=a3¡r1a2¡r2a;
::::::::::::::::::::::::::
rn·an¡r1an¡1¡r2an¡2¡: : :¡rn¡1a;
din ultima relat »ie rezult¸ anP
i=1ria¡i·1 adic¸ aa0P
i=1a¡ni·1:
Su¯cient »a. Fien1; : : : ; n a0^ ³ntregi pozitivi cu proprietateaa0P
i=1a¡ni·1:
Fien= max 1·i·a0ni» siri=fjjnj=ig;1·i·n:Atunci ipoteza devine
nP
i=1ria¡i·1;adic¸ a:
8
>>><
>>>:r1
a·1)r1·a;
r1
a+r2
a2·1)r2·(a¡r1)a;
r1
a+r2
a2+r3
a3·1)r3·[(a¡r1)a¡r2]a;
:::::::::::::::::::::::
decini;1·i·a0pot ¯ lungimile cuvintelor unui cod instantaneu.
Urm¸ atoarea teorem¸ a d¸ a o margine inferioar¸ a a lungimii medii a unui cod instan-
taneu.
Teorema 5.2.2. (Marginea inferioar¸ a a lungimii medii) .FiefA0; ¹go surs¸ a
stat »ionar¸ a » si ¹[vi]>0; i= 1; : : : ; a 0cua0P
i=1¹[vi] = 1 » si ¯e:
H1=¡aX
i=1¹[vi] log2¹[vi]:
102 CODIFICAREA IN ABSENT »A PERTURBAT »IEI
Fie':A0!S(A)cod instantaneu. Atunci:
L¸H1
log2a:
Demonstrat »ie.
H1=¡aX
i=1¹[vi] log2¹[vi]· ¡a0X
i=1¹[vi] log20
BBB@a¡ni
a0P
j=1a¡nj1
CCCA
= log20
@a0X
j=1a¡nj1
A+ log2aaX
i=1nilog2¹[vi]·Llog2a:
5.3. Codurile Fano » si Hu®man
5.3.1. Algoritmul de implemenare a codului Fano
Etapele implement¸ arii codului Fano sunt urm¸ atoarele:
PAS 1 . Ordon¸ am literele vi^ ³n ordinea descresc¸ atoare a probabilit¸ at »ii lor de
aparit »ie.
PAS 2 .^Imp¸ art »im A0^ ³naclase c^ at mai echiprobabile.
PAS 3 . Asociem literelor dintr-o clas¸ a un anumit simbol din A.
PAS 4 . Repet¸ am procedeul pentru ¯ecare clas¸ a trec^ and la subclase. Se face
aceasta p^ an¸ a c^ and ¯ecare subclas¸ a const¸ a dintr-o singur¸ a liter¸ a.
PAS 5 . Codul corespunz¸ ator unei litere const¸ a ^ ³n concatenarea simbolurilor
asociate la pasul 3.
5.3.2. Algoritmul de implementare a codului Hu®man
Exempli¯c¸ am codul Hu®man pentru cazul ^ ³n care card A0=a0» si card A=a(=
2);presupunem c¸ a a0=k(a¡1) +a(dac¸ a a06=k(a¡1) +aatunci se adaug¸ a ¯ctiv
litere de probabilitate zero pentru a atinge aceast¸ a condit »ie.)
PAS 1. Ordon¸ am vi; i= 1; : : : ; a 0^ ³n ordine descresc¸ atoare a probabilit¸ at »ilor vi.
PAS 2. ^Inlocuim ultimele alitere cu o nou¸ a liter¸ a compus¸ a de probabilitate
egal¸ a cu suma probabilit¸ at »ilor literelor din care provine.
PAS 3 . Celor alitere de la pasul 2 le atribuim c^ ate un simbol din A.
CODURI OPTIME 103
PAS 4 . Reordon¸ am mult »imea format¸ a din a0¡alitere init »iale » si litera compus¸ a.
PAS 5 . Relu¸ am procedeul de la pasul 2.
PAS 6 . Codul corespunz¸ ator unei litere este format din concatenarea literelor
asociate la pasul 3.
5.4. Coduri optime
Deoarece comunicat »ia presupune o serie de costuri de comunicat »ie care uneori pot
¯ foarte mari, se pune ^ ³n mod natural urm¸ atoarea problem¸ a: cum s¸ a ^ ³mbun¸ at¸ at »esc
lungimea medie a cuvintelor de cod (c^ at mai aproape de marginea inferioar¸ a)? Pro-
cedeul de codi¯care este urm¸ atorul: secvent »e ¯nite de litere din alfabetul init »ial se
codi¯c¸ a ^ ³n secvent »e ¯nite de semnale cod . Pentru sursa stat »ionar¸ a fA0; ¹g, not¸ am
cuV(i)
mblocurile m-dimensionale 1 ·i·am
0. Codi¯carea se face prin:
'(V(i)
m) =xj1xj2: : : x jni;
» si lungimea medie a cuvintelor de cod va ¯:
Lm=a0X
i=1ni¹(V(i)
m):
Urm¸ atoarele dou¸ a teoreme ne asigur¸ a de existent »a codurilor asimptotic optime
pentru surse Bernoulli respectiv pentru sursele stat »ionare.
Teorema 5.4.1. (Shannon-Fano) Presupunem c¸ a fA0; ¹geste surs¸ a Bernoulli
fA0; pvg(probabilitatea de aparit »ie a unui cuv^ ant este egal¸ a cu produsul proba-
bilit¸ at »ilor de aparit »ie a literelor individuale) » si ¯e H0entropia sa (avem evident
H0=H1=¡a0P
i=1pilog2pi). Atunci pentru orice num¸ ar ^ ³ntreg pozitiv mexist¸ a un
cod instantaneu a c¸ arui lungime medie Lmveri¯c¸ a:
limm!1Lm
m=H0
log2a:
Teorema 5.4.2. (Shannon-Fano) Presupunem c¸ a fA0; ¹geste surs¸ a stat »ionar¸ a
» si ¯e H0entropia sa (^ ³n general H06=H1). Atunci pentru orice num¸ ar ^ ³ntreg pozitiv
mexist¸ a un cod instantaneu a c¸ arui lungime medie Lmveri¯c¸ a:
limm!1Lm
m=H0
log2a:
104 CODIFICAREA IN ABSENT »A PERTURBAT »IEI
5.5. Aplicat »ii
Exercit »iul 5.5.1. S¸ a se construiasc¸ a codul Fano pentru alfabetul format din lite-
relevi; i=1;8 cu probabilit¸ at »ile 0 ;35;0;15;0;15;0;13;0;12;0;06;0;03;0;01:
R¸ aspuns. Se aplic¸ a algoritmul corespunz¸ ator. Obt »inem clasele:
Iterat »ia 1. fv1; v2g;fv3; v4; v5; v6; v7; v8g:
Iterat »ia 2. fv1g;fv2g;fv3; v4g;fv5; v6; v7; v8g:
Iterat »ia 3. fv3g;fv4g;fv5g;fv6; v7; v8g:
Iterat »ia 4. fv6g;fv7; v8g:
Iterat »ia 5. fv7g;fv8g:
Obt »inem codul:
'(v1) = 11;
'(v2) = 10;
'(v3) = 011;
'(v4) = 010;
'(v5) = 001;
'(v6) = 0001;
'(v7) = 00001;
'(v8) = 00000;
Lungimea medie a cuvintelor codului este: L=a0P
i=1ni¹[vi] = 2:64:
Entropia sursei de informat »ie este:
H1=¡a0X
i=1¹[vi] log2¹[vi] = 2:5625:
Exercit »iul 5.5.2. S¸ a se construiasc¸ a codul Hu®man pentru alfabetul format din
literele vi,i=1;8 cu probabilit¸ at »ile 0 ;35;0;15;0;15;0;13;0;12;0;06;0;03;0;01:
R¸ aspuns. Aplic^ and algoritmul corespunz¸ ator obt »inem:
Iterat »ia 1, nu este necesar¸ a reordonare :8
>>>>>>>>>>>><
>>>>>>>>>>>>:¹(v1) = 0 :35;
¹(v2) = 0 :15;
¹(v3) = 0 :15;
¹(v4) = 0 :13;
¹(v5) = 0 :12;
¹(v6) = 0 :06;
¹(v7) = 0 :03!1
¹(v8) = 0 :01!0
Iterat »ia 2, nu este necesar¸ a reordonare:
APLICAT »II 105
8
>>>>>>>>>><
>>>>>>>>>>:¹(v1) = 0 :35;
¹(v2) = 0 :15;
¹(v3) = 0 :15;
¹(v4) = 0 :13;
¹(v5) = 0 :12;
¹(v6) = 0 :06!1
¹(v78) = 0 :04!0
Iterat »ia 3, este necesar¸ a reordonare:8
>>>>>>><
>>>>>>>:¹(v1) = 0 :35;
¹(v2) = 0 :15;
¹(v3) = 0 :15;
¹(v4) = 0 :13;
¹(v5) = 0 :12!1
¹(v678) = 0 :1!0
Se vor reordona simbolurile:8
>>>>><
>>>>>:¹(v1) = 0 :35;
¹(v2) = 0 :15;
¹(v3) = 0 :15;
¹(v4) = 0 :13;
¹(v5678) = 0 :22:
Iterat »ia 4, este necesar¸ a reordonare:8
>>>>><
>>>>>:¹(v1) = 0 :35;
¹(v5678) = 0 :22;
¹(v2) = 0 :15;
¹(v3) = 0 :15!1
¹(v4) = 0 :13!0
Se vor reordona simbolurile:8
>>><
>>>:¹(v1) = 0 :35;
¹(v5678) = 0 :22;
¹(v2) = 0 :15;
¹(v34) = 0 :28:
Iterat »ia 5, este necesar¸ a reordonare:8
>>><
>>>:¹(v1) = 0 :35;
¹(v34) = 0 :28;
¹(v5678) = 0 :22!1
¹(v2) = 0 :15!0
Se vor reordona simbolurile:8
><
>:¹(v1) = 0 :35;
¹(v34) = 0 :28;
¹(v25678) = 0 :37:
Iterat »ia 6, este necesar¸ a reordonare:
106 CODIFICAREA IN ABSENT »A PERTURBAT »IEI
8
><
>:¹(v25678) = 0 :37;
¹(v1) = 0 :35!1
¹(v34) = 0 :28!0
Se vor reordona simbolurile:(
¹(v25678) = 0 :37
¹(v134) = 0 :63
Iterat »ia 7, dup¸ a care se opre» ste algoritmul:(
¹(v134) = 0 :63!1
¹(v25678) = 0 :37!0
Obt »inem codul:
'(v1) = 11;
'(v2) = 00;
'(v3) = 101;
'(v4) = 100;
'(v5) = 011;
'(v6) = 0101;
'(v7) = 01001;
'(v8) = 01000;
Lungimea medie a cuvintelor codului este: L=a0P
i=1ni¹[vi] = 2:64:
Entropia sursei de informat »ie este:
H1=¡a0X
i=1¹[vi] log2¹[vi] = 2:5625:
Exercit »iul 5.5.3. S¸ a se decodi¯ce secvent »a cod 100011010101001 » stiind c¸ a aceas-
ta corespunde codului de la exercit »iul 5.5.2.
Exercit »iul 5.5.4. S¸ a se construiasc¸ a codul Hu®man pentru alfabetul format din
literele vi,i=1;8 cu probabilit¸ at »ile 1 =8:Care este lungimea medie a cuvintelor de
cod? Cum este aceast¸ a lungime de cod pentru codul Fano ?
Exercit »iul 5.5.5. S¸ a se construiasc¸ a codurile Hu®man » siFano pentru alfabetele
limbii rom^ ane » si englez¸ a.
R¸ aspuns. Pe baza unor ¯» sisere text (e» santioane) se vor estima probabilit¸ at »ile
literelor, cifrelor » si a semnelor de punctuat »ie din limba studiat¸ a. Pe baza acestor
probabilit¸ at »i se vor construi codurile respective.
Exercit »iul 5.5.6. Studiat »i din punct de vedere al complexit¸ at »ii de implementare
codurile Fano » si Hu®man.
Exercit »iul 5.5.7. Construit »i un cod cu:
-decodi¯care unic¸ a, dar care s¸ a nu ¯e instantaneu, de la ZmlaZn(m > n );
-instantaneu, deci cu decodi¯care unic¸ a, de la ZmlaZn(m > n );
APLICAT »II 107
Exercit »iul 5.5.8. Deducet »i formulele de conversie din baza de numerat »ie m^ ³n
baza de numerat »ie n.
Exercit »iul 5.5.9. Codul MORSE este un cod cu decodi¯care unic¸ a? Care este
lungimea medie a cuvintelor de cod pentru limba rom^ an¸ a, francez¸ a » si englez¸ a?
108 CODIFICAREA IN ABSENT »A PERTURBAT »IEI
Capitolul 6
CRIPTANALIZA
CIFRURILOR CLASICE
Deciphering is, in my opinion, one
of the most fascinanting of arts, and
I fear I have wasted upon it more
time than it deserves.
Charles Babbage, 1864
6.1. Substitut »ia simpl¸ a » si multipl¸ a
6.1.1. Substitut »ia simpl¸ a
Operat »ia de cifrare se bazeaz¸ a pe o corespondent »¸ a biunivoc¸ a ^ ³ntre alfabetul clar
notat prin A» sialfabetul cifrat notat prin C. Pentru exempli¯carea ideilor vom
prezupune c¸ a alfabetul clar este format din cele 26 de litere ale limbii rom^ ane (f¸ ar¸ a
diacritice) plus delimitatorul de cuv^ ant spat »iul. Alfabetul cifrat poate ¯ format din
aceelea» si caractere sau doar din cele 26 de litere ale limbii rom^ ane caz ^ ³n care spat »iul
se va ^ ³nlocui cu cea mai put »in frecvent¸ a liter¸ a ( Q) sau se va ignora pur » si simplu.
Corespondent »a dintre cele dou¸ a alfabete (presupunem c¸ a delimitatorul de cuv^ ant
este ^ ³nlocuit cu litera Q) poate ¯:
-aleatoare;
-pseudoaleatoare: plec^ and de la o parol¸ a se construie» ste alfabetul cifrat.
Dac¸ a ^ ³n cazul corespondent »ei aleatoare lucrurile sunt c^ at se poate de clare, vom
prezenta pe scurt o metod¸ a de construct »ie a corespondent »ei ^ ³n cel de-al doilea caz.
Pornind de la o parol¸ a, alfabetul cifrat este construit dup¸ a urm¸ atorul algoritm:
109
110 CRIPTANALIZA CIFRURILOR CLASICE
-se scriu, o singur¸ a dat¸ a, ^ ³n ordinea aparit »iei, literele din parol¸ a;
-se scriu literele alfabetului ce nu apar ^ ³n parol¸ a.
Corespondent »a ^ ³ntre cele dou¸ a alfabete se realizeaz¸ a dup¸ a regula alfabet^ ³n alfabet
dup¸ a o permutare ¯x¸ a ¾(aceasta poate ¯ chiar permutarea identic¸ a iar la decriptare
se aplic¸ a aceela» si procedeu dar cu inversa permut¸ arii ¾):
^In funct »ie de forma permut¸ arii substitut »ia se nume» ste:
-direct¸ a (alfabetul cifrat are acela» si sens lexicogra¯c cu alfabetul clar, sunt ^ ³n
total 26 astfel de substitut »ii). Exemplu de substitut »ie direct¸ a:
ABCDEFGHIJKLM
GHIJKLMNOPQRS
NOPQRSTUVWXYZ
TUVWXYZABCDEF
-invers¸ a (alfabetul cifrat are sens invers lexicogra¯c cu alfabetul clar, sunt^ ³n total
26 de astfel de substitut »ii). Exemplu de substitut »ie invers¸ a:
ABCDEFGHIJKLM
UTSRQPONMLKJI
NOPQRSTUVWXYZ
HGFEDCBAZYXWV
Reamintim aici trei exemple celebre (vechile coduri ebraice) de substitut »ii reciproce
(dac¸ a litera Xse substituie cu litera Yatunci Yse va substitui cu X) » si anume:
-atbash (prima jum¸ atate a literelor alfabetului se mapeaz¸ a ^ ³n cea de-a dou¸ a
jum¸ atate ^ ³n ordine invers lexicogra¯c¸ a):
ABCDEFGHIJKLM
ZYXWVUTSRQPON
-albam (prima jum¸ atate a literelor alfabetului se mapeaz¸ a^ ³n cea de-a dou¸ a jum¸ atate
^ ³n ordine lexicogra¯c¸ a):
ABCDEFGHIJKLM
NOPQRSTUVWXYZ
-atbah :
ABCDJKLMESTUV
IHGFRQPONZYXW
SUBSTITUT »IA SIMPL ¸A S »I MULTIPL ¸A 111
De¯nit »ia 6.1.1. Uncifru de substitut »ie liniar de laZmlaZm(m¯ind num¸ arul
de caractere al alfabetului surs¸ a) poate ¯ descris prin funct »ia f:Zm!Zmde¯nit¸ a
prinf(x) =®x+¯cu gcd( ®; m) = 1 ;funct »ia de descifrare ¯ind f¡1(x) =®¡1(x¡¯):
Cheia de cifrare sunt numerele ®» si¯:
Observat »ia 6.1.1. Primul manual de analiz¸ a criptogra¯c¸ a a cifrurilor de substi-
tut »ie a fost scris de Al-Kindi [2] ^ ³n anul 850 AD.
Observat »ia 6.1.2. Cifrul de substitut »ie are proprietatea de confuzie (ascun-
derea leg¸ aturii dintre textul clar » si textul cifrat).
6.1.2. Substitut »ia multipl¸ a
^In cazul substitut »iei multiple ( substitut »ie poligra¯c¸ a )Mcaractere din textul clar
sunt substituite ^ ³n Ncaractere de text cifrat. Evident pentru ca operat »ia de cifrare
s¸ a ¯e reversibil¸ a trebuie ca M¸N:Dac¸ a M=N= 2 atunci cifrul se nume» ste cifru
desubstitut »ie digra¯c¸ a .
De¯nit »ia 6.1.2. Un cifru de substitut »ie poligra¯c¸ a liniar de la Zk
mlaZk
m(m
¯ind num¸ arul de caractere al alfabetului surs¸ a » si kdimensiunea k¡gramei) poate
¯ descris prin funct »ia f:Zk
m!Zk
mde¯nit¸ a prin f(x) =Ax+¯cu matricea A
inversabil¸ a, funct »ia de descifrare ¯ind f¡1(y) =A¡1(y¡¯):Cheia de cifrare este
matricea A» si vectorul ¯:
Identi¯carea cifrului de substitut »ie poligra¯c¸ a
Un cifru de substitut »ie poligra¯c¸ a se poate detecta foarte u» sor dup¸ a frecvent »a
N¡gramelor. Distribut »ia acestora este departe de a ¯ uniform¸ a. Evident, o condit »ie
necesar¸ a de identi¯care a acestui tip de cifru este aceea ca dimensiunea mesajului
cifrat s¸ a ¯e su¯cient de mare. O procedur¸ a de detectare a lui Nse bazeaz¸ a, de
exemplu, pe minimul entropei Hcalculate din R¡grame:
H(m;N) = min
RH(m;R):
Alte proceduri de identi¯care corect¸ a a parametrului n sunt prezentate^ ³n sect »iunea
Proceduri de identi¯care a sistemului. Pentru a se asigura biunivocitatea parametrul
Mtrebuie s¸ a ¯e egal cu N:Construct »ia tabelei de substitut »ie poligra¯c¸ a se realizeaz¸ a
cu ajutorul frecvent »ei N¡gramelor din textul cifrat.
112 CRIPTANALIZA CIFRURILOR CLASICE
Cifrul celor 4(2) tabele rectangulare
^In continuare vom prezenta dou¸ a sisteme de cifrare de tip substitut »ie digra¯c¸ a.
Literele alfabetelor (clar » si cifrat) sunt trecute ^ ³ntr-un careu de 5 £5 (litera I¯ind
asimilat¸ a literei J). Modul de aranjare al literelor albabetelor clar este ¯xat apriori
(de exemplu ordine lexicogra¯c¸ a) iar al alfabetelor cifrate^ ³n funct »ie de parol¸ a. Textul
clar este preprocesat astfel ^ ³nc^ at acesta s¸ a ¯e compatibil cu matricea de cifrare
(delimitatorul de cuv^ ant este ignorat sau este ^ ³nlocuit cu cea mai put »in frecvent¸ a
liter¸ a, litera Ieste asimilat¸ a cu litera J;» si ^ ³n ¯ne dac¸ a este cazul mai adjunct »ion¸ am
o liter¸ a la text pentru a avea un num¸ ar par de digrame). Pentru cifrul celor 4
tabele regula de cifrare este dat¸ a de regula dreptunghiului: o digram¸ a din textul
clar se cifreaz¸ a ^ ³n digrama corespunz¸ atoare diagonalei secundare a dreptunghiului
determinat de cele dou¸ a caractere ale digramei clare. Modul de aranjare al celor
patru alfabete ( P1 » siP2 sunt alfabetele clare iar C1 » siC2 sunt alfabetele cifrate ^ ³n
funct »ie de parol¸ a) este prezentat mai jos:
P1 C1
C2 P2:
Algoritmul prezentat mai sus degenereaz¸ a ^ ³n algoritmul celor dou¸ a tabele (verti-
cale sau orizontale) dup¸ a cum urmeaz¸ a: P1´C1 » siP2´C2 respectiv P1´C2
» siP2´C1. Dac¸ a literele ce formeaz¸ a digrama se a°¸ a pe aceea» si coloan¸ a, respectiv
linie, atunci reprezentarea cifrat¸ a a acestora sunt ele ^ ³nsele, respectiv acestea scrise
^ ³n ordine invers¸ a. Cele dou¸ a tabele de cifrare sunt:
P1[C1]
C2[P2];
respectiv
P1[C2] P2[C1] :
Cifrul Playfair
Cifrul Playfair (numele acestui sistem de cifrare provine de la Lordul englez Play-
fair) este unul dintre cele mai cunoscute sisteme de cifrare digra¯ce (transform¸ a un
grup de 2 litere ^ ³ntr-un grup de alte dou¸ a litere). Acest sistem de cifrare este foarte
simplu de folosit dar mult mai sigur dec^ at sistemele de substitut »ie monoalfabetice.
Descriem ^ ³n continuare modul de utilizare al acestui sistem de cifrare. Literele alfa-
betului sunt trecute ^ ³ntr-un careu de 5 £5 (litera I¯ind asimilat¸ a literei J). Textul
clar este preprocesat astfel ^ ³nc^ at acesta s¸ a ¯e compatibil cu matricea de cifrare (de-
limitatorul de cuv^ ant este ignorat sau este ^ ³nlocuit cu cea mai put »in frecvent¸ a liter¸ a,
SUBSTITUT »IA POLIALFABETIC ¸A 113
litera Ieste asimilat¸ a cu litera J;» si ^ ³n ¯ne dac¸ a este cazul mai adjunct »ion¸ am o liter¸ a
la text pentru a avea un num¸ ar par de digrame). Regula de cifrare este urm¸ atoarea:
i) Dac¸ a digrama ce se dore» ste cifrat¸ a nu are literele pe aceeia» si linie sau coloan¸ a,
atunci regula de cifrare este regula dreptunghiului , traseul ¯ind pe vertical¸ a de la cea
de-a doua liter¸ a a digramei c¸ atre prima liter¸ a.
ii) Dac¸ a digrama ce se dore» ste cifrat¸ a are literele pe aceeia» si linie, atunci se aplic¸ a
regula: cifreaz¸ a la dreapta, descifreaz¸ a la st^ anga .
iii) Dac¸ a digrama ce se dore» ste cifrat¸ a are literele pe aceeia» si coloan¸ a, atunci se
aplic¸ a regula: cifreaz¸ a ^ ³n jos, descifreaz¸ a ^ ³n sus.
Observat »ia 6.1.3. Dac¸ a o digram¸ a apare ^ ³n textul clar ^ ³n ordine invers¸ a atunci
acela» si lucru se va ^ ³nt^ ampla » si ^ ³n textul cifrat.
Observat »ia 6.1.4. Cifrul Playfair nu are regul¸ a pentru cifrarea literelor duble:
digramele ce cont »in dou¸ a litere identice sunt sparte prin introducerea arti¯cial¸ a a
unei alte litere.
Observat »ia 6.1.5. Cifrul Playfair apare ca o extindere,^ ³n sensul reducerii num¸ a-
rului de tabele rectangulare folosite (de la dou¸ a la unul), al cifrului cu 2 tabele.
Metoda cea mai frevent¸ a de atac a acestui tip de cifru const¸ a ^ ³n analiza frecvent »ei
digramelor de text clar combinat¸ a cu metoda comparat »iei patternurilor din textul
cifrat cu patternuri din dict »ionar. Spectaculos este faptul c¸ a^ ³n Manualul Teroristului
[104], ^ ³n capitolul 13 intitulat Scrieri Secrete, Coduri » si Cifruri , se prezint¸ a tehnici
steganogra¯ce, tehnici de codi¯care » si o serie de metode de cifrare clasice cum ar ¯
substitut »ia simpl¸ a » si substitut »ia multipl¸ a.
6.2. Substitut »ia polialfabetic¸ a
6.2.1. Caracteristicile » si identi¯carea sistemelor de substitut »ie
polialfabetic¸ a
Un sistem de cifrare de tip substitut »ie polialfabetic¸ a este generalizarea sistemului
de cifrare de substitut »ie monoalfabetic¸ a. Fie un sistem de cifrare polialfabetic com-
pus dintr-un num¸ ar Nde alfabete. Fiecare alfabet reprezint¸ a o permutare (stabilit¸ a
^ ³n funct »ie de parol¸ a) a alfabetului de intrare. Algoritmul de cifrare const¸ a ^ ³n sub-
stituirea celei de a i¡a litere mdin textul clar cu litera corespunz¸ atoare din cel de
alimodNalfabet. Sistemele polialfabetice sunt u» sor de identi¯cat prin aplicarea
tehnicii frecvent »elor secvent »elor decimate din textul cifrat sau a valorii maxime a
funct »iei Kappa (v. paragraful Proceduri de identi¯care a sistemului).
114 CRIPTANALIZA CIFRURILOR CLASICE
6.2.2. Atacul sistemelor polialfabetice
Atacul sistemelor polialfabetice este similar cu atacul a Nsisteme de substitut »ie
monoalfabetic¸ a. Deci, o procedur¸ a de tip divide et impera are o compexitate de
O(N):Procedura este descris¸ a ^ ³n continuare:
Intrare: Textul cifrat de lungime Msu¯cient de mare.
Ie» sire: Textul clar corespunz¸ ator sistemului de cifrare polialfabetic.
Pas 1. Determin¸ a num¸ arul de alfabete N.
Pas 2. Pentru j= 0 to 4 execut¸ a:
pentru i= 1 to N¡jexecut¸ a:
aplic¸ a procedura de reconstruct »ie part »ial¸ a (pe baza frecven-
t »elor ( j+ 1)¡gramelor) a alfabetelor i; : : : ; i +j:
Pas 3. Conform celor Nalfabete reconstruie» ste textul clar.
Observat »ia 6.2.1. Procedura descris¸ a mai sus are ca parametru implicit de
analiz¸ a num¸ arul maxim de leg¸ aturi 4 : astfel, 1 ¡gramele sunt caracterele, 2 ¡gramele
sunt dublet »ii, etc.
6.3. Solut »ia unui cifru de substitut »ie
^In criptanaliz¸ a, solut »ia unui cifru de substitut »ie parcurge urm¸ atoarele etape:
a)analiza criptogramelor:
a1) preg¸ atirea unui tabel de frecvent »e;
a2) c¸ autarea repetit »iilor;
a3) determinarea tipului de sistem utilizat;
a4) preg¸ atirea unei foi de lucru;
a5) preg¸ atirea unui alfabet individual;
a6) tabelarea repetit »iilor lungi.
b)Clasi¯carea vocalelor » si consoanelor prin studierea:
b1) frecvent »elor;
b2) spat »iilor;
b3) combinat »iilor de litere;
b4) repetit »iilor.
c)Identi¯carea literelor:
c1) partit »ionarea literelor ^ ³n clase de probabilitate;
c2) veri¯carea presupunerilor;
c3) ^ ³nlocuirea valorilor corecte ^ ³n criptogram¸ a;
c4) descoperirea altor valori pentru a avea solut »ia complet¸ a.
d)Reconstruct »ia sistemului:
d1) reconstruct »ia tabelei de cifrare;
TRANSPOZIT »IA 115
d2) reconstruct »ia cheilor folosite ^ ³n operat »ia de cifrare;
d3) reconstruct »ia cheilor sau a cuvintelor cheie ce au fost folosite pentru construct »ia
» sirurilor de alfabete.
6.4. Transpozit »ia
Dac¸ a substitut »ia schimb¸ a valoarea unui caracter din textul cifrat, permutarea
schimb¸ a pozit »ia pe care acest caracter apare ^ ³n textul cifrat » si nu valoarea sa.
Operat »ia de cifrare prin permutarea ¾2SNse realizeaz¸ a prin permutarea car-
acterelor din blocurile adiacente, de lungime N;ale textului clar. Un caz particular
al permut¸ arii este aceela al transpozit »iei de lungime N:Textul este scris ^ ³ntr-o tabel¸ a
(complet¸ a sau nu) cu Ncoloane, literele ¯ind scrise linie cu linie. Pornind de la o
parol¸ a literal¸ a se construie» ste o parol¸ a numeric¸ a (spre exemplu se asocieaz¸ a ¯ec¸ arei
litere din parol¸ a pozit »ia sa ^ ³n scrierea lexicogra¯c¸ a a acesteia). Textul este apoi
citit coloan¸ a cu coloan¸ a ^ ³ntr-o ordine stabilit¸ a apriori (cresc¸ ator, descresc¸ ator, etc.).
Pentru descifrare se aplic¸ a acela» si algoritm dar cu parola numeric¸ a ¾¡1:
Observat »ia 6.4.1. Cifrul de transpozit »ie (mai general cifrul de permutare) are
proprietatea de difuzie (disiparea redundant »ei textului clar de-a lungul textului
cifrat).
6.5. Sisteme mixte
Sistemele mixte de cifrare au la baz¸ a o cifrare succesiv¸ a a mesajului prin metoda
substitut »iei iar apoi prin metoda transpozit »iei sau viceversa. Tot ceea ce trebuie
s¸ a facem acum este s¸ a atac¸ am sistemul de cifrare de la ultima sa component¸ a
c¸ atre prima. Remarc¸ am faptul c¸ a ^ ³n cazul substitut »iei simple aceasta este comu-
tativ¸ a cu operat »ia de transpozit »ie deci se poate aborda mai ^ ³nt^ ai substitut »ia iar apoi
transpozit »ia. ^In cazul utiliz¸ arii unui sistem polialfabetic, cu num¸ ar necunoscut de
alfabete, recomandarea este ca dup¸ a stabilirea, prin metode statistice, a num¸ arului
de alfabete, s¸ a se abordeze concomitent identi¯carea efectiv¸ a a alfabetelor » si al
transpozit »iei utilizate. ^In cazul utiliz¸ arii unui sistem poligra¯c (tabele de cifrare)
» si o transpozit »ie este recomandabil¸ a o tehnic¸ a de tip backtracking.
6.6. Proceduri de identi¯care a sistemului
Procedurile de criptanaliz¸ a prezentate ^ ³n cadrul acestui paragraf sunt bazate pe
calculul unor estimatori pentru o serie de funct »ii de test (vezi Friedman [20], Bauer
[6],Preda » siSimion [58]). Textul clar trebuie s¸ a ¯e omogen din punct de vedere
116 CRIPTANALIZA CIFRURILOR CLASICE
statistic. Dac¸ a textul nu este omogen, atunci, cu ajutorul unei proceduri, acesta
se poate diviza ^ ³n p¸ art »i omogene. Procedurile ce urmeaz¸ a ne permit s¸ a identi¯c¸ am
modelul de cifrare, structura statistic¸ a a textului clar » si ^ ³n cele din urm¸ a solut »ia
problemei.
S¸ a not¸ am prin T= (t1; : : : ; t M) » siT0= (t0
1; : : : ; t0
M) dou¸ a » siruri de lungime Mdin
acela» si vocabular ZN(de lungime N). Not¸ am prin mi» sim0
ifrecvent »ele de aparit »ie
ale celei de a i¡alitere din alfabetul surs¸ a din » sirul Trespectiv T0:Avem deci:
NX
i=1mi=M
» si
NX
i=1m0
i=M:
^In cele ce urmeaz¸ a vom descrie funct »iile de decizie Kappa, Chi, Psi » siPhi:
6.6.1. Funct »ia Kappa
Funct »ia de test Kappa este de¯nit¸ a prin:
Kappa (T; T0) =MP
i=1±(ti; t0
i)
M;
unde ±este simbolul lui Kronecker.
Avem inegalit¸ at »ile:
0·Kappa (T; T0)·1;
cu egalitate ^ ³n partea st^ ang¸ a pentru ti6=t0
i(pentru orice i) respectiv T´T0:Testul
Kappa este similar cu testul de corelat »ie. C^ ateodat¸ a Kappa se va nota mai simplu
prinK:
Avem urm¸ atoarele teoreme de invariant »¸ a (vezi Bauer [6]):
Teorema 6.6.1. Pentru toate sistemele de cifrare de tip substitut »ie polialfabetic¸ a
valoarea lui Kappa a dou¸ a texte de lungimi egale, cifrate cu aceea» si cheie, este
invariant¸ a.
Teorema 6.6.2. Pentru toate sistemele de cifrare de tip transpozit »ie valoarea
luiKappa a dou¸ a texte de lungimi egale, cifrate cu aceea» si cheie, este invariant¸ a.
PROCEDURI DE IDENTIFICARE A SISTEMULUI 117
Valoarea medie a lui Kappa (T; T0);pentru T» siT0de¯nite de dou¸ a surse Q
respectiv Q0(cu probabilitatea simbolurilor pirespectiv p0
ipentru i= = 1 ; : : : ; N )
este:
E[Kappa (T; T0)] =NX
i=1p0
ipi:
Dac¸ a sursele Q» siQ0sunt identice (acest lucru se noteaz¸ a prin Q´Q0), adic¸ a
pi=p0
i;atunci:
E[Kappa (T; T0)] =NX
i=1p2
i:
Teorema 6.6.3. Pentru dou¸ a surse identice Q» siQ0are loc inegalitatea:
1
N·E[Kappa (T; T0)]·1;
cu egalitate ^ ³n partea st^ ang¸ a pentru distribut »ia uniform¸ a, iar ^ ³n partea dreapt¸ a pentru
sursa determinist¸ a (adic¸ a exist¸ a un indice ipentru care pi= 1):
Observat »ia 6.6.1. Dispersia funct »iei Kappa se calculeaz¸ a dup¸ a formula:
D2(X) =E((E(X)¡X)2):
Observat »ia 6.6.2. Funct »ia Kappa poate ¯ folosit¸ a la atacul sistemelor polial-
fabetice: diferent »a dintre valorile maxime ale valorilor Kappa (T(i); T) (am notat
prinT(i)textul Tdeplasat ciclic cu ipozit »ii la dreapta) este divizibil cu num¸ arul
de alfabete utilizate. Pentru a g¸ asi alfabetele utilizate se poate aplica o tehnic¸ a de
tip divide et impera » si o procedur¸ a bazat¸ a pe maximul frecvent »ei sau atac de tip
stereotip.
6.6.2. Funct »ia Chi
Funct »ia Chi este de¯nit¸ a prin formula:
Chi(T; T0) =NP
i=1mim0
i
M2:
Vom nota aceast¸ a funct »ie » si prin litera greceasc¸ a Â:Au loc urm¸ atoarele teoreme
de invariant »¸ a (vezi Bauer [6]):
118 CRIPTANALIZA CIFRURILOR CLASICE
Teorema 6.6.4. Pentru toate sistemele de cifrare de tip substitut »ie monoalfabetic¸ a
valoarea lui Chia dou¸ a texte de lungimi egale, cifrate cu aceea» si cheie, este invari-
ant¸ a.
Teorema 6.6.5. Pentru toate sistemele de cifrare de tip transpozit »ie valoarea
luiChia dou¸ a texte de lungimi egale, cifrate cu aceea» si cheie, este invariant¸ a.
Avem inegalitatea:
Chi(T; T0)·1;
cu egalitate pentru T´T0:Pentru un text cu distribut »ie uniform¸ a T(mi=M
N) » si
un text arbitrar T0avem:
Chi(T; T0) =1
N:
Valoarea medie a lui Chia dou¸ a texte T» siT0de lungime egal¸ a Mpeste aceela» si
vocabular ZNse calculeaz¸ a din probabilit¸ at »ile pi» sip0
iale frecvet »ei de aparit »ie ale
celui de al i-lea caracter ^ ³n sursele stochastice Q» siQ0ale textelor:
E[Chi(T; T0)] =NX
i=1pip0
i:
Dac¸ a sursele Q» siQ0sunt identice atunci pi=p0
ipentru orice i» si
E[Chi(T; T0)] =NX
i=1p2
i:
Avem inegalitatea:
1
N·E[Chi(T; T0)]·1;
cu egalitate^ ³n partea st^ ang¸ a pentru distribut »ia uniform¸ a iar^ ³n partea dreapt¸ a pentru
sursa determinist¸ a.
6.6.3. Funct »ia Psi
Funct »ia Psi este legat¸ a de funct »ia Chiprin formula:
Psi(T) =Chi(T; T):
Vom nota aceast¸ a funct »ie prin litera greceasc¸ a Ã:^In mod similar ca pentru funct »ia
Âavem urm¸ atoarele teoreme de invariant »¸ a (vezi Bauer [6]).
PROCEDURI DE IDENTIFICARE A SISTEMULUI 119
Teorema 6.6.6. Pentru toate sistemele de cifrare de tip substitut »ie monoalfabetic¸ a
valoarea lui Psieste invariant¸ a.
Teorema 6.6.7. Pentru toate sistemele de cifrare de tip transpozit »ie valoarea
luiPsieste invariant¸ a.
Avem inegalitatea:
1
N·Psi(T)·1;
cu egalitate ^ ³n partea st^ ang¸ a pentru un text cu distribut »ie uniform¸ a ( mi=M
N), » si
^ ³n partea dreapt¸ a dac¸ a Teste construit dintr-un singur caracter.
Valoarea medie a lui Psial unui text de lungime Mdin alfabetul ZNse calculeaz¸ a
din probabilit¸ at »ile piale frecvent »ei de aparit »ie a celui de al i-lea caracter din sursa
stochastic¸ a Qce produce textul:
E[Psi(T)] =NX
i=1p2
i:
Are loc inegalitatea:
1
N·E[Psi(T)]·1;
cu egalitate ^ ³n partea st^ ang¸ a pentru un text cu distribut »ie uniform¸ a » si ^ ³n partea
dreapt¸ a pentru o surs¸ a determinist¸ a.
Avem teorema Kappa ¡Chi(vezi Bauer [6]):
Teorema 6.6.8. Pentru dou¸ a texte T» siT0peste aceela» si vocabular » si de aceea» si
lungime, valoarea Chi(T; T0)este media aritmetic¸ a a valorilor Kappa (T(i); T0)(T(i)
este textul Trotit ciclic cu ipozit »ii la dreapta obt »inut prin formula t¤
j=t(j¡i¡1) mod M+1
pentru j= 1; : : : ; M ):
Chi(T; T0) =1
MM¡1X
i=0Kappa (T(i); T0):
Corolarul urm¸ ator este cunoscut sub numele de teorema Kappa ¡Psi:
Corolar 6.6.1. Pentru un text Tde lungime Mpeste vocabularul ZNavem:
Psi(T) =1
MM¡1X
i=0Kappa (T(i); T):
120 CRIPTANALIZA CIFRURILOR CLASICE
6.6.4. Funct »ia Phi
Vom de¯ni acum o nou¸ a funct »ie denumit¸ a Phicare este dat¸ a prin formula:
Phi(T) =NP
i=1mi(mi¡1)
M(M¡1):
Funct »ia Phiva ¯ notat¸ a prin litera greceasc¸ a ':^In cazul ^ ³n care T´T0avem
Kappa (T(0); T) = 1, ^ ³n timp ce pentru i6= 0 valorile lui Kappa (T(i); T) sunt relativ
mici. Deci cazul i= 0 este atipic pentru medie » si deci este mult mai natural s¸ a
extindem media numai peste cele M¡1 cazuri:
1
M¡1M¡1X
i=1Kappa (T(i); T):
Avem teorema Kappa ¡Phi:
Teorema 6.6.9. (Bauer [6])Pentru un text Tde lungime Mpeste vocabularul
ZNvaloarea lui Phi(T)este media valorilor Kappa (T(i); T)(T(i)este textul Trotit
ciclic cu ipozit »ii la dreapta):
Phi(T) =1
M¡1M¡1X
i=1Kappa (T(i); T):
Avem de asemenea urm¸ atoarele teoreme de invariant »¸ a (vezi Bauer [6]) pentru
funct »ia Phi:
Teorema 6.6.10. Pentru toate sistemele de cifrare de tip substitut »ie mono-
alfabetic¸ a valoarea lui Phieste invariant¸ a.
Teorema 6.6.11. Pentru toate sistemele de cifrare de tip transpozit »ie, valoarea
luiPhieste invariant¸ a.
Teorema 6.6.12. Dac¸ a Teste o secvent »¸ a distribuit¸ a uniform atunci
Phi(T) =M¡N
(M¡1)N
unde Meste lungimea secvent »ei iar Nnum¸ arul de simboluri (caractere).
FUNCT »II SIMETRICE DE FRECVENT » ¸A A CARACTERELOR 121
Teorema 6.6.13. Dac¸ a not¸ am prin Phi c(T)valoarea funct »ie Phicalculat¸ a pe
c¡grame atunci:
limc!1Phi c(T) = 0 :
Valoarea cpentru care Phi c(T) =maxrPhi r(T)este dimensiunea blocului pe care
se realizeaz¸ a codi¯carea datelor dup¸ a procesul de cifrare.
Observat »ia 6.6.3. i) Valoarea medie a lui Phi(T) este egal¸ a cu valoarea medie
a lui Psi(T) deci este egal¸ a cunP
i=1p2
i:
ii) Funct »ia Phieste util¸ a deoarece literele rare ( mi= 1) sunt eliminate.
iii)Phi(T) = 0 dac¸ a » si numai dac¸ a 0 ·mi·1:
iv) Funct »ia Phieste util¸ a ^ ³n identi¯carea limbii folosite ^ ³n textul clar, cu condit »ia
ca sistemul de cifrare folosit s¸ a ¯e o tranpozit »ie » si/sau o substitut »ie monoalfabetic¸ a.
v) Funct »ia Phia fost propus¸ a init »ial de Solomon Kullback din considerente sto-
chastice.
6.7. Funct »ii simetrice de frecvent »¸ a a caracterelor
Teoremele de invariant »¸ a pentru Psiau loc pentru toate funct »iile de frecvent »¸ a mi
a caracterelor care sunt simetrice. Cea mai simpl¸ a funct »ie polinomial¸ a netrivial¸ a
esteNP
i=1m2
i:Aceasta apart »ine familiei de funct »ii:
Psia(T) =8
>>>>>><
>>>>>>:(NP
i=1(mi
M)a)1
a¡1dac¸ a 1 < a < 1
exp(NP
i=1(mi
M) ln(mi
M)) dac¸ a a= 1
max
1;:::;Nmi
Mdac¸ a a=1
cuNP
i=1mi
M= 1:Observ¸ am c¸ a Psi2estePsi: Cantitatea logaritmic¸ a ¡lnPsia(T) se
nume» ste entropia R¶ enyi de ordinul a a luiT(Alfred R¶ enyi 1921-1970, matematician
ungur) . Familia are urm¸ atoarea reprezentare:
¡lnPsia(T) =8
>>>>>><
>>>>>>:¡1
a¡1ln(NP
i=1(mi
M)a) if 1 < a < 1
¡NP
i=1(mi
M) ln(mi
M) if a= 1
¡max
1;:::;Nln(mi
M) if a=1:
122 CRIPTANALIZA CIFRURILOR CLASICE
Entropia R¶ enyi de ordinul 1 se nume» ste entropie Shannon (Claude Shannon 1916-
2000, inginer American, p¸ arintele teoriei informat »iei) iar entropia R¶ enyi de ordinul
2 este entropia Kullback. Toate propriet¸ at »ile lui Psise generalizeaz¸ a la propriet¸ at »i
ale lui Psia:
6.8. Atac stereotip asupra cifrurilor de substitut »ie
Fiet1; : : : ; t Mmesajul cifrat de lungime M(su¯cient de mare) :Not¸ am prin
c1; : : : ; c Nliterele care apar ^ ³n mesajul cifrat » si prin p1; : : : ; p Nfrecvent »a de aparit »ie
a acestora. Presupunem c¸ a sistemul de cifrare folosit este o substitut »ie monoalfa-
betic¸ a. Not¸ am prin c¤
1; : : : ; c¤
Nalfabetul textului clar » si prin p¤
1; : : : ; p¤
Nprobabilitatea
aparit »iei literelor alfabetului. O metod¸ a de rezolvare a acestui sistem de cifrare este
atacul brut care const¸ a^ ³n generarea tuturor permut¸ arilor alfabetului. Num¸ arul total
de permut¸ ari ce trebuiesc generate este de N! care este imens » si deci trebuie g¸ asit¸ a o
alt¸ a cale de atac. Tehnica este de a diviza mult »imea literelor din textul cifrat » si din
alfabetul clar ^ ³n Kclase astfel ^ ³nc^ at dispersia din ¯ecare clas¸ a este mic¸ a. Not¸ am prin
minum¸ arul de litere din cea de a i¡aclas¸ a corespunz¸ atoare textului cifrat » si prin
ninum¸ arul de litere din cea de a i¡aclas¸ a corespunz¸ atoare alfabetului clar. Not¸ am
cuki= max( mi;ni) » sili= min( mi;ni):Astfel trebuie generate numaiKQ
i=1Ali
ki(avem
KP
i=1ni=KP
i=1mi=N) num¸ ar relativ mic ^ ³n raport cu N!. Pentru a realiza aceast¸ a
clasi¯care vom proceda de exemplu pentru literele c1; : : : ; c Ndup¸ a cum urmeaz¸ a:
1) Sort¸ am literele c1; : : : ; c N^ ³n ordinea cresc¸ atoare a probabilit¸ at »ilor p1; : : : ; p N:
Not¸ am prin c1; : : : ; cN» si prin p1; : : : ; pNliterele sortate, respectiv probabilit¸ at »ile
sortate.
2) Calcul¸ am ±i=pi¡pi¡1(i= 2; : : : ; n ). Cele mai mari K¡1 valori ale lui ±i
sunt puncte delimitatoare ale claselor.
Observat »ia 6.8.1. Pentru texte de lungime mic¸ a, ^ ³n loc de probabilitatea pise
folose» ste fifrecvent »a absolut¸ a a literei i:
6.9. Atac de tip frecvent »¸ a maxim¸ a a cifrurilor de substitut »ie
Fiet1; : : : ; t Mtext clar de lungime Mcuti2 f0; : : : ; 2L¡1g(textul este codi-
¯cat pe L-bit »i). Not¸ am prin ¾2S2Lcheia (permutarea) » si prin c1; : : : ; c Mtextul
permutat (cifrat). Energia informat »ional¸ a a textului este:
2L¡1X
i=0µfi
M¶2
CONCLUZII 123
unde fieste frecvent »a de aparit »ie a caracterului i(i= 0; : : : ; 2L¡1):Utiliz^ and
inegalitatea Cauchy-Buniakovsky-Schwartz obt »inem:
2L¡1X
i=0fi
Mp¾i·vuut2L¡1X
i=0µfi
M¶22L¡1X
i=0p2¾i;
unde p¾ieste probabilitatea de aparit »ie a caracterului i^ ³n textul T:Deoarece
2L¡1X
i=0µfi
M¶2
=2L¡1X
i=0p2
¾i;
vom obt »ine
2L¡1X
i=0fi
Mp¾i·2L¡1X
i=0µfi
M¶2
:
Avem egalitate dac¸ a » si numai dac¸ a:
p¾i=fi
Mpentru orice i:
Deci pentru a obt »ine permutarea optim¸ a ¾(cheia sistemului de cifrare) trebuie
rezolvat¸ a problema urm¸ atoare:
8
>>><
>>>:max¾2L¡1P
i=0fi
M^p¾i
2L¡1P
i=0fi
M= 1;
unde^p¾ieste un estimator al lui p¾i.
Observat »ia 6.9.1. Aceast¸ a procedur¸ a se poate folosi » si ca un test de con¯rmare
a rezultatului obt »inut prin atacul de tip stereotip.
6.10. Concluzii
Funct »iile de test de¯nite ^ ³n cadrul acestui capitol sunt invariante ^ ³n cazul folosirii
anumitor sisteme de cifrare cum ar ¯ sistemele de cifrare de tip transpozit »ie » si de
substitut »ie mono sau polialfabetic¸ a. Aceste funct »ii de test pot ¯ folosite ^ ³n identi-
¯carea limbii folosite ^ ³n textul clar, a sistemului de cifrare folosit, a cheii » si ^ ³n cele
din urm¸ a a textului clar. Funct »ia Kappa este folosit¸ a ^ ³n identi¯carea sistemului de
cifrare » si ^ ³n identi¯carea limbii folosite ^ ³n textul clar. Procedura de identi¯care a
124 CRIPTANALIZA CIFRURILOR CLASICE
limbii se bazeaz¸ a pe compararea valorilor lui Psi» siPhiale textului cifrat cu valorile
luiPsi» siPhiale ¯ec¸ arei limbi (aceste funct »ii de test devin ^ ³n acest moment teste
de con¯rmare). Funct »iile Chisunt folosite ^ ³n atacuri de tip isolog (texte diferite
cifrate cu aceeia» si cheie). Testele Kappa; Chi; Psi » siPhise pot efctua pe digrame
sau trigrame, etc.
Alte aplicat »ii criptogra¯ce sunt cele de tip c¸ autare inteligent¸ a a parolelor sau de
tip dict »ionar modi¯cat (conform unor reguli lexicale).
Cele mai bune rezultate sunt obt »inute dac¸ a se analizeaz¸ a textul format numai
din litere mari sau mici. Textele pot ¯ cu delimitator de cuv^ ant (spat »iu) sau f¸ ar¸ a
delimitator de cuv^ ant.
Descrierea complet¸ a a acestor tipurilor de cifruri prezentate ^ ³n cadrul acestui
capitol precum » si principalele moduri de atac se poate g¸ asi de exemplu ^ ³n Bauer [6].
6.11. Aplicat »ii
Exercit »iul 6.11.1. Care este diferent »a dintre proprietatea de confuzie » si pro-
prietatea de difuzie a unui algoritm de cifrare?
Exercit »iul 6.11.2. S¸ a se construiasc¸ a alfabetul cifrat cu ajutorul parolei de
cifrare TESTARESISTEM iar apoi s¸ a se cifreze mesajul "IN CRIPTOGRAFIE
NICI O REGULA NU ESTE ABSOLUTA". Permutarea ce realizeaz¸ a corespondent »a
este:
0123456789101112
25242322212019181716151413
13141516171819202122232425
121110 9876543210
R¸ aspuns. Corepondent »a dintre alfabetul clar » si alfabetul cifrat (^ ³nainte de re-
alizarea permut¸ arii) este:
ABCDEFGHIJKLM
TESARIMBCDFGH
NOPQRSTUVWXYZ
JKLNOPQUVWXYZ
APLICAT »II 125
Corepondent »a dintre alfabetul clar » si alfabetul cifrat dup¸ a realizarea permut¸ arii
este:
ABCDEFGHIJKLM
ZYXWVUQPONLKJ
NOPQRSTUVWXYZ
HGFDCBM IRASET
Mesajul clar se proceseaz¸ a astfel ^ ³nc^ at spat »iul este ^ ³nlocuit cu cea mai put »in
frecvent¸ a liter¸ a:
INQCRIPTOGRAFIEQNICIQREGULAQNUQESTEQABSOLUTA:
Mesajul cifrat va ¯:
OHDXCOFMGQCZUOV DHOXODCV QIKZDHIDV BMV DZY BGKIMZ:
Exercit »iul 6.11.3. S¸ a se cifreze mesajul "SI IN CRIPTOGRAFIE TACEREA
ESTE AUR" cu ajutorul metodei celor 4 tabele init »ializate cu parolele de cifrare
CRIPTOGRAFIE » siTEST:
Exercit »iul 6.11.4. S¸ a se construiasc¸ a matricea de cifrare Playfair cu ajutorul
parolei CRIPTOGRAFIE iar apoi s¸ a se cifreze mesajul "SI IN CRIPTOGRAFIE
TACEREA ESTE AUR".
R¸ aspuns. Matricea Playfair se obt »ine trec^ and literele din parol¸ a o singur¸ a dat¸ a
^ ³n careul de 5 £5;iar apoi celelalte litere ale alfabetului ^ ³n ordinea lexicogra¯c¸ a:
CRI/J PT
OG A FE
BD H KL
M N Q SU
VW X YZ
Mesajul este preprocesat prin introducerea literei Qca delimitator de cuv^ ant,
adjunct »ion^ andu-se la ¯nalul mesajului (pentru ca acesta s¸ a aib¸ a lungime par¸ a) litera
Q:
SIQINQCRIPTOGRAFIEQTACEREAQESTEQAURQ:
Respect^ and regulile de cifrare Playfair mesajul cifrat devine:
QPXAQSRIPTCEDGFETAUIOIGTOFUAUPAUEQIN:
126 CRIPTANALIZA CIFRURILOR CLASICE
Exercit »iul 6.11.5. S¸ a se cifreze prin metoda transpozit »iei ( N= 12) ;pornind de
la parola CRIPTOGRAFIE mesajul "SI IN CRIPTOGRAFIE TACEREA ESTE
AUR".
R¸ aspuns. Vom construi secvent »a numeric¸ a de cifrare asociind ¯ec¸ arei litere din
parol¸ a indicele din ordinea lexicogra¯c¸ a: astfel literele din parol¸ a, scrise ^ ³n ordine
lexicogra¯c¸ a sunt:
123456789101112
ACEFGIIOPRRT
deci parola CRIPTOGRAFIE produce permutarea: 2 10 6 9 12 8 5 11 1 4 7 3 :
Textul clar este scris ^ ³ntr-o tabel¸ a cu 12 coloane:
2 10 6 9 12 8 5 11 1 4 7 3
S I Q I N Q C R I P T O
G R A F I E Q T A C E R
E A Q E S T E Q A U R Q
Deoarece lungimea textului nu este divizibil¸ a cu 12 vom completa ultimul r^ and cu
o secvent »¸ a cunoscut¸ a (^ ³n acest caz caracterul Q). Textul cifrat se obt »ine citind
coloanele tabelei de cifrare ^ ³n ordinea indicat¸ a de parola numeric¸ a:
IAASGEORRQPCUCQEQAQTERQETIFEIRARTQNIS:
Descifrarea se va realiza ^ ³n mod similar folosind permutarea invers¸ a ¾¡1:
Dac¸ a dimensiunea transpozit »iei Neste mai mic¸ a dec^ at lungimea parolei atunci
se vor ret »ine Ncaractere din parol¸ a.
Exercit »iul 6.11.6. Studiat »i comutativitatea operatorilor de cifrare substitut »ie
mono/polialfabetic¸ a » si a transpozit »iei.
Exercit »iul 6.11.7. Implementat »i algoritmul de decriptare a unei transpozit »ii.
Exercit »iul 6.11.8. Implementat »i algoritmul de decriptare a unei subtitut »ii sim-
ple.
Exercit »iul 6.11.9. Implementat »i algoritmul de decriptare a unui cifru obt »inut
prin compunerea unei transpozit »ii » si a unei substitut »ii simple.
Exercit »iul 6.11.10. Implementat »i algoritmul de decriptare a unui cifru polial-
fabetic.
Capitolul 7
CRIPTANALIZA
CIFRURILOR FLUX
The quality of a machine
depends largely on its use.
Boris Hagelin
7.1. Atacul generatoarelor pseudoaleatoare
Multe din generatoarele pseudoaleatoare f¸ acute publice au fost sparte. Ream-
intim c¸ a a sparge un generator de chei-°ux revine la acela» si lucru cu a conduce un
atac ^ ³mpotriva unui cifru ^ ³n °ux folosind textul clar. O comunicat »ie sigur¸ a trebuie
s¸ a reziste la astfel de atacuri. A sparge ^ ³nseamn¸ a ¯e a obt »ine part »ile componente,
¯e a descoperi o sl¸ abiciune (pentru a elabora o metod¸ a de atac mai e¯cient¸ a dec^ at
calculul brut). Pentru generatoarele de chei-°ux, aceasta ^ ³nseamn¸ a ¯e a g¸ asi cheia
secret¸ a, ¯e a ar¸ ata c¸ a o parte a ei este redundant¸ a, dac¸ a este privit¸ a din unghiul di-
verselor metode de atac. Se folose» ste cuv^ antul a sparge ^ ³n ambele cazuri, deoarece a
descoperi » si ^ ³ndep¸ arta redundant »a unei chei ajut¸ a la ^ ³mbunat¸ at »irea calit¸ at »ii genera-
torului. Vom trece ^ ³n revist¸ a o serie de tehnici de criptanaliz¸ a cum ar ¯: criptanaliza
liniar¸ a, criptanaliza diferent »ial¸ a, metoda corelat »iei, metoda corelat »iei rapide (bazate
pe transformata Walsh-Hadamard), metoda sindromului liniar, atacul consistent »i
liniare precum » si metode bazate pe corect »ia iterativ¸ a a erorilor. Sunt realizate » si o
serie de studii comparative ale e¯cient »i (din punct de vedere al recupera¸ arii datelor
» si din punct de vedere al timpului de rulare) algoritmilor discutat »i. Se vor prezenta
deasemenea o serie de tehnici de proiectare a generatoarelor de tip °ux precum » si ex-
emple practice de atac asupra unor clase de generatoare pseudoaleatoare. Aplicat »iile
din ¯nalul capitolului ar trebui s¸ a ^ ³ncheie un ciclu primar de preg¸ atire ^ ³n domeniu.
127
128 CRIPTANALIZA CIFRURILOR FLUX
7.2. Criptanaliza liniar¸ a
7.2.1. Complexitatea liniar¸ a
Prezent¸ am pe scurt o metod¸ a de criptanaliz¸ a » si anume metoda criptanalizei
liniare, care ^ ³» si are originea ^ ³n teoria codurilor, mai exact ^ ³n problema decodi¯c¸ arii
codurilor de tip BCH . Odat¸ a cu dezvoltarea criptogra¯ei aceast¸ a tehnic¸ a » si-a g¸ asit
aplicat »ii ^ ³n evaluarea algoritmilor de cifrare ^ ³n estimarea complexit¸ at »ii liniar echiva-
lente a unui generator pseudoaleatoriu. Odat¸ a estimat¸ a aceast¸ a complexitate liniar
echivalent¸ a, se poate trece la reconstruct »ia textului clar ce a fost ^ ³nsumat modulo
2 cu ie» sirea acestui generator. Metoda de criptanaliz¸ a se nume» ste metoda sindro-
mului liniar » si poate ¯ g¸ asit¸ a ^ ³n literatura de specialitate. Aceast¸ a metod¸ a poate ¯
generalizat¸ a pentru algoritmii de tip cascad¸ a Gollmann care generalizeaz¸ a algorit-
mul de cifrare folosit de sistemul de telefonie mobil¸ a GSM . Vom prezenta o serie de
rezultate referitoare la complexitatea liniar echivalent¸ a precum » si metoda de calcul
efectiv al acesteia. Cu ajutorul complexit¸ at »ii liniar echivalente se pot construi testele
statistico-algoritmice (vezi Simion [82] » si [84]).
Intuitiv, aleator ^ ³nseamn¸ a imprevizibil. Pentru ca o secvent »¸ a s¸ a ¯e aleatoare,
trebuie ca perioada secvent »ei s¸ a ¯e su¯cient de mare, iar diversele forme ale ei
s¸ a ¯e uniform distribuite ^ ³n secvent »e. ^In continuare, vom descrie c^ ateva dintre
cele mai simple metode care genereaz¸ a secvent »e pseudoaleatoare. ^In particular,
registrele de deplasare cu feedback liniar detaliat »i ^ ³n aceast¸ a sect »iune servesc ca
blocuri componente pentru construirea generatoarelor pe care le vom discuta ulte-
rior. Cea mai discutat¸ a metod¸ a de a genera numere pseudoaleatoare se bazeaz¸ a
pe recurent »e de forma: Xi=aXi¡1+bmod munde a; b; m sunt parametrii care
descriu generatorul » si pot ¯ utilizat »i drept chei secrete, iar X0este dat. Dac¸ a
parametrii sunt ale» si corect, numerele Xinu se vor repeta dec^ at dup¸ a mtermeni.
Ca un exemplu, secvent »a generat¸ a de Xi= 5Xi¡1+ 3 mod 16 ;cuX0= 1 este
f1;8;11;10;5;12;15;14;9;0;3;2;13;4;7;6;1;8; : : :g:
S-a ar¸ atat c¸ a secvent »ele produse de astfel de generatoare bazate pe congruent »e
liniare, nu sunt sigure din punct de vedere criptogra¯c. Fiind dat¸ a o port »iune su-
¯cient de mare din secvent »¸ a, se pot reconstrui parametrii m; a; b . Generatoarele
bazate pe congruent »e liniare care folosesc trunchieri (doar un pre¯x ^ ³n bit »i al ¯ecarui
num¸ ar Xi) s-au dovedit a ¯ nesigure. Secvent »e puternice din punct de vedere crip-
togra¯c pot ¯ generate folosind registrele de deplasare chiar dac¸ a feedback-ul este
liniar. Un registru de deplasare cu feedback const¸ a ^ ³n nlocat »ii de memorie de c^ ate
un bit care se ,,deplaseaz¸ a" spre dreapta » si o funct »ie de feedback care exprim¸ a orice
element nou a(t);cut·n;al secvent »ei ^ ³n funct »ie de elementele generate anterior
a(t¡n); a(t¡n+ 1); : : : ; a (t¡1):Funct »ia de feedback trebuie s¸ a ¯e nesingular¸ a,
CRIPTANALIZA LINIAR ¸A 129
adic¸ a de forma: a(t) =g(a(t¡1); : : : ; a (t¡n+ 1))©a(t¡n);unde©desemneaz¸ a
operat »ia SAU exclusiv. Dac¸ a funct »ia de feedback este liniar¸ a (se poate implementa
doar folosind operat »ia SAU exclusiv) spunem c¸ a generatorul este un registru de de-
plasare cu feedback liniar( LFSR ). Altfel, spunem c¸ a generatorul este un registru
de deplasare cu feedback neliniar ( NLFSR ). O locat »ie de memorie a registrului se
nume» ste nivel, iar semnalele binare a(0); a(1); : : : ; a (n¡1) sunt ^ ³nc¸ arcate ca date
init »iale. Perioada secvent »ei produse depinde at^ at de num¸ arul de niveluri, c^ at » si de
detaliile conexiunilor de feedback. Mai exact, perioada maxim¸ a a secvent »ei care
poate ¯ generat¸ a de un registru de deplasare cu feedback, av^ and nniveluri » si o
funct »ie de feedback nesingular¸ a este 2n¡1;adic¸ a num¸ arul maxim de st¸ ari ^ ³n care se
poate a°a un registru cu nniveluri (se exclude starea nul¸ a). Nu vom insista asupra
NLFSR -urilor, care sunt ^ ³n general greu de implementat » si ^ ³n multe cazuri u» sor pre-
dictibile. LFSR -urile sunt folosite de mult timp pentru teste VSLI , comunicat »ii cu
spectru larg etc. Aceste circuite sunt ^ ³ns¸ a » si printre cele mai importante generatoare
pseudoaleatoare de bit »i. Funct »ia lor de feedback are forma:
a(t) =c1a(t¡1)©c2a(t¡2)©: : :©cn¡1a(t¡n+ 1)©a(t¡n); (7.1)
unde ci2 f0;1g:Conexiunea de feedback a unui LFSR poate ¯ exprimat¸ a printr-un
polinom de feedback:
f(X) = 1 + c1X+c2X2+: : :+cn¡1Xn¡1+Xn;
cu nedeterminata X. Acest polinom decide perioada » si comportarea statistic¸ a a
secvent »ei de ie» sire. Pentru a preveni o secvent »¸ a de ie» sire trivial¸ a, trebuie ca starea
,,zero peste tot" s¸ a nu ¯e stare init »ial¸ a. De exemplu, dac¸ a un LFSR cu patru
niveluri are polinomul de feedback:
f(X) = 1 + X+X2+X3+X4;
dependent de starea init »ial¸ a, atunci el va genera una din secvent »ele de perioad¸ a 5.
a) 1111011110 : : : ;
b) 1000110001 : : : ;
c) 0100101001 : : : ;
Sau, alt exemplu, dac¸ a LFSR are polinomul de feedback dat de f(X) = 1 + X+
X4, atunci el genereaz¸ a o singur¸ a secvent »¸ a netrivial¸ a de perioad¸ a 15 ;cu cea mai
bun¸ a statistic¸ a pe care o astfel de secvent »¸ a o poate avea:
101100100011110 : : :
Dac¸ aLFSR nu are perioada maxim¸ a, ^ ³n cazul^ ³n care cunoa» stem structura statis-
tic¸ a a sursei de informat »ie, se poate aplica pentru decriptare metoda verosimilit¸ at »ii
maxime .
130 CRIPTANALIZA CIFRURILOR FLUX
^In general, pentru a garanta cea mai mare perioad¸ a posibil¸ a 2n¡1;polinomul
de feedback f(X) alLFSR -ului trebuie s¸ a ¯e primitiv . Aceasta ^ ³nsemn¸ a c¸ a f(X)
trebuie ales astfel ^ ³nc^ at cel mai mic num¸ ar ^ ³ntreg pozitiv Tpentru care XT¡1 este
divizibil cu f(X) s¸ a ¯e T= 2n¡1. O de¯nit »ie echivalent¸ a este urm¸ atoarea.
De¯nit »ia 7.2.1. Un polinom g(X) din inelul de polinoame Zp[X],pnum¸ ar
prim, se nume» ste polinom primitiv , dac¸ a ord(®) =pn¡1 unde ®=fXgmodg(X)
(clasa de resturi a polinomului Xmodulo g(X)) » sin= deg( g(X)):Polinomul g(X)
se nume» ste polinom generator pentru corpul Galois GF(pn):
Observat »ia 7.2.1. Polinomul de feedback f(X) este polinomul reciproc al poli-
nomului generator g(X):
Sunt dou¸ a tipuri de implementare a unei secvent »e binare obt »inute cu ajutorul
polinomului generator: schema de tip Fibonacci (ce implementeaz¸ a recurent »a 7.1) » si
schema Galois (ce implementeaz¸ a clasele de resturi), acestea ¯ind exempli¯cate ^ ³n
¯gurile 7.1 » si 7.2.
Figura 7.1: Implementarea Fibonacci a secvent »ei generate de polinomul generator
g(X):
Figura 7.2: Implementarea Galois a secvent »ei generate de polinomul generator g(X):
Ret »inem faptul c¸ a av^ and st¸ ari init »iale convenabil alese cele dou¸ a scheme de im-
plementare produc aceeia» si ie» sire.
CRIPTANALIZA LINIAR ¸A 131
Exist¸ a algoritmi care testeaz¸ a primitivismul unui polinom. Num¸ arul de poli-
noame primitive de grad neste:
Np(n) =©(2n¡1)
n;
unde ©( x);cunoscut¸ a ca funct »ia lui Euler , desemneaz¸ a cardinalul de numere naturale
mai mici ca x» si relativ prime cu x. Observ¸ am c¸ a dac¸ a un polinom f(X) este
primitiv atunci » si polinomul reciproc lui adic¸ a Xnf(1
X) este primitiv. Se » stie c¸ a
orice polinom primitiv este ireductibil. Reciproca nu este adev¸ arat¸ a. Num¸ arul de
polinoame ireductibile de grad n^ ³n algebra mod p(p= 2 ) este dat de formula
urm¸ atoare:
NI(n) =1
nX
djnpd¹(n
d);
unde ¹estefunct »ia lui MÄ oebius de¯nit¸ a ^ ³n felul urm¸ ator pentru n=kQ
1p®i
i:¹(n) = 0
dac¸ akQ
i®i>1,¹(n) = (¡1)kdac¸ a neste produsul a knumere prime distincte » si
¹(1) = 1. Leg¸ atura ^ ³ntre funct »ia lui Moebius » si funct »ia lui Euler este dat¸ a de:
Á(n)
n=X
djn¹(d)
d:
Dac¸ a keste un num¸ ar prim Mersenne , adic¸ a keste num¸ ar prim de forma 2n¡1
unde neste num¸ ar prim, atunci orice polinom ireductibil de grad k(^ ³n algebra
mod 2) este primitiv:
NI(k) =1
2n¡1X
dj2n¡12d¹(2n¡1
d) =1
2n¡1[¡2 + 22n¡1]
=©(22n¡1¡1)
2n¡1=NP(k):
Not »iunea de LFSR se poate generaliza pentru algebra ( Zp;+; :);cupnum¸ ar
prim, prin urm¸ atoarea:
De¯nit »ia 7.2.2. Vom numi LFSR (registru de deplasare liniar) de lungime L
o recurent »¸ a liniar¸ a an=f(an¡1; : : : ; a n¡L) ^ ³n algebra ( Zp;+;¢):
Deci s¸ a not¸ am cu sun » sir in¯nit ai c¸ arui termeni sunt sisunt numere din mult »imea
f0;1; : : : ; p ¡1gcupnum¸ ar prim (dac¸ a p= 2 atunci avem de a face cu un » sir binar)
» si prin sn» sirul ¯nit de lungime n s0; : : : ; s n¡1:Unele din teoreme sau observat »ii sunt
valabile numai pentru p= 2:
132 CRIPTANALIZA CIFRURILOR FLUX
De¯nit »ia 7.2.3. Vom spune c¸ a un registru de deplasare LFSR genereaz¸ a un
» sir in¯nit sdac¸ a exist¸ a o stare init »ial¸ a pentru care ie» sirea acestuia este s. Similar,
spunem c¸ a LFSR genereaz¸ a » sirul ¯nit sndac¸ a exist¸ a o stare init »ial¸ a pentru care
ie» sirea LFSR are primii ntermeni » sirul ¯nit sn.
De¯nit »ia 7.2.4. Complexitatea liniar¸ a a » sirului in¯nit s, notat¸ a prin L(s) este
de¯nit¸ a ^ ³n modul urm¸ ator:
i) dac¸ a seste » sirul nul s= 0;0;0; : : :atunci L(s) = 0;
ii) dac¸ a nu exist¸ a un LFSR care s¸ a genereze satunci L(s) =1;
iii) ^ ³n caz contrar L(s) este lungimea celui mai mic LFSR care genereaz¸ a pe s.
De¯nit »ia 7.2.5. Complexitatea liniar¸ a a » sirului ¯nit sn, notat¸ a prin L(sn) este
lungimea celui mai scurt registru de deplasare LFSR care pentru o anumit¸ a stare
init »ial¸ a genereaz¸ a o ie» sire ce are ca primi ntermeni » sirul ¯nit sn:
Pentru un polinom C(D)2Z2[D] » si pentru L2Nvom nota prin < L;C (D)>
registrul de deplasare LFSR de lungime L» si cu react »iile date de polinomul C(D).
Principalele propriet¸ at »i ale complexit¸ at »ii liniare sunt sistematizate ^ ³n urm¸ atoarele
teoreme.
Teorema 7.2.1. (Propriet¸ at »i fundamentale). Fie s» sitdou¸ a » siruri.
i) complexitatea » sirului ¯nit sneste cel mult n: pentru orice num¸ ar n¸1avem
0·L(sn)·n;
ii) complexitatea » sirului ¯nit sneste minim¸ a adic¸ a L(sn) = 0 dac¸ a » si numai dac¸ a
sneste un » sirul 0;0; : : : ; 0de lungime n;
iii) complexitatea » sirului ¯nit sneste maxim¸ a adic¸ a L(sn) =ndac¸ a » si numai
dac¸ a sneste un » sirul 0;0; : : : ; ® (cu®6= 0) de lungime n;
iv) dac¸ a seste periodic cu perioada Natunci L(s)·N;
v)L(s©t)·L(s) +L(t):
Teorema 7.2.2. (Leg¸ atura cu polinoamele ireductibile). Pentru orice polinom
C(D)2Zp[D]de grad L» si ireductibil peste Zporice stare nenul¸ a, din cele pL¡1
st¸ ari posibile, ale unui registru de deplasare liniar LFSR < L; C (D)>genereaz¸ a
un » sir cu complexitatea L:
Teorema 7.2.3. (Media » si dispersia complexit¸ at »ii liniare a unui » sir aleatoriu).
Fiesnun » sir binar ¯nit de lungime nales aleatoriu din mult »imea tuturor » sirurilor
binare ¯nite de lungime n. Fie L(sn)complexitatea sa. Vom nota cu B(n)funct »ia
de paritate adic¸ a B(n) = 0 pentru npar » si B(n) = 1 pentru nimpar.
i) Media complexit¸ at »ii liniare a lui sneste:
E(L(sn)) =n
2+4 +B(n)
18¡1
2n(n
3+2
9);
CRIPTANALIZA LINIAR ¸A 133
deci pentru nsu¯cient de mare E(L(sn))¼n
2+2
9dac¸ a neste par » si E(L(sn))¼
n
2+5
18dac¸ a neste impar.
ii) Dispersia complexit¸ at »ii liniare a lui sneste:
V ar(L(sn)) =86
81¡1
2n(14¡B(n)
27n+82¡2B(n)
81)¡1
22n(1
9n2+4
27n+4
81);
deci pentru nmare V ar(L(sn))¼86
81:
Observat »ie. O problem¸ a care este ^ ³n studiu la ora actual¸ a este aceea a compor-
tamentului asimptotic al pro¯lului complexit¸ at »ii liniare. Ideea de baz¸ a este aceea
de a lega testul statistic de algoritmul de generare adic¸ a s¸ a r¸ aspundem, cu o anu-
mit¸ a probabilitate, la ^ ³ntreb¸ ari de genul » sirul este generat sau nu de un registru de
deplasare cu anumite caracteristici (vezi Simion [79]).
Teorema 7.2.4. (Media complexit¸ at »ii liniare a unui » sir aleatoriu periodic). Fie
snun » sir binar ¯nit de lungime nales aleatoriu din mult »imea tuturor » sirurilor binare
¯nite de lungime n= 2t:Fies» sirul in¯nit obt »inut prin concatenarea in¯nit¸ a a » sirului
¯nitsncu el ^ ³nsu» si. Media complexit¸ at »ii liniare a » sirului seste:
E(L(s)) =n¡1 + 2¡n:
Teorema 7.2.5. (Pro¯lul complexit¸ at »ii). Fie s=s0; s1; : : : : un » sir din algebra
(Zp;+;¢):Vom nota cu LNcomplexitatea liniar¸ a a sub» sirului sN=s0; s1; : : : ; s N¡1,
N¸0:S »irul L1; L2; : : :se nume» ste pro¯lul complexit¸ at »ii liniare a » sirului in¯nit s.
Similar dac¸ a s=s0; s1; : : : ; s n¡1este un » sir binar » sirul L1; L2; : : : ; L nse nume» ste
pro¯lul complexit¸ at »ii liniare a » sirului ¯nit sn.
Teorema 7.2.6. (Propriet¸ at »i ale pro¯lului complexit¸ at »ii). Fie L1; L2; : : :pro¯lul
complexit¸ at »ii liniare a » sirului in¯nit s=s0; s1; : : : : Atunci:
i) dac¸ a j > i avem Lj¸Li;
ii) dac¸ a LN>N
2atunci LN+1=LN;
iii) dac¸ a LN+1> L Natunci LN+1+LN=N+ 1:
Teorema 7.2.7. (Media pro¯lului complexit¸ at »ii liniare a unui » sir aleatoriu). Fie
s=s0; s1; : : :un » sir binar aleatoriu » si ¯e LNcomplexitatea liniar¸ a a sub» sirului
sN=s0; s1; : : : ; s N¡1; N¸1:Pentru orice index ¯xat N¸1media celui mai mic j
pentru care LN+j> L Neste2dac¸ a LN·N
2» si2 + 2 LN¡Ndac¸ a LN>N
2. Mai
mult, cre» sterea medie a complexit¸ at »ii liniare este 2dac¸ a LN¸N
2sauN¡2LN+ 2
dac¸ a LN<N
2:
134 CRIPTANALIZA CIFRURILOR FLUX
7.2.2. Algoritmul Berlekamp-Massey. Rezultate teoretice
Algoritmul Berlekamp-Massey este un algoritm e¯cient de determinare a complex-
it¸ at »ii liniare a unui » sir ¯nit snde lungime n. Algoritmul are niterat »ii, iar la iterat »ia
Nse calculeaz¸ a complexitatea liniar¸ a a sub» sirului sNformat din primii Ntermeni
ai lui sn:
De¯nit »ia 7.2.6. S¸ a consider¸ am » sirul ¯nit sN+1=s0; s1; : : : ; s N¡1; sN:Pentru
C(D) = 1 + c1D+: : :+cLDL¯e< L; C (D)>unLFSR care genereaz¸ a sub» sirul
sN=s0; s1; : : : ; s N¡1:Discrepant »a urm¸ atoare dNeste diferent »a dintre sN» si al ( N+1)
termen generat de LFSR :
dN= (sN+LX
i=1cisN¡i) mod p:
Teorema 7.2.8. Fie » sirul ¯nit sN=s0; s1; : : : ; s N¡1de complexitate L=L(sN)
» si ¯e < L; C (D)>unLFSR care genereaz¸ a sN:
i) registrul LFSR < L; C (D)>genereaz¸ a sN+1=s0; s1; : : : ; s N¡1; sNdac¸ a » si
numai dac¸ a discrepant »a urm¸ atoare dNeste0;
ii) dac¸ a dN= 0atunci L(sN+1) =L;
iii) s¸ a presupunem c¸ a dN6= 0. Fie mcel mai mare num¸ ar ^ ³ntreg mai mic ca N
astfel ^ ³nc^ at L(sm)< L(sN)» si ¯e < L(sm); B(D)>un registru de deplasare LFSR
de lungime L(sm)care genereaz¸ a sm. Atunci < L0; C0(D)>este un registru LFSR
de lungime minim¸ a care genereaz¸ a sN+1unde:
L0=(
L dac¸ a L > N= 2
N+ 1¡Ldac¸ a L·N=2;
» siC0(D) =C(D) +db¡1B(D)DN¡m;unde b¡1este inversul, ^ ³n algebra (Zp;+;¢);a
discrepant »ei de la pasul m:
7.2.3. Implementarea algoritmului Berlekamp-Massey
Rezultatele precedente ne permit implementarea algoritmului de determinare a
complexit¸ at »ii liniar echivalente a unui » sir binar. Aceast¸ a procedur¸ a de test poate ¯
asimilat¸ a procedurilor de analiz¸ a criptogra¯c¸ a liniar¸ a.
Prezent¸ am ^ ³n continuare schema acestuia ^ ³n pseudocod. Pentru portabilitatea
algoritmului, el va ¯ descris ^ ³n algebra GF(p), cu pnum¸ ar prim.
Intrare : » sirul sn=s0; s1; s2; : : : ; s n¡1cu elemente din algebra GF(p) de lungime
n:
Ie» sire : complexitatea liniar¸ a L(sn) a lui » sirului sn;0·L(sn)·n:
CRIPTANALIZA LINIAR ¸A 135
1.Init »ializare .
C(D) = 1 ; B(D) = 1 ;
L= 0; m=¡1; N= 0; b= 1;
p= 2 (caracteristica corpului);
2.While (N < n )execut¸ a :
2.1. Calculeaz¸ a discrepant »a urm¸ atoare d:
d= (sN+LP
i=1cisN¡i) mod p:
2.2.Dac¸ a d6= 0execut¸ a :
T(D) =C(D); C (D) =C(D) +db¡1B(D)DN¡m.
Dac¸ a L·N
2atunci L=N+ 1¡L; m =N; B (D) =T(D); d=b:
2.3.N=N+ 1:
3.Return (L).
Observat »ii. i) La ¯ecare iterat »ie la sf^ ar» situl pasului 2 < L; C (D)>este cel mai
scurt registru LFSR care genereaz¸ a sN. Deci algoritmul anterior poate ¯ folosit la
calculul pro¯lului complexit¸ at »ii liniare.
ii) Timpul de execut »ie a algoritmului Berlekamp-Massey pentru determinarea
complexit¸ at »ii liniare a unui » sir binar de lungime nesteO(n2):
iii) Fie snun » sir ¯nit de lungime n» si ¯e Lcomplexitatea sa liniar¸ a. Atunci exist¸ a
un unic registru LFSR de lungime Lcare genereaz¸ a sndac¸ a » si numai dac¸ a L·N
2:
iv) Fie sun » sir binar in¯nit de complexitate liniar¸ a L» si ¯e tun sub» sir ¯nit al
luisde lungime cel put »in 2 L. Atunci algoritmul Berlekamp-Massey cu intrarea t
determin¸ a un LFSR de lungime Lcare genereaz¸ a s:
v) Dac¸ a polinomul de feedback care genereaz¸ a » sirul este primitiv atunci algoritmul
Berlekamp-Massey va g¸ asi un registru de aceea» si lungime cu acesta.
vi) O alt¸ a problem¸ a este aceea a reconstruct »iei celui mai mic registru de deplasare,
dar neliniar, care genereaz¸ a » sirul respectiv. Aceasta lucreaz¸ a cu not »iunea de » sir De
Bruijn care corespunde not »iunii de primitivism ^ ³n cazul liniar.
7.2.4. Testul Berlekamp ca test statistico-informat »ional
Descrierea testului: Algoritmul Berlekamp-Massey (detect »ia celei mai scurte recu-
rent »e liniare care produce o succesiune dat¸ a) ne conduce la testul Berlekamp-Massey
ca test statistico-informat »ional. Acest test se mai nume» ste » si test de liniaritate.
Statistica testului este o variabil¸ a aleatoare de tip Â2:
Scopul testului: Testul decide dac¸ a secvent »a testat¸ a prezint¸ a valent »e ale unei
secvent »e generate liniar.
Algoritmul de test este prezentat ^ ³n continuare speci¯c^ andu-se intr¸ arile » si ie» sirile
din program.
136 CRIPTANALIZA CIFRURILOR FLUX
Intrare: Succesiunea binar¸ a, de lungime N; s » si riscul de ordinul 1 al testului
notat prin ®:
Ie» sire : Decizia referitoare la inexistent »a componentei liniare (aleatorism).
PASUL 1. S »irul de bit »i este partit »ionat ^ ³n Nblocuri de lungime M:
PASUL 2. Utiliz^ and algoritmul Berlekamp-Massey calculez complexitatea liniar¸ a
Lia ¯ec¸ aruia din cele Nblocuri.
PASUL 3. Calcul¸ am valoarea medie a complexit¸ at »ii dup¸ a formula:
¹=M
2+4 +B(M)
18¡1
2M(M
3+2
9):
PASUL 4. Pentru i= 1; : : : ; N calcul¸ am valorile:
Ti= (¡1)M(Li¡¹) +2
9:
PASUL 5. Valorile Tidetermin¸ a cre» sterea valorilor vidup¸ a cum urmeaz¸ a:
8
>>>>>>>>>><
>>>>>>>>>>:Ti· ¡2;5 cre» ste v0;
¡2;5·Ti· ¡1;5 cre» ste v1;
¡1;5·Ti· ¡0;5 cre» ste v2;
¡0;5·Ti·0;5 cre» ste v3;
0;5·Ti·1;5 cre» ste v4;
1;5·Ti·2;5 cre» ste v5;
2;5·Ticre» ste v6:
(s-a partit »ionat spat »iul realiz¸ arilor variabilei Ti^ ³nK= 7 clase)
PASUL 6. Calcul¸ am statistica testului care este de tip Â2(K¡1):
Â2
calc=K¡1X
i=0(vi¡N¼i)2
N¼i;
unde: 8
>>>>>>>>>><
>>>>>>>>>>:¼0= 0;01047
¼1= 0;03125
¼2= 0;125
¼3= 0;5
¼4= 0;25
¼5= 0;0625
¼6= 0;02078 :
(aceste valori reprezint¸ a probabilit¸ at »ile a priori conform celor Kclase). Evident
6P
i=0¼i= 1:
METODA CORELAT »IEI 137
PASUL 7. Dac¸ a Â2
calc·Â2(K¡1; ®) (cuantila de ordinul ®a distribut »iei
Â2(K¡1)) atunci se decide acceptarea aleatorismului sucsesiunii testate, ^ ³n caz
contrar se respinge ipoteza aleatorismului.
Observat »ia 7.2.2. O valoare prea mic¸ a a lui Â2
calc(apropiat¸ a 0) poate ¯ consid-
erat¸ a suspect¸ a, ^ ³n concluzie este indicat de a utiliza un test bilateral ^ ³n care regiunea
de decizie este [ u®
2;u1¡®
2] (u®
2» siu1¡®
2¯ind cuantilele de ordinul®
2respectiv 1 ¡®
2
ale distribut »iei Â2(K¡1)).
7.3. Metoda corelat »iei
Metoda corelat »iei este o tehnic¸ a care se aplic¸ a ^ ³n principiu la analiza algorit-
milor de cifrare de tip °ux ce sunt compu» si din mai multe registre de deplasare
(recurent »e liniare) combinate cu ajutorul unei funct »ii booleene. Metoda const¸ a ^ ³n
corelarea ie» sirii algoritmului, deci a funct »iei booleene, cu ¯ecare registru (intrarea ^ ³n
funct »ie). Odat¸ a realizat¸ a aceast¸ a corelat »ie se poate previziona ¯ecare registru (in-
trare ^ ³n funct »ie) cu ajutorul algoritmului Berlekamp-Massey. ^In principiu metoda se
poate aplica nu numai pentru combinat »ii de registre de deplasare ci » si pentru orice
structur¸ a algoritmic¸ a cu condit »ia adapt¸ arii consistente a algoritmului Berlekamp-
Massey.
7.4. Metoda corelat »iei rapide
Metoda corelat »iei rapide este o generalizare a metodei corelat »iei prin care se
urm¸ are» ste corelarea ie» sirii din algoritm cu intr¸ arile acestuia. Tehnica de corelat »ie se
bazeaz¸ a pe calculul rapid al transformatei Walsh-Hadamard (vezi » si Popescu [56]).
7.4.1. Transformata Walsh-Hadamard
De¯nirea transformatei Walsh-Hadamard
Fie funct »ia binar¸ a, scris¸ a ^ ³n forma algebric¸ a normal¸ a, f:Zn
2!Z2:Vom de¯ni
transformata^
fprin formula:
^
f(x) = 1¡2f(x);
deci^
f:Zn
2! f¡ 1;1g:Vom prezenta teoria transformatei Walsh-Hadamard ^ ³n
funct »ie de^
f :
138 CRIPTANALIZA CIFRURILOR FLUX
Observat »ia 7.4.1. Funct »ia^
fse poate de¯ni similar prin formula ( ¡1)f(x):
Pentru un » sir binar xde¯nim ^ ³n mod similar transformata sa^xprin formula:
^xi= 1¡2xipentru orice i:
Matricea Hadamard de ordinul 2neste de¯nit¸ a recursiv de formula:
H2n=Ã
H2n¡1H2n¡1
H2n¡1¡H2n¡1!
cu
H2=Ã
1 1
1¡1!
Matricea Hadamard este simetric¸ a iar inversa sa este1
2nH2n:
De¯nit »ia 7.4.1. Pentru o funct »ie^
f:Zn
2! f¡ 1;1gvom de¯ni transformata
Walsh-Hadamard^
Fprin formula:
^
F(!) =X
x2Zn
2^
f(x)(¡1)!:xpentru orice !2Zn
2
unde!:xeste produsul scalar al lui !cux:S¸ a remarc¸ am faptul c¸ a transformarea
Walsh-Hadamard se poate de¯ni pentru orice funct »ie real¸ a.
De¯nit »ia 7.4.2. Pentru un » sir binar^xvom de¯ni transformarea Walsh-Hadamard
prin formula:
^!i=2m¡1X
j=0^xj(¡1)i:jpentru orice i
unde i:jeste produsul scalar dintre reprezent¸ arile binare ale lui i» sij:
De¯nit »ia 7.4.3. Convolut »ia a dou¸ a funct »ii^
f;^g:Zn
2! f¡ 1;1geste de¯nit¸ a ca
(^
f¤^g)(x) =X
y2Zn
2^
f(y)^g(x©y):
METODA CORELAT »IEI RAPIDE 139
similar cu de¯nit »ia a dou¸ a funct »ii vom de¯ni convolut »ia a dou¸ a » siruri^x» si^yprin
formula:
^zi=N¡1X
j=0^xj^yi¡jpentru i= 0; :::; N ¡1:
Observat »ia 7.4.2. Se observ¸ a faptul c¸ a transformata Walsh-Hadamard a unei
funct »ii^
f:Zn
2! f¡ 1;1gse poate scrie ca produsul:
^
F=H2n^
f :
Avem o relat »ie similar¸ a pentru transformata Walsh-Hadamard a » sirurilor.
Observat »ia 7.4.3. Termenul general al matricei Hadamard este hij= (¡1)i:j
undei:jreprezint¸ a produsul scalar dintre reprezent¸ arile binare ale numerelor i» sij:
Observat »ia 7.4.4. Inversa matricei H2neste1
2nH2nde unde rezult¸ a faptul c¸ a:
^
f=1
2nH2n^
F:
Observat »ia 7.4.5. Leg¸ atura dintre transformatele Walsh-Hadamard F(:) » si^
F
(:) ale funct »iilor frespectiv^
feste:
^
F(!) =¡2F(!) + 2n±(!):
Observat »ia 7.4.6. Transformata Walsh-Hadamard este liniar¸ a.
Propriet¸ at »ile transformatei Walsh-Hadamard
Vom prezenta principalele propriet¸ at »i ale transformatei Walsh-Hadamard a funct »iei
^
f :Rezultate similare se obt »in pentru transformata Walsh-Hadamard a » sirurilor.
Teorema 7.4.1. Operatorul ^de¯nit pentru funct »ii reale este liniar. Transfor-
mata Walsh-Hadamard are un singur punct ¯x » si anume 0:
Teorema 7.4.2. Inversa transformatei Walsh-Hadamard pentru funct »ia^
f:Zn
2!
f¡1;1geste dat¸ a de formula:
^
f(x) =1
2nX
!2Zn
2^
F(!)(¡1)!:x:
140 CRIPTANALIZA CIFRURILOR FLUX
Teorema 7.4.3. Pentru o funct »ie^
f:Zn
2! f¡ 1;1gavem urm¸ atoarea propri-
etate referitoare la suma valorilor transformatei Walsh-Hadamard:
X
!2Zn
2^
F(!) = 2n^
f(0):
Teorema 7.4.4. Dac¸ a variabila xjeste idle (nu apare ^ ³n forma algebric¸ a nor-
mal¸ a: f(x1; :::; x i; :::; x n) = f(x1; :::;xi; :::; x n)sau altfel spus f este degenerat¸ a )
atunci
^
F(!) = 0 pentru orice !:!i= 1:
Teorema 7.4.5. Dac¸ a f:Zn
2!Z2este scris¸ a ^ ³n forma algebric¸ a normal¸ a:
f(x) =a0+a1x1+:::+anxn+a12x1x2+:::+a12:::nx1x2:::xn
atunci:
a12:::n= 2n¡kX
!2V(i1;:::;ik)F(!) mod 2
undeV(i1; :::; i k) =f!2Zn
2j!i= 0pentru i2 fi1; :::; i kgg:
Teorema 7.4.6. Transformata Walsh-Hadamard a convolut »iei^
ha dou¸ a funct »ii
^
f;^g:Zn
2! f¡ 1;1geste produsul convolut »iilor:
^
H=^
F¢^
G:
Demonstrat »ie. Folosind de¯nit »ia obt »inem:
^
F(!)¢^
G(!) =X
x2Zn
2^
f(x)(¡1)!:xX
y2Zn
2^g(y)(¡1)!:y
=X
x2Zn
2X
y2Zn
2^
f(x)^g(y)(¡1)!:(x©y)
=X
x2Zn
2X
z2Zn
2^
f(x)^g(x©z)(¡1)!:z
=X
z2Zn
20
@X
x2Zn
2^
f(x)^g(x©z)1
A(¡1)!:z
METODA CORELAT »IEI RAPIDE 141
=X
z2Zn
2^
h(z)(¡1)!:z
=^
H(!):
Observat »ia 7.4.7. i) Transformata Walsh-Hadamard a funct »iei^
f(x) de¯nit¸ a
def(x) =c(funct »ia constant¸ a) este vectorul (2n(1¡2c);0; :::;0)t:
ii) Transformata Walsh-Hadamard a funct »iei^
f(x) de¯nit¸ a de f(x) =c+xi(cea
de a i¡a funct »ie proiect »ie) este (0 ; :::;2n(1¡2c); ::::;0)t;termenul nenul ¯ind pe
pozit »ia 2i¡1:
iii) Din observat »iile anterioare se observ¸ a faptul c¸ a termenul liber care in°uent »¸ a
asupra semnului factorului nenul din transformata Walsh-Hadamard.
7.4.2. Testul statistic Walsh-Hadamard
Conceptul de test statistic
Conceptul de test statistic se poate g¸ asi ^ ³n orice carte de statistic¸ a fundamental¸ a.
Aplicat »ii ale testelor statistice ^ ³n criptogra¯e se pot g¸ asi ^ ³n Maurer [46]. Sunt f¸ acute
dou¸ a ipoteze statistice referitoare la secvent »ele binare ce sunt testate:
H0: » sirul xeste produs de o surs¸ a binar¸ a f¸ ar¸ a memorie: Pr(X= 1) = p0» si
Pr(X= 0) = 1 ¡p0;(^ ³n acest caz spunem c¸ a » sirul nu prezint¸ a nici o component¸ a
predictibil¸ a)
» si alternativa:
H1: » sirul xeste produs de o surs¸ a binar¸ a f¸ ar¸ a memorie: Pr(X= 1) = p1» si
Pr(X= 0) = 1 ¡p1cup06=p1;(^ ³n acest caz spunem c¸ a » sirul prezint¸ a o component¸ a
predictibil¸ a referitoare la probabilitatea p).
^In testarea statistic¸ a sunt dou¸ a tipuri de erori statistice: eroarea de ordinul 1 ;
notat¸ a cu ®(se mai nume» ste » si nivel de semni¯cat »ie al testului » si reprezint¸ a prob-
abilitatea aparit »iei unui rezultat fals pozitiv) » si eroarea de ordinul 2 ;notat¸ a cu ¯
(este probabilitatea aparit »iei unui rezultat fals negativ). Aceste erori au urm¸ atoarea
interpretare:
®= Pr(resping H0jH0este adev¸ arat¸ a) = 1 ¡Pr(accept H0jH0este adev¸ arat¸ a)
respectiv
¯= Pr(accept H0jH0este fals¸ a) = 1 ¡Pr(resping H0jH0este fals¸ a) :
Aceste dou¸ a erori nu pot ¯ minimizate simultan (testele Neymann-Pearson min-
imizeaz¸ a valorile lui ¯pentru un ®¯xat). Procedura de testare ce o vom prezenta
142 CRIPTANALIZA CIFRURILOR FLUX
este urm¸ atoarea: pentru o valoare ¯x¸ a a lui ®vom g¸ asi un domeniu de acceptare
pentru funct »ia de test » si vom veri¯ca dac¸ a aceasta apart »ine domeniului respectiv.
Domeniul de acceptare se obt »ine din cuantilele de ordinul®
2» si 1¡®
2:(Cuantila u®
de ordinul ®este de¯nit¸ a prin: Pr(X < u ®) =®:)
Funct »ia de test
Vom ^ ³ncepe prin a enunt »a o serie de propriet¸ at »i.
Fiexun » sir binar pentru care vom realiza o testare referitoare la cele dou¸ a ipoteze
formulate. Vom presupune c¸ a lungimea » sirului xesten= 2m:Vom construi » sirul
transformat^xiar transformata sa Walsh-Hadamard o vom nota prin^!:
Teorema 7.4.7. Avem pentru prima componet¸ a^!0a transformatei Walsh-Hada-
mard:
i) valoarea medie a lui^!0estem0= 2m(1¡2p):
ii) dispersia lui^!0este¾2
0= 2m+2p(1¡p):
iii) distribut »ia lui^!0¡m0
¾0este bine aproximat¸ a (pentru m¸7) de repartit »ia nor-
mal¸ a N(0;1):
Teorema 7.4.8. Avem pentru cea de a i-a component¸ a^!i(i¸1)a transfor-
matei Walsh-Hadamard:
i) valoarea medie a lui^!iestemi= 0:
ii) dispersia lui^!ieste¾2
i= 2m+2p(1¡p):
iii) distribut »ia lui^!i¡mi
¾ieste bine aproximat¸ a (pentru m¸7) de repartit »ia nor-
mal¸ a N(0;1):
Observat »ia 7.4.8. i) Pentru p= 0;5 (surs¸ a simetric¸ a) valoarea medie a lui
^!ieste egal¸ a cu 0, pentru orice i:Variabila aleatoare !iare aceia» si distribut »ie.
Teorema 7.4.9. Pentru o surs¸ a simetric¸ a vectorul^!are o repartit »ie normal¸ a
multidimensional¸ a.
Testul statistic este realizat cu ajutorul funct »iilor de test anterioare. De fapt,
c^ and se testeaz¸ a un » sir binar de lungime 2mcu ajutorul procedurilor anterioare, se
efectueaz¸ a 2mteste statistice. Acest test este o baterie de teste de 22mteste statistice
(nu se vor efectua toate testele statistice).
METODA CORELAT »IEI RAPIDE 143
Testul de aleatorism
Scopul acestui test este acela de a detecta autocorelat »iile din secvent »a testat¸ a.
Intrare:
-Secvent »a binar¸ a xde lungime n;
-Dimensiunea blocului de date de lungime 2m;
-Limita de respingere ®;
-pprobabilitatea de aparit »ie a simbolului 1 :
Ie» sirea: Decizia referiatoare la aleatorism la nivelul de semni¯cat »ie ®raportat¸ a
la cea de a i¡afunct »ie de test (denumit¸ a autocorelat »ia de tip i).
PASUL 1. Transform¸ am » sirul binar x^ ³n » sirul de 1 » si ¡1:^x=1¡2x:
PASUL 2. Calcul¸ am limita inferioar¸ a » si limita superiar¸ a de respingere a testului
u®
2» siu1¡®
2:
PASUL 3 . Calcul¸ am num¸ arul de blocuri ce se proceseaz¸ a£n
2m¤:Vom diviza » sirul
^x^ ³n£n
2m¤blocuri adicente.
PASUL 4. Forj= 0 to£n
2m¤¡1 do
Fori= 0 to 2m¡1 do
Calculeaz¸ a cea de a i¡afunct »ie de test
tij=^!ij¡mi
¾i;
unde^!ijeste cea de a i¡acomponent¸ a a transformatei Walsh-Hadamard a blocului
j; valorile lui mi» si¾isunt date de teoremele 7.4.7. respectiv 7.4.8.
PASUL 5. Fori= 0 to 2m¡1 se ia decizia referitoare la cea corelat »ia de ordinul
i:
i)Decizia majoritar¸ a: dac¸ a exist¸ a o valoare
tij=2[u®
2;u1¡®
2];
(u®este cunatila de ordinul ®a distribut »iei normale) respingem ipoteza aleatoris-
mului (raportat¸ a la cea de a i-a funct »ie de test) a » sirului xla nivelul de semni¯cat »ie
®» si vom a¯» sa valorile lui i» sij:
ii)Decizia maximum din T : calcul¸ am Ti=max
jtij;dac¸ a
Ti=2[u
(®
2)1
[n
2m];u
(1¡®
2)1
[n
2m]];
respingem ipoteza aleatorismului (raportat¸ a la cea de a i¡afunct »ie de test) a » sirului
xla nivelul de semni¯cat »ie ®» si vom a¯» sa valorile lui i:
144 CRIPTANALIZA CIFRURILOR FLUX
iii)Decizia Â2: calcul¸ am
Â2
i=[n
2m]¡1X
j=0t2
ij;
dac¸ a Â2
i=2[0; Â2(£n
2m¤; ®)] respingem ipoteza aleatorismului (raportat¸ a la cea de a
i¡afunct »ie de test) a » sirului xla nivelul de semni¯cat »ie ®» si vom a¯» sa valorile lui
i:(Â2(£n
2m¤; ®) este cuantila de ordinul ®a distribut »iei Â2(£n
2m¤)).
PASUL 6 . Decizia ¯nal¸ a: decizia majoritar¸ a, decizia maximum din Tsau decizia
Â2cu ajutorul statisticilor tij; Tirespectiv Â2
i:
Observat »ia 7.4.9. S¸ a ret »inem faptul c¸ a
2m¡1X
i=0tij=2m¡1X
i=0^!ij¡mi
¾i= 2m
2+1(x(j)
0¡(1¡2p));
unde x(j)
0este prima component¸ a a celui de al j¡lea» sir.
Observat »ia 7.4.10. i) Dac¸ a tij¼0 (dispersie mic¸ a) atunci decizia Â2nu de-
tectez¸ a nici o abatere la uniformitate. Se va pune ^ ³n evident »¸ a o abatere de la uni-
formitate cu ajutorul deciziei maximum din T.
ii) Regula de decizie majoritar¸ a este adecvat¸ a pentru valori mici ale lui 2m¡1 » si
un num¸ ar mic de blocuri.
Observat »ia 7.4.11. Prima valoare a funct »iei de test t0jeste statistica core-
spunz¸ atoare testului frecvent »ei. Cea de a doua funct »ie de test t1jeste statistica
corespunz¸ atoare testului autocorelat »iei la distant »a d= 2:De fapt ¯ecare dintre
puterile d= 2p(p·m) ale funct »iei de test Walsh-Hadamard au o component¸ a
echivalent¸ a cu testul autocorelat »iei la distant »a d= 2p:
Observat »ia 7.4.12. Procedurile de decizie sunt numite » si proceduri de agregare
a rezultatelor » si sunt folosite mai ales c^ and dispunem de mai multe realiz¸ ari ale
aceleia» si funct »ii de test.
7.4.3. Caracterizarea propriet¸ at »ilor criptogra¯ce
^In cele ce urmeaz¸ a vom da o serie de caracteriz¸ ari, prin intermediul transfor-
matei Walsh-Hadamard (caracterizare spectral¸ a), a principalelor caracteristici (bal-
ans, imunitate la corelat »ie, propagare » si nedegenerare) ale unei funct »ii criptogra¯ce
(aceast¸ a funct »ie poate ¯ un generator pseudoaleator, cifru bloc, funct »ie de dispersie
criptogra¯c¸ a, etc.). Vom ^ ³ncepe printr-o serie de de¯nit »ii.
METODA CORELAT »IEI RAPIDE 145
De¯nit »ia 7.4.4. Spunem despre funct »ia^
f:Zn
2! f¡ 1;1gc¸ a ^ ³ndepline» ste cri-
teriul de balans (sau de echilibrare ) dac¸ a:
cardfxj^
f(x) = 1g=1
2n¡1:
De¯nit »ia 7.4.5. Spunem despre funct »ia^
f:Zn
2! f¡ 1;1gc¸ a ^ ³ndepline» ste cri-
teriul de imunitate la corelat »ie de ordin kdac¸ a^
f(X) este independent¸ a statistic
de orice submult »ime de kpozit »ii de coordonate ( Xi1; :::X ik) ale lui X=(X1; :::X n)0;
aceasta ¯ind o variabil¸ a aleatoare uniform distribuit¸ a ^ ³n Zn
2(Pr(X=i) = 2¡npentu
orice i= 0; :::;2n¡1). Spunem despre funct »ia^
f:Zn
2! f¡ 1;1gc¸ a este imun¸ a
la corelat »ie dac¸ a^
feste imun¸ a la corelat »ie pentru orice ordin k:Vom nota aceast¸ a
proprietate prin IC(k):
De¯nit »ia 7.4.6. Spunem despre funct »ia^
f:Zn
2! f¡ 1;1gc¸ a ^ ³ndepline» ste cri-
teriul propag¸ arii relativ la vectorul sdac¸ a^
f(x)^
f(x©s) este echilibrat¸ a. Dac¸ a^
f
satisface criteriul propag¸ arii relativ la orice vector satunci spunem c¸ a^
fsatisface
criteriul propag¸ arii. Funct »ia^
fsatisface criteriul propag¸ arii de ordin krelativ la vec-
torul sdac¸ a^
fsatisface criteriul propag¸ arii relativ la vectorul scu 1·w(s)·k:
Spunem despre funct »ia^
fc¸ a satisface criteriul propag¸ arii de ordin kdac¸ a^
fsatisface
criteriul propag¸ arii de ordin krelativ la orice vector s:Aceast¸ a proprietate se va
nota prin PC(k):
De¯nit »ia 7.4.7. Spunem despre funct »ia^
f:Zn
2! f¡ 1;1gc¸ a ^ ³ndepline» ste cri-
teriul de avala» s¸ a strict¸ a (SAC ) dac¸ a schimbarea unui bit la intrare produce schimb¸ ari,
^ ³n proport »ie de 50% ;la ie» sire.
Observat »ia 7.4.13. Criteriul de avalan» s¸ a strict¸ a SAC (schimbarea unui bit la
intrare produce schimb¸ ari ^ ³n proport »ie de 50% la ie» sire) este echivalent cu criteriul
propag¸ arii de ordinul 1 PC(1):
Avem urm¸ atoarele caracteriz¸ ari ale propriet¸ at »ilor funct »iilor^
fprin intermediul
transformatei Walsh-Hadamard.
Teorema 7.4.10. Funct »ia^
f:Zn
2! f¡ 1;1g^ ³ndepline» ste criteriul de balans dac¸ a
146 CRIPTANALIZA CIFRURILOR FLUX
» si numai dac¸ a:
X
x2Zn
2^
f(x) = 0
sau echivalent
^
F(0) = 0 :
Demonstrat »ia este evident¸ a (se folose» ste de¯nit »ia transformatei Walsh).
Teorema 7.4.11. Funct »ia^
f:Zn
2! f¡ 1;1g^ ³ndepline» ste criteriul de imunitate
la corelat »ie de ordin kdac¸ a » si numai dac¸ a:
^
F(¯) = 0 pentru orice ¯2Zn
2;1·w(¯)·k;
^
F(:)¯ind transformata Walsh-Hadamard a lui^
f :
Demonstrat »ie . Vom prezenta demonstrat »ia pentru cazul k= 1;pentru karbitrar
rat »ionamentul ¯ind similar. Presupunem c¸ a^
f^ ³ndepline» ste criteriul de imunitate
la corelat »ie de ordin 1 :Fie¯2Zn
2cuw(¯) = 1 ( ¯i= 1; ¯j= 0; i6=j):Succesiv
putem scrie:
^
F(¯) =X
x2Zn
2^
f(x)(¡1)¯:x
=X
x2Zn
2^
f(x)(¡1)xi
=X
x2Zn
2
^
f(x)=1;xi=01 +X
x2Zn
2
^
f(x)=¡1;xi=11 +X
x2Zn
2
^
f(x)=1;xi=1(¡1) +X
x2Zn
2
^
f(x)=¡1;xi=0(¡1)
= 0 (utiliz^ and de¯nit »ia).
Demonstrat »ia implicat »iei reciproce se las¸ a, sub form¸ a de exercit »iu, pe seama citi-
torului.
Teorema 7.4.12. Funct »ia^
f:Zn
2! f¡ 1;1g^ ³ndepline» ste criteriul de propagare
de ordin krelativ la vectorul sdac¸ a » si numai dac¸ a:
X
x2Zn
2^
f(x)^
f(x©s) = 0 pentru orice scu1·w(s)·k:
METODA CORELAT »IEI RAPIDE 147
Demonstrat »ie . Deoarece^
f:Zn
2! f¡ 1;1g^ ³ndepline» ste criteriul de propagare de
ordin krelativ la vectorul s(de pondere maxim k) dac¸ a » si numai dac¸ a^
f(x)^
f(x©s)
este echilibrat¸ a deciP
x2Zn
2^
f(x)^
f(x©s) = 0 pentru orice scu 1·w(s)·k:
Teorema 7.4.13. Funct »ia^
f:Zn
2! f¡ 1;1g^ ³ndepline» ste criteriul de avalan» s¸ a
strict¸ a dac¸ a » si numai dac¸ a:
X
!2Zn
2(¡1)!i^
F2
(!) = 0 pentru orice !2Zn
2» sii= 1; :::; n:
Demonstrat »ie. Funct »ia^
f:Zn
2! f¡ 1;1g^ ³ndepline» ste criteriul de avalan» s¸ a strict¸ a
dac¸ a » si numai dac¸ aP
x2Zn
2^
f(x)^
f(x©s) = 0 pentru orice scuw(s) = 1 adic¸ a (^
f
¤^
f)(s) = 0 (convolut »ia lui^
fcu ea ^ ³ns¸ a» si). Folosind de¯nit »ia inversei transformatei
Walsh-Hadamard » si faptul c¸ a transformata convolut »iei a dou¸ a funct »ii este produsul
transformatelor funct »iilor obt »inem:
(^
f¤^
f)(s) =1
2nX
!2Zn
2^
F2
(!)(¡1)s:!
=1
2nX
!2Zn
2^
F2
(!)(¡1)!i:
Din ultima relat »ie rezult¸ a concluzia teoremei.
Teorema 7.4.14. O condit »ie su¯cient¸ a ca funct »ia^
f:Zn
2! f¡ 1;1gs¸ a satisfac¸ a
criteriul de avalan» s¸ a strict¸ a este ca:
^
F2
(!) =^
F2
(!)pentru orice !2Zn
2
Demonstrat »ie . Avem pentru orice i= 1; :::; n
X
!:!i=0^
F2
(!) =X
!:!i=1^
F2
(!)
echivalent cu:
X
!2Zn
2(¡1)!i^
F2
(!) = 0 pentru orice !2Zn
2» sii= 1; :::; n:
148 CRIPTANALIZA CIFRURILOR FLUX
Ultima relat »ie arat¸ a faptul c¸ a funct »ia^
fsatisface criteriul de avalan» s¸ a strict¸ a (^ ³n
conformitate cu teorema anterioar¸ a).
Observat »ia 7.4.14. ^Indeplinirea acestor propriet¸ at »i constituie condit »ii necesare
dar nu » si su¯ciente ca o funct »ie (sau algoritm) s¸ a ¯e sigur¸ a din punct de vedere
criptogra¯c.
Observat »ia 7.4.15. Testarea criteriilor ment »ionate anterior se poate face prin
demonstrarea efectiv¸ a a acestora ^ ³n funct »ie de propriet¸ at »ile funct »iei (algoritmului)
ce se testeaz¸ a cu ajutorul testelor statistice. ^In literatura de specialitate exist¸ a o
serie de lucr¸ ari legate de tematica prezentat¸ a (vezi Forr¶ e [19], Preneel [63] » si [64]).
7.5. Atacul Siegenthaler
^In multe generatoare, cheia-°ux ¯nal¸ a bse obt »ine combin^ and secvent »ele de ie» sire
ai;1·i·kale mai multor sisteme. ^Intreb» si ¯ecare aipot exista dependint »e sta-
tistice mai slabe sau mai puternice. Pentru a folosi aceste dependent »e, Siegenthaler
[74] a dezvoltat un criteriu general de identi¯care a cheii pentru a conduce atacuri de
tip "divide-et-impera" asupra unor astfel de sisteme. Atacurile se adreseaza ¯ec¸ arei
secvent »e constitutive ai^ ³n mod individual » si se poart¸ a prin c¸ aut¸ ari exhaustive. Nu
vom intra ^ ³n am¸ anunte. Vrem doar s¸ a ret »inem c¸ a, at^ at pentru criptograful care
proiecteaz¸ a sistemele, c^ at » si pentru criptanalistul care le sparge, interdependent »ele
statistice ^ ³ntre diversele p¸ art »i constitutive ale generatorului de chei-°ux sunt extrem
de importante.
7.6. Atacul consistent »ei liniare
^In contrast cu testul statistic al lui Siegenthaler [74], un test algebric orientat
pentru a utiliza latent »a liniar¸ a existent¸ a ^ ³n diversele generatoare de chei-°ux a fost
dat de Zeng,Yang » siRao[99]. Metoda este formulat¸ a pe baza unei estim¸ ari precise
a probabilitat »ii de consistent »¸ a a unui sistem de ecuat »ii liniare Ax=bcu o m£
n¡matrice de coe¯cient »i aleatoare A; m > n » si un vector ¯xat, nenul, b:^In multe
generatoare de chei-°ux, se poate g¸ asi o subcheie comparativ mic¸ a K1din ^ ³ntreaga
cheie secret¸ a K» si se poate construi un sistem de ecuat »ii liniare Ax=b, astfel ^ ³nc^ at:
1. matricea coe¯cient »ilor Adepinde ^ ³n mare parte de cheia K1;
2. vectorul beste determinat de un segment anumit al secvent »ei de ie» sire;
3. dac¸ a subcheia K1este speci¯cat¸ a gre» sit, sistemul corespunzator Ax=bva ¯
inconsistent cu o probabilitate aproape de 1 :C^ and un astfel de sistem este consistent
se poate deduce din solut »ia lui cealalt¸ a parte a cheii Kadic¸ a K¡K1:^In acest caz,
METODA SINDROMULUI LINEAR 149
se poate aplica c¸ autarea exhaustiv¸ a pentru a determina subcheia K1;cu aceea» si
consistent »¸ a a sistemului liniar ca ^ ³n cazul criteriului de identi¯care a cheii. Succesul
unui astfel de atac ^ ³nseamn¸ a c¸ a cei jKj¡jK1jbit »i din partea necunoscut¸ a din Knu
contribuie substant »ial la t¸ aria criptogra¯c¸ a a ^ ³ntregului sistem. O oarecare form¸ a de
redundant »¸ a a cheii a fost descoperit¸ a ^ ³n sistem.
7.7. Metoda sindromului linear
Vom prezenta o clas¸ a de metode de criptanaliz¸ a bazate pe corect »ia iterativ¸ a a
erorii pentru sindromul linear. Metodele se pot adapta pentru a ¯ folosite ^ ³n di-
agnosticarea generatoarelor pseudoaleatoare ce au ^ ³n component »¸ a registre lineare
de fedback. Metoda va ¯ exempli¯cat¸ a pe generatoarele Ge®e » siBeth-Pipper dar
poate ¯ aplicat¸ a » si generatoarelor de tip cascad¸ a Gollmann inclusiv generatorului
A5(GSM ). Metoda poate ¯ extins¸ a la a» sa zisa metod¸ a a corect »iei iterative a erorii
pentru sindromul nelinear mai exact la registre de feedback care nu sunt lineare.
Aceasta poate conduce la atacuri extrem de dure ^ ³n cazul mai multor generatoare
nelineare.
7.7.1. Formularea problemei
FieAie» sirea unui LFSR cupolinomul de feedback f(X) » si ¯e Xun » sir (text clar)
cu proprietatea c¸ a:
Pr(x(t) = 1) = s0<1
2:
Num¸ arul s0se nume» ste rata init »ial¸ a a erorii a » sirului A^ ³n » sirul B=A+X.
Av^ and acces la » sirul B;cunosc^ and polinomul f(X) (algoritmul generator ) » si num¸ arul
s0(statistica textului clar ) trebuie determinat » sirul X(text clar ) » si^ ³nc¸ arcarea init »ial¸ a
aLFSR (cheia ).
7.7.2. Preliminarii teoretice
Fier¸3; r2Z» si
g(X) = 1 + Xi1+: : :+Xir¡1; (7.2)
un multiplu al polinomului de feedback f(X):Vom de¯ni 2 m+ 1sindromuri:
¾i;k(g(x)) =r¡1X
p=0b(i+ip¡ik) (7.3)
» si vom revizui semnalul b(i) ^ ³n semnalul b0(i) dup¸ a regula deciziei majoritare (dac¸ a
jum¸ atate plus unu din sindromuri sunt 1 b0(i) =b(i) » si ^ ³n caz contrar b0(i) =b(i):
150 CRIPTANALIZA CIFRURILOR FLUX
S-a ar¸ atat ^ ³n Zeng [98] » si [100] c¸ a rata erorii s1a » sirului A^ ³n » sirul B0=fb0(i)g
este:
s1=fm(s0) =p¡(1¡2p)m¡1X
k=0Ck
2k+1(pq)k+1; (7.4)
unde
p=p(s0) =1¡(1¡2s0)r¡1
2; q = 1¡p: (7.5)
Mai mult exist¸ a un num¸ ar ^ ³ntreg mcnumit num¸ ar critic astfel ^ ³nc^ at:
lim
k!1f(k)
m(s0) =(
0 dac¸ a m¸mc
1
2dac¸ a m < m c:(7.6)
unde f(k)
mestek¡autocompunerea funct »iei fm.
Aplicarea teoremei de convergent »¸ a pentru relat »ia 7.6 sugereaz¸ a realizarea unor
revizuiri iterate folosind un num¸ ar ¯x de 2 m+ 1 sindromuri » si se bazeaz¸ a pe pre-
supunearea c¸ a pe parcursul ¯ec¸ arei iterat »ii comportamentul erorii este independent
» si deci si+1=fm(si). Metoda amintit¸ a mai sus » si prezentat¸ a ^ ³n Zeng [98] are dou¸ a
hibe:
1) nu minimizeaz¸ a distant »a solut »iei (lungimea minim¸ a a intercept¸ arii pentru re-
zolvarea problemei).
2) nu garanteaz¸ a o probabilitate de succes.
Vom prezenta un nou algoritm (vezi » si Zeng [100]) ^ ³n care se fac urm¸ atoarele
presupuneri:
1)r= 3:
2)f(X) este polinom primitiv.
^In [100] Zeng prezint¸ a convergent »a metodei, probabilitatea de succes » si distant »a
solut »iei.
7.7.3. Algoritmul Sindromului Linear
7.7.4. Numere critice » si numere de ra¯nare
^Incepem prezentarea algoritmului cu urm¸ atoarea lem¸ a.
Lema 7.7.1. Funct »ia w(s) =f1(s)¡sare ^ ³n (0;1
2)o unic¸ a r¸ ad¸ acin¸ a ®¼0;1294.
Avem w(s)<0^ ³n(0; ®); w(s)>0^ ³n(®;1
2)» silim
k!1f(k)
1(s) = 0 dac¸ a 0·s < ®:
METODA SINDROMULUI LINEAR 151
Demonstrat »ie. Fieu= 1¡2s;avem:
w(s) =p2(3¡2p)¡s=(1¡u2)2
4(3¡(1¡u2))¡1¡u
2
=u(u¡1)(u4+u3+u2+u¡2)
4=u(u¡1)h(u)
4:
Darh(u) este strict cresc¸ atoare ^ ³n u» sih(0) = ¡2; h(1) = 2 deci h(u) are un
singur zero ¯^ ³n intervalul deschis (0 ;1) care poate ¯ g¸ asit cu metoda lui Newton a
aproximat »iilor succesive ca ¯ind ¯¼0;7412. De aici obt »inem concluzia despre zeroul
®» si semnul lui w(s):Mai mult dac¸ a s2(0; ®) » si dac¸ a de¯nim s0=s; sk=f1(sk¡1)
atunci » sirul sk; k¸0;descre» ste strict la o limit¸ a s¤2[0; ®) » siw(s¤) = 0 :Deci trebuie
s¸ a avem s¤= 0. Aceast lucru demonstreaz¸ a lema.
Ideea principal¸ a a algoritmului sindromului linear este de a face reviziuni iterate
cu un num¸ ar reductibil de sindromuri cu lungimea segmentului ^ ³n curs de procesare.
Rolul central este jucat de conceptul de numere critice » si numere de ra¯nare.
De¯nit »ia 7.7.1. Num¸ arul supercritic msccorespunz¸ ator ratei init »iale a erorii s0
este cel mai mic num¸ ar ^ ³ntreg mcare satisface ingalitatea:
sk=fm¡k+1(sk¡1)< sk¡18k= 1; : : : ; m: (7.7)
Num¸ arul de ra¯nare de ordinul t ;notat cu lt;corespunz¸ ator ratei init »iale a erorii
s0cel mai mic num¸ ar ^ ³ntreg lcare satisface inegalitatea:
f(l)
1(smsc)<10¡t: (7.8)
Teorema 7.7.1. Pentru orice s02(0;1
2)» si orice t¸0exist¸ a numerele super-
critic msc» si de ra¯nare lt:
Demonstrat »ie . Avem
limm!1fm(s0) =p¡(1¡2p)1X
k=0Ck
2k+1(pq)k+1= 0:
Deci pentru msu¯cient de mare avem:
s1=fm(s0)<min(®; s0):
Dar din relat »ia 7.4 rezult¸ a:
fi(s)·f1(s);8i¸1:
152 CRIPTANALIZA CIFRURILOR FLUX
Deci avem
s2=fm¡1(s1)< f1(s1)< s1< ®;
s3=fm¡2(s2)< f1(s2)< s2< ®;(7.9)
etc. Aceasta^ ³nseamn¸ a c¸ a mult »imea numerelor^ ³ntregi pozitive mpentru care condit »ia
7.7 este satisf¸ acut¸ a nu este vid¸ a » si deci existent »a num¸ arului msccorespunz¸ ator lui
s0rezult¸ a din principiul binei ordon¸ ari a mult »imii numerelor naturale. Existent »a lui
lteste o consecint »¸ a a lemei anterioare.
Teorema 7.7.1. este o justi¯care natural¸ a a urm¸ atorului algoritm de identi¯care
a numerelor supercritice msc:
PASUL 1 .msc= 1,k= 1,s=s0:
PASUL 2 . Dac¸ a k= 0STOP . Altfel calculeaz¸ a s0=fk(s):
PASUL 3 . Dac¸ a s0< satunci k=k¡1; s=s0» sigo to PASUL 2 .
PASUL 4 .msc=msc+ 1; k=msc; s=s0go to PASUL 2 .
Algoritmul sindromului linear
Acum putem formula algoritmul sindromului linear.
Teorema 7.7.2. Exist¸ a un algoritm care s¸ a primesc¸ a la intrare un num¸ ar t» si
un segment interceptat din Bde lungime
N(s0; t) = (1 + 2 lt+ 2mscX
m=1L(m))n=c(s0; t)n; (7.10)
unde n=grad(f(X))» siL(m) = 2b4m¡1
6c, iar ca ie» sire furnizeaz¸ a starea LFSR
atacat la momentul icu probabilitatea de succes:
Psucces >(1¡10¡t)n: (7.11)
Complexitatea computat »ional¸ a a algoritmului (num¸ arul de operat »ii per bit) este
Q(s0; t) = (6 l2
t+ 2msc(msc+ 2)(2 lt+ 1) + 4mscX
j=1(2j+ 1)D(j¡1))n (7.12)
=q(s0; t)n (7.13)
unde
D(j) =L(1) + L(2) + : : :+L(j); D(0) = 0 : (7.14)
METODA SINDROMULUI LINEAR 153
Demonstrat »ie . Algoritmul este ^ ³mp¸ art »it ^ ³n dou¸ a faze: faza de reducere ^ ³na care
rata init »ial¸ a a erorii s0este redus¸ a la smsc< ® » si faza de re¯nare ^ ³n care eroarea
remanent¸ a smsceste redus¸ a sub 10¡t:
La faza de reducere avem nevoie de p=d2msc+1
3emultiplii trinomiali ai lui f(x):
Ace» stia vor ¯ folosit »i pentru a forma sindromuri » si vor ¯ ale» si ca ¯ind
g0(X) =f(X); g i+1(X) =gi(X)2;0·i·p¡2
Observ¸ am c¸ a ¯ecare trinom g(X) = 1 + Xi1+Xi2ne conduce la trei sindroame
de forma:
¾i;k(g(x)) =2X
p=0b(i+ip¡ik); k = 0;1;2; (7.15)
pentru acela» si semnal criptogra¯c b(i):Vom aranja cele 3 psindromuri^ ³n urm¸ atoarele
dou¸ a moduri
i)¾i;0(g0); ¾i;1(g0); ¾i;2(g0); : : : ; ¾ i;0(gp¡1); ¾i;1(gp¡1); ¾i;2(gp¡1)
ii)¾i;2(g0); ¾i;1(g0); ¾i;0(g0); : : : ; ¾ i;2(gp¡1); ¾i;1(gp¡1); ¾i;0(gp¡1)
Faza de reducere
PASUL 1 .N=c(s0; t)n,m=msc,L=nL(m).
PASUL 2 . Pentru L·i·N¡L¡1, calculeaz¸ a sindromurile date de primele
2m+ 1 formule din i) sau ii) dup¸ a cum i·N
2saui >N
2» si atribuie b(i) =b(i)dac¸ a
cel put »in m+ 1 sindromuri sunt 1 :
PASUL 3 .m=m¡1. Dac¸ a m= 0go to PASUL 5 .
PASUL 4 .L=L+nL(m)go to PASUL 2 .
Faza de ra¯nare
PASUL 5 .m=lt; L=L+n
PASUL 6 .m=m¡1:Dac¸ a m < 0STOP .
PASUL 7 . Pentru L·i·N¡L¡1, calculeaz¸ a sindromurile
¾i;0(f); ¾i;1(f); ¾i;2(f)
» si atribuie b(i) =b(i)dac¸ a cel put »in dou¸ a sindromuri sunt 1 :Go to PASUL 6 .
Observ¸ am c¸ a la a ( msc¡m+ 1)¡iterat »ie a fazei de reducere semnalele b(i) cu:
L·i·N¡L¡1; (7.16)
sunt revizuite dup¸ a regula deciziei majoritare cu 2 m+ 1 calcule dintr-o plaj¸ a mai
mare de semnale b(j) cu:
154 CRIPTANALIZA CIFRURILOR FLUX
L¡nL(m)·j·N¡L+nL(m)¡1: (7.17)
Prin induct »ie matematic¸ a dup¸ a mrezult¸ a c¸ a dup¸ a ( msc¡m+ 1)¡iterat »ii avem:
Pr(b(i)6=a(i)) =sm; (7.18)
pentru tot »i icare satisfac 7.16 demonstr^ and c¸ a la ^ ³nceputul iterat »iei avem ^ ³n sem-
nalele b(j) cujsatisf¸ ac^ and 7.17 toate datele necesare calculului celor 2 m+1 sindro-
muri necesare. Evident este su¯cient s¸ a veri¯c¸ am punctul pentru cazul:
i=bN
2c;2m+ 1´1 mod 3 : (7.19)
Folosind inegalitatea (care se veri¯c¸ a u» sor)mP
k=1L(k)¸2d2m+1
3ese demonstreaz¸ a
c¸ a cel mai mic jpentru care semnalul b(j) este folosit ^ ³n calculul sindroamelor este
jmax=dN
2e+n22m+1
3·N¡L+nL(m)¡1: (7.20)
Aceasta ^ ³nseamn¸ a c¸ a restrict »ia este ^ ³ndeplinit¸ a la ¯ecare iterat »ie » si rata init »ial¸ a a
erorii s 0va ¯ redus¸ a sub ®dup¸ a faza de reducere. Acesta va ¯ redus¸ a sub 10¡tdup¸ a
faza de ra¯nare. Deci dup¸ a msc+ltiterat »ii ale procesului de revizuire algoritmul va
scoate un vector de dimensiune n:
(b(N¡n
2); b(N¡n
2+ 1); : : : ; b (N¡n
2+n¡1)); (7.21)
care coincide cu starea vectorial¸ aN¡n
2aLFSR atacat cu probabilitatea 7.11
Formula 7.12 pentru complexitatea computat »ional¸ a poate ¯ dedus¸ a prin calcule
directe.
7.8. Corect »ia iterativ¸ a a erorii
7.8.1. Prezentare general¸ a
Problema cea mai important¸ a din criptogra¯e const¸ a ^ ³n recuperarea textului clar
dintr-un mesaj cifrat. ^In aceast paragraf prezent¸ am trei algoritmi de refacere a
textului cifrat ^ ³n ipoteza c¸ a acesta este un XOR dintre ie» sirea unui registru de de-
plasare » si textul clar. Metodele se pot extinde la combinat »ii de registre de deplasare
detip cascad¸ a Gollmann .^In continuare formul¸ am trei principii pe care se bazeaz¸ a
algoritmii ce vor ¯ prezentat »i. Metodele ce le prezent¸ am se mai numesc » si metode
CORECT »IA ITERATIV ¸A A ERORII 155
de tip sindrom liniar . Cele trei principii pe baza c¸ arora vom construi algoritmii de
reconstruct »ie sunt
P.1. Corect »ia erorilor este bazat¸ a pe un num¸ ar satisf¸ ac¸ ator de ecuat »ii de control.
P.2. Corect »ia erorilor se bazeaz¸ a pe estimarea probabilit¸ at »ilor a posteriori obt »inute
prin folosirea ca probabilitate a priori ^ ³n iterat »ia curent¸ a media estimat »iilor proba-
bilitilor a posteriori din iterat »ia precedent¸ a.
P.3. Corect »ia erorilor se bazeaz¸ a pe estimarea probabilit¸ at »ilor a posteriori obt »inute
prin folosirea ca probabilitate a priori ^ ³n iterat »ia curent¸ a estimat »ia probabilit¸ at »ii a
posteriori din iterat »ia precedent¸ a.
7.8.2. Prezentarea algoritmilor de corect »ie iterativ¸ a
^In acest paragraf vom formula problema reconstruct »iei ie» sirii unui LFSR . Vom
prezenta cei trei algoritmi corespunz¸ atori celor trei principii formulate mai sus.
FiefxngN
n=1ie» sirea dintr-un LFSR de lungime Lcuwreact »ii. ^In modelul statistic
se presupune c¸ a un » sir de zgomot (binar) fengN
n=1este realizarea unui » sir de variabile
binare i.i.r. fEngN
n=1astfel ^ ³nc^ at P(En= 1) = ppentru n= 1; : : : ; N:
FiefzngN
n=1versiunea perturbat¸ a a lui fxngN
n=1de¯nit de:
zn=xn©en; n = 1;2; : : : ; N (7.22)
Se presupun cunoscute react »iile LFSR , parametrul p» si un segment fzngN
n=1:Se
cere textul clar corespunz¸ ator fengN
n=1:
Fie ¦ n=f¼k(n)gko mult »ime de ecuat »ii de control ortogonale pentru bitul ncare
este generat¸ a cu ajutorul multiplilor polinomului caracteristic, n= 1;2; : : : ; N:
De¯nim ck(n) =P
mod 2
l2¼k(n)zl; k= 1;2; : : : ;j¦nj; n= 1;2; : : : ; N: c k(n) este o realizare
a variabilei aleatoare binare Ck(n);cuk= 1;2; : : : ;j¦kj:Not¸ am prin Pr( En;fCk(n)gN
k=1)
distribut »ia comun¸ a de probabilitate a variabilelor En» siCk(n); k= 1;2; : : : ;j¦nj» si
prin Pr( EnjfCk(n)gN
k=1)probabilitatea a posteriori corespunz¸ atoare.
Descifrare majoritar¸ a
Init »ializare :i= 1; I= constant (num¸ arul de iterat »ii), p(0)=p:
PASUL 1 :i=i+ 1:Dac¸ a i > I go to PASUL 5 .
PASUL 2 : Calculeaz¸ a: ck(n); k= 1;2; : : : ;j¦kj; n= 1;2; : : : ; N:
PASUL 3 : Calculeaz¸ a: tn=j¦nj¡2j¦njP
k=1ck(n); n= 1; : : : ; N (tneste funct »ia de
decizie majoritar¸ a).
PASUL 4 : Dac¸ a tn<0 atunci zn=zn©1; n= 1; : : : ; N:
go to PASUL 1 .
156 CRIPTANALIZA CIFRURILOR FLUX
PASUL 5 :STOP .
Apriori – aposteriori medie
Init »ializare :i= 1; I= constant (num¸ arul de iterat »ii), p(0)=p:
PASUL 1 :i=i+ 1:Dac¸ a i > I go to PASUL 6 .
PASUL 2 : Calculeaz¸ a: ck(n); k= 1;2; : : : ;j¦kj; n= 1;2; : : : ; N:
PASUL 3 : Pentru n= 1; : : : ; N calculeaz¸ a:
P(i)
n= Pr( En= 1jfCk(n)gj¦nj
k=1=fck(n)gj¦nj
k=1) = (7.23)
=p(i)psnw(1¡pw)j¦nj¡sn
p(i)psnw(1¡pw)j¦nj¡sn+ (1¡p(i))(1¡pw)snpj¦nj¡snw(7.24)
unde
sn=j¦njX
k=1ck(n); (7.25)
(num¸ arul ecuat »iilor de control care nu se veri¯c¸ a) » si
pw=1¡(1¡2p(i))w
2(vezi 7.5). (7.26)
PASUL 4 : Dac¸ a P(i)
n>0;5 atunci zn=zn©1 » siP(i)
n= 1¡P(i)
n; n= 1; : : : ; N:
PASUL 5 :p(i)=1
NNP
n=1P(i)
ngo to PASUL 1 .
PASUL 6: STOP .
Apriori – aposteriori
Init »ializare :i= 1; I= constant (num¸ arul de iterat »ii), p(0)
n=p; n= 1::N:
PASUL 1 :i=i+ 1:Dac¸ a i > I go to PASUL 6 .
PASUL 2 : Calculeaz¸ a: ck(n); k= 1;2; : : : ;j¦kj; n= 1;2; : : : ; N:
PASUL 3: Pentru n= 1; : : : ; N calculeaz¸ a:
P(i)
n= Pr( En= 1jfCk(n)gj¦nj
k=1=fck(n)gj¦nj
k=1) = (7.27)
p(i)
nj¦njQ
l=1pl(n)cl(n)(1¡pl(n))cl(n)
p(i)
nj¦njQ
l=1pl(n)cl(n)(1¡pl(n))cl(n)+ (1¡p(i)
n)j¦njQ
l=1(1¡pl(n))cl(n)pl(n)cl(n)(7.28)
CORECT »IA ITERATIV ¸A A ERORII 157
unde cl(n) = 1¡cl(n) » si
pl(n) =1¡wQ
j=1(1¡2p(i)
mj)
2(vezi 7.5), (7.29)
undefmjgw
j=1este mult »imea indicilor bit »ilor implicat »i^ ³n ecuat »iile de control ¼l(n); l=
1;2; : : : ;j¦nj; n= 1;2; : : : ; N:
PASUL 4 : Dac¸ a P(i)
n>0;5 atunci zn=zn©1 » siP(i)
n= 1¡P(i)
nn= 1; : : : ; N:
PASUL 5 :p(i)
n=P(i)
npentru n= 1;2; : : : ; N go to PASUL 1 .
PASUL 6 :STOP .
7.8.3. Rezultate experimentale
Prezent¸ am^ ³n ¯gura 7.3 rezultatele obt »inute^ ³n cazul unui LFSR de lungime 47 cu
dou¸ a react »ii la pozit »iile 5 » si 47 :Lungimea » sirului observat este de 105bit »i. Conform
rezultatelor tot »i algoritmii sunt convergent »i dac¸ a zgomotul este sub o anumit limit¸ a
care depinde de lungimea » sirului observat. Pentru zgomot mai mare primul algoritm
care cade este P.1. iar ultimul este P.3.
7.8.4. Concluzii
1. C^ and zgomotul este mai mic dec^ at o anumit limit¸ a (de exemplu. p= 0;4)
tot »i algoritmii sunt convergent »i la solut »ia problemei. Algoritmul P.1. are costul de
reconstruct »ie cel mai mic.
2.^In cazul ^ ³n care avem un zgomot pentru care algoritmul P.1 este divergent
algoritmii P.2. » si P.3. sunt convergent »i. Algoritmul P.2. are costul de reconstruct »ie
cel mai mic.
3.^In cazul ^ ³n care at^ at algoritmii P.1 » si P.2 sunt divergent »i algoritmul P.3 este
convergent » si pentru a minimiza costul de reconstruct »ie trebuie s¸ a proced¸ am ^ ³n felul
urm¸ ator: realiz¸ am init »ial corect »ia erorilor ajutorul algoritmului P.3 » si dup¸ a c^ ateva
iterat »i rul¸ am algoritmii P.1 » si P.2.
158 CRIPTANALIZA CIFRURILOR FLUX
Figura 7.3: Studiu comparativ al e¯cient »ei algoritmilor.
ALGORITM DE CRIPTANALIZ ¸A DIFERENT »IAL ¸A 159
7.9. Algoritm de criptanaliz¸ a diferent »ial¸ a
Descrierea metodei : Procedura prezentat¸ a este o procedur¸ a din clasa criptanalizei
diferent »iale » si testeaz¸ a dac¸ a anumite pozit »ii din cheie se reg¸ asesc cu o probabilitate
mai mare dec^ at altele ^ ³n criptogram¸ a. Testul, numit test de criptanaliz¸ a diferent »ial¸ a,
poate ¯ efectuat la orice risc de ordinul 1 :Acest test este de fapt o aproximare de
ordinul 2 ( ponderea Hamming a cuv^ antului diferent »elor cheilor este de 2) a unui
proces de testare mult mai complex. Statistica testului este de tip normal.
Scopul testului: Testul pune ^ ³n evident »¸ a punctele slabe (dac¸ a exist¸ a) ale algorit-
mului de cifrare.
Prezent¸ am ^ ³n continuare schema ^ ³n pseudocod a algoritmului.
Intrare. Se alege o cheie de baz¸ a bine precizat¸ a K= (k1; : : : ; k n) cuki2 f0;1g:
Ie» sire. Punctele slabe ale algoritmului de cifrare (prin intermediul cheii) » si de-
cizia referitoare la rezistent »a la criptanaliz¸ a diferent »ial¸ a.
PASUL 0. Cite» ste rata de respingere a testului ®:
PASUL 1. (Construct »ie chei perturbate .) Se construiesc nseturi de chei per-
turbate pornind de la cheia K:
fori= 1 to ndoK(i)= (±1i©k1; : : : ; ± ni©kn) :
±ji=(
1 dac¸ a j6=i;
0 dac¸ a j=i:
pentru i; j= 1; : : : ; n: Altfel spus cheia ieste obt »inut¸ a din cheia de baz¸ a prin negarea
bitului de pe pozit »ia i.
PASUL 2. (Construct »ie criptograme. ) Se construiesc n+1 criptograme pornind
de la cheia de baz¸ a, cheile perturbate » si un text clar M:Not¸ am aceste criptograme
cuC(i); i= 1; : : : ; n + 1:Ca text clar Mse poate opta pentru textul 0 ¡peste tot.
PASUL 3. (Construct »ie matrice de corelat »ie. ) Se construie» ste matricea ( n+
1)£(n+ 1) a valorilor de corelat »ie C:
cij= corelat »ia(criptograma i, criptograma j),
corelat »ia cij¯ind de fapt valoarea statisticii testului de frecvent »¸ a aplicat¸ a secvent »ei
(criptograma i©criptograma j). Matricea Ceste o matrice simetric¸ a av^ and 1 pe
diagonala principal¸ a.
PASUL 4 . (calcul valori semni¯cative .) Se num¸ ar¸ a valorile de corelat »ie semni-
¯cative de deasupra diagonalei principale. O valoare se nume» ste semni¯cativ¸ a dac¸ a:
cij=2[u®
2;u1¡®
2]:
FieTnum¸ arul de valori semni¯cative ( Teste num¸ arul de respingeri al testului de
corelat »ie).
160 CRIPTANALIZA CIFRURILOR FLUX
PASUL 5. (Decizia » si interpretarea rezultatelor. ) Dac¸ a:
T¡®n(n+1)
2q
®(1¡®)n(n+1)
2=2[u®
2;u1¡®
2];
atunci se decide nerezistent »a la criptanaliz¸ a diferent »ial¸ a ( u®
2» siu1¡®
2sunt cuantilele
repartit »iei normale de ordinul®
2, respectiv 1 ¡®
2) » si ¯» seaz¸ a elementele ( i; j);cu
n¸i > j¸1;pentru care cijeste semni¯cativ. Aceste elemente constituie puncte
slabe pentru algoritm. ^In caz contrar nu putem preciza nimic despre rezistent »a la
acest tip de atac.
Observat »ie. Cheia init »ial¸ a Kse poate alege (0 ; : : : ; 0):
7.10. C^ ateva tehnici de proiectare
Exist¸ a numeroase tehnici care pot ¯ folosite pentru a garanta impredictibilitatea
cheilor-°ux (vezi Rueppel [65]). Vom investiga modul ^ ³n care unele abord¸ ari sf^ ar» sesc
prin a e» sua sau modul ^ ³n care sl¸ abiciunea lor este expus¸ a unor atacuri de tipul
celor ment »ionate anterior. Pentru ¯ecare generator prezentat vom indica cele dou¸ a
caracteristici importante » si anume complexitatea linear echivalent¸ a » si perioada sa.
Ret »inem c¸ a dac¸ a avem nregistre de deplasare notate prin LFSR i; i= 1; : : : ; n
de lungimi Liastfel ^ ³nc^ at Li6=Lj8i6=j;care sunt combinate cu ajutorul unei
funct »ii nelineare f;adic¸ a ie» sirea gereratorului este dat¸ a de formula y=f(x1; : : : ; x n)
unde xieste ie» sirea din LFSR iiarfeste ^ ³n forma normal¸ a atunci complexitatea
generatorului rezultant este f(L1; L2; : : : ; L n) unde f:Zn!Zeste extensia funct »iei
fde laZn
2la mult »imea Zn:
7.10.1. Transformarea neliniar¸ a feed-forword
Multe generatoare de chei-°ux combin¸ a dou¸ a sau mai multe generatoare folosind
o funct »ie neliniar¸ a. Problema const¸ a ^ ³n alegerea unei astfel de funct »ii su¯cient de
puternic¸ a pentru efectul dorit. Vom ment »iona ^ ³n continuare dou¸ a tehnici.
7.10.2. Generatorul Ge®e
Unul din cele mai simple moduri de a combina trei LFSR -uri este folosirea unui
multiplexer doi-la-unu (vezi ¯gura 7.4). Dac¸ a ie» sirea celor trei LFSR -uri la momen-
tultestea1(t); a2(t);respectiv a3(t);ie» sirea multiplexer-ului va ¯:
b(t) =a1(t)a3(t)©a0
1(t)a2(t) =a2(t)©a1(t)(a2(t)©a3(t)):
C^ATEVA TEHNICI DE PROIECTARE 161
Dac¸ a polinoamele primitive de feedback ale celor trei LFSR -uri au gradele n1; n2;
respectiv n3;generatorul va avea complexitatea liniar¸ a:
LC=n3n1+ (n1+ 1)n2
» si perioada (dac¸ a n1; n2» sin3sunt prime ^ ³ntre ele):
T= (2n1¡1)(2n2¡1)(2n3¡1):
Sl¸ abiciunea acestui generator provine din faptul c¸ a probabilitatea de coincident »¸ a
este destul de mare:
p= Pr( b(t) =a2(t)) = Pr( a1(t) = 0) + Pr( a1(t) = 1) Pr( a3(t) =a2(t)) = 0 ;75:
Probabilitatea de coincident »¸ a^ ³ntre b(t) » sia3(t) poate ¯ estimat¸ a analog. ^In consecint »¸ a,
dac¸ a trinoamele primitive de feedback ale LFSR -urilor sunt cunoscute, av^ and ¯ecare
gradul mai mic sau egal cu n;sistemul poate ¯ u» sor spart de un atac care folose» ste
metoda sindromului liniar. St¸ arile curente ale celor trei LFSR -uri pot ¯ depistate
dintr-un segment de lungime N= 37nal secvent »ei de ie» sire. Costul de calcul este
de doar 896 operat »ii pe nbit »i.
Figura 7.4: Generatorul Ge®e.
7.10.3. Generatorul Jennings
S »i aceasta metod¸ a folose» ste un multiplexer pentru a combina dou¸ a LFSR-uri de
lungime l» sin:Metode similare acesteia au fost recomandate de EBU (European
Broadcasting Television ) pentru codi¯carea transmisiunilor de televiziune. Genera-
torul produce un semnal de ie» sire c(t); t¸0;^ ³n felul urm¸ ator: ¯e dou¸ a LFSR -uri
162 CRIPTANALIZA CIFRURILOR FLUX
cu secvent »ele de ie» sire a(t); t < l; respectiv b(t); t < n: Pentru ^ ³nceput, ¯x¸ am un
num¸ ar natural h·min(l;[log2n]) » si un » sir de pozit »ii pe banda primului LFSR:
0·i0< i1< : : : < i h¡1·l¡1:
La ¯ecare moment t¸0;calcul¸ am num¸ arul:
u(t) =a(t+i0) +a(t+i1)2 +: : :+a(t+ih¡1)2h¡1;
» si ^ ³l transform¸ am ^ ³n:
µ(u(t)) =s0(t) +s1(t)2 +: : :+sk¡1(t)2k¡1; k = [log2n];
unde µ:f0;1; : : : ; 2h¡1g ! f 0;1; : : : ; n ¡1geste o aplicat »ie injectiv¸ a. Dac¸ a poli-
noamele primitive de feedback ale celor dou¸ a LFSR -uri sunt cunoscute, atunci
aplicat »ia µ^ ³mpreun¸ a cu st¸ arile int »iale K1; K2ale celor dou¸ a LFSR -uri formeaz¸ a
cheia secret¸ a a acestui sistem de criptare. Semnalul de ie» sire este de¯nit prin:
c(t) =b[t+µ(u(t))]:
Dac¸ a ( l; n) = 1 ;secvent »a de ie» sire are perioada (2l¡1)(2n¡1) » si complexitatea
liniar¸ a:
LC·n(1 +hX
i=1Cl
i);
cu egalitate dac¸ a pozit »iile alese pe banda primului LFSR sunt la distant »e egale.
Dac¸ a privim, ^ ³ns¸ a, cu atent »ie de¯nit »ia lui c(t) observ¸ am c¸ a, indiferent de forma lui
µ, semnalul poate ¯ exprimat ca o combinat »ie liniar¸ a a bit »ilor b(t);cu coe¯cient »i
care depind doar de K1:Aceasta sl¸ abiciune poate ¯ exploatat¸ a printr-un atac al
consistent »ei liniare. ^InZeng [99], se arat¸ a c¸ a, dac¸ a polinoamele de feedback sunt
cunoscute, generatorul Jennings poate ¯ spart pe o secvent »¸ a de ie» sire de lungime
N¸l+n2hcu 2h+1teste de consistent »¸ a » si av^ and ca scop al c¸ aut¸ arii exhaustive doar
peK1:De» si familia posibilelor aplicat »ii µeste foarte mare, contribut »ia acestei chei
la puterea de criptare a sistemului este neglijabil¸ a. La fel putem spune » si despre K2:
7.10.4. Generatorare cu tact controlat
Pe l^ ang¸ a a supune secvent »ele LFSR -urilor la diverse transformari feedforward
neliniare, un mijloc important de ^ ³ntarire a sistemului ^ ³l reprezint¸ a controlul tactului
LFSR -urilor, cu ajutorul unei secvent »e de control. Aceasta se poate realiza prin
diverse tehnici.
C^ATEVA TEHNICI DE PROIECTARE 163
Generatorul Beth-Piper
^In generatoarele intermitente informat »ia de pe ¯ecare nivel nu se mai deplaseaz¸ a
la ¯ecare moment tcu o pozit »ie. De aceasta dat¸ a, ¯ecare generator din sistem are un
ceas care decide dac¸ a informat »ia se deplaseaz¸ a sau ram^ ane pe acelea» si pozit »ii. Gen-
eratorul Beth-Piper (vezi ¯gura 7.5) cont »ine trei LFSR -uri, cu secvent »ele de ie» sire
a1; a2;respectiv a3;^ ³n care LFSR 1» siLFSR 3folosesc acela» si ceas, ^ ³n timp ce ceasul
LFSR 2este controlat de LFSR 1, astfel ^ ³nc^ at LFSR 2se deplaseaz¸ a la momentul t
doar dac¸ a a1(t¡1) = 1 :Impun^ and condit »ii corespunz¸ atoare pentru gradele n1; n2; n3
ale celor trei LFSR -uri, secvent »a de ie» sire b(t) va avea complexitatea liniar¸ a:
LC= (2n1¡1)n2+n3
» si perioada:
T= (2n1¡1)(2n2¡1)(2n3¡1);
De» si secvent »a de ie» sire are o complexitate liniar¸ a foarte mare, sigurant »a aces-
tui generator este foarte slab¸ a. S¸ a presupunem c¸ a a0
2(t) reprezint¸ a semnalul de
ie» sire la momentul tal generatorului LFSR 2^ ³n cazul ^ ³n care el funct »ioneaz¸ a f¸ ar¸ a
intermitent »e. Atunci, avem probabilitatea de coincident »¸ a:
p= Pr[ b(t)©b(t+ 1) = a3(t)©a3(t+ 1)] =
= Pr( a1(t) = 0) + Pr( a1(t) = 1) Pr( a0
2(t)) =a0
2(t+ 1)) =1
2+1
4:
Deci, dac¸ a polinoamele de feedback ale lui LFSR 1» siLFSR 3sunt cunoscute,
putem aplica metoda sindromului liniar pentru a descoperi mai ^ ³nt^ ai secvent »a a 3din
b» si apoi secvent »a a1dina2:Pentru aceasta, nu avem nici m¸ acar nevoie s¸ a cunoa» stem
polinomul de feedback al lui LFSR 2.
Figura 7.5: Generatorul Beth-Piper.
164 CRIPTANALIZA CIFRURILOR FLUX
Generatorul Gollmann
Figura 7.6 arat¸ a o versiune ^ ³mbun¸ atat »it¸ a a generatorului Beth-Piper. Ea const¸ a
^ ³ntr-o serie de lLFSR -uri, av^ and polinoame primitive de feedback de acela» si grad
n. Ceasul LFSR ieste controlat de toate LFSRj ,j < i; la fel ca ^ ³n generatorul
Beth-Piper. S-a ar¸ atat c¸ a secvent »a de ie» sire are perioada:
T= (2n¡1)l;
» si o complexitate liniar¸ a foarte mare
LC¸n(2n¡1¡1)l¡1:
Exist¸ a ^ ³ns¸ a unele sl¸ abiciuni ale sistemului care au fost relevate ^ ³n literatura de spe-
cialitate.
Figura 7.6: Generatorul Gollman.
Generator cu control intermitent bilateral
O alt¸ a metod¸ a se bazeaz¸ a pe observat »ia c¸ a dac¸ a o secvent »¸ a binar¸ a bare ca
perioad¸ a un num¸ ar prim impar T;complexitatea sa liniar¸ a LC(b) va ¯ marginit¸ a
inferior de ordinul Ord T(2) al num¸ arului 2 modulo T;adic¸ a:
LC(b)¸Ord T(2):
O secvent »¸ a av^ and perioad¸ a prim¸ a este de preferat, deoarece ea poate ¯ supus¸ a la
diverse transform¸ ari criptogra¯ce ulterioare f¸ ar¸ a a-i in°uent »¸ a marginea inferioar¸ a a
complexit¸ at »ii sale liniare, ceea ce arat¸ a c¸ a transform¸ arile nu o vor transforma ^ ³ntr-
o secvent »¸ a constant¸ a. Totu» si, dac¸ a T= 2n¡1 este num¸ ar prim Mersenne , vom
avea Ord T(2) = n:Deci Ttrebuie ales ca ¯ind un num¸ ar prim diferit de termenii
progresiei 2n¡1:Secvent »e cu perioada de forma q2n¡1;cuq¸3 impar, au fost
C^ATEVA TEHNICI DE PROIECTARE 165
construite cu o pereche de LFSR -uri cu n¡nivele. De exemplu, pentru un generator
al unei secvent »e de perioad¸ a 5 £2n¡2¡1;controlul tactului se poate realizeaza astfel:
1. dac¸ a ( a(t+n¡1); a(t+n¡2)) = (0 ;1);atunci tactul generatorului LFSR 2
este blocat;
2. dac¸ a ( b(t+n¡1); b(t+n¡2)) = (0 ;1);dar (a(t+n¡1); a(t+n¡2))6= (0;1);
atunci tactul generatorului LFSR 1este blocat.
Complexitatea liniar¸ a a acestui generator are un ordin de m¸ arime aproximativ
egal cu cel al perioadei. Nu s-a observat nici o redundant »¸ a evident¸ a a cheii.
7.10.5. Generatoare cu ceasuri multiple
Sisteme cu mai multe ceasuri
Tehnicile discutate p^ ana aici pornesc de la presupunerea ca LFSR -urile studiate
lucreaz¸ a cu aceea» si vitez¸ a ca cea a ie» sirii ¯nale. C^ at »iva cercet¸ atori au propus ca
LFSR -urile s¸ a lucreze la viteze mai mari dec^ at cea a ie» sirii ¯nale. De» si presupune
utilizarea a mai mult »i cicli ai ceasului sistemului pentru obt »inerea unui singur bit,
printr-o folosire judicioas¸ a metoda poate deschide noi posibilit¸ at »i ^ ³n proiectarea unor
generatori interesant »i.
Generatorul Massey-Rueppel cu mai multe viteze
Acest generator utilizeaz¸ a dou¸ a LFSR puse s¸ a lucreze la viteze diferite. Al doilea
LFSR este proiectat s¸ a lucreze la viteza d·2£viteza primului LFSR , iar semnalul
de ie» sire este produs dup¸ a regula:
c(t) =l¡1X
1=0a(t+i)b(dt+ 1):
Factorul de vitez¸ a este variabil » si este utilizat ca parte a cheii. Dac¸ a am^ andou¸ a
LFSR -urile au polinoame primitive de feedback » si ^ ³n plus ( l; n) = 1 ;(d;2n¡1) =
1 atunci secvent »a de ie» sire va avea o complexitate liniar¸ a LC=lncu perioada
T= (2l¡1)(2n¡1) » si cu excelente propriet¸ at »i statistice. Din nou, caracterul
biliniar al de¯nit »iei semnalului c(t) pentru un d¯xat las¸ a destul spat »iu pentru ca
atacul consistent »ei liniare s¸ a ¯e aplicat aici. Se poate ar¸ ata c¸ a dac¸ a polinoamele
de feedback sunt cunoscute criptanalistul poate determina factorul de viteza d» si
st¸ arile init »iale ale celor dou¸ a LFSR -uri prin efectuarea a ( dmax¡1)(2l¡1) teste de
consistent »¸ a aplicate unui segment de ie» sire de lungime N¸l+n+ log2dmax:
166 CRIPTANALIZA CIFRURILOR FLUX
7.10.6. Generatoare autodecimate
Este folosit un LFSR cu un polinom primitiv de feedback care^ ³» si autocontroleaz¸ a
ceasul ^ ³n felul urmator: c^ and semnalul de ie» sire este 0 sunt aplicate dtacturi de
ceasLFSR -ului; altfel num¸ arul tacturilor aplicate este k. Efectul este c¸ a la for-
marea secvent »ei de ie» sire anumite semnale ale m¡secvent »ei generate sunt s¸ arite sau
decimate dupa o regul¸ a pseudoaleatoare determinat¸ a chiar de acea m¡secvent »¸ a.
Dup¸ a cum se remarc¸ a schema aceasta nu are » sanse de utilizare ^ ³n criptogra¯e. De» si
schemele propuse par a ¯ nesatisf¸ ac¸ atoare, ideea autodecim¸ arii este interesant¸ a;
multe ram^ an de f¸ acut p^ an¸ a ce un generator cu bune calitat »i criptogra¯ce va putea ¯
propus. Clasa generatoarelor de tip LFSR poate ¯ extins¸ a la clasa generatoarelor
tipFSR . Un FSR este un registru de deplasare ^ ³n care react »iile sunt nelineare.
Ie» sirea unui registru FSR , de perioad¸ a maxim¸ a, se nume» ste » sir de Bruijn .
7.11. Exemplu de atac criptanalitic
Tehnici de programare ^ ³n criptanaliz¸ a. Reamintim c¸ a ^ ³n cadrul operat »iei de
recuperare a criptogramelor se folosesc de regul¸ a algoritmi de tip:
-liniar/neliniar: funct »ia ce decide corectitudinea unei decript¸ ari este liniar¸ a, re-
spectiv neliniar¸ a;
-dinamic/stochastic: se t »ine cont de structura probabilist¸ a a literelor din limba
respectiv¸ a;
-divide et impera: problema se sparge ^ ³n subprobleme a c¸ aror rezolvare este mult
mai u» soar¸ a;
-backtracking: se exploreaz¸ a ^ ³n mod sistematic solut »iile posibile cu ajutorul unor
condit »ii de continuare;
-greedy: este o tehnic¸ a ce furnizeaz¸ a optimul local care poate s¸ a nu ¯e optimul
global;
-brut: se exploreaz¸ a toate posibilit¸ at »ile.
Descrierea acestor tehnici este prezentat¸ a ^ ³n ultimul capitol.
^In cele ce urmeaz¸ a se prezint¸ a un exemplu de aplicare a tehnicii divide et impera.
Prezentarea general¸ a a sistemelor de cifrare atacate. Vom prezenta,
pe scurt criptanaliza unor sistemelor de cifrare ^ ³n care operat »ia de cifrarea este
^ ³nsumarea mod 2 a textului clar cu un generator de perioad¸ a P, deci C=T©G;
unde prin Tam notat textul clar » si prin Ggeneratorul pseudoaleatoriu. Se pre-
supune c¸ a P¿dim(T):
Situat »ia in care atacul poate avea loc. Atacul este e¯cient ^ ³n cazul ^ ³n care
cunoa» stem structura statistic¸ a a textului clar (de exemplu, este un text dintr-o
anumit¸ a limb¸ a).
Algoritmul de atac. Procedura de atac este urm¸ atoarea:
EXEMPLU DE ATAC CRIPTANALITIC 167
Intrare: Criptograma ccodi¯cat¸ a pe L¡bit »i, lungimea perioadei Pa gene-
ratorului pseudoaleatoriu.
Ie» sire: cheia de cifrare gde perioad¸ a P:
PASUL 0. De¯ne» ste mult »imea cea mai probabil¸ a S(aceasta se poate estima
pe baza unui text clar numit text de referint »¸ a) » si probabilit¸ at »ile a priori de aparit »ie
a literelor din limba respectiv¸ a. Vom nota cu p0; : : : ; p2L¡1valorile acestor proba-
bilit¸ at »i.
Pentru determinarea ¯ec¸ arei componente g[i] (i= 1; : : : ; P ) a lui gse pro-
cedeaz¸ a astfel:
PASUL 1. k= 0;
PASUL 2. Se determin¸ a mult »imea:
A[i;k] =fc[i]©k; c[i+P]©k; ::; c [i+P¢j]©k; : : :g
PASUL 3. k=k+ 1;
PASUL 4. Dac¸ a k <2Lgoto PASUL 2.
PASUL 5. g[i] este acel element care maximizeaz¸ a expresia:
2L¡1X
j=0cardffjf2A[i;k]; f=jg
npj;
deci:
A[i;g[i]] = max
k=0;:::;2L¡12L¡1X
j=0cardffjf2A[i;k]; f=jg
npj:
sau altfel spus probabilitatea ca g(k) s¸ a ¯e cheia real¸ a este mai mare ca probabilitatea
caksa ¯e cheia real¸ a.
Observat »ii. i)^In aceast¸ a metod¸ a de atac se folose» ste entropia textului (redun-
dant »a caracterelor este mare ^ ³n cazul ¯» sierelor text).
ii) Se mai poate ad¸ auga o bucl¸ a pentru contorizarea lui Pg¸ asind deci » si lungimea
cea mai probabil¸ a de cheie notat¸ a cu Popt:
iii) Algoritmii de cifrare, bazat »i pe sumare repetitiv¸ a mod 2 a textului cu un gen-
erator pseudoaleatoriu, nu sunt siguri dac¸ a textul clar este comparabil cu m¸ arimea
perioadei generatorului.
iv) Randamentul metodei descrise este direct proport »ional cu ¯delitatea textului
de referint »¸ a.
v) Prezentul algoritm este aplicat cu succes pentru utilitarele de cifrare imple-
mentate ^ ³n programele Wincrypt, produsul Word (din pachetul O±ce 95) » si util-
itarul Norton Navigator: ^ ³n funct »ie de parola citit¸ a se init »ializeaz¸ a un generator
pseudoaleatoriu de perioad¸ a P(512 bytes pentru WinCrypt, 16 bytes pentru Word
95 » si 1 byte pentru Norton Navigator) cu ajutorul c¸ aruia se face o sumare modulo
2 a textului clar, obt »in^ andu-se astfel criptograma.
168 CRIPTANALIZA CIFRURILOR FLUX
7.12. Aplicat »ii
Exercit »iul 7.12.1. FieLFSR i,i= 1;2 dou¸ a registre de deplasare cu poli-
noamele de feedback asociate primitive » si de lungimi L16=L2:Not¸ am cu xi(t); i=
1;2 ie» sirile din aceste registre.
a) Consider¸ am sistemul sum¸ a modulo 2 dat de ie» sirea y(t) =x1(t)©x2(t):Com-
plexitatea liniar echivalent¸ a a sistemului sum¸ a modulo 2 va ¯ L1+L2:
b) Consider¸ am sistemul produs dat de ie» sirea y(t) =x1(t)£x2(t):Complexitatea
liniar echivalent¸ a a sistemului sum¸ a modulo 2 va ¯ L1£L2:
Exercit »iul 7.12.2. Fienregistre de deplasare notate prin LFSR i; i= 1; : : : ; n
de lungimi Liastfel ^ ³nc^ at Li6=Lj8i6=j;care sunt combinate cu ajutorul unei
funct »ii neliniare f;adic¸ a ie» sirea gereratorului este dat¸ a de formula y=f(x1; : : : ; x n)
^ ³n care xieste ie» sirea din LFSR iiarfeste ^ ³n forma normal¸ a. Atunci complexitatea
generatorului rezultant este f(L1; L2; : : : ; L n) unde f:Zn!Zeste extensia funct »iei
fde laZn
2la mult »imea Zn.
R¸ aspuns. Demonstrat »ia acestei a¯rmat »ii rezult¸ a din aplicarea succesiv¸ a a exerci-
t »iului 1 punctele a) » si b).
Exercit »iul 7.12.3. Studiat »i complexitatea unui algoritm de cifrare obt »inut prin:
i) decimarea cu o anumit¸ a rat¸ a a ie» sirii unui registru de deplasare liniar;
ii) interclasarea cu ratele de e» santionare m» sina dou¸ a registre de deplasare liniare
de complexit¸ at »i L1respectiv L2:
iii) aplicarea unei transpozit »ii de lungime nasupra ie» sirii unui registru de de-
plasare liniar.
iv) aplicarea unei permut¸ ari de lungime nasupra ie» sirii unui registru de deplasare
liniar.
Exercit »iul 7.12.4. Problem¸ a similar¸ a pentru perioada algoritmului obt »inut prin
acelea» si reguli impuse la exercit »iul 7.12.3.
Exercit »iul 7.12.5. Generatorul Ge®e, numit » si multiplexor 2 : 1 ;este descris
de trei registre de deplasare LFSR iiar ie» sirea de formula: y(t) =x1(t)¢x3(t)©x1
(t)¢x2(t):Care este complexitatea » si perioada acestui generator?
R¸ aspuns. Se aplic¸ a exercit »iul 2. Complexitatea liniar echivalent¸ a a acestui gen-
erator va ¯ L1£L3+ (1 + L1)£L2:
Exercit »iul 7.12.6. Aplicat »i tehnica sindromului liniar pentru generatorul Ge®e.
APLICAT »II 169
Figura 7.7: Generatorul Ge®e.
R¸ aspuns. Generatorul Ge®e (multiplexor 2:1) este descris de trei registre de
deplasare LFSR iiar ie» sirea de formula:
b(t) =a1(t)a3(t)+a1(t)a2(t):
Ie» sirea din generatorul Gla momentul tva ¯:
b(t) =a1(t)a3(t)+a1(t)a2(t) =a2(t) +a1(t)(a2(t) +a3(t)):
Dar
s0= Pr( b(t)6=a2(t)) =1
4:
Aceasta este punctul slab al sistemului. De exemplu pentru n·100 » si pentru
t= 4 » sirul A2=fa2(t)gpoate ¯ recuperat cu probabilitate de succes de 0 ;99 dac¸ a
lungimea » sirului interceptat este de 37 n:
S¸ a presupunem c¸ a am recuperat A2:Compar¸ am semnalele a2(t) cub(t) pentru
0·t·37n» si ret »inem acele momente tipentru care
a2(ti) +b(ti) = 1 :
Se observ¸ a c¸ a la aceste momente:
a1(ti) = 1 ; a 3(ti) =b(ti):
^Imp¸ art »im ¯ecare putere Xticuf1(X) » sif3(X) » si obt »inem resturile
Xti=ri;0+ri;1X+: : :+ri;n1¡1Xn1¡1mod f 1(X);
170 CRIPTANALIZA CIFRURILOR FLUX
Xti=si;0+si;1X+: : :+si;n3¡1Xn3¡1mod f 3(X):
Avem apoi dou¸ a sisteme lineare de aproximativ 9 necuat »ii:
ri;0a1(0) + ri;1a1(1) + : : :+ri;n1¡1a1(n1¡1) = 1 ;
si;0a3(0) + si;1a3(1) + : : :+si;n3¡1a3(n3¡1) = b(ti):
Dac¸ a n1; n2<<9natunci aceste sisteme vor determina cu probabilitate aproape
de 1 st¸ arile init »iale ale registrelor LFSR 1» siLSFR 3:
Exercit »iul 7.12.7. Aplicat »i tehnica sindromului liniar pentru generatorul Beth-
Piper. Care este complexitatea » si perioada acestui generator?
R¸ aspuns. Generatorul Beth-Piper este descris tot de trei registre de deplasare
LFSR iiar ie» sirea de formula
b(t) =a3(t)©a0
2(t):
unde a0
2(t) este ie» sirea din LFSR 2(cu tactul controlat de LFSR 1) care are tact
dac¸ a » si numai dac¸ a a1(t) = 1.
Figura 7.8: Generatorul Beth-Piper.
Dac¸ a polinoamele de feedback f1(X) » sif3(X) sunt trinoame de grad cel mult n
iarf2(X) este arbitrar necunoscut atunci sistemul Beth-Piper poate ¯ spart dintr-un
segment interceptat de lungime N= 37niar costul computat »ional va ¯ Q= 1792 n
operat »ii pe bit. Nu prezent¸ am aici metoda de criptanaliz¸ a ea ¯ind identic¸ a cu cea
de la teorema anterioar¸ a.
APLICAT »II 171
Exercit »iul 7.12.8. Se consider¸ a un algoritm generator pseudoaleator compus
din opt registre de feedback (react »iile necunoscute) cu tactul condit »ionat de ie» sirea
anteriorului. Ie» sirile celor opt registre sunt concatenate pentru a forma un byte.
Dezvoltat »i o procedur¸ a e¯cient¸ a de atac asupra generatorului. Care este complexi-
tatea de spargere a algoritmului propus? Care este complexitatea liniar echivalent¸ a
a algoritmului pseudoaleator?
R¸ aspuns. Se va decima cu o rat¸ a de 1 : 7 (citesc din 8 ^ ³n 8) ie» sirea generatorului.
S »irul binar obt »inut va indica dup¸ a 2 Lobservat »ii (cu ajutorul algorimtului Berlekamp-
Massey) starea init »ial¸ a » si react »iile primului registru de deplasare. Vom a°a apoi
tactul celui de al doilea registru. Vom decima cu aceeia» si rat¸ a ie» sirea generatorului
(punctul de plecare va ¯ bitul 2). Cu ajutorul algoritmului Berlekamp-Massey vom
reconstrui starea init »ial¸ a » si react »ile celui de al doilea registru., etc.
Exercit »iul 7.12.9. Care este complexitatea de spargere a sistemului de protect »ie
a datelor oferit de produsul Norton Navigator 95 ?
R¸ aspuns. Sistemul de cifrare const¸ a ^ ³n sumarea mod 2 cu un bytes obt »inut din
mixarea caracterelor din parol¸ a. Complexitatea de spargere este O(1):
Exercit »iul 7.12.10. Scriet »i un program care s¸ a rezolve probelma accesului la
datele cifrate cu programul de tehnoredactare Word 95 . Problem¸ a similar¸ a pentru
programul Wincrypt .
R¸ aspuns. La utilitarul Word se face XOR cu o secvent »¸ a de 16 bytes iar la
utilitarul Wincrypt se face XOR cu o secvent »¸ a de 512 bytes. Complexitatea atacului
esteO(n):
Exercit »iul 7.12.11. Studiat »i metoda de protect »ie prin parol¸ a oferit¸ a de util-
itarele Microsoft Access » siMicrosoft Schedule .
Exercit »iul 7.12.12. Utilitarele Lotus Organizer 1.0 » siLotus Organizer 2.0 ofer¸ a
o facilitate de protect »ie a datelor prin intermediul unei parole. Care este schema de
realizare a semn¸ aturii parolei » si care este forma algoritmului de cifrare a datelor?
Exercit »iul 7.12.13. Studiat »i protect »ia prin parol¸ a oferit¸ a de sistemul WP.
Exercit »iul 7.12.14. Care este diferent »a dintre sistemele de protect »ie folosite de
programul Word 2000 ^ ³n versiunea englez¸ a » si versiunea francez¸ a? Studiu similar
pentru produsul Excel 2000 .
Exercit »iul 7.12.15. Ce complexitate de spargere are sistemul de protect »ie oferit
de utilitarul de arhivare arj? Dar sistemul de protect »ie de la utilitarele de arhivare
zip» sirar?
R¸ aspuns. Indicat »ii privind descrierea sistemelor de cifrare ment »ionate^ ³n exercit »iile
7.12.9-7.12.15 se pot g¸ asi, spre exemplu, la adresa www.password-crackers.com sau
la siteul o¯cial corespunz¸ ator produsului analizat.
172 CRIPTANALIZA CIFRURILOR FLUX
Exercit »iul 7.12.16. Fie (xn) o secvent »¸ a binar¸ a produs¸ a de polinomul de feed-
back f(X) (de grad L) care este primitiv. Care este num¸ arul de bit »i de 0 » si num¸ arul
de bit »i de 1 din ( xn) pe o perioad¸ a de repetit »ie a recurent »ei liniare ata» sate?
R¸ aspuns. n0= 2L¡1¡1; n1= 2L¡1:
Exercit »iul 7.12.17. Fie ( xn) » si ( yn) dou¸ a secvent »e binare produse de poli-
noamele de feedback f(X) (de grad L1) respectiv g(X) (de grad L2) care sunt
primitive. Care este perioada » si complexitatea secvent »ei binare produse prin deci-
marea lui ( xn) de ( yn):
Exercit »iul 7.12.18. Polinomul 1+ X+X4este ireductibil? Dar primitiv? Este
adecvat utiliz¸ arii ca polinom generator pentru un LFSR criptogra¯c?
Capitolul 8
CRIPTANALIZA
CIFRURILOR BLOC
Nearly every inventor of a cipher
system was been convinced of the
unsolvability of his brain child.
David Kahn
8.1. Introducere » si concepte generale
Prezentul capitol face o prezentare a not »iunii de cifru bloc, a modurilor de operare
precum » si a principalelor caracteristici ale acestora. ^In ¯nalul capitolului se prezint¸ a
o serie de tehnici » si metode de criptanaliz¸ a a cifrurilor bloc care vor ¯ exempli¯cate
pe noul standard de cifrare bloc AES ( Advanced Encryption Standard ).
Cifrurile bloc proceseaz¸ a informat »ia pe blocuri de o lungime stabilit¸ a apriori. ^In
cele ce urmeaz¸ a vom nota prin nlungimea blocului procesat (exprimat¸ a ^ ³n bit »i), Vn
spat »iul vectorilor ndimensionali » si prin Kspat »iul cheilor. Un bloc de text clar se va
nota prin Miar un bloc de text cifrat se va nota prin C.
De¯nit »ia 8.1.1. Un cifru bloc pe nbit »i este o funct »ie E:Vn£K!Vnastfel
^ ³nc^ at pentru orice cheie k2Kfunct »ia E(¢; k) este o funct »ie inversabil¸ a (funct »ia de
cifrare cu ajutorul cheii k) din Vn^ ³nVn. Funct »ia invers¸ a este funct »ia de decifrare » si
va ¯ notat¸ a prin DK(¢) =E¡1
K(¢).
Reamintim c¸ a a sparge un cifru nu ^ ³nseamn¸ a ^ ³n mod obligatoriu de a g¸ asi o cale
practic¸ a astfel ^ ³nc^ at un interceptor s¸ a recupereze textul clar numai din criptograme.
^In cadrul criptogra¯ei academice, regulile sunt relaxate considerabil. A sparge un
173
174 CRIPTANALIZA CIFRURILOR BLOC
cifru ^ ³nseamn¸ a a g¸ asi o sl¸ abiciune care poate ¯ exploatat¸ a pentru recuperare cheii
» si/sau a textului cu o complexitate mai mic¸ a dec^ at atacul brut.
8.2. Securitatea » si complexitatea atacurilor
Obiectivul unui cifru bloc este s¸ a asigure con¯dent »ialitatea. Obiectivul core-
spunz¸ ator al adversarului este s¸ a descopere textul original din textul cifrat.
Un cifru bloc este total spart dac¸ a a fost descoperit¸ a cheia » si spart part »ial dac¸ a
adversarul poate reconstitui o parte din textul clar, dar nu » si cheia din textul cifrat.
Pentru a evalua securitatea unui cifru bloc se obi» snuie» ste ca ^ ³ntotdeauna s¸ a se
presupun¸ a c¸ a adversarul:
i) are acces la toate datele transmise prin canalul de text cifrat;
ii) (presupunerea lui Kerckho® ): » stie toate detaliile despre funct »ia de cifrare,
mai put »in cheia secret¸ a.
Cele mai importante clase de atacuri pentru cifrurile cu chei simetrice sunt:
– atac pe baza textului cifrat;
– atac pe baza textului clar/cifrat;
– atac pe baza textului clar/cifrat ales de criptanalist;
– atac pe baza cheilor.
8.3. Criterii de evaluare a cifrurilor bloc
Urm¸ atoarele criterii pot ¯ folosite pentru a evalua cifrurile bloc:
– nivelul de securitate estimat (pe baza rezistent »ei la anumite tipuri de atacuri);
– m¸ arimea cheii;
– m¸ arimea blocului de date care se cifreaz¸ a;
– complexitatea funct »iei de cifrare;
– expansiunea datelor;
– propagarea erorilor;
– viteza de cifrare a datelor.
8.4. Moduri de operare
Exist¸ a dou¸ a moduri principale de utilizare ^ ³n practic¸ a a algoritmilor simetrici:
cifrarea bloc » si cifrarea secvent »ial¸ a. Cifrarea bloc opereaz¸ a cu blocuri de text clar » si
cifrat-de regul¸ a de 64 de bit »i, uneori chiar mai mari. Cifrarea secvent »ial¸ a opereaz¸ a
cu secvent »e de text clar » si cifrat de un bit sau octet. ^In cazul cifr¸ arii bloc, acela» si
bloc de text clar va ¯ cifrat de ¯ecare dat¸ a ^ ³n acela» si bloc de text cifrat, folosind
MODURI DE OPERARE 175
aceea» si cheie. ^In cazul cifr¸ arii secvent »iale, secvent »ele similare de text clar vor ¯
cifrate diferit ^ ³n cazul unor cifr¸ ari repetate.
Modurile de cifrare constituie combinat »ii ale celor dou¸ a tipuri de baz¸ a, unele
folosind metode feedback, altele realiz^ and simple operat »ii. Aceste operat »ii sunt
simple, deoarece securitatea este atributul cifr¸ arii » si nu al modului^ ³n care se realizez¸ a
schema de cifrare. Mai mult, modul de realizare a cifr¸ arii nu duce la compromiterea
securit¸ at »ii date de algoritmul de baz¸ a.
Un cifru bloc cifreaz¸ a textul ^ ³n blocuri de nbit »i de m¸ arimi ¯xe. ^In general este
folosit¸ a valoarea n= 64 bit »i. Cele mai cunoscute moduri de operare sunt ECB
(electronic code book ), CBC ( cipher block chaining ), CFB ( cipher feedback block ) » si
OFB ( output feedback block ).^In funct »ie de modul de operare al cifrului bloc se vor
aplica atacuri speci¯ce. Vom nota ^ ³n cele ce urmeaz¸ a, cu Ekse noteaz¸ a funct »ia de
cifrare a blocului ^ ³n timp ce cu Dknot¸ am funct »ia de descifrare.
8.4.1. Modul ECB (electronic code-book)
Modul ECB este cea mai obi» snuit¸ a form¸ a de cifrare bloc: un bloc de text clar este
transformat ^ ³ntr-un bloc de text cifrat, ¯ecare bloc ¯ind cifrat independent » si ¯ecare
cheie ¯ind diferit¸ a de celelalte. Dac¸ a acela» si bloc de text clar se cifreaz¸ a ^ ³ntotdeauna
^ ³n acela» si bloc de text cifrat, teoretic este posibil¸ a o carte de coduri ^ ³n care s¸ a se
fac¸ a asocierea text clar-text cifrat. Pentru blocuri de 64 de bit »i rezult¸ a un num¸ ar
de 264intr¸ ari ^ ³n cartea de coduri- m¸ arime prea mare pentru a permite memorarea
» si manipularea.
Modul ECB este cel mai simplu mod de lucru, ¯ecare bloc de text clar ¯ind cifrat
independent. Cifrarea se poate face lu^ and aleator blocuri din cadrul ¯» sierului. Acest
mod de cifrare este indicat pentru cifrarea documentelor care sunt accesate aleator,
ca de exemplu baze de date, unde ¯ecare ^ ³nregistrare poate ¯ ad¸ augat¸ a, » stears¸ a,
cifrat¸ a sau descifrat¸ a independent de celelalte.
Problema ridicat¸ a de ECB este aceea c¸ a, dac¸ a un criptanalist are pentru c^ ateva
mesaje » si textul clar » si pe cel cifrat, poate a°a codul, f¸ ar¸ a a det »ine » si cheia de cifrare.
Padding-ul
Completarea blocurilor ( padding ) este folosit¸ a atunci c^ and mesajele nu se ^ ³mpart
exact ^ ³n blocuri de 64 de bit »i. Se completeaz¸ a ultimul bloc cu un model zero-unu,
altern^ and cifrele de 0 » si 1, astfel ^ ³nc^ at blocul s¸ a devin¸ a complet.
Algoritmul ECB
Intrare : Cheia Kdekbit »i, mesajul clar M=M1; : : : ; M tpe blocuri de nbit »i.
Ie» sire : Textul cifrat C=C1; : : : ; C tcare ulterior se descifreaz¸ a pentru a descoperi
textul original.
176 CRIPTANALIZA CIFRURILOR BLOC
Figura 8.1: Modul de lucru ECB.
1.Cifrarea : pentru orice i= 1; : : : ; t avem: Ci=Ek(Mi):
2.Descifrarea : pentru orice i= 1; : : : ; t avem: Mi=Dk(Ci):
Propriet¸ at »i ale modului de operare ECB
Urm¸ atoarele propriet¸ at »i rezult¸ a din modul de construct »ie al cifrului bloc tip ECB.
1. Din texte identice rezult¸ a texte cifrate identice.
2. Dependent »a ^ ³n lant »: blocurile sunt cifrate independent de alte blocuri.
3. Propagarea erorilor: una sau mai multe erori ^ ³ntr-un singur bloc de texte
cifrate afecteaz¸ a descifrarea numai a acelui bloc.
8.4.2. Modul CBC (cipher-block chaining)
Acest mod folose» ste un mecanism feedback , deoarece rezultatul cifr¸ arii unui bloc
anterior revine prin bucl¸ a » si intervine ^ ³n cifrarea blocului curent. Cu alte cuvinte,
blocul anterior este folosit pentru a modi¯ca cifrarea urm¸ atorului bloc. ^In acest fel,
textul cifrat nu mai depinde doar de textul clar, ci » si de modul de cifrare al blocului
anterior.
^In modul CBC, textul clar, ^ ³nainte de a intra ^ ³n modul de cifrare propriu-zis, este
^ ³nsumat mod 2 cu blocul de text cifrat anterior. Figura 8.2 prezint¸ a operat »ia de
cifrare/descifrare ^ ³n modul CBC.
Dup¸ a ce blocul de text clar este cifrat, textul cifrat rezultat este stocat ^ ³ntr-un
registru al buclei de react »ie. ^Inainte ca urm¸ atorul text clar s¸ a ¯e cifrat, el este sumat
mod 2 cu blocul din registrul de react »ie » si devine urm¸ atoarea intrare ^ ³n rutina de
cifrare. Dup¸ a cifrare , cont »inutul registrului este ^ ³nlocuit cu blocul cifrat. ^In acest
fel, cifrarea blocului idepinde de toate cele i¡1 blocuri anterioare.
MODURI DE OPERARE 177
Figura 8.2: Modul de lucru CBC.
^In procesul de descifrare (care este exact procesul invers cifr¸ arii), textul cifrat
este descifrat normal » si depozitat ^ ³n registrul de react »ie. Dup¸ a ce urm¸ atorul bloc
este descifrat, el este f¸ acut sum¸ a mod 2 cu cont »inutul registrului de react »ie.
Din punct de vedere matematic, procesul de cifrare arat¸ a astfel:
Ci=Ek(Pi©Ci¡1):
Ecuat »iile corespunz¸ atoare operat »iei de descifrare sunt:
Pi=Ci¡1©Dk(Ci):
Vectorul de init »ializare
Modul de lucru CBC face ca acela» si text s¸ a se transforme ^ ³n blocuri diferite de
text cifrat. Dou¸ a mesaje identice se vor transforma ^ ³n acela» si mesaj cifrat. Mai
mult, dou¸ a mesaje care ^ ³ncep la fel vor ¯ cifrate identic p^ an¸ a la prima diferent »¸ a.
Prevenirea acestui lucru se poate face cifr^ and primul bloc cu un vector de date
aleator. Acest bloc de date aleatoare se nume» ste vector de init »ializare notat cu IV,
numit » si variabil¸ a de init »ializare sau valoare init »ial¸ a pentru ^ ³nl¸ ant »uire. Vectorul IV
nu are nici un ^ ³nt »eles de sine st¸ at¸ ator, el doar face cifrarea oric¸ arui mesaj, unic¸ a.
C^ and receptorul descifreaz¸ a acest bloc, el ^ ³l utilizeaz¸ a pentru init »ializarea registrului
buclei de react »ie.
Vectorul de init »ializare nu trebuie s¸ a ¯e secret acesta poate ¯ transmis ^ ³n clar
^ ³mpreun¸ a cu mesajul cifrat. Dac¸ a acest lucru pare gre» sit, s¸ a consider¸ am c¸ a avem
178 CRIPTANALIZA CIFRURILOR BLOC
un mesaj din c^ ateva blocuri, B1; B2; : : : ; B i, astfel ^ ³nc^ at B1este cifrat cu IV,B2
este cifrat utiliz^ and ca vector de init »ializare textul cifrat de la B1;etc. Dac¸ a avem
nblocuri, sunt n¡1 vectori de init »ializare expu» si, chiar dac¸ a vectorul original este
t »inut secret.
Padding-ul
Completarea blocurilor este analoag¸ a celei de la modul ECB. Exist¸ a ^ ³ns¸ a aplicat »ii
^ ³n care textul cifrat trebuie s¸ a aib¸ a aceea» si m¸ arime ca textul clar. Este foarte probabil
ca ¯» sierul ce urmeaz¸ a s¸ a ¯e cifrat s¸ a ¯e pus ^ ³n aceea» si locat »ie de memorie. ^In acest
caz r¸ am^ ane un ultim bloc, mai mic, a c¸ arui cifrare se va face diferit. Se presupune c¸ a
ultimul bloc are jbit »i. Dup¸ a cifrare, ultimul bloc ^ ³ntreg, se mai cifreaz¸ a ^ ³nc¸ a o dat¸ a,
se selecteaz¸ a ultimii jbit »i din rezultat » si se face suma mod 2 cu blocul incomplet.
Algoritmul CBC
Intrare : Cheia Kpekbit »i, vectorul init »ial IVdenbit »i, mesajul clar M=
M1; : : : ; M tpe blocuri de nbit »i.
Ie» sire : Textul cifrat C=C1; : : : ; C tcare ulterior se descifreaz¸ a pentru a descoperi
textul original.
1.Cifrarea :C0=IV;» si recursiv avem
Cj=Ek(Cj¡1©Mj):
2.Descifrarea :C0=IV, pentru orice j= 1; : : : ; t avem
Mj=Cj¡1©Dk(Cj):
Propriet¸ at »i ale modului de operare CBC
Au loc urm¸ atoarele propriet¸ at »i ale modului de lucru CBC.
1. Texte identice: blocuri de texte cifrate, identice, rezult¸ a c^ and acela» si text este
cifrat sub aceea» si cheie » si cu acela» si vector IV. Schimb^ and IV, cheia sau primul
bloc de text, rezult¸ a un text cifrat diferit.
2. Dependent »a ^ ³n lant »: mecanismul ^ ³n lant » face ca textul cifrat cjs¸ a depind¸ a de
xj» si de blocurile de text precedente.
3. Propagarea erorilor: o singur¸ a eroare de un bit ^ ³n blocul textului cifrat cj
afecteaz¸ a descifrarea blocurilor cj» sicj+1.
4. Dac¸ a o eroare (inclusiv pierderea unuia sau mai multor blocuri) apare ^ ³n blocul
cj, dar nu ^ ³n cj+1,cj+2este corect descifrat din xj+2.
MODURI DE OPERARE 179
8.4.3. Modul CFB (cipher feedback)
^In timp ce modul CBC proceseaz¸ a textul de nbit »i odat¸ a, unele aplicat »ii cer ca
unit¸ at »i de rbit »i ale textului s¸ a ¯e cifrate » si transmise f¸ ar¸ a^ ³nt^ arziere pentru un num¸ ar
¯xat r·n.^In acest caz se folose» ste modul CFB.
Modul CFB poate ¯ privit ca un mod secvent »ial cu autosincronizare, ^ ³ns¸ a la nivel
de blocuri de text cifrat. Algoritmul CFB la nivel de bloc opereaz¸ a cu o coad¸ a de
m¸ arime egal¸ a cu cea a blocului. ^In prim¸ a faz¸ a aceasta este init »ializat¸ a cu V I, analog
modului CBC.
Dac¸ a m¸ arimea blocului de cifrat este n, atunci modul CFB pe nbit »i are forma
pentru cifrare
Ci=Pi©Ek(Ci¡1);
respectiv pentru descifrare
Pi=Ci©Ek(Ci¡1):
Figura 8.3 ilustreaz¸ a aceast¸ a form¸ a.
Figura 8.3: Modul de lucru CFB.
Algoritmul CFB
Intrare : Cheia Kpekbit »i, vectorul init »ial IVdenbit »i, textul clar pe blocuri de
rbit »iM=M1; : : : ; M tcur·n.
180 CRIPTANALIZA CIFRURILOR BLOC
Ie» sire : Blocuri de text cifrate pe rbit »i care se descifreaz¸ a pentru a descoperi
textul clar.
1.Cifrarea :I1=IV(Ijeste valoarea de intrare a unui registru de deplasare).
Fie blocul de rbit »i: x1; : : : ; x r:Pentru 1 ·j·rse execut¸ a:
a)Oj=Ek(Ij) (calculeaz¸ a blocul cifrat de ie» sire);
b)tj="cei mai la st^ anga" rbit »i ai lui Oj;
c)cj=xj©tj;
d)Ij+1= 2rIj+cjmod 2n:
2.Descifrarea :I1=IV, pentru 1 ·j·rcalculeaz¸ a: xj=cj©tj, unde tj; Oj; Ij
sunt calculat »i ca mai sus.
Observat »ia 8.4.1. Dac¸ a r=natunci recurent »a corespunz¸ atoare cifr¸ arii este:
Cj=Mj©Ek(Mj¡1);
cu
M0=IV:
8.4.4. Modul OFB (output feedback)
Modul de operare OFB poate ¯ folosit ^ ³n aplicat »iile ^ ³n care toate erorile de propa-
gare trebuie s¸ a ¯e evitate. Este asem¸ an¸ ator cu modul CFB » si permite cifrarea
blocurilor cu diverse m¸ arimi, dar difer¸ a ^ ³n sensul c¸ a rezultatul funct »iei de cifrare
Eserve» ste ca feedback.Acest mod se nume» ste, uneori, cu react »ie intern¸ a, deoarece
bucla de react »ie este independent¸ a at^ at de textul clar, c^ at » si de cel cifrat.
Dac¸ a m¸ arimea blocului este n, modul OFB pe nbit »i se scrie pentru cifrare:
Ci=Pi©Si;
iar pentru descifrare:
Pi=Ci©Si;
unde
Si=Ek(Si¡1);
reprezint¸ a starea care este independent¸ a de textul clar » si de cel cifrat.
Modul OFB pe nbit »i este prezentat ^ ³n ¯gura 8.4.
Exist¸ a dou¸ a versiuni:
-ISO (necesit¸ a un feedback de nbit »i » si este mai sigur¸ a);
-FIPS (permite r < n bit »i de feedback).
MODURI DE OPERARE 181
Figura 8.4: Modul de lucru OFB pe nbit »i.
Algoritm OFB (pentru ISO):
Intrare : Cheia k, vectorul IVpenbit »i, blocuri de text clar pe rbit »ix1; : : : ; x r
(1·r·n)
Ie» sire : Blocuri de text cifrate c1; : : : ; c rperbit »i.
1.Cifrarea :I1=IV. Pentru 1 ·j·r, d^ andu-se xj
a)Oj=Ek(Ij):
b)tjsunt cei mai de la st^ anga rbit »i ai lui Oj:
c)cj=xj©tj:
d)Ij+1=Oj:
2.Descifrarea :I1ÃIV. Pentru 1 ·j·rcalcul¸ am: xj=cj©tj, unde tj; Oj; Ij
sunt calculat »i ca mai sus.
Algoritm OFB (cu feedback de rbit »i) (pentru FIPS 81) :
Intrare : Cheia kpekbit »i,IVpenbit »i, blocurile de text pe rbit »ix1; : : : ; x rcu
1·r·n:
Ie» sire : Blocurile de text cifrate c1; : : : ; c r:
Ca » si ^ ³n algoritmul OFB, dar ^ ³nlocuind relat »ia
Ij+1=Oj
cu
Ij+1= (2rIj+tj) mod 2n:
182 CRIPTANALIZA CIFRURILOR BLOC
Observat »ia 8.4.2. O variat »ie a modului de lucru OFB este modul de lucru
contor ^ ³n care trecerea de la o stare la alta este dat¸ a de funct »ia de incrementare:
Ci=Pi©Si; unde Si=Ek(contor [i]); contor [i+ 1] = contor [i] + 1:
8.4.5. Modul BC (block chaining)
A folosi un algoritm bloc ^ ³n modul BC ^ ³nseamn¸ a a face suma mod 2 ^ ³ntre intrarea
^ ³n blocul de cifrare » si suma mod 2 a tuturor blocurilor cifrate anterior. ^In acela» si fel
ca ^ ³n CBC, procesul va ¯ declan» sat de un IV.
Ecuat »iile care descriu comportarea modului de operare BC sunt, pentru cifrare
Ci=Ek(Mi©Fi);
unde
Fi+1=Fi©Ci;
cu
F1=IV:
Operat »ia de descifrare are forma:
Pi=Fi©Dk(Ci):
8.4.6. Modul BC cu sum¸ a de control (BC-checksum)
Modul BC cu sum¸ a de control este similar modului BC simplu, deosebirea f¸ ac^ andu-
se la ultimul bloc ^ ³n care se face suma mod 2 a blocurilor clare anterioare. Modul
BC cu sum¸ a de control ne asigur¸ a de faptul c¸ a orice modi¯care ^ ³n structura cifrat¸ a
ablocurilor se va evident »ia cu ocazia descifr¸ arii ultimului bloc. Dac¸ a acest ultim bloc
are ^ ³n component »¸ a » si elemente de integritate atunci testul de integritate se va face
foarte simplu.
8.4.7. Modul OFBNLF (output feedback block with a nonlinear
function)
OFBNLF este o variant¸ a at^ at a modului OFB, c^ at » si a celui ECB, ^ ³n care cheia
se schimb¸ a la ¯ecare bloc.
Ecuat »iile care descriu comportarea acestui mod de operare sunt, pentru cifrare:
Ci=Eki(Pi);
pentru descifrare:
MODURI DE OPERARE 183
Pi=Dki(Ci);
unde:
Ki=Ek(Ki¡1):
8.4.8. Cascade de cifruri » si cifr¸ ari multiple
Exist¸ a mai multe modalit¸ at »i de a combina algoritmi bloc pentru a obt »ine noi al-
goritmi de cifrare. Scopul urm¸ arit este de a ^ ³ncerca s¸ a se ^ ³mbun¸ at¸ at »easc¸ a securitatea
» si prin alte mijloace dec^ at prin scrierea unui nou algoritm. Cifrarea multipl¸ a este
una din tehnicile combin¸ arii: se utilizeaz¸ a un algoritm pentru a cifra acela» si text clar
de mai multe ori, cu mai multe chei.Cascadarea are acela» si principiu, dar utilizeaz¸ a
mai multe chei.
De¯nit »ia 8.4.1. O cascad¸ a de cifruri este concatenarea a L¸2 blocuri de
cifruri (numite etape), ¯ecare cu chei independente.
Textul este intrarea primei etape iar ie» sirea (rezultatul ) etapei ieste intrarea
etapei i+ 1 » si ie» sirea etapei Leste ie» sirea cascadei textului cifrat.
De¯nit »ia 8.4.2. Cifrarea multipl¸ a este similar¸ a unei cascade de Lcifruri iden-
tice, dar cheile etapei nu trebuie s¸ a ¯e independente » si cifrurile etapei pot ¯, ¯e un
cifru bloc E, ¯e funct »ie de descifrare corespunz¸ atoare D=E¡1.
Cifrarea dubl¸ a
Un mod simplu de ^ ³mbun¸ at¸ at »ire a securit¸ at »ii unui algoritm bloc este de a cifra
un bloc cu dou¸ a chei diferite. Prima dat¸ a se cifreaz¸ a blocul cu prima cheie, apoi
^ ³ntregul bloc de text cifrat rezultat se cifreaz¸ a cu cea de a doua cheie. Descifrarea
este procesul invers.
De¯nit »ia 8.4.3. Cifrarea dubl¸ a este de¯nit¸ a ca E(x) =EK2(EK1(x)):
Blocul de text cifrat rezultat din dubla cifrare ar trebui s¸ a ¯e mult mai greu de
spart utiliz^ andu-se o c¸ autare exhaustiv¸ a. Pentru o lungime a cheii de nbit »i, fat »¸ a de
2nvariante posibile de chei la o singur¸ a cifrare , avem 22nvariante posibile, ceea ce
pentru un algoritm de 64 de bit »i ^ ³nseamn¸ a 2128de chei posibile.
184 CRIPTANALIZA CIFRURILOR BLOC
Metoda Davies-Price. Este o variant¸ a de CBC, a c¸ arei reprezentare matematic¸ a
este urm¸ atoarea:
-pentru cifrare:
Ci=Ek1(Pi©Ek2(Ci¡1));
-respectiv pentru descifrare:
Pi=Dk1(Ci)©Dk2(Ci¡1):
Double OFB/Counter. Aceast¸ a metod¸ a utilizeaz¸ a un algoritm bloc pentru a
genera dou¸ a » siruri de chei ce se utilizeaz¸ a la cifrarea unui text clar.
Astfel putem scrie pentru variabila intern¸ a Si:
Si=Ek1(Si¡1©I1);
unde ( I1este variabil¸ a tip contor)
I1=I1+ 1;
» si respectiv pentru variabila intern¸ a Ti:
Ti=Ek2(Ti¡1©I2);
unde ( I2este variabil¸ a tip contor)
I2=I2+ 1:
Funct »ia de cifrare este:
Ci=Pi©Si©Ti;
Cifrarea tripl¸ a
De¯nit »ia 8.4.4. Cifrarea tripl¸ a este de¯nit¸ a ca:
E(x) =E(3)
K3(E(2)
K2(E(1)
K1(x)))
unde E(j)
KesteEksauDK=E¡1
K:
MODURI DE OPERARE 185
Cifrarea tripl¸ a cu dou¸ a chei. O idee mai bun¸ a, propus¸ a de Tuchman, prelu-
creaz¸ a un bloc de trei ori cu dou¸ a chei: mai ^ ³nt^ ai cu prima cheie, apoi cu a doua, apoi
din nou cu prima. El sugereaz¸ a ca expeditorul s¸ a cifreze de trei ori, a» sa cum speci¯c¸ a
algoritmul, iar destinatarul, la descifrare, va urma algoritmul invers: descifrare cu
prima cheie, cifrare cu a doua, descifrare cu prima.
C=Ek1(Dk2(Ek1(P)));
P=Dk1(Ek2(Dk1(C))):
Aceast¸ a metod¸ a se mai nume» ste » si EDF ( encrypt-decrypt-encrypt) .Dac¸ a algorit-
mul are o cheie de nbit »i, atunci schema va avea o cheie de 2 nbit »i. Modelul cifrare-
descifrare a fost proiectat de IBM pentru a proteja implement¸ arile convent »ionale ale
algoritmului » si a fost ad¸ augat la DES » si ^ ³n standardele ISO.
Cifrarea tripl¸ a cu trei chei. ^In cazul cifr¸ arii triple, num¸ arul de trei chei este cel
mai potrivit. Lungimea cheii este mare, iar memorarea sa nu poate ¯ o problem¸ a.
C=Ek3(Dk2(Ek1(P)));
P=Dk1(Ek2(Dk3(C))):
Alte variante de cifrare tripl¸ a.
Inner CBC
Se cifreaz¸ a ^ ³ntregul mesaj ^ ³n modul CBC, de trei ori diferit. Sunt necesari trei
vectori de init »ializare diferit »i.
Operat »ia de cifrare are urm¸ atoarea form¸ a:
Ci=Ek3(Si©Ci¡1);
unde
Si=Dk2(Ti©Si¡1);
» si
Ti=Ek1(Pi©Ti¡1):
Pentru descifrare se folose» ste urm¸ atoarea formul¸ a:
186 CRIPTANALIZA CIFRURILOR BLOC
Pi=Ti¡1©Dk1(Ti);
unde
Ti=Si¡1©Ek2(Si);
» si
Si=Ci¡1©Dk3(Ci):
iarC0,S0» siT0sunt vectori de init »ializare.
Outer CBC
Se cifreaz¸ a ^ ³ntregul ¯» sier ^ ³n modul CBC, de trei ori diferit. Este necesar un singur
vector de init »ializare.
Pentru cifrare:
Ci=Ek3(Dk2(Ek1(Pi©Ci¡1)));
respectiv pentru descifrare:
Pi=Ci¡1©Dk1(Ek2(Dk3(Ci))):
Ambele moduri necesit¸ a mai multe resurse dec^ at ^ ³n cazul unei singure cifr¸ ari:
mai mult hardware sau mai mult timp.
8.5. Generarea tabelelor de substitut »ie
Tabele de substitut »ie, cunoscute sub acronimul de S¡box, joac¸ a un rol important
^ ³n proiectarea unui cifru bloc. O tabel¸ a de substitut »ie Seste o funct »ie bijectiv¸ a de
laGF(2n) laGF(2n) (uzual n= 8) cu urm¸ atoarele propriet¸ at »i:
-grad mare de neliniaritate;
-rezistent »¸ a la criptanaliza diferent »ial¸ a;
-costruct »ie » si computabilitate e¯cient¸ a.
Urm¸ atorul algoritm genereaz¸ a tabele de substitut »ie din GF(2n) cu propriet¸ at »ile
ment »ionate mai sus. Algoritmul ^ ³» si are originea ^ ³n Nyberg [52].
PAS 0. Se alege un polinom ireductibil m(x) generatorul lui GF(2n);Amatrice
inversabil¸ a din Mn£n(Z2);bvector din Zn
2cu ponderea Hammingn
2:
PAS 1. Se alege F(x) din GF(2n) de forma x¡1saux2k+1,k2N:
PAS 2. Tabela Seste de¯nit¸ a prin formula:
S(x) =A¢F(x) +b:
Observat »ia 8.5.1. Algoritmul AES utilizeaz¸ a funct »ia F(x) =x¡1:
CRIPTANALIZA DIFERENT »IAL ¸A 187
8.6. Criptanaliza diferent »ial¸ a
Criptanaliza diferent »ial¸ a a fost introdus¸ a init »ial de E. Biham » siA. Shamir la
^ ³nceputul anilor 90. Cifrul pe care s-a aplicat, de c¸ atre acea» stia, a fost standardul
american de cifrare a datelor DES (Data Encryption Standard). ^In esent »¸ a tehnica
criptanalizei diferent »iale const¸ a ^ ³ntr-o form¸ a particular¸ a a tehnicii atacului cu text
clar cunoscut : se analizeaz¸ a perechi de text clar cunoscut ( Ci; Cj), care sunt ^ ³ntr-o
anumit¸ a relat »ie (de exemplu ponderea Hamming a sumei mod 2 este o constant¸ a dat¸ a
sau un vector dat: Ci©Cj=Dij) » si efectul asupra textelor cifrate cu aceeia» si cheie
(de exemplu vectorul sumei mod 2 a textelor cifrate: Mi©Mj) . Scopul urm¸ arit
este acela de a recupera (cel put »in probabilist) cheia de cifare K:
8.7. Criptanaliza liniar¸ a
Criptanaliza liniar¸ a este o tehnic¸ a prin care se urm¸ are» ste construct »ia unui sistem
de ecuat »ii liniare ^ ³ntre bit »ii textului clar, ai textului cifrat » si ai cheii. Rezolvarea
acestui sistem de ecuat »ii duce la a°area cheii de cifrare. Sistemul de ecuat »ii ce se
construie» ste poate ¯ chiar un sistem probabilist, ^ ³n sensul c¸ a o ecuat »ie este veri¯cat¸ a
cu o anumit¸ a probabilitate.
8.8. Alte metode
^In studiul cifrurilor bloc se mai pot aplica urm¸ atoarele metode » si tehnici crip-
togra¯ce (vezi Schneier [70]):
-Metoda caracteristicilor diferent »iale condit »ionate,
-Criptanaliza cu ajutorul cheilor deplasate,
-Criptanaliza diferent »ial-linear¸ a,
-Metoda combinat¸ a diferent »ial-linear¸ a,
-Metoda criptanalizei diferent »iale de ordin superior,
-Metoda criptanalizei diferent »iale de ordin superior a cifrului KN,
-Metoda aproxim¸ arii multi-lineare,
-Metoda diferent »ialelor trunchiate,
-Metoda generalizat¸ a a criptanalizei lineare,
-Metoda de atac prin interpolare,
-Metoda de atac prin funct »ii non-surjective,
-Tehnica transformatei Walsh-Hadamard.
188 CRIPTANALIZA CIFRURILOR BLOC
8.9. Implement¸ ari » si rezultate experimentale
8.9.1. Implementarea standardului de cifrare A.E.S.
Cifrul bloc AES (Advanced Encryption Standard) este noul standard de cifrare a
datelor care ^ ³nlocuie» ste standardul DES. Standardul AES este un caz particular al
algoritmului de cifrare RIJNDAEL (proiectat de Joan Daemen » si Vincent Rijmen)
^ ³n sensul c¸ a are setate lungimea cheii de cifrare la 128 bit »i iar dimensiunea blocului
de date care se cifreaz¸ a la 128, 192 sau 256 bit »i. ^In ¯gura 8.5 se prezint¸ a ultimii
10 ¯nali» sti (algoritmii) care au participat la select »ia standardului. Implementarea
algoritmului RIJNDAEL s-a realizat ^ ³n limbajul de programare C.
Figura 8.5: Principalii algoritmi implicat »i ^ ³n procesul de selectare a standardului
A.E.S.
IMPLEMENT ¸ARI S »I REZULTATE EXPERIMENTALE 189
8.9.2. Testarea algoritmului AES
Pentru ¯xarea ideilor vom nota, ^ ³n cele ce urmeaz¸ a, prin ndimensiunea blocului
de date al cifrului bloc iar prin klungimea cheii acestuia. Algoritmii candidat »i pentru
standardul de cifrare bloc AES au fost supu» si testelor statistice (vezi NIST 800-22
[107]), construct »ia e» santioanelor (vezi Soto [87]) ¯ind realizat¸ a dup¸ a cum urmeaz¸ a:
-avalan» sa cheii : se ¯zeaz¸ a ^ ³n mod aleatoriu un set de chei, se seteaz¸ a la 0 ¡peste
tot textul (text de referint »¸ a) » si se urm¸ are» ste efectul cifr¸ arii textului de referint »¸ a cu
ajutorul setului de chei perturbate ^ ³ntr-un singur bit;
-avalan» sa textului de intrare : se ¯zeaz¸ a ^ ³n mod aleatoriu o mult »ime de texte, se
seteaz¸ a la 0 ¡peste tot cheia (cheia de referint »¸ a) » si se urm¸ are» ste efectul produs prin
cifrarea, cu cheia de referint »¸ a, a mult »imii textelor perturbate ^ ³ntr-un singur bit;
-corelat »ie intrare/ie» sire : se urm¸ are» ste detectarea corelat »iilor dintre intrare » si ie» sire
prin utilizarea a rchei de cifrare pseudoaleatoare (de referint »¸ a) » si a stexte de intrare
pseudoaleatoare (de referint »¸ a), cifr^ andu-se, ^ ³n modul ECB, toate cele stexte cu toate
celerchei.
-corelat »ie ^ ³n modul de lucru CBC : se ¯xeaz¸ a, ^ ³n mod pseudoalatoriu un set de chei
de cifrare (de referint »¸ a), se seteaz¸ a la 0 ¡peste tot vectorul de init »ializare precum
» si textul clar (su¯cient de lung) » si se urm¸ are» ste detect »ia corelat »iei din concatenarea
tuturor textelor cifrate rezultate.
-text clar cu densitate redus¸ a : se testeaz¸ a aleatorismul statistic al cifr¸ arii tuturor
textelor clare de pondere Hamming 0 ;1 » si 2 cu ajutorul unui set de chei generate
pseudoaleator.
-chei cu densitate redus¸ a : se testeaz¸ a aleatorismul statistic al cifr¸ arii textelor clare
generate pseudoaleator cu toate cheile de pondere Hamming 0 ;1 » si 2 :
-text clar cu densitate mare : se testeaz¸ a aleatorismul statistic al cifr¸ arii tuturor
textelor clare de pondere Hamming n; n¡1 » sin¡2 cu ajutorul unui set de chei
generate pseudoaleator.
-chei cu densitate mare : se testeaz¸ a aleatorismul statistic al cifr¸ arii textelor clare
generate pseudoaleator cu toate cheile de pondere Hamming n; n¡1 » sin¡2:
8.9.3. Rezultate experimentale
Vom prezenta ^ ³n cele ce urmeaz¸ a o serie de rezultate experimentale obt »inute ^ ³n
cazul aplic¸ arii testelor de avalan» s¸ a strict¸ a, imunitate la corelat »ie, balans, nedegener-
are precum » si a unor variante de criptanaliz¸ a diferent »ial¸ a asupra algoritmului de
cifrare bloc RIJNDAEL (s-au folosit pentru testare numai cheile de pondere Ham-
ming 0 » si 1 iar ca text de referint »¸ a textul nul).
1. Rezultatele testului de avalan» s¸ a strict¸ a asupra algoritmului RIJN-
DAEL
190 CRIPTANALIZA CIFRURILOR BLOC
Cheia de referint »¸ a: cheia 0-peste tot
Textul de referint »¸ a: 0-peste tot
Act »iune efectuat¸ a: perturbarea cu un bit a cheii de referint »¸ a.
Dimensiunea cheii: 128 bit »i
Volumul e» santionului: 128 bit »i
Riscul de efectuare al test¸ arii statistice: 0 ;05
Deplasarea init »ial¸ a (cuvinte ignorate): 0
Parametrul de codi¯care al datelor 8 bit »i
Sunt a¯» sate procentele de schimb¸ ari pe pozit »iile slabe ale cheii de baz¸ a:
60;156% pozit »ia 31 ;
60;938% pozit »ia 37 ;
60;156% pozit »ia 51 ;
40;602% pozit »ia 125 :
Num¸ arul de pozit »ii slabe ale cheii 4
Decizie: algoritmul implementat indepline» ste criteriul de avalan» s¸ a strict¸ a.
Statistica testului (procentul de respingeri) este: ¡0;973329
Indicat »ii asupra atacului optimal cu chei de pondere 1: probabilit¸ at »ile extreme
sunt 40 ;625 pozit »ia 125 respectiv 60 ;938 pozit »ia 37 :
2. Rezultatele testului de imunitate la corelat »ie asupra algoritmului
RIJNDAEL
Cheile de referint »¸ a sunt cheile de pondere 0 » si 1
Textul de referint »¸ a: 0-peste tot
Act »iune efectuat¸ a: perturbarea cu un bit a cheii de referint »¸ a.
Dimensiunea cheii: 128 bit »i
Deplasarea init »ial¸ a (cuvinte ignorate) 0
Parametrul de codi¯care al datelor 8 bit »i
Volumul e» santionului: 128 bit »i
Riscul de efectuare al testarii statistice 0,05
Sunt a¯» sate procentele de schimb¸ ari de la cheile slabe:
Dezizie: cheia de pondere 0 este imun¸ a la corelat »ie.
Rezultatele pentru cheile de pondere 1 sunt urm¸ atoarele:
60;156% pozit »ia 43
59;375% pozit »ia 74
Num¸ arul de corelat »ii ale cheilor de pondere 1 este 2
Decizie: Algoritmul implementat indepline» ste criteriul de imunitate la corelat »ie
pentru cheile de pondere Hamming 1.
Statistica testului (procentul de respingeri) este: ¡1;784436
Indicat »ii asupra atacului optimal cu chei de pondere 1: Probabilit¸ at »ile extreme
sunt 41 ;406% pozit »ia 82 respectiv 60 ;156% pozit »ia 43 :
IMPLEMENT ¸ARI S »I REZULTATE EXPERIMENTALE 191
3. Rezultatele testului de balans asupra algoritmului RIJNDAEL
Cheile de referint »¸ a sunt cheile de pondere 1
Textul de referint »¸ a: 0-peste tot
Dimensiunea spat »iului de intrare este de 128 bit »i
Dimensiunea spat »iului de ie» sire este de 8 bit »i
Depalasarea init »ial¸ a (ture in gol) 0
Parametrul de codi¯care al datelor: 8 bit »i
Riscul de efectuare al testarii statistice 0 ;05
Probabilitatea de balans este 0 ;5
Sunt a¯sate num¸ arul de intr¸ ari care realizeaz¸ a ¯ecare byte:
Se testeaz¸ a funct »ia 0 : N[0] = 62 ; N[1] = 66
Statistica testului este 0 ;5156
Se testeaz¸ a funct »ia 1 : N[0] = 60 ; N[1] = 68
Statistica testului este 0 ;5312
Se testeaz¸ a funct »ia 2 : N[0] = 64 ; N[1] = 64
Statistica testului este 0 ;50
Se testeaz¸ a funct »ia 3 : N[0] = 61 ; N[1] = 67
Statistica testului este 0 ;5234
Se testeaz¸ a funct »ia 4 : N[0] = 64 ; N[1] = 64
Statistica testului este 0 ;5
Se testeaz¸ a funct »ia 5 : N[0] = 59 ; N[1] = 69
Statistica testului este 0 ;539
Se testeaz¸ a funct »ia 6 : N[0] = 62 ; N[1] = 66
Statistica testului este 0 ;5156
Se testeaz¸ a funct »ia 7 : N[0] = 54 ; N[1] = 74
Statistica testului este 0 ;5781
Decizie: algoritmul implementat indepline» ste criteriul de balans.
4. Rezultatele testului de nedegenerare asupra algoritmului RIJN-
DAEL
Cheia de referint »¸ a: cheia 0 ¡peste tot
Textul de referint »¸ a: 0-peste tot
Dimensiunea cheii: 128 bit »i
Volumul e» santionului: 128 bit »i
Deplasare init »ial¸ a (cuvinte ignorate): 0
Parametrul de codi¯care al datelor 8 bit »i
Sunt a¯» sate punctele de degenerare ale algoritmului: nu este cazul
Num¸ arul de puncte degenerate ale algoritmului 0
Decizie: algoritmul implementat ^ ³ndepline» ste criteriul de nedegenerare.
192 CRIPTANALIZA CIFRURILOR BLOC
5. Rezultatele testului de criptanaliz¸ a diferent »ial¸ a asupra algoritmului
RIJNDAEL
Dimensiunea cheii 128 bit »i
Dimensiunea bloc de date init »ial: 128 bit »i
Bloc de date init »ial 16 de 0 ¡peste tot
Riscul de efectuare al test¸ arii statistice: 0 ;05
Probabilitatea de corelare: 0 ;5;
Iterat »ii efectuate: 1000;
Sunt a¯» sate cele mai semni¯cative cheii de baz¸ a (indice de coincident »¸ a extram
global) pentru cheile de pondere Hamming 0 » si 1:
Cheia nul¸ a are patternul:
Indice de coincident »¸ a maxim ^ ³ntre dou¸ a cifr¸ ari succesive este 0 :640625 obt »inut la
iterat »ia 914;
Indice de coincident »¸ a minim ^ ³ntre dou¸ a cifr¸ ari succesive este 0 :343750 obt »inut la
iterat »ia 311;
Indice de coincident »¸ a maxim cu textul init »ial este 0 :640625 obt »inut la iterat »ia
890;
Indice de coincident »¸ a minim cu textul init »ial este 0 :335938 obt »inut la iterat »ia 65;
Cheia cea mai slab¸ a (corelat »ie direct¸ a) este 17 cu indicele maxim de coincident »¸ a
^ ³ntre dou¸ a cifr¸ ari succesive 0 :695313 obt »inut la iterat »ia 667;
Cheia cea mai slab¸ a (corelat »ie indirect¸ a) este 13 cu indice minim de coincident »¸ a
^ ³ntre dou¸ a cifr¸ ari succesive 0 :328125 obt »inut la iterat »ia 419;
Cheia cea mai slab¸ a (autocorelat »ie direct¸ a) este 88 cu indice maxim de coincident »¸ a
cu textul init »ial 0 :679688 obt »inut la iterat »ia 281;
Cheia cea mai slab¸ a (autocorelat »ie indirect¸ a) este 43 cu indice minim de coincident »¸ a
cu textul init »ial 0 :320313 obt »inut la iterat »ia 168 :
8.9.4. Interpretarea rezultatelor
Dup¸ a cum se observ¸ a algoritmul de cifrare RIJNDAEL ^ ³ndepline» ste cerint »ele
formulate ^ ³n cadrul capitolului 3. Acest lucru nu ^ ³nsemn¸ a faptul c¸ a algoritmul este
absolut sigur: ^ ³n criptogra¯e nici o regul¸ a nu este absolut¸ a (¶Etienne Bazeries, 1901).
O descriere complet¸ a a interpret¸ arii rezultatelor testelor statistico-informat »ionale
poate ¯ g¸ asit¸ a ^ ³n Simion [84].
8.10. Concluzii
Cifrurile bloc pot ¯ programate s¸ a funct »ioneze ca un cifru °ux » si reciproc (a se
vedea modul de lucru OFB). Cea mai bun¸ a de¯nit »ie, care pune^ ³n evident »¸ a diferent »ele
dintre aceste dou¸ a structuri de cifrare, este urm¸ atoarea:
APLICAT »II 193
De¯nit »ia 8.10.1. Cifrurile bloc opereaz¸ a asupra datelor cu transform¸ ari (¯xe)
asupra blocurilor de date clare; cifrurile °ux opereaz¸ a asupra datelor cu transform¸ ari
(ce variaz¸ a ^ ³n timp) asupra cuvintelor (bit »i, octet »i, etc.) din textul clar.
^In cazul aplicat »iilor practice, cifrurile bloc par mai generale (pot funct »iona^ ³n unul
dintre cele patru moduri principale) iar cifrurile °ux sunt mai simplu de analizat
din punct de vedere matematic. O alt¸ a diferent »¸ a este aceea c¸ a cifrurile °ux cifreaz¸ a
sau descifreaz¸ a un singur cuv^ ant de date la un tact, deci nu sunt optime pentru
implement¸ arile software. Cifruile bloc sunt mai simplu de implementat din punct
de vedere soft deoarece acestea opereaz¸ a cu blocuri de cuvinte de procesor deci sunt
mai rapide. Pe de alt¸ a parte cifrurile °ux sunt mai u» sor de implementat ^ ³n aplicat »iile
software.
8.11. Aplicat »ii
Deoarece nu exist¸ a o formul¸ a matematic¸ a universal¸ a care s¸ a poat¸ a ¯ aplicat¸ a ^ ³n
operat »ia de criptanaliz¸ a, am propus ca exercit »ii la acest capitol modi¯c¸ ari ale unor
algoritmi de cifruri bloc consacrate. Sunt date o serie de indicat »ii precedate de o
scurt¸ a descriere a algoritmilor propiu-zi» si.
Exercit »iul 8.11.1. Studiat »i urm¸ atorele simpli¯c¸ ari ale algoritmului RC5:
-RC5 cu 8 iterat »ii dar f¸ ar¸ a rotat »ii;
-RC5 cu 8 iterat »ii iar num¸ arul de rotat »ii egal cu num¸ arul de iterat »ii.
R¸ aspuns. ^In cele ce urmeaz¸ a facem o scurt¸ a descriere a cifrului RC5 cu riterat »ii.
Acesta are lungimea blocului de date variabil¸ a dar vom considera ^ ³n cele ce urmeaz¸ a
c¸ a aceasta a fost setat¸ a la 64 bit »i. Operat »ia de cifrare folose» ste 2 r+2 chei dependente
de cuvintele pe 32 bit »i S0; S1; S2; : : : ; S 2r+2unde reste num¸ arul de iterat »ii. Pentru
cifrare blocul de date se ^ ³mparte ^ ³n dou¸ a p¸ art »i de 32 bit »i notate cu Lrespectiv R
(RC5 face apel la codi¯carea little-endian pentru ^ ³mpachetarea octet »ilor ^ ³n cuvinte:
primul octet se transform¸ a ^ ³n cele mai put »in semni¯cative pozit »ii ale lui L, etc.).
Apoi avem:
(
L=L+S0;
R=R+S1:
Pentru i= 1; : : : ; r se execut¸ a:
(
L= ((L©R)<< R ) +S2i;
R= ((R©L)<< L ) +S2i+1:
194 CRIPTANALIZA CIFRURILOR BLOC
Ie» sirea const¸ a ^ ³n registrele L» siR. Simbolul ©are semni¯cat »ia sumei mod 2 ;
simbolul <<semni¯c¸ a rotire circular¸ a » si ^ ³n ¯ne simbolul + are semni¯cat »ia sumei
mod 232:Operat »ia de descifrare este similar¸ a (intervin operatorii ©; >> » si¡). Modul
de construct »ie al secvent »ei S(care deriv¸ a din cheie) nu este esent »ial ^ ³n cadrul acestui
exercit »iu.
Dac¸ a set¸ am num¸ arul de iterat »ii r= 8 » si nu facem nici un fel de rotat »ii atunci
pentru i= 1; : : : ; 8 se execut¸ a:
(
L= (L©R) +S2i;
R= (R©L) +S2i+1:
Algoritmul astfel setat nu ^ ³ndepline» ste criteriul de avalan» s¸ a strict¸ a (schimbarea
unui bit^ ³n blocul de text clar produce, ^ ³n medie, schimb¸ ari de 50% la ie» sire). Schema
de mai sus permite atacul cu ajutorul tehnicii criptanalizei liniare pentru a°area lui
S;deci a cheii efective.
Dac¸ a set¸ am num¸ arul de iterat »ii r= 8 » si num¸ arul de rotat »ii egal cu ratunci pentru
i= 1; : : : ; 8 se execut¸ a:
(
L= ((L©R)<<8) +S2i;
R= ((R©L)<<8) +S2i+1:
Algoritmul astfel setat nu ^ ³ndepline» ste criteriul de avalan» s¸ a strict¸ a. Schema de
mai sus permite atacul cu ajutorul tehnicii criptanalizei diferent »ial/liniare pentru
a°area lui S:
Exercit »iul 8.11.2. Studiat »i urm¸ atorele simpli¯c¸ ari ale algoritmului DES:
-DES cu 12 iterat »ii dar f¸ ar¸ a aplicat »iile S;
-DES cu 4 iterat »ii;
-DES cu 6 iterat »ii.
R¸ aspuns. Cifrul bloc DES (proiectat ^ ³n 1977) este sub controlul unei chei efective
de 56 bit »i (cheia de baz¸ a este de 64 bit »i, 8 bit »i ¯ind pentru detect »ia erorilor) iar
m¸ arimea blocului de date este de 64 bit »i. Textul clar este permutat iar apoi este
^ ³mp¸ art »it^ ³n dou¸ a blocuri L» siRde lungime 32 bit »i. Se execut¸ a apoi iterativ operat »iile
(pentru i= 1; : : : ; num ¸arul de iteratii ):
(
Li=Ri;
Ri=Li©f(Ri¡1; Ki):
^In ¯nal textul este supus permut¸ arii inverse. Ne concentr¸ am asupra descrierii
funct »iei f:Z32
2£Z48
2!Z32
2:Init »ial blocul R(32 bit »i) este extins cu ajutorul
APLICAT »II 195
funct »iei E la un bloc pe 48 bit »i care este sumat mod 2 cu cheia K(extins¸ a la 48
bit »i cu ajutorul algoritmului de producere a subcheilor). Opt aplicat »ii S:Z6
2!Z4
2
produc o ie» sire pe 32 bit »i care este permutat¸ a pentru a produce ie» sirea ¯nal¸ a dintr-o
iterat »ie. Dac¸ a aplicat »iile Ssunt ¯xe (se selecteaz¸ a 4 bit »i din 6 ^ ³n mod ¯x) atunci se
poate aplica tehnica criptanalizei diferent »iale (bit »ii de la ie» sire sunt bit »ii de la intrare
(sumat »i mod 2 cu cheia K) dar ^ ³ntr-o alt¸ a ordine).
Algoritmul DES cu 4 c^ at » si cu 6 iterat »ii poate ¯ spart cu ajutorul tehnicii atacului
cu text clar cunoscut.
Exercit »iul 8.11.3. Studiat »i regula Ba algoritmului Skipjack cu 8 iterat »ii.
Exercit »iul 8.11.4. Ce defect are un algoritm de cifrare care este ^ ³nchis (un
algoritm de cifrare se nume» ste ^ ³nchis dac¸ a pentru orice chei k1» sik2exist¸ a o cheie
k3astfel ^ ³nc^ at pentru orice text clar Mavem Ek1Ek2(M) =Ek3(M))?
R¸ aspuns. Ca metod¸ a de atac generic¸ a se poate opta pentru cifrarea repetitiv¸ a.
Exercit »iul 8.11.5. Aplicat »i tehnica criptanalizei diferent »iale » si criptanalizei li-
niare asupra algorimului FEAL.
Exercit »iul 8.11.6. Studiat »i tehnica criptanalizei diferent »iale ^ ³n cazul algorit-
mului DES cu 16 iterat »ii.
Exercit »iul 8.11.7. Aplicat »i tehnica criptanalizei liniare ^ ³n cazul algoritmului
DES cu 16 iterat »ii.
Exercit »iul 8.11.8. Av^ and la dispozit »ie un cifru bloc Ek(:) proiectat »i un cifru
°ux » si viceversa.
Exercit »iul 8.11.9. Scriet »i funct »ia analitic¸ a a celor opt funct »ii de substitut »ie S
ale cifrului DES.
Exercit »iul 8.11.10. FieEM(:) » siDK(:) funct »iile de cifrare respectiv descifrare
ale unui cifru. Care este valoarea lui DK(EK(M))?
Not¸ a. Descrierea algoritmilor RC5, DES, Skipjack » si FEAL poate ¯ g¸ asit¸ a ^ ³n
Schneier [69] sau Menenzes [50].
Exercit »iul 8.11.11. Implementat »i modalit¸ at »i de testare a cifrurilor bloc.
196 CRIPTANALIZA CIFRURILOR BLOC
Exercit »iul 8.11.12. Implementat »i modalit¸ at »i de generare a tabelelor de substitut »ie.
Exercit »iul 8.11.13. FieE(¢;¢) o funct »ie de cifrare pe mbit »i de cheie » si nbit »i
de date. Care este valoarea maxim¸ a a lui mastfel ^ ³nc^ at cheia efectiv¸ a a cifrului s¸ a
¯em?
Capitolul 9
CRIPTANALIZA
CIFRURILOR CU CHEI
PUBLICE
No matter resistant the cryptogram, all that
is really needed is an entry, the identi¯cation
of one word, of three or four letters.
Hellen Fouch¶ e Gaines, 1939
9.1. Principii de baz¸ a
9.1.1. Introducere
Algoritmii cu cheie public¸ a ^ ³» si bazeaz¸ a securitatea pe di¯cultatea computat »ional¸ a
a unor probleme din domeniile informaticii teoretice sau a teoriei numerelor. Astfel
acest capitol va aborda algoritmii de tip rucsac (domeniul informaticii teoretice) » si
algoritmii de tip RSA, Pohlin-Hellman, Rabin, ElGamal » si ai curbelor eliptice (dome-
niul teoriei numerelor). Se vor studia modul de comportare al algoritmilor amintit »i
mai sus pun^ andu-se accent » si pe principalele vulnerabilit¸ at »i ale acestora. Capitolul
se va ^ ³ncheia cu o serie de concluzii referitoare la acest domeniul al criptogra¯ei
precum » si cu un paragraf destinat aplicat »iilor speci¯ce (ca de exemplu PKI (Public
Key Infrastructure) ). Conceptul de criptogra¯e cu chei publice a fost introdus de
Whit¯eld Di±e » siMartin Hellman ^ ³n [16] » si independent de ace» stia de Ralph Merkle.
^In criptogra¯a cu chei publice sunt dou¸ a tipuri de chei: o cheie public¸ a » si o cheie
privat¸ a (termenul de cheie secret¸ a va ¯ folosit pentru criptogra¯a simetric¸ a). Cele
dou¸ a tipuri de chei nu se pot deduce (computat »ional acest lucru se realizeaz¸ a ^ ³ntr-
197
198 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
un timp foarte mare). Criptogra¯a cu chei publice se poate folosi at^ at la asigurarea
con¯dent »ialit¸ at »ii c^ at » si la asigurarea autenticit¸ at »ii (semn¸ atura digital¸ a). Numai trei
algoritmi sunt siguri, din punct de vedere criptogra¯c, pentru a ¯ folosit »i at^ at la
cifrare c^ at » si la semn¸ atur¸ a digital¸ a: RSA, ElGamal » si Rabin. Acesta este un alt
motiv pentru care am optat pentru prezentarea ^ ³n detaliu a acestora.
De obicei criptogra¯a simetric¸ a » si cea asimetric¸ a (cu chei publice) duc la construct »ia
sistemelor criptogra¯ce hibride: se folose» ste un algoritm simetric (bazat pe o cheie
secret¸ a aleatoare) pentru a cifra mesaje » si se utilizeaz¸ a un algoritm asimetric (bazat
pe o cheie public¸ a » si o cheie privat¸ a) pentru a cifra cheia secret¸ a de sesiune.
Pentru implementarea efectiv¸ a a algoritmilor ce se vor prezenta se poate consulta
Welschenbach [96].
9.1.2. Securitatea algoritmilor cu cheie public¸ a
Securitatea algoritmilor cu cheie public¸ a ce se vor prezenta se bazeaz¸ a pe di¯cul-
tatea computat »ional¸ a a urm¸ atoarelor probleme:
– a problemelor NP¡complete ca de exemplu problema rucsacului : d^ andu-se
mult »imea fM1; :::; M ng ½N¤» si num¸ arul S2N¤s¸ a se calculeze bi2 f0;1gastfel ca
S=nX
i=1biMi:
-a factoriz¸ arii unui num¸ ar compozit (algoritmul RSA): d^ andu-se un num¸ ar natural
compozit (produs de numere prime) n=p¢qs¸ a se g¸ asesc¸ a un algoritm e¯cient de
factorizare a acestuia;
-a calculului r¸ ad¸ acinii p¸ atrate modulo un num¸ ar compozit (algoritmul Rabin ):
d^ andu-se un num¸ ar natural compozit (produs de numere prime) ns¸ a se g¸ asesc¸ a un
algoritm e¯cient de rezolvare a ecuat »iei: y=x2modn:
-a logaritmului discret (algoritmul ElGamal ): s¸ a se g¸ asesc¸ a num¸ arul natural x < p
care ^ ³ndepline» ste relat »ia y=gxmodpunde peste num¸ ar prim » si g < p ;
9.1.3. Comparat »ii ale algoritmilor asimetrici » si a algoritmilor si-
metrici
Din punct de vedere al cheilor algoritmii asimetrici (cucheie public¸ a ) se deosebesc
de cei simetrici (cucheie secret¸ a ) prin tipul » si num¸ arul de chei: o cheie public¸ a
» si ocheie privat¸ a (pentru ¯ecare utilizator ) pentru cei asimetrici respectiv o cheie
secret¸ a (pentru tot »i utilizatorii ) pentru cei simetrici . Evaluarea unui sistem asimetric
se bazeaz¸ a pe di¯cultatea computat »ional¸ a a rezolv¸ arii problemelor enunt »ate mai
sus. Evaluarea sistemelor criptogra¯ce simetrice se bazeaz¸ a pe demonstrarea unor
propriet¸ at »i efectiv demonstrabile ale acestuia.
ALGORITMI DE TIP RUCSAC 199
9.2. Algoritmi de tip rucsac
Algoritmul de cifrare Merkle-Hellman const¸ a ^ ³n codi¯carea mesajului ca o solut »ie
a unei probleme de tip rucsac: ponderile fM1; :::; M ng¯ind cheia de cifrare, textul
clar ¯ind fb1; :::; b ngiar textul cifratnP
i=1biMi:
9.2.1. Algoritmi rucsac supercresc¸ ator
De¯nit »ia 9.2.1. Un » sir de ponderi fM1; :::; M ngse nume» ste supercresc¸ ator dac¸ a:
Mk>k¡1X
i=1Mipentru orice k:
Problema rucsacului supercresc¸ ator este u» sor de rezolvat folosind urm¸ atoarea
schem¸ a:
pentru k=n; :::; 1 dac¸ a Mk< Satunci bk= 1 » si S=S¡Mk
altfel bk= 0:
Algoritmii de tip rucsac care nu sunt supercresc¸ atori nu sunt u» sor de rezolvat » si
nu exist¸ a nici un algoritm rapid care s¸ a rezolve problema. Singura modalitate cunos-
cut¸ a de a determina dac¸ a bi= 1 const¸ a ^ ³n testarea tuturor solut »iilor. Cei mai rapizi
algoritmi de testare au o complexitate exponent »ial¸ a. Algoritmul Merke-Hellman se
bazeaz¸ a pe aceast¸ a proprietate: cheia privat¸ a este » sirul ponderilor pentru un ru-
casac supercresc¸ ator iar cheia public¸ a este » sirul ponderilor pentru un rucsac care are
aceeia» si solut »ie. Merkle » siHellman au g¸ asit o metod¸ a prin care se poate transforma o
problem¸ a a rucsacului supercresc¸ ator ^ ³ntr-o problem¸ a normal¸ a a rucsacului. Tehnica
de conversie face apel la aritmetica modular¸ a.
9.2.2. Crearea cheii publice din cheia privat¸ a
Av^ and la dispozit »ie o problem¸ a de tip rucsac supercresc¸ ator (cheia privat¸ a) cu
ponderile fM1; :::; M ngatunci aceasta se transform¸ a ^ ³ntr-o problem¸ a de tip rucsac
normal¸ a (cheia public¸ a) cu » sirul ponderilor
fmM 1modp; :::; mM nmodpg;
unde m» sipsunt numere naturale prime^ ³ntre ele (acestea fac parte din cheia privat¸ a)
» sip >nP
i=1Mi.
200 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
9.2.3. Cifrarea
Pentru a cifra un mesaj binar acesta se va ^ ³mp¸ art »i ^ ³n blocuri de lungimi egale cu
cardinalul mult »imii ponderilor. Cifrarea unui bloc b1:::bnva ¯ num¸ arul natural
nX
i=1bi(mM imodp):
9.2.4. Descifrarea
Destinatarul mesajului cunoa» ste cheia privat¸ a: ponderile originale » si valorile lui
m» sip:Pentru a descifra un mesaj acesta va calcula mai ^ ³nt^ ai pe m¡1modp:Se va
multiplica apoi textul cifrat cu m¡1modpiar dup¸ a aceea se va rezolva problema
rucsacului supercresc¸ ator pentru a recupera textul original.
9.2.5. Implementarea efectiv¸ a
Implement¸ arile practice ale algoritmilor de tip rucsac au cel put »in 250 de ponderi.
Ponderile sunt cu lungimi ^ ³ntre 200 » si 400 bit »i, iar modulul are o lungime ^ ³ntre 100
» si 200 bit »i. ^In cazul implement¸ arilor reale at^ at ponderile c^ at » si numere m» sinsunt
generate aleator. Atacul brut nu este fezabil la valorile prezentate anterior. Shamir
a indicat o serie de condit »ii ^ ³n care se poate sparge un astfel de algoritm.
9.3. Algoritmul RSA
Algoritmul RSA a fost inventat1de c¸ atre Ron Rivest, Adi Shamir » siLeonard
Adleman ¯ind studiat ^ ³n cadrul unor studii criptanalitice extinse. Securitatea RSA-
ului se bazeaz¸ a pe di¯cultatea factoriz¸ arii numerelor mari (vezi Salomaa [71],Koblitz
[41] » si [42] pentru o introducere ^ ³n domeniu). Cheia public¸ a » si cheia privat¸ a sunt
funct »ie de o pereche de numere prime mari (de 200 de cifre sau chiar mai mari). Re-
cuperarea textului clar din cheia public¸ a » si textul cifrat este chivalent cu factorizarea
produsului a dou¸ a numere prime.
9.3.1. Descrirea principiilor de cifrare » si descifrare
Pentru generarea a dou¸ a chei (public¸ a » si privat¸ a) se aleg aleatoriu dou¸ a numere
prime mari p» siq:Din rat »ionamente de securitate p» siqau acela» si ordin de m¸ arime.
Se va calcula produsul n=p¢q:Se va alege apoi, aleatoriu, cheia de cifrare eastfel
1^In anul 1997 a fost f¸ acut¸ a public faptul c¸ a James H. Ellis, Cli®ord Cocks » si Malcolm Williamson
de la Government Communications Headquarters (GCHQ) au propus, ^ ³n anul 1973, utilizarea aces-
tui tip de algoritm.
ALGORITMUL RSA 201
cae» si (p¡1)(q¡1) s¸ a ¯e relativ prime. Utiliz^ and algoritmul extins al lui Euclid
vom calcula exponentul de descifrare dastfel ca
ed´1 mod( p¡1)(q¡1):
Cu alte cuvinte
d´e¡1mod( p¡1)(q¡1):
Remarc¸ am faptul c¸ a d» sinsunt relativ prime. Numerele e» sinconstituie cheia
public¸ a iar deste cheia privat¸ a. Cele dou¸ a numere p» siqnu sunt necesare dar nu
vor ¯ niciodat¸ a f¸ acute publice.
Pentru a cifra un mesaj m^ ³l vom diviza ^ ³n blocuri de lungime mai mic¸ a n(cu date
binare vom alege cea mai mare putere a lui 2 mai mic¸ a dec^ at n). Dac¸ a p» siqsunt
numere prime de 100 cifre atunci nva avea sub 200 de cifre iar ¯ecare mesaj bloc
miva avea sub 200 de cifre. Dac¸ a trebuie cifrate blocuri de lungime ¯x¸ a atunci vom
apela la operat »ia de padding cu zero. Mesajul cifrat cse va obt »ine prin concatenarea
mesajelor cicare au aproximativ aceeia» si lungime. Formula de cifrare va ¯:
ci´me
imodn:
Pentru a descifra un mesaj se calculeaz¸ a:
mi´cd
imodn;
deoarece
cd
i´(me
i)d´med
i´mk(p¡1)(q¡1)+1
i
´mimk(p¡1)(q¡1)
i ´mimodn:
Observat »ia 9.3.1. Pentru a evita metodele de factorizare cunoscute numerele
p» siqtrebuie s¸ a ¯e numere prime tari . Un num¸ ar prim pse nume» ste num¸ ar prim
tare dac¸ a:
i)p¡1 are un factor mare r;
ii)p+ 1 are un factor mare s;
iii)r¡1 are un factor mare t.
9.3.2. Viteza algoritmilor tip RSA
^In implement¸ arile hard RSA este cam de 1000 de ori mai lent dec^ at algoritmul
DES. Cea mai rapid¸ a implementare hardware VLSI pentru RSA (cu 512 bit »i mod-
ulul) este de 64 kilobit »i pe secund¸ a (estimare realizat¸ a ^ ³n anul 1996).
202 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
Alegerea judicioas¸ a a parametrului de cifrare epoate m¸ ari viteza de cifrare a al-
goritmului RSA. Cele mai utilizate valori pentru esunt 3 (recomandat de standardul
PEM ( Privacy Enhanced Mail ) » si standardul PKCS#1 ( Public Key Cryptographic
System ));17 » si 216+ 1 (recomandat de standardul de certi¯cate digitale X.509 » si
standardul PKCS#1). Nu apar probleme de securitate prin folosirea oric¸ aror aces-
tor trei valori pentru e(presupun^ and faptul c¸ a se face un padding al mesajelor cu
valori aleatoare), chiar dac¸ a un grup de utilizatori au aceia» si valoare pentru para-
metru e:Viteaza operat »iile private se pote m¸ ari prin utilizarea lemei chineze» sti a
resturilor (CRT) dac¸ a se stocheaz¸ a valorile lui p; q; d mod( p¡1); dmod( q¡1) » si
q¡1modp:Utilizarea lemei chineze» sti a resturilor ^ ³nlesne» ste aplicarea atacurilor de
tip timp ( timing attacks : ^ ³n funct »ie de timpul de execut »ie se pot deduce anumit »i bit »i
din cheie) sau atacuri de tip eroare hardware.
Utilizarea CRT
Operat »ia de semnare a unui mesaj Mse realizeaz¸ a prin exponent »ierea amprentei
digitale a documentului H(M) cu ajutorul cheii private: s=H(M)dmod n. Veri¯-
carea semn¸ aturii se realizeaz¸ a prin comparat »ia valorii H(M) cusemod n.
^In cazurile practice valoarea lui eeste un num¸ ar relativ mic, deci dare o val-
oare mare. Acest lucru conduce la timpi de rulare diferit »i ^ ³ntre operat »iile private
(descifrare/semnare) » si cele publice(cifrare/veri¯care semn¸ atur¸ a).
Pentru optimizarea calculelor de veri¯care a semn¸ aturii se poate utiliza lema
chinezeasc¸ a a resturilor (CRT), ^ ³ns¸ a acest lucru induce vulnerabilit¸ at »i ^ ³n mediul de
implementare.
Pentru ¯xarea ideilor vom nota prin C=Memodntrasformarea cifrat¸ a a mesaju-
luiM < n: Presupunem c¸ a am calculat apriori valorile: dp:=dmod( p¡1); d q:=
dmod( q¡1) » si r:=q¡1modp:Atunci folosind faptul c¸ a gcd( d;(p¡1)(q¡1)) = 1
avem gcd( d;(p¡1)) = 1 » si gcd( d;(q¡1)) = 1 :Utilizarea teoremei lui Fermat
(Cp¡1´1 mod p» siCq¡1´1 mod q) conduce la:
Cd´Cdpmodp
respectiv
Cd´Cdqmodq:
Utiliz^ and CRT vom avea:
M=Cdqmodq+q((Cdpmodp¡Cdqmodq)rmodp):
ALGORITMUL RSA 203
Astfel, dac¸ a p > q , sunt precalculate valorile:
dp:= (e¡1mod n) mod ( p¡1);
dq:= (e¡1mod n) mod ( q¡1);
r:=q¡1mod p:
^Infaza de calcul se execut¸ a:
m1=cdpmod p;
m2=cdqmod q;
h=r(m1¡m2) mod p;
m=m2+hq:
Cheia privat¸ a ce se stocheaz¸ a ¯ind ( p; q; d p; dq; r).
9.3.3. Securitatea RSA-ului
Securitatea algoritmului RSA este direct proport »ional¸ a cu problema factoriz¸ arii
numerelor mari. Din punct de vedere tehnic acest lucru nu este adev¸ arat. Este
conjecturat faptul c¸ a securitatea algoritmului RSA depinde de problema factoriz¸ arii
numerelor mari. Nu s-a dovedit matematic c¸ a este necesar un factor al lui npentru
a calcula pe mdinc:
Se poate ataca algoritmul RSA prin ghicirea lui '(n) = (p¡1)(q¡1):Acest lucru
nu este mai simplu dec^ at problema factoriz¸ arii.
O serie de variante ale RSA s-au dovedit a ¯ la fel de di¯cile ca problema fac-
toriz¸ arii. Deasemenea au fost realizate studii care au pus ^ ³n evident »¸ a faptul c¸ a
recuperarea unor bit »i de informat »ie dintr-un mesaj cifrat, este la fel de greu de
realizat ca decriptarea ^ ³ntregului mesaj.
Factorizarea lui neste cea mai uzual¸ a metod¸ a de atac. Orice adversar are la
dispozit »ie cheia public¸ a e» si modulul de cifrare n:Pentru a g¸ asi cheia de descifrare
dtrebuie factorizat n:Acest lucru se poate realiza cu ajutorul tehnologiei de fac-
torizare. La nivelul anului 1996 ;factorizarea unui num¸ ar de 129 cifre era fezabil¸ a.
Deci ntrebuie s¸ a ¯e mai mare (se poate lua nde 2048 bit »i). Metoda de atac brut
este mai put »in e¯cient¸ a dec^ at tehnica factoriz¸ arii.
Cei mai mult »i algoritmi folosesc tehnici probabiliste pentru a a calcula numere
prime p» siq:Se pune, ^ ³n mod natural, ^ ³ntrebarea dac¸ a algoritmii de testare a pri-
malit¸ at »ii detecteaz¸ a numerele compozite. O serie de algoritmi de testare a pri-
malit¸ at »ii detecteaz¸ a cu probabilitate tinz^ and la 1 numerele compozite (vezi Schroeder
[72]).
204 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
9.3.4. Tipuri de atacuri asupra algoritmilor RSA
Atac cu text cifrat ales
O serie de atacuri se pot aplica asupra implement¸ arilor algoritmului RSA. Aceste
atacuri nu sunt asupra algoritmului propriu-zis ci asupra protocoalelor. Trebuie
con» stientizat faptul c¸ a folosirea algoritmului RSA nu este su¯cient¸ a iar detaliile
sunt de maxim¸ a important »¸ a. Vom prezenta trei cazuri de atac cu text cifrat ales.
Cazul 1. Interceptorul pasiv E;va monitoriza comunicat »iile lui A» si va stoca
toate mesajele ccifrate cu ajutorul cheii publice a lui A:Interceptorul dore» ste ca s¸ a
citesc¸ a mesajele clare. Matematic acest lucru revine la a a°a pe mastfel ca:
m=cd:
Pentru recuperarea lui mse va alege pentru ^ ³nceput un num¸ ar aleatoriu r < n:
Interceptorul va intra ^ ³n posesia cheii publice ealuiA» si va calcula:
x´remodn;
y´xcmodn;
t´r¡1modn:
Acum interceptorul Eva fort »a pe As¸ a semneze yfolosind cheia sa privat¸ a.
(Utilizatorul Atrebuie s¸ a semneze mesajul nu s¸ a-i fac¸ a hash). Ret »inem faptul c¸ a A
nu a fost anterior ^ ³n posesia lui y:Utilizatorul Ava trimite lui E:
u´ydmodn:
Interceptorul Eva calcula:
tumodn´r¡1ydmodn´r¡1xdcdmodn´cdmodn´m:
Cazul 2. FieTeste un notar public digital. Dac¸ a Adore» ste un document notarial
atunci acesta va apela la T:Notarul Tva semna documentul cu ajutorul semn¸ aturii
digitale RSA » si-l va trimite lui A:(Nu se utilizeaz¸ a funct »ii hash : notarul Tva cifra
mesajul cu ajutorul cheii sale private.)
Interceptorul Mdore» ste ca notarul Ts¸ a semneze un document m0pe care acesta
refuz¸ a init »ial s¸ a-l semneze (de exemplu un document care nu are o » stampil¸ a de
timp corect¸ a). Pentru ^ ³nceput Mva alege un num¸ ar aleatoriu x» si va calcula y´
xemodn:Acesta va putea s¸ a acceseze pe edeoarece este cheia public¸ a a notarului
T:Interceptorul Mva calcula m´ym0modnpe care ^ ³l trimite lui Ts¸ a-l semneze.
Notarul Tva returna lui Mmesajul semnat: mdmodn:Falsi¯catorul Mva calcula:
(mdmodn)x¡1modn´(m0)dmodn:
ALGORITMUL RSA 205
Sl¸ abiciunea ce a fost exploatat¸ a a fost aceea c¸ a exponent »ierea produsului este
produsul exponent »ierilor:
(xm)dmodn´xdmdmodn:
Cazul 3. Interceptorul Edore» ste ca utilizatorul As¸ a semneze mesajul m3:Acesta
va genera dou¸ a mesaje m1» sim2astfel ca
m3´m1m2modn:
Interceptorul Eva fort »a pe As¸ a semneze mesajele m1» sim2iar apoi acesta va
calcula semn¸ atura lui m3:
md
3´(md
1modn)(md
2modn):
Concluzie : Nu folosit »i niciodat¸ a algoritmul RSA pentru semnarea unui document
necunoscut. Folosit »i apriori o funct »ie hash. Formatul ISO9796 previne acest tip de
atac.
Atac cu ajutorul modulelor comune
O posibil¸ a implementare a RSA d¸ a aceea» si valoare n, dar valori diferite pentru
exponent »ii e» sid. Cea mai evident¸ a problem¸ a este aceea c¸ a dac¸ a acela» si mesaj este
cifrat cu doi exponent »i diferit »i (dar av^ and acelea» si module), iar acei exponent »i sunt
numere relativ prime, atunci textul clar poate ¯ descoperit f¸ ar¸ a a cunoa» ste exponent »i
de descifrare.
Fiemmesajul ^ ³n clar. Cele dou¸ a chei publice de cifrare sunt e1» sie2. Modulul
comun este n. Cele dou¸ a mesaje cifrate sunt:
c1´me1modn;
c2´me2modn:
Criptanalistul cunoa» ste n; e1; e2; c1» sic2:^In continuare se prezint¸ a cum se cal-
culeaz¸ a mesajul clar m.
^Intruc^ at e1» sie2sunt relativ prime, algoritmul extins al lui Euclid poate g¸ asi r» si
sastfel ^ ³nc^ at:
re1+se2= 1:
Presupun^ and rnegativ, algoritmul extins al lui Euclid poate ¯ folosit din nou
pentru a calcula c¡1
1. Astfel,
206 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
(c¡1
1)rcs
2´mmodn
Exist¸ a alte dou¸ a atacuri ^ ³mpotriva acestui tip de sistem. Unul dintre ele folose» ste
o metod¸ a probabilist¸ a pentru a factoriza pe n. Cel¸ alalt folose» ste un algoritm deter-
minist pentru a calcula ceva din cheia secret¸ a f¸ ar¸ a a factoriza modulul.
Concluzie : Nu distribuit »i niciodat¸ a un modul de cifrare ncomun unui grup de
utilizatori.
Atac asupra exponent »ilor de cifrare de dimensiuni mici
Cifrarea » si veri¯carea semn¸ aturii RSA sunt mai rapide dac¸ a se folose» ste o valoare
mic¸ a a lui e, dar aceasta poate ¯ nesigur¸ a. Dac¸ a se cifreaz¸ a e(e+1)=2 mesaje lineare
dependente cu diferite chei publice av^ and aceea» si valoare a lui e, atunci exist¸ a un
atac ^ ³mpotriva sistemului. Dac¸ a sunt mai put »in de e(e+ 1)=2 mesaje, sau dac¸ a
mesajele nu sunt linear dependente, atunci nu este nici o problem¸ a. Dac¸ a mesajele
sunt identice, atunci sunt su¯ciente emesaje cifrate (se aplic¸ a teorema chinezeasc¸ a
a resturilor pentru a°area lui c=me<eQ
i=1ni;unde nisunt modulele de cifrare,
deci vom obt »ine prin calcul direct m=c1
3). Cea mai simpl¸ a solut »ie este s¸ a se
completeze mesajele cu valori aleatoare independente. Aceasta ne asigur¸ a de faptul
c¸ amemodn6=me. Implement¸ arile RSA din produsele PEM » si PGP realizeaz¸ a acest
lucru.
Concluzie : Mesajele trebuie completate cu valori aleatoare ^ ³naintea cifr¸ arii lor;
trebuie s¸ a ¯e sigur faptul c¸ a meste aproape de acee» si lungime ca n.
Atac asupra exponent »ilor de descifrare de dimensiuni mici
Un alt atac, elaborat de Michael Wiener , va descoperi cheia privat¸ a d, dac¸ a d
este mai mult de un sfert din lungimea lui n» si cheia public¸ a eeste mai mic¸ a dec^ at
modul n. Acest lucru se ^ ³nt^ ampl¸ a mai rar dac¸ a e» sidsunt alese aleator » si nu se
^ ³nt^ ampl¸ a deloc dac¸ a eare o valoare mic¸ a.
Concluzie : Trebuie aleas¸ a o valoare mare pentru cheia privat¸ a d.
Atac ^ ³n cazul numerelor prime apropiate
^In cazul ^ ³n care numerele prime p» siqsunt su¯cient de apropiate urm¸ atoarea
observat »ie conduce la un algoritm e¯cient de factorizare:
µp+q
2¶2
¡n=µp¡q
2¶2
:
ALGORITMUL RSA 207
Pentru factorizarea lui nse testeaz¸ a toate numerele ^ ³ntregi x >pnpentru care
x2¡neste p¸ atrat perfect; ¯e acesta y:Atunci vom avea:
(
p=x+y
q=x¡y:
Concluzie : Numerele prime p» siq;care formeaz¸ a factorizarea n=p¢q;trebuie s¸ a
¯e de ordine de m¸ arime diferite.
Atac de tip eroare hardware
Acest tip de atac permite, ^ ³n cazul ^ ³n care se utilizeaz¸ a pentru optimizarea
operat »iilor private (de exemplu pentru realizarea semn¸ aturii), factorizarea modu-
luin:Pentru ¯xarea ideilor ¯e Mmesajul care urmeaz¸ a a ¯ semnat cu cheia privat¸ a
d. Semn¸ atura acestui mesaj E´Mdmodneste calculat¸ a ca
E´aE1+bE2modn;
unde (
a´1 mod p
a´0 mod q
» si
(
b´0 mod p
b´1 mod q:
Ret »inem faptul c¸ a factorizarea n=p¢qeste trapa secret¸ a a sistemului. Pre-
supunem acum c¸ a dispunem de semn¸ atura Ea mesajului M» si de o semn¸ atur¸ a
gre» sit¸ a a aceluia» si mesaj (a ap¸ arut numai o eroare hardware ^ ³n calculul lui E1sau
E2). Presupunem, f¸ ar¸ a restr^ angerea generalit¸ at »ii c¸ a E1a fost calculat eronat ca ¯ind
^
E1» si c¸ a E2a fost calculat corect. Putem scrie:
E¡^
E=a(E1¡^
E1):
Dac¸ a E1¡^
E1nu este divizibil prin p(ceea ce se ^ ³nt^ ampl¸ a cu o probabilitate
foarte mare) atunci:
gcd(E1¡^
E1; n) = gcd( a(E1¡^
E1); n) =q
deci modulul npoate ¯ factorizat f¸ ar¸ a probleme.
Atacuri de tip eroare harware (ca urmare a erorilor latente, tranziente sau induse)
pot ¯ aplicate algoritmului de semn¸ atur¸ a a lui Rabin, protocolului de identi¯care
Fiat-Shamir precum » si protocolului de identi¯care Schnorr.
Concluzie : Trebuie realizat un padding cu valori aleatore al mesajului ^ ³naintea
realiz¸ arii semn¸ aturii.
208 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
Atacul asupra cifr¸ arii » si semn¸ arii cu algoritmul RSA
Este natural ca mesajele s¸ a ¯e semnate ^ ³nainte de a ¯ cifrate, dar nu mereu se
respect¸ a aceast¸ a succesiune a operat »iilor. Vom prezenta un atac asupra protocoalelor
RSA care realizeaz¸ a semnarea dup¸ a operat »ia de cifrare.
Fie utilizatorul Acare dore» ste s¸ a trimit¸ a un mesaj lui B:Pentru ^ ³nceput Ava
cifra mesajul cu ajutorul cheii publice a lui Biar apoi ^ ³n va semna cu ajutorul cheii
sale private. Se va trimite mesajul cifrat » si semnat c¸ atre utilizatorul B:
(meBmodnB)dAmodnA:
Vom vedea cum poate Bpretinde faptul c¸ a a primit mesajul m0^ ³n loc de m:
Deoarece Bdispune de factorizarea lui nBatunci el poate g¸ asi num¸ arul xastfel ca
(se rezolv¸ a problema logaritmului discret):
m0x´mmodnB:
Utilizatorul Bva ^ ³nlocui cheia sa public¸ a ecuxeB;modulul nB¯ind invariant.
^Intr-o asemenea situat »ie Bpoate pretinde c¸ a a primit mesajul m0de la A:Funct »iile
hash nu rezolv¸ a problema. Se poate opta pentru utilizarea unui exponent de cifrare
¯xat.
Condit »ii necesare dar nu » si su¯ciente pentru asigurarea securit¸ at »ii crip-
togra¯ce a RSA
O serie de restrict »ii folosite ^ ³n implementarea RSA se bazeaz¸ a pe succesul at-
acurilor ment »ionate:
-cunoa» sterea unei perechi de exponent »i cifrare/descifrare pentru un modul dat
permite factorizarea modulului;
-cunoa» sterea unei perechi de exponent »i cifrare/descifrare pentru un modul dat
permite generarea de noi exponent »i de cifrare/descifrare;
-nu trebuie utilizat un modul pentru un grup de utilizatori;
-trebuie realizat un padding al mesajelor pentru a preveni atacul cu ajutorul
exponent »ilor de cifrare mici, precum » si atacul de tip eroare hardware (^ ³n cazul uti-
liz¸ arii CRT pentru optimizarea operat »iilor private);
-exponentul de descifrare trebuie s¸ a ¯e mare.
Trebuie remarcat faptul c¸ a aceste elemente nu sunt su¯ciente pentru a proiecta
un algoritm criptogra¯c sigur. ^Intregul sistem trebuie s¸ a ¯e sigur din punct de vedere
criptogra¯c ca » si protocoalele criptogra¯ce. O vulnerabilitate ^ ³n oricare din aceste
trei domenii conduce la un sistem nesigur din punct de vedere criptogra¯c.
ALGORITMUL POHLIG-HELLMAN 209
9.3.5. Trape ^ ³n generarea cheilor RSA
Dezvoltatorul unui sistem de tip PKI, poate induce trape, la nivelul gener¸ arii
cheilor, pentru utilizarea acestora^ ³n activitatea de criptanaliz¸ a. Evident »ierea existent »ei
acestor trape conduce la compromite imaginea produc¸ atorului produsului criptogra¯c.
Vom exempli¯ca o serie de astfel de trape » si anume:
-ascunderea exponentului privat mic d, prin utilizarea unei funct »ii de permutare
¼¯(¢) a numerelor impare mai mici ca n(modulul de cifrare);
-ascunderea exponetului public mic e, precum » si a unei informat »ii referitoare la
exponentul privat d:Acest lucru se face prin utilizarea unei funct »ii de permutare a
numerelor impare mai mici ca n(modulul de cifrare);
-ascunderea factorului prim p^ ³n produsul n=p¢q:
Pentru ¯ecare modalitate de inducere a trapelor ment »ionate mai sus trebuie dez-
voltate teste de detect »ie a acestora.
Vom prezenta un algoritm de inducere a trapei prin ascunderea exponentului
privat mic d^ ³n cadrul operat »iei de generare a perechilor de chei publice/private de
tip RSA.
Ascunderea exponentului privat mic d
PASUL 0. Select¸ am dou¸ a numere prime mari, de acela» si ordin de m¸ arime, p» si
q:Modulul de cifrare va ¯ ^ ³n acest caz n=p¢q:Fieknum¸ arul de bit »i ai lui n:
PASUL 1. Gener¸ am aleatoriu ±num¸ ar impar astfel ca gcd( ±; '(n)) = 1 » si
j±j ·k
4:
PASUL 2. Calcul¸ am "=±¡1mod'(n); e=¼¯(") unde ¼¯(¢) este o permutare
a numerelor impare;
PASUL 3. Dac¸ a gcd( e; '(n))6= 1 atunci trecem la PASUL 1.
PASUL 4. Calcul¸ am d=e¡1mod'(n):
PASUL 5. Cheia public¸ a (cu trap¸ a) este ( n; e) iar cheia privat¸ a (cu trap¸ a) este
(n; p; q; d ):
Evident cunoa» sterea permut¸ arii ¼¯(¢) permite, conform celor prezentate ^ ³n para-
graful 9 :3:4 (algoritmul lui Wiener), a°area exponentului privat d:
9.4. Algoritmul Pohlig-Hellman
Algoritmul Pohlin-Hellman este similar algoritmului RSA. Acesta nu este un algo-
ritm simetric deoarece sunt folosite chei diferite pentru cifrare respectiv descifrare.
Nu este un algoritm cu cheie public¸ a deoarece cheile se pot deduce u» sor una din
cealalt¸ a, at^ at cheia de cifrare c^ at » si cheia de descifrare trebuie s¸ a ¯e secrete. La fel
210 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
ca ^ ³n algoritmul RSA:
C´Pemodn
P´Cdmodn
unde
ed´1(mod un num¸ ar complicat) :
Spre deosebire de RSA, num¸ arul nnu este de¯nit de produsul a dou¸ a numere
prime ci trebuie s¸ a ¯e parte a unei chei secrete. Dac¸ a dispunem de e» sinatunci
putem calcula pe d:F¸ ar¸ a cunoa» sterea lui esaudinterceptorul trebuie s¸ a rezolve
problema (di¯cil¸ a din punct de vedere computat »ional):
e´logPCmodn:
9.5. Algoritmul Rabin
Securitatea schemei lui Rabin se bazeaz¸ a pe di¯cultatea g¸ asirii r¸ ad¸ acinii p¸ atrate
modulo un num¸ ar compozit. Aceast¸ a problem¸ a este echivalent¸ a cu problema fac-
toriz¸ arii. Vom prezenta o implementare a acestei scheme.
Pentru^ ³nceput vom alege dou¸ a numere prime p» siqambele congruente cu 3 mod 4 :
Aceste numere constituie cheia privat¸ a iar produsul acestora n=p¢qconstituie cheia
public¸ a.
Pentru a cifra un mesaj M(Mtrebuie s¸ a ¯e mai mic dec^ at n) vom calcula
C´M2modn:
Deoarece receptorul cunoa» ste cele dou¸ a numere p» siqacesta va rezolva dou¸ a
dintre congruent »e cu ajutorul lemei chineze» sti a resturilor (vezi Anexa I). Calcul¸ am:
m1´Cp+1
4modp
m2´(p¡Cp+1
4) mod p
m3´Cq+1
4modq
m3´(q¡Cq+1
4) mod q
Se aleg dou¸ a numere ^ ³ntregi a:=q(q¡1modp) » sib:=p(p¡1modq):Cele patru
solut »ii posibile sunt:
M1´(am1+bm3) mod n
M2´(am1+bm4) mod n
M3´(am2+bm3) mod n
M4´(am2+bm4) mod n
ALGORITMUL ELGAMAL 211
Unul dintre aceste numere este egal cu M:Dac¸ a textul este un mesaj dintr-o limb¸ a
bine precizat¸ a atunci se poate spune care este alegerea corect¸ a Mi:Dac¸ a textul este
o secvent »¸ a aleatoare (o cheie sau o semn¸ atur¸ a digital¸ a) atunci nu putem s¸ a indic¸ am
nici o variant¸ a. Solut »ia pentru rezolvarea acestei probleme const¸ a ^ ³n ad¸ augarea unui
header mesajului ^ ³nainte de realizarea cifr¸ arii.
9.6. Algoritmul ElGamal
Schema ElGamal este folosit¸ a at^ at pentru cifrare c^ at » si pentru semn¸ atur¸ a elec-
tronic¸ a. Securitatea sa se bazeaz¸ a pe di¯cultatea rezolv¸ arii problemei logaritmului
discret^ ³ntr-un corp ¯nit. Pentru a genera o pereche de chei vom alege pentru^ ³nceput
un num¸ ar prim p» si dou¸ a numere g» sixambele mai mici dec^ at p:Vom calcula:
y´gxmodp:
Cheia public¸ a este y; g; p iar cheia privat¸ a este x:Ambele numere g» sippot ¯
comune unui grup de utilizatori. Algoritmul de semn¸ atur¸ a digital¸ a ElGamal este
prezentat ^ ³n capitolul 10 :
Pentru a cifra un mesaj Mvom alege mai ^ ³nt^ ai un num¸ ar aleatoriu krelativ prim
cup¡1:Vom calcula apoi:
a´gkmodp
b´ykMmodp
Perechea ( a; b) constituie textul cifrat (acesta este de dou¸ a ori mai mare dec^ at
textul clar).
Pentru a descifra ( a; b) calcul¸ am:
M´ba¡xmodp;
deoarece ax´gxkmodp» siba¡xmodp´ykMa¡xmodp´gkxMg¡kxmodp´
Mmodp:
9.7. Curbe eliptice
Folosirea curbelor eliptice ^ ³n criptogra¯e a fost propus¸ a pentru prima oar¸ a ^ ³n
1985 de Victor Miller (IBM) » si, independent, de Neal Koblitz [39]. Ideea de baz¸ a
era folosirea grupului de puncte de pe o curb¸ a eliptic¸ a ^ ³n locul grupului Z¤
p:Recent
curbele eplitice au fost folosite pentru conceperea unor algoritmi e¯cient »i de factor-
izare a^ ³ntregilor » si pentru demonstrarea primalit¸ at »ii. Ele au fost utilizate^ ³n constru-
irea criptosistemelor cu chei publice, ^ ³n construct »ia generatoarelor pseudoaleatoare
212 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
de bit »i. Curbele eliptice » si-au g¸ asit aplicabilitate » si ^ ³n teoria codurilor, unde au fost
^ ³ntrebuint »ate pentru obt »inerea unor coduri corectoare de erori, foarte bune. Curbele
eliptice au jucat un rol foarte important » si ^ ³n demonstrarea recent¸ a a Ultimei Teo-
reme a lui Fermat.
De¯nit »ia 9.7.1. Ocurb¸ a eliptic¸ a ,E, const¸ a din elemente (numite puncte) de
tipul ( x; y) ce satisfac ecuat »ia:
y2´x3+ax+bmodp
(unde a» sibsunt constante astfel ^ ³nc^ at 4 a3+ 27b26= 0 mod p;iarpeste un num¸ ar
prim) ^ ³mpreun¸ a cu un elemente singular, notat O» si numit punctul de la in¯nit.
Acest punct poate ¯ privit ca ¯ind punctul din v^ arful » si de la baza oric¸ arei linii
verticale.
O curb¸ a eliptic¸ a Eare o structur¸ a de grup abelian ^ ³mpreun¸ a cu operat »ia adunare.
Adunarea a dou¸ a puncte de pe o curb¸ a eliptic¸ a este de¯nit¸ a ^ ³n concordant »¸ a cu o
mult »ime simpl¸ a de reguli (vezi ¯gura 9.1).
Fiind date dou¸ a puncte pe E; P 1(x1; y1) » siP2(x2; y2);avem urm¸ atoarele cazuri:
-dac¸ a x2=x1» siy2=¡y1atunci P1+P2= 0:
-altfel P1+P2= (x3; y3);unde:
(
x3=¸2¡x1¡x2
y3=¸(x1¡x3)¡y1
cu
¸=(y2¡y1
x2¡x1;dac¸ a P16=P2
3×2
1+a
2y1;dac¸ a P1=P2
Operat »ia de adunare pe o curb¸ a eliptic¸ a este corespondenta operat »iei de ^ ³nmult »ire
^ ³n sistemele cu chei publice obijnuite, iar adunarea multipl¸ a este corespondent »a
exponent »ierii modulare din acestea.
De» si regulile de calcul ^ ³n grupul punctelor unei curbe eliptice par destul de com-
plicate, aritmetica acestora poate ¯ implementat¸ a extrem de e¯cient, calculele ^ ³n
acest grup ¯ind realizate mult mai rapid dec^ at cele din grupul Zp:
Corespondent »a problemei logaritmilor discret »i la curbele eliptice este problema
logaritmilor pe curbe eliptice, de¯nit¸ a dup¸ a cum urmeaz¸ a: ¯ind dat un punct Gpe
o curb¸ a eliptic¸ a, de ordin r(num¸ arul punctelor de pe curba eliptic¸ a) » si un alt punct
Y;s¸ a se g¸ aseasc¸ a un unic xcu 0·x·r¡1 astfel ^ ³nc^ at Y=xG:
Cele mai bune atacuri asupra problemelor logaritmilor pe curbe eliptice sunt
metodele general aplicabile oric¸ arui grup, ceea ce f¸ acea ca acestea s¸ a ¯e deosebit de
APLICAT »II PRACTICE 213
Figura 9.1: Operat »ia de adunare pe o curb¸ a eliptic¸ a.
ine¯ciente pe un anumit caz particular. Datorit¸ a lipsei metodelor de atac special-
izate, criptosistemele bazate pe curbe eliptice, folosind chei de dimensiuni reduse,
ofer¸ a aceea» si securitate ca » si criptosistemele bazate pe problema logaritmilor discret »i
ce folosesc chei mult mai mari. Vom ment »iona, ca scheme criptogra¯ce cu ajutorul
curbelor eliptice scheme similare algoritmul de schimbare de chei Di±e-Helman, al-
gorimtmilor ce cifrare Massey-Omura » si ElGamal. Descrierea acestora dep¸ a» se» ste
cadrul acestui curs (a se vedea Koblitz [39] » si [40]). Pentru un exemplu privind
schema de cifrare ElGamal pe curbe eliptice a se vedea exercit »iul 9 :11:10:
9.8. Aplicat »ii practice
Aplicat »iile practice, de veri¯care a corectitudinii utiliz¸ arii » si implement¸ arii algo-
ritmului RSA (relativ la problemele semnalate ^ ³n paragrafele anterioare), pot ¯ de
exemplu din categoriile urm¸ atoare:
-aplicat »ii software cum ar ¯ programul de protect »ie a po» stei electronice PGP
(Pretty Good Privacy), ^ ³n special la partea de generare a cheilor publice/private,
214 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
anveloparea cheii de sesiune (cu ajutorul cheii publice a destinatarului) » si a semn¸ arii
mesajului (cu ajutorul cheii private a emitentului);
-smart-carduri folosite ^ ³n sistemul de pl¸ at »i electronice;
-tokenuri utilizate pentru autenti¯carea utilizatorului » si/sau a mesajelor;
-aplicat »ia de generare a cheilor publice/private dintr-o structur¸ a de tip PKI ( Pub-
lic Key Infrastructure ) cum ar ¯, de exemplu, implementarea funct »iei de generare a
cheilor din OpenSSL ( Secure Socket Layer ).
Direct »ii ulterioare de investigare ar consta^ ³n identi¯carea vulnerabilit¸ at »ilor ce pot
apare ^ ³n cazul utiliz¸ arii problemelor computat »ionale de calculul a r¸ ad¸ acinii p¸ atrate
modulo un num¸ ar compozit (algoritmul Rabin ) » si a logaritmului discret (algoritmul
ElGamal ). Totodat¸ a vom avea ^ ³n vedere investigarea problemelor similare ce pot
apare ^ ³n cazul utiliz¸ arii curbelor eliptice.
9.9. Teste de primalitate » si metode de factorizare
9.9.1. Teste de primalitate
Prezent¸ am o serie de teoreme cunoscute » si sub denumirea de teste de primalitate .
Teorema lui Euler. Dac¸ a (b; m) = 1 atuci bÁ(m)´1 mod m:
Teorema lui Fermat. Dac¸ a peste num¸ ar prim care nu divive batunci bp¡1´
1 mod p:
Teorema lui Wilson. Num¸ arul peste prim dac¸ a » si numai dac¸ a avem congruent »a
(p¡1)!´1 mod p:
Ciurul lui Erastotene. Num¸ arul peste prim dac¸ a » si numai dac¸ a nu este
divizibil cu nici un num¸ ar natural mai mic ca [pp]:
Pentru valori mari ale lui ptestul lui Wilson » si testul lui Erastotene nu sunt
e¯ciente din punct de vedere al timpului de calcul. Vom investiga acum reciproca
teoremei lui Fermat. Vom spune despre un num¸ ar natural pca este pseudoprim
cu baza bdac¸ a bp¡1´1 mod p:Numerele pseudoprime care nu sunt prime sunt
rare: spre exemplu exist¸ a numai 22 de numere mai mici ca 10000 pseudoprime ^ ³n
baza 2 care nu sunt prime: 341 ;561;645;1105; ::::Un num¸ ar pse nume» ste num¸ ar
Carmichael dac¸ a este pseudoprim cu orice baz¸ a b·p¡1:Numerele Carmichael
sunt extrem de rare: de exemplu, exist¸ a numai 255 de numere mai mici ca 1000000 :
^In concluzie reciproca teoremei lui Fermat poate ¯ folosit¸ a ca test de primalitate cu
rata de eroare tinz^ and la zero c^ and reprezentarea sa binar¸ a tinde la in¯nit.
Testul Miler-Rabin dep¸ a» se» ste problemele testului simplu de pseudoprimalitate
prin dou¸ a modi¯c¸ ari:
-^ ³ncearc¸ a s¸ a aleag¸ a aleator diferite valori ale bazei b^ ³n loc de o singur¸ a valoare;
-^ ³n timp ce calculeaz¸ a ¯ecare exponent »iere modular¸ a (ridicare la p¸ atrat urmat¸ a de
stabilirea restului modulo p), stabile» ste dac¸ a nu cumva a fost descoperit¸ a o r¸ ad¸ acin¸ a
TESTE DE PRIMALITATE S »I METODE DE FACTORIZARE 215
netrivial¸ a a lui 1 modulo p:^In caz a¯rmativ testul va decide faptul c¸ a num¸ arul peste
compozit. Rata de eroare a testului Miller-Rabin pentru orice num¸ ar ^ ³ntreg impar
este de1
2s;unde ssunt num¸ arul de valori aleatoare alese pentru baza b:
Testul Fermat
Ideea testului Fermat este aceea de a utiliza reciproca teoremei lui Fermat . Vom
prezenta, sub form¸ a de pseudocod, algoritmul de primalitate al lui Fermat.
FERMAT (n,t)
Intrare : un num¸ ar impar n¸3 » si un parametru de securitate t¸1:
Ie» sire : decizia asupra primalit¸ at »ii.
PASUL 1 . Pentru i= 1; :::; t se execut¸ a:
1.1 se alege aleatoriu acu 2·a·n¡2:
1.2 calculeaz¸ a r=an¡1modn:
1.3 dac¸ a r6= 1 atunci se decide neste compozit .
PASUL 2. Se decide: neste prim.
Observat »ia 9.9.1. Un num¸ ar compozit ncare este declarat prim de testul Fer-
mat se nume» ste num¸ ar pseudoprim Fermat iar numerele ape baza c¸ arora se ia
decizia de primalitate se numesc numere false Fermat.
Testul Solovay-Strassen
Ideea testului Solovay-Strassen este aceea de a utiliza criteriului lui Euler : dac¸ a
neste un num¸ ar prim atunci:
an¡1
2´(a
n) mod npentru orice ^ ³ntreg acare satisface ( a; n) = 1 ;
unde (a
n) este simbolul lui Legendre de¯nit ^ ³n Anexa I.
Vom prezenta, sub form¸ a de pseudocod, algoritmul de primalitate Solovay-Strassen.
SOLOVAY-STRASSEN (n,t)
Intrare : un num¸ ar impar n¸3 » si un parametru de securitate t¸1:
Ie» sire : decizia asupra primalit¸ at »ii.
PASUL 1 . Pentru i= 1; :::; t se execut¸ a:
1.1 se alege aleatoriu acu 2·a·n¡2:
1.2 calculeaz¸ a r=an¡1
2modn:
1.3 dac¸ a r6= 1 » si r6=n¡1 atunci se decide neste compozit .
1.4 se calculeaz¸ a simbolul lui Legendre s= (a
n).
1.5 dac¸ a r6=satunci se decide neste compozit .
PASUL 2. Se decide: neste prim.
216 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
Observat »ia 9.9.2. Un num¸ ar compozit ncare este declarat prim de testul Euler
se nume» ste num¸ ar pseudoprim Euler iar numerele ape baza c¸ arora se ia decizia de
primalitate se numesc numere false Euler.
Observat »ia 9.9.3. Rata de eroare (probabilitatea da un num¸ ar compozit s¸ a ¯e
declarat prim) a testului Solovay-Strassen este mai mic¸ a ca1
2t:
Testul Miller-Rabin
Testul Miller-Rabin este cunoscut » si ca testul tare de primalitate » si se bazeaz¸ a pe
urm¸ atoarea teorem¸ a.
Teorema 9.9.1. Fienun num¸ ar prim impar, » si n¡1 = 2srunde reste impar.
Fie deasemenea un ^ ³ntreg aastfel ca ( a; n) = 1 :Atunci ar´1 mod nsaua2jr´
¡1 mod npentru un j;0·j·s¡1:
Vom prezenta, sub form¸ a de pseudocod, algoritmul de primalitate Miller-Rabin.
MILLER-RABIN (n,t)
Intrare : un num¸ ar impar n¸3 » si un parametru de securitate t¸1:
Ie» sire : decizia asupra primalit¸ at »ii.
PASUL 1. Se scrie n¡1 = 2srunde reste impar.
PASUL 2 . Pentru i= 1; :::; t se execut¸ a:
2.1 se alege aleatoriu acu 2·a·n¡2:
2.2 calculeaz¸ a y=armodn:
2.3 dac¸ a y6= 1 » si y6=n¡1 atunci se execut¸ a:
j= 1:
At^ ata timp c^ at j·s¡1 » siy6=n¡1 se execut¸ a:
calculeaz¸ a y=y2modn:
dac¸ a y= 1 atunci se decide neste compozit .
j=j+ 1:
dac¸ a y6=n¡1 atunci se decide neste compozit .
PASUL 2. Se decide: neste prim.
Observat »ia 9.9.4. Un num¸ ar compozit ncare este declarat prim de testul
Miller-Rabin se nume» ste num¸ ar pseudoprim Miller-Rabin (sau pseudoprime tari)
iar numerele ape baza c¸ arora se ia decizia de primalitate se numesc numere false
Miller-Rabin (tari).
Observat »ia 9.9.5. i)Rata de eroare (probabilitatea da un num¸ ar compozit s¸ a
¯e declarat prim) a testului Miller-Rabin este mai mic¸ a ca1
4tmult mai mic¸ a dec^ at
a testului Solovay-Strassen care este1
2t.
TESTE DE PRIMALITATE S »I METODE DE FACTORIZARE 217
ii) Cele trei teste pot ¯ ordonate descendent din punct de vedere al e¯cient »ei, ^ ³n
sensul c¸ a mult »imea numerelor false Miller-Rabin este inclus¸ a ^ ³n mult »imea numerelor
false Euler care la r^ andul ei este inclus¸ a ^ ³n mult »imea numerelor false Fermat.
iii) Testul Solovay-Strassen este cel mai complex^ ³n ceea ce prive» ste implementarea
datorit¸ a necesit¸ at »ii evalu¸ arii simbolului lui Legendre.
Observat »ia 9.9.6. Dac¸ a n´3 mod 4 atunci un num¸ ar aeste num¸ ar fals Euler
dac¸ a » si numai dac¸ a acesta este fals Miler-Rabin.
9.9.2. Metode de factorizare
Metodele de factorizare se ruleaz¸ a de regul¸ a dup¸ a testele de primalitate » si pun ^ ³n
evident »¸ a factorii primi ce constituie num¸ arul testat. O serie de tehnici de factorizare
fac apel la utilizarea ¯ltrelor (de exemplu sita p¸ atratic¸ a):
-metoda Dixon;
-metoda Pomerace-Silverman-Montgomery.
9.9.3. Metode de generare a numerelor prime
Acest¸ a sect »iune prezint¸ a tehnici de generare a numerelor prime precum » si a nu-
merelor prime tari (vezi observat »ia 9.3.1 pentru de¯nit »ia acestora). Un algoritm de
generat numere prime (prin c¸ autare prin incrementare), ^ ³ntre dou¸ a limite pmin» si
pmax;care satisface condit »ia gcd(p¡1; f) = 1 (cu fdat de IEEE P1363/D13 [33],
pagina 73) este urm¸ atorul.
GEN PRIM (pmin,pmax; f)
Intrare. Limitele pmin» sipmax» sifnum¸ ar natural.
Ie» sire. Un num¸ ar prim pcuprins ^ ³ntre limitele pmin» sipmax:
PASUL 1 . Se genereaz¸ a aleatoriu un num¸ ar impar pcuprins ^ ³ntre limitele pmin
» sipmax:
PASUL 2. Dac¸ a p > p maxatunci p=pmin+pmod( pmax+ 1) » si se trece la
PASUL 2 .
PASUL 3. Se calculeaz¸ a d=gcd(p¡1; f):Dac¸ a d= 1;se testeaz¸ a num¸ arul p
pentru primalitate. Dac¸ a peste num¸ ar prim atunci se returneaz¸ a num¸ arul prim p:
^In caz contrar p=p+ 2 » si se trece la PASUL 3 .
Urm¸ atorul algoritm atribuit lui Gordon va genera numere prime tari p:p¡1 are
un factor prim mare u; p+ 1 are un factor prim mare v; u¡1 are un factor prim
mare t:
GORDON (pmin,pmax; s; t)
Intrare. Limitele pmin» sipmax» si un parametru de securitate t¸1 » sisun
parametru de ¯abilitate.
218 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
Ie» sire. Un num¸ ar prim ptare.
PASUL 1 . Se genereaz¸ a aleatoriu dou¸ a numere prime aleatoare v» siwde aprox-
imativ aceeia» si lungime (conform algoritmului de generare numere prime prin incre-
mentare).
PASUL 2. Se alege un ^ ³ntreg i0:Fieu= 2iw+1 primul num¸ ar prim ^ ³n progresia
2iw+ 1 pentru i=i0; i0+ 1; ::::
PASUL 3. Se calculeaz¸ a p0= 2(vw¡2modu)v¡1:
PASUL 4. Se alege un ^ ³ntreg j0:Fiep=p0+ 2juvprimul num¸ ar prim ^ ³n
progresia p0+ 2juvpentru j=j0; j0+ 1; ::::
PASUL 5. Se returneaz¸ a num¸ arul prim tare p:
9.10. Infrastructura Cheilor Publice (PKI)
9.10.1. Elementele PKI
Algoritmii criptogra¯ci asimetrici confer¸ a un grad de securitate comercial iar
ace» stia se pot folosi, de regul¸ a, ^ ³n cadrul protocoalelor criptogra¯ce referitoare la
transferul cheilor de cifrare sau autenti¯care. ^In unele aplicat »ii se pot folosi » si ^ ³n
cadrul operat »iei de cifrare. Ambele metode (cifrarea simetric¸ a » si cifrarea asimetric¸ a)
au punctele lor slabe: managementul cheilor de cifrare respectiv complexitatea algo-
ritmului de cifrare. Una dintre aplicat »iile cele mai frecvente ale sistemelor asimetrice
este aceea a PKI ( Public Key Infrastructure ). O astfel de infrastructur¸ a se compune
din urm¸ atoarele elemente:
-autoritatea de certi¯care (CA) care genereaz¸ a, revoc¸ a, public¸ a » si arhiveaz¸ a cer-
ti¯catele digitale;
-autoritatea de ^ ³nregistrare (RA) care accept¸ a » si valideaz¸ a cererile de certi¯cate,
trimite cereri de certi¯cate c¸ atre CA, prime» ste certi¯catele » si lista certi¯catelor re-
vocate (CRL), genereaz¸ a cererile de revocare a certi¯catelor;
-det »in¸ atorii de certi¯cate care genereaz¸ a semn¸ aturi digitale, genereaz¸ a cereri de
certi¯cate, cereri de revocare de certi¯cate, cereri de re^ ³nregistrare (opt »ional);
-clientul PKI care veri¯c¸ a semn¸ aturi, obt »ine certi¯cate » si CRL de la baza de date
» si valideaz¸ a calea de certi¯carea.
Comunicat »ia datelor ^ ³ntre RA » si CA trebuie realizat¸ a ^ ³n condit »ii de deplin¸ a
sigurant »¸ a (o®-line) pentru a proteja cheia privat¸ a a autorit¸ at »ii de certi¯care.
O infrastructur¸ a PKI se folose» ste de regul¸ a pentru a realiza con¯dent »ialitatea,
nerepudierea, integritatea » si autenti¯carea mesajelor » si/sau identi¯carea/autenti¯carea
utilizatorului (control acces).
Cheia privat¸ a pentru semn¸ atura digital¸ a (utilizat¸ a ^ ³n nerepudiere, integritate » si
autenti¯care) trebuie generat¸ a de c¸ atre utilizator » si nu trebuie s¸ a ¯e transmis¸ a unei
tert »e p¸ art »i.
INFRASTRUCTURA CHEILOR PUBLICE (PKI) 219
Cheia privat¸ a folosit¸ a la cifrare (utilizat¸ a pentru realizarea con¯dent »ialit¸ at »ii) tre-
buie s¸ a ¯e » si ^ ³n posesia unei tert »e p¸ art »i pentru activarea serviciului de recuperare a
cheilor (de regul¸ a ^ ³n acest caz cheia privat¸ a este generat¸ a de c¸ atre RA » si comunicat¸ a
la CA). ^In acest caz perechea de chei public¸ a-privat¸ a se folose» ste pentru cifrarea
cheii secrete de sesiune. Cifrarea mesajelor sau a comunicat »iei se face de regul¸ a cu
un algoritm simetric (bloc sau °ux).
Standardul X.509 V3, ofer¸ a printre altele, » si forma certi¯catelor digitale care
trebuie s¸ a cont »in¸ a: versiunea ceri¯catului, num¸ arul serial, algoritmul utilizat de
semn¸ atur¸ a utilizat de emitent, identi¯carea emitentului, perioada de valabilitate,
identi¯carea posesorului, informat »ii despre cheia public¸ a a utilizatorului (cheia pub-
lic¸ a a utilizatorului: versiunea, modulul de cifrare, exponentul de cifrare, etc.), tipul
posesorului (utilizator sau CA) informat »ii despre posesor, atribute ale cheii (utilizat¸ a
la semn¸ atur¸ a sau schimbul de chei), informat »ii despre politica de securitate a CA,
extensii, semn¸ atura (emitentului certi¯catului) a datelor anterioare.
Cheia privat¸ a a utilizatorului este compus¸ a din: versiunea cheii, modulul de
cifrare care este produs de dou¸ a numere prime mari, exponentul de cifrare, ex-
ponentul de descifrare, cele dou¸ a numere prime p» siqal c¸ aror produs este modulul
de cifrare, dmod( p¡1); dmod( q¡1); q¡1modp(acestea ¯ind utilizate pentru op-
timizarea operat »iilor private cu CRT).
9.10.2. Ghid de folosire a tehnologiei PKI ^ ³n ret »ele deschise
Urm¸ atoarele cinci probleme trebuiesc urm¸ arite ^ ³nainte de a implementa tehnolo-
gia PKI ^ ³n ret »elele deschise (de exemplu ret »eaua Internet).
1.Bene¯ciile, directe » si indirecte, ¯nanciare » si ne¯nanciare, obiective » si subiec-
tive ale utiliz¸ arii semn¸ aturilor digitale pentru aplicat »ia propus¸ a:
-optimizarea resursei timp;
-optimizarea costurilor;
-disponibilitate marit¸ a a tipului de servicii furnizate;
-integritatea datelor;
2.Costurile a) de a converti un sistem de procesare electronic la un sistem ce
folose» ste sistemul de semn¸ atura digital¸ a sau de a converti un proces non-electronic
la unul electronic ce folose» ste sistemul de semn¸ atur¸ a digital¸ a, b) de funct »ionare dup¸ a
operat »ia de conversie:
-nivelul de ^ ³ncredere solicitat;
-integritatea cheilor publice » si a cheilor private;
-cuanti¯carea consecint »elor potent »ialelor riscuri;
-politici, practici » si proceduri;
-conectarea la o infrastructur¸ a existent¸ a;
-interoperabilitatea cu alte infrastructuri;
220 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
-^ ³nregistrarea operat »iilor (a managementului);
-conformitatea cu standardele PKI;
-realizarea aplicat »iilor program;
-evalu¸ arile p¸ art »ilor implicate;
-cerint »e de statut adit »ionale;
3.Riscurile asociate cu folosirea cheii publice pentru aceast¸ a aplicat »ie:
-frauda;
-^ ³ntreruperea serviciului sau disfunct »ionalit¸ at »i de scurt¸ a durat¸ a;
-legibilitate;
4.Bene¯ciile determinate la prima problema comparativ cu costurile stabilite la
cea de-a doua problem¸ a » si riscurile stabilite la pasul 3:
-bene¯cii inerente;
-parte dintr-un proces mult mai complex;
-impactul asupra utilizatorului;
-examinarea riscurilor;
5.Implement¸ arile critice pe care un organism trebuie s¸ a le rezolve pentru a im-
plementa » si folosi PKI pentru operat »ia de semn¸ atur¸ a digital¸ a:
-realizarea unei politici de certi¯care » si reguli practice de certi¯care;
-stabilirea acelor directory service care sunt necesare aplicat »iei pe care o utilizeaz¸ a
PKI, asigurarea disponibilit¸ at »ii acestora;
-interoperabilitatea cu alte infrastructuri externe similare (PKI);
-adaptarea aplicat »iilor la structura PKI;
-implementarea structurii PKI » si a aplicat »iilor ^ ³n mod secvent »ial;
-integrarea procesului de ^ ³nregistrare la PKI ^ ³n politica de personal;
-identi¯carea cerintelor softului PKI » si a aplicat »iilor program pentru a opera prin
¯rewall » si rutere;
-tipul de funct »ionare on-line si/sau o®-line;
-stabilirea personalui ce realizeaz¸ a operat »ia de audit;
-validarea semn¸ aturii digitale dup¸ a realizare.
9.10.3. Riscuri ale utiliz¸ arii tehnologiei PKI
Vom enumera o serie de riscuri referitoare la folosirea tehnologiei PKI.
1.^In cine avem ^ ³ncredere » si pentru ce anume.
2. Protect »ia cheii (de semn¸ atur¸ a digital¸ a) private a utilizatorului.
3. Securitatea computerului care realizeaz¸ a veri¯carea.
4. Asocierea cheii publice cu numele destinatarului.
5. Autoritatea de certi¯care (CA).
6. Politica de securitate a utilizatorului.
7. Unicitatea CA » si dualismul RA.
APLICAT »II 221
8. Identi¯carea de c¸ atre CA a det »in¸ atorului de certi¯cat.
9. Folosirea adecvat¸ a a certi¯catelor.
10. Utilizarea procesului CA.
9.10.4. Standarde ale PKI
Deoarece o infrastrucur¸ a cu chei publice trebuie s¸ a ¯e interoperabil¸ a cu alte struc-
turi similare a ap¸ arut ca o necesitate standardizarea formei certi¯catelor digitale » si a
funct »iilor criptogra¯ce utilizate. Un astfel de standard este standarul X.509 pentru
certi¯cate » si protocolul SSL(Secure Socket Layer ) pentru primitivele criptogra¯ce.
Standardul SSL prevede urm¸ atoarele primitive criptogra¯ce:
1.Cifruri bloc : DES (standard de cifrare SUA), AES (standard de cifrare SUA),
BLOWFISH (Bruce Schneier), CAST (Carlisle Adams » si Sta®ord Tavares), IDEA
(Xuejia Lai » sI James Massey), RC2, RC5 (Ron Rivest).
2.Cifruri °ux : RC4 (Ron Rivest).
3.Cifruri cu chei publice : RSA (Rivest, Shamir, Adellman), EC (curbe eliptice),
PKCS (¯rma RSA).
4.Funct »ii hash : SHA (NIST » si NSA), MD2, MD4, MD5 (Ron Rivest), RIPEMD
(Comunitatea European¸ a), LHASH (Eric Young).
5.Funct »ii de semn¸ atur¸ a digital¸ a : DSA (NIST), MDC (funct »ii de semn¸ atur¸ a cu
ajutorul cifrurilor bloc), HMAC (funct »ii de semn¸ atur¸ a cu ajutorul funct »iilor hash
bazate pe o cheie secret¸ a).
6.Protocoale de schimb al cheilor : Di±e-Hellman.
7.Protocoale de autenti¯care : Kerberos.
8.Generatoare pseudoaleatoare : RAND pachet de generatoare de numere pseudoaleatoare.
9.11. Aplicat »ii
Exercit »iul 9.11.1. S¸ a se cifreze mesajul M= 3;utiliz^ and sistemul RSA cu
urm¸ atorii parametrii: n= 187 = 11 ¢17 (modulul de cifrare), s= 7 (cheia public¸ a).
R¸ aspuns. Criptograma este:
E=Ms= 37= 2187 = 130 mod 187 :
Deoarece dispunem de factorizarea n= 11¢17 calcul¸ am '(n) = 16 ¢10 = = 160 ;
'('(n)) = 64 :
Exponentul de descifrare va ¯:
t=s'('(n))¡1= 763= (79)7= (40353607)7= 77= 823543 = 23 mod 160 :
222 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
Descifrarea mesajului Eva ¯:
Et= 13023= 3 = Mmod 187 :
Exercit »iul 9.11.2. S¸ a se contruiasc¸ a cheia public¸ a pentru un algoritmul Merkle-
Hellman reprezentat de cheia privat¸ a f2;3;6;13;27;52g;modulul p= 105 » si multi-
plicatorul m= 31:
Exercit »iul 9.11.3. S¸ a se cifreze mesajul binar 011000110101101110 cu ajutorul
cheii publice setate la exercit »iul 9 :11:2:
Exercit »iul 9.11.4. S¸ a se descifreze mesajul f174;280;333gcu ajutorul cheii pri-
vate de la exercit »iul 9 :11:2:
Exercit »iul 9.11.5. Se poate da o interpretare ¯zic¸ a a sistemelor de cifrare cu
cheie public¸ a?
R¸ aspuns. Cheia public¸ a poate ¯ privit¸ a ca un lac¸ at desf¸ acut ce se poate ^ ³nchie
f¸ ar¸ a a utiliza cheia, iar pentru a deschide acest lac¸ at este nevoie de cheia privat¸ a.
Exercit »iul 9.11.6. S¸ a se dea o interpretare ¯zic¸ a a protocolului Di±e-Hellman,
dac¸ a se adopt¸ a modelul dat ^ ³n solut »ia problemei 9 :11:5:
Exercit »iul 9.11.7. S¸ a se speci¯ce pentru algoritmul ElGamal cu parametrii p=
17; g= 14; x= 2 cheia public¸ a » si cheia privat¸ a.
Exercit »iul 9.11.8. Folosind algoritmul stat la problema precedent¸ a 9 :11:7 s¸ a se
cifreze mesajul M= 4:
Exercit »iul 9.11.9. S¸ a se descifreze mesajul (12 ;15) cu ajutorul algoritmului
setat la problema 9 :11:7:
Exercit »iul 9.11.10. S¸ a se cifreze mesajul (10 ;9) utiliz^ and curba eliptic¸ a (pub-
lic¸ a) E:y2=x3+x+ 6 pe Z11cu ajutorul algoritmului ElGamal.
R¸ aspuns. Pentru a calcula punctele curbei eliptice se calculeaz¸ a valorile z=
x3+x+6 mod 11 ;se vede care din aceste valori sunt reziduri p¸ atratice cu ajutorul teo-
remei lui Euler ( zeste reziduu p¸ atratic dac¸ a » si numai dac¸ a zp¡1
2´1 mod p) iar apoi
APLICAT »II 223
se calculeaz¸ a r¸ ad¸ acinile p¸ atrate ale acestor reziduri prin formula y=§zp+1
2modp).
Punctele curbei eliptice vor ¯:
f(2;7);(2;4);(3;5);(3;6);(5;2);(5;9);(7;2);(7;9);(8;3);(8;8);(10;2);(10;9); Og:
Grupul Eeste grup ciclic (num¸ arul de elemente este al grupului este num¸ ar prim)
» si se ia ca generator pentru acesta elementul (public) ®= (2;7):Cheia privat¸ a de
descifrare, notat¸ a prin d, este o valoare ^ ³ntre 1 » si num¸ arul de puncte de pe o curb¸ a
eliptic¸ a ¡1:Cheia public¸ a, notat¸ a prin ¯;se obt »ine din ®» si exponentul secret dprin
formula ¯=d®:
Operat »ia de cifrare a mesajul Mcu ajutorul cheii (secrete) keste:
E(M; k) = (k®; M +k¯):
Operat »ia de descifrare pentru a obt »ine Meste:
Dk(y1; y2) =y2¡dy1:
Exercit »iul 9.11.11. Implementat »i un algoritm de generare a cheilor RSA care
s¸ a cont »in¸ a trape prin:
-ascunderea exponent »ilor privat »i mici;
-ascunderea exponent »ilor publici primi;
-ascunderea factorilor primi.
Exercit »iul 9.11.12. Prin ce se caracterizeaz¸ a criptogra¯a asimetric¸ a fat »¸ a de
criptogra¯a simetric¸ a?
Exercit »iul 9.11.13. S¸ a se factorizeze num¸ arul n= 97343 » stiind c¸ a acesta este
produsul a dou¸ a numere prime apropiate.
224 CRIPTANALIZA CIFRURILOR CU CHEI PUBLICE
Capitolul 10
CRIPTANALIZA
SEMN ¸ATURILOR DIGITALE
Cryptography+loose of discipline=haos.
Equation of russian cryptologist
10.1. Prezentare general¸ a
Dup¸ a ce dispunem de un algoritm de cifrare » si un sistem de generare a cheilor tre-
buie s¸ a organiz¸ am transferul cheilor generate c¸ atre bene¯ciarii sistemului criptogra¯c
pentru ca ace» stia s¸ a poat¸ a comunica ^ ³n condit »ii de sigurant »¸ a. Aceast¸ a distribut »ie
de chei se poate face prin curier (operat »ie costisitoare) sau folosind chiar canalul
de comunicat »ie (dar ^ ³n acest caz trebuie s¸ a demonstr¸ am matematic rezistent »a unui
astfel de protocol).
^In timp ce criptogra¯a clasic¸ a se ocupa doar de asigurarea secretului comunicat »iilor,
criptologia modern¸ a se ocup¸ a » si de problema autenticit¸ at »ii. Autenti¯carea este un
operator dual operatorului de criptare: ^ ³n cadrul operat »iei de autenti¯care exist¸ a
un anume grad de redundant »¸ a a mesajului, pe c^ and ^ ³n cadrul operat »iei de criptare
aceast¸ a redundant »¸ a este minim¸ a.
Autenticitatea se refer¸ a la dou¸ a aspecte:
-autenticitatea mesajelor, c^ and problema este de a asigura destinatarul c¸ a mesajul
recept »ionat este cel trimis de expeditor;
-autenticitatea utilizatorului, c^ and problema este de a veri¯ca faptul c¸ a utiliza-
torul este persoana ce pretinde a ¯.
Asigurarea autenticit¸ at »ii a fost impus¸ a, ^ ³n special, de:
-existent »a intercept¸ arii active, c^ and atacatorul poate interveni asupra cont »inutu-
lui mesajelor interceptate;
225
226 CRIPTANALIZA SEMN ¸ATURILOR DIGITALE
-aparit »ia po» stei electronice, ^ ³n care put »ine mesaje necesit¸ a a ¯ secretizate dar
pentru foarte multe mesaje este necesar¸ a autenti¯carea.
^In afara faptului c¸ a destinatarul trebuie s¸ a ¯e sigur c¸ a mesajul recept »ionat este
cel trimis de expeditor, un sistem de autenti¯care trebuie s¸ a asigure » si solut »ionarea
eventualelor dispute ^ ³ntre cei doi corespondent »i.
^In cazul utiliz¸ arii po» stei clasice, autenticitatea » si eventualele dispute sunt solut »-
ionate prin semnarea documentului de c¸ atre expeditor. Aceast¸ a semn¸ atur¸ a ar trebui
s¸ a ^ ³ndeplineasc¸ a urm¸ atoarele funct »ii (ideale):
1. semn¸ atura este nefalsi¯cabil¸ a : semn¸ atura este o dovad¸ a c¸ a semnatarul a semnat
^ ³n mod deliberat documentul;
2. semn¸ atura este autentic¸ a : semn¸ atura convinge destinatarul c¸ a semnatarul a
semnat ^ ³n mod deliberat documentul;
3. semn¸ atura este nereutilizabil¸ a : semn¸ atura face parte din document » si nu poate
¯ mutat¸ a pe alt document ;
4. documentul semnat este inalterabil : dup¸ a semnare documentul nu poate ¯
modi¯cat ;
5. semn¸ atura este nerepudiabil¸ a : semnatarul nu poate pretinde mai t^ arziu c¸ a nu
a semnat documentul respectiv.
^In cazul utiliz¸ arii po» stei electronice (precum » si a altor instrumente asem¸ an¸ atoare)
s-au inventat sisteme criptogra¯ce care s¸ a satisfac¸ a aceste cerint »e; au ap¸ arut astfel
algoritmii pentru SEMN ¸ATURI DIGITALE .
Ment »ion¸ am c¸ a, ^ ³n multe din lucr¸ arile de specialitate, prin autenti¯care se ^ ³nt »elege
doar autenti¯carea utilizatorului (care se poate face » si cu ajutorul semn¸ aturilor digi-
tale),^ ³n timp ce semn¸ aturile digitale sunt destinate asigur¸ arii autenticit¸ at »ii mesajelor
» si rezolv¸ arii eventualelor dispute dintre corespondent »i.
10.2. Not »iuni preliminare
Funct »ii unidirect »ionale (One-Way Functions). ^Incepem printr-o serie de
de¯nit »ii.
De¯nit »ia 10.2.1. O funct »ie fse nume» ste funct »ie unidirect »ional¸ a dac¸ a:
a) ¯ind dat x, este u» sor de calculat f(x);
b) ¯ind dat f(x), este greu de calculat x.
De¯nit »ia 10.2.2. O funct »ie fse nume» ste funct »ie unidirect »ional¸ a cu trap¸ a (trap-
door) dac¸ a:
a) ¯ind dat x, este u» sor de calculat f(x);
b) ¯ind dat f(x), este greu de calculat x;
c) pe baza unei informat »ii secrete y, este u» sor de calculat xdinf(x).
NOT »IUNI PRELIMINARE 227
Deci funct »iile unidirect »ionale cu trap¸ a sunt funct »ii unidirect »ionale speciale care
permit calculul u» sor al lui xdinf(x) c^ and este cunoscut¸ a o anumit¸ a informat »ie,
f¸ ar¸ a aceast¸ a informat »ie calculul lui xdinf(x) ¯ind imposibil din punct de vedere
computat »ional.
Not¸ a. Din punct de vedere strict matematic, nu exist¸ a nici o demonstrat »ie de
existent »¸ a a funct »iilor unidirect »ionale » si nici un argument real c¸ a ele pot ¯ construite.
Cu toate acestea, exist¸ a multe funct »ii care par a ¯ unidirect »ionale: f(x) se poate
calcula u» sor » si, cel put »in p^ an¸ a ^ ³n prezent, nu s-a g¸ asit o cale u» soar¸ a de a obt »ine x
dinf(x).
At^ at funct »iile unidirect »ionale c^ at » si funct »iile unidirect »ionale cu trap¸ a sunt folosite
intens ^ ³n criptogra¯a cu chei publice.
Din multitudinea de funct »ii care par unidirect »ionale, marea majoritate a algorit-
milor cu chei publice apeleaz¸ a doar la trei:
²logaritmul discret : d^ andu-se numerele p,g» siy,p¯ind un num¸ ar prim, s¸ a se
g¸ aseasc¸ a xastfel ^ ³nc^ at gx=ymod p:Un exemplu de algoritm ce apeleaz¸ a la aceast¸ a
tehnic¸ a este algoritmul Di±e-Hellman de schimb al cheilor ^ ³ntre dou¸ a entit¸ at »i A
» siBcare cad de comun acord pe un canal public asupra unui num¸ ar prim p(de
cel put »in 512 bit »i » si ( p¡1)=2 prim) » si asupra unui element primitiv g(^ ³n algebra
modp), adic¸ a ord(g) =p:Protocolul Di±e-Hellman este descris ^ ³n continuare:
PAS 1. Aalege un element x;calculeaz¸ a X=gxmod p;pe care-l trimite c¸ atre
B:
PAS 2. Balege un element y;calculeaz¸ a Y=gymod p;pe care-l trimite c¸ atre
A:
PAS 3. A» siBcalculeaz¸ a cheia prin formulele Xyrespectiv Yx:
Sintaxa MAPLE pentru rezolvarea problemei logaritmului discret este:
> msolve (ecuatia; variabila; modul );
²factorizarea : dac¸ a Neste produsul a dou¸ a numere prime atunci:
a) s¸ a se factorizeze N;
b) ¯ind date e» siC, s¸ a se g¸ aseasc¸ a Mastfel ^ ³nc^ at Me=Cmod N;
c) ¯ind date M» siCs¸ a se g¸ aseasc¸ a dastfel ^ ³nc^ at Cd=Mmod N;
d) ¯ind dat x, s¸ a se decid¸ a dac¸ a exist¸ a yastfel ^ ³nc^ at x=y2mod N:
Procedura de cifrare cu ajutorul acestei tehnici este descris¸ a pentru urm¸ atorul
scenariu general de comunicare con¯dent »ial¸ a ^ ³ntre A» siBcare dispun de un num¸ ar
natural N(compozit N=pq, factorii primi p» siq¯ind factori privat »i » si su¯cient de
mari). Pentru a primi mesaje private Bexecut¸ a urm¸ atoarele:
PAS 0 (alegere exponent de criptare » si de decriptare ).Balege exponentul de
criptare sB(numit » si cheie public¸ a , pe care-l face public, adic¸ a ^ ³l comunic¸ a lui A)
relativ prim cu '(N):
228 CRIPTANALIZA SEMN ¸ATURILOR DIGITALE
Bcalculeaz¸ a exponentul de decriptare tB(numit » si cheie secret¸ a) ca ¯ind inversul
multiplicativ al lui sBmodulo '(N):
Deoarece Bdispune de factorizarea N=pqacesta poate calcula e¯cient '(N)
prin formula '(N) = ( p¡1)(q¡1);deci cu ajutorul teoremei lui Euler ( sB; '(N)
¯ind relativ prime) avem s'('(N))
B= 1 mod '(N);de unde tB=s'('(N))¡1
Bmod
'(N):Calculul efectiv al lui tBse face cu ajutorul algoritmului lui Euclid extins
(se calculeaz¸ a tBdin congruent »a sBtB= 1 mod '(N);cunosc^ andu-se sB» si'(N) :
exist¸ a un unic k;num¸ ar ^ ³ntreg astfel ^ ³nc^ at sBtB= 1 + k'(N)):
PAS 1. Atrimite mesajul criptat pentru B:MsBmod N:
PAS 2. Bdescifreaz¸ a mesajul recept »ionat prin ridicarea num¸ arului MsBmod N
la puterea tBobt »in^ and pe M(se aplic¸ a teorema lui Euler :MsBtB=M'(N)k+1=
Mmod N):
Exponentul de decriptare tBnu poate ¯ dedus (e¯cient) din sB» siNci numai din
sB» sifactorii luiN;deci at^ ata timp c^ at se p¸ astreaz¸ a secretul asupra factoriz¸ arii lui
Nschema anterioar¸ a este sigur¸ a computat »ional (la ora actual¸ a se consider¸ a su¯cient
de sigur (nu poate ¯ factorizat ^ ³n c^ ateva minute) un num¸ ar de 200 cifre care este
produsul a dou¸ a numere de 100 de cifre). Evident ( M; '(N)) = 1 ;deci anumite
mesaje trebuie evitate. Pentru calculul e¯cient al lui '('(N)) = '((p¡1)(q¡1))
trebuie ca p¡1 » siq¡1 s¸ a ¯e construite din numere prime. Pentru a comunica B
cuAse procedeaz¸ a similar.
Programul MAPLE are proceduri de testare a primalit¸ at »ii unui num¸ ar mare (al-
goritm probabilist) precum » si de factorizare a acestuia. Sintaxele acestor proceduri
sunt:
> isprime (numar );
respectiv
> ifactor (numar );
²problema rucsacului : ¯ind dat¸ a o mult »ime de numere ^ ³ntregi s¸ a se g¸ aseasc¸ a o
submult »ime cu suma S:
Desigur, nu orice algoritm cu chei publice bazat pe una din aceste trei probleme,
greu rezolvabile matematic, este ^ ³n mod automat rezistent ^ ³n fat »a criptanalizei, el
trebuind s¸ a ^ ³ndeplineasc¸ a » si alte condit »ii; ^ ³n schimb, ^ ³n ciuda numeroaselor ^ ³ncerc¸ ari
aproape tot »i algoritmii cu chei publice bazat »i pe alte funct »ii care par unidirect »ionale
s-au dovedit a nu ¯ rezistent »i din punct de vedere criptogra¯c.
10.3. Funct »ii hash
10.3.1. Generalit¸ at »i
Problematica funct »iilor hash ¯ind deosebit de vast¸ a, ^ ³n cele ce urmeaz¸ a ne vom
FUNCT »II HASH 229
opri numai asupra aspectelor strict necesare ^ ³nt »elegerii utiliz¸ arii acestor funct »ii ^ ³n
cadrul algoritmilor de semn¸ atur¸ a digital¸ a.
De¯nit »ia 10.3.1. Funct »ia hash este o funct »ie care se aplic¸ a unui » sir de lungime
oarecare obt »in^ andu-se un » sir de lungime ¯xat¸ a (de obicei, mai mic¸ a dec^ at lungimea
» sirului de intrare).
De¯nit »ia 10.3.2. O funct »ie Hse nume» ste funct »ie hash unidirect »ional¸ a dac¸ a:
a)Heste funct »ie hash;
b)Heste funct »ie unidirect »ional¸ a.
Pentru a putea ¯ folosite pentru semn¸ aturi digitale, funct »iile hash unidirect »ionale
trebuie s¸ a mai ^ ³ndeplineasc¸ a, printre altele una din urm¸ atoarele dou¸ a condit »ii:
1) oricare ar ¯ Mdat, este greu de g¸ asit M0astfel ^ ³nc^ at H(M0) =H(M);
2) este greu de g¸ asit o pereche oarecare M,M0astfel ^ ³nc^ at H(M) =H(M0):
Funct »iile hash unidirect »ionale care ^ ³ndeplinesc condit »ia (1) se numesc funct »ii hash
unidirect »ionale slabe (sau universale), iar cele care^ ³ndeplinesc condit »ia (2) se numesc
funct »ii hash unidirect »ionale tari (sau f¸ ar¸ a coliziuni).
Prima condit »ie este u» sor de justi¯cat: dac¸ a Aa semnat mesajul McuH(M);
iarBobt »ine M0astfel ^ ³nc^ at H(M0) =H(M), atunci Bar putea pretinde c¸ a Aar ¯
semnat mesajul M0:
A doua condit »ie este justi¯cat¸ a de existent »a atacului birthday , metod¸ a general¸ a
de atac aplicabil¸ a oric¸ arei funct »ii hash, atac inspirat de paradoxul matematic al zilei
de na» stere.
Datorit¸ a atacului birthday, pentru o funct »ie hash care are la ie» sire un » sir cu o
lungime de mbit »i (2mposibilit¸ at »i) se pot g¸ asi coliziuni gener^ and doar 2m=2perechi
de mesaje-valori hash.
^In aceste condit »ii, algoritmii hash care produc valori hash de 64 bit »i se consider¸ a
nesiguri deoarece, cu tehnologia actual¸ a, se pot genera 264=2= 232mesaje » si deci
este posibil¸ a g¸ asirea de mesaje care s¸ a intre ^ ³n coliziune. De aceea se recomand¸ a ca
valoarea hash s¸ a ¯e de lungime de cel put »in 128 bit »i.
10.3.2. Algoritmi hash
Exist¸ a foarte multe moduri de proiectare a funct »iilor hash unidirect »ionale (vezi
Pieprzyk [55]). Majoritatea funct »iilor hash unidirect »ionale utilizeaz¸ a funct »ii unidirec-
t »ionale care produc o valoare hash de lungime npe baza a dou¸ a intr¸ ari de lungime n.
^In general, intrarea este constituit¸ a dintr-un bloc de text » si valoarea hash a blocului
de text precedent, adic¸ a:
hi=f(Mi; hi¡1);
valoarea hash ¯nal¸ a ¯ind considerat¸ a valoarea hash a ^ ³ntregului mesaj. ^In acest
fel funct »ia hash unidirect »ional¸ a produce o valoare de lungime ¯x¸ a ( n), oricare ar
230 CRIPTANALIZA SEMN ¸ATURILOR DIGITALE
¯ lungimea mesajului. Pentru a evita obt »inerea unor valori hash provenind de la
mesaje de lungimi diferite, este indicat ca mesajele s¸ a cont »in¸ a » si informat »ii privind
lungimea lor. Se » stie c¸ a pentru un cifru bloc sigur este greu s¸ a se a°e cheia dac¸ a se
cunoa» ste textul clar » si criptograma. De aceea foarte mult »i algoritmi hash utilizeaz¸ a
drept funct »ie hash unidirect »ional¸ a un cifru bloc. ^In aceste condit »ii, din multitudinea
de clasi¯c¸ ari ale funct »iilor hash vom apela la clasi¯carea care ^ ³mparte aceste funct »ii
^ ³n dou¸ a categorii: funct »ii hash bazate pe cifruri bloc » si funct »ii hash nebazate pe
cifruri bloc.
^In cele ce urmeaz¸ a vom da c^ ateva exemple de funct »ii hash.
10.3.3. Funct »ii hash bazate pe cifruri bloc
Convenim s¸ a facem urm¸ atoarele notat »ii: E(K; M )-algoritmul de cifrare bloc, uti-
liz^ and cheia K, aplicat mesajului M.
IV-un bloc de init »ializare.
t-num¸ arul de blocuri ^ ³n care a fost ^ ³mp¸ art »it mesajul, aceste blocuri put^ and juca
¯e rolul lui K;¯e rolul lui M.
^In exemplele urm¸ atoare avem, pentru toate, H0=IV» siH(M) =Ht; de aceea
vom speci¯ca doar relat »ia de iterare, pentru i= 1;2; : : : ; t:
1)Hi=E(Mi; Hi¡1) -Rabin;
2)Hi=E(K; M i©Hi¡1) -Cipher Block Chaining;
3)Hi=E(K; M i©Mi¡1©Hi¡1) -Combined Plaintext-Ciphertext Chaining;
4)Hi=E(Mi©Hi¡1; Hi¡1) -Key Chaining;
5)Hi=E(Mi; Hi¡1)©Hi¡1-Davies-Meyer;
6)Hi=E(Hi¡1; Mi)©Mi-Matyas;
7)Hi=E(Mi; Hi¡1)©Mi©Hi¡1-N hash;
8)Hi=E(Hi¡1; Mi)©Mi©Hi¡1-Miyaguchi;
9)Hi=E(Mi; Mi©Hi¡1)©Hi¡1;
10)Hi=E(Hi¡1; Mi©Hi¡1)©Mi;
11)Hi=E(Mi; Mi©Hi¡1)©Mi©Hi¡1;
12)Hi=E(Hi¡1; Mi©Hi¡1)©Mi©Hi¡1;
13)Hi=E(Mi©Hi¡1; Mi)©Mi;
14)Hi=E(Mi©Hi¡1; Mi¡1)©Hi¡1.
Ment »ion¸ am c¸ a exist¸ a » si alt »i algoritmi hash bazat »i pe cifruri bloc, mult mai com-
plec» si ^ ³n ceea ce prive» ste descrierea lor. Se recomand¸ a cititorului implementarea
schemelor amintite.
10.3.4. Funct »ii hash nebazate pe cifruri bloc
Vom prezenta c^ ateva exemple importante.
MODALIT ¸AT »I DE REALIZARE A SEMN ¸ATURILOR DIGITALE 231
1) De tip RSA :
Hi= (Hi¡1©Mi)emod N:
2) De tip p¸ atratic:
Hiextrage mbit »i din (00111111 jjHijjMi)2mod N:
Exist¸ a » si scheme bazate pe utilizarea automatelor celulare, transformarea Fourier
discret¸ a etc., dar descrierea lor ar lua prea mult spat »iu.
Dintre funct »iile hash nebazate pe cifruri bloc reamintim funct »iile MD2 ,MD4
» siMD5 proiectate de Ron Rivest ,SHA conceput¸ a de NSA (care este » si standard
guvernamental SUA), RIPEMD proiectat¸ a de den Boer ^ ³n cadrul proiectului Eu-
ropean RACE de evaluare a primitivelor criptogra¯ce precum » si funct »ia MDC2
utilizat¸ a de IBM.
10.4. Modalit¸ at »i de realizare a semn¸ aturilor digitale
10.4.1. Aplicarea criptosistemelor simetrice
Cifrarea mesajelor cu sistemele de cifrare simetrice asigur¸ a autenticitatea mesa-
jelor transmise (se presupune c¸ a sistemul este indecriptabil iar cheia este cunoscut¸ a
de cei doi corespondent »i), dar nu poate rezolva eventualele dispute dintre expeditor
» si destinatar.
O cale de a utiliza criptosistemele simetrice pentru realizarea semn¸ aturilor digitale
este de a se apela la un arbitru notat ^ ³n cele ce urmeaz¸ a cu T. Cei doi corespondent »i
A» siB^ ³» si aleg ¯ecare c^ ate o cheie secret¸ a de cifrare, KA» siKBpe care o transmit
luiT. Cheia KAeste cunoscut¸ a doar de A» siTiar cheia KBdoar de B» siT.Teste
o persoan¸ a ^ ³n care A» siBau ^ ³ncredere absolut¸ a. Corespondent »a dintre A» siBse va
desf¸ a» sura conform urm¸ atorului protocol:
1.Acifreaz¸ a mesajul pentru Bcu cheia KA» si-l trimite lui T:C=EA(M):
2.Tdescifreaz¸ a mesajul primit de la Acu cheia KA:DA(C) =M:
3.Tconcateneaz¸ a mesajul descifrat ( M) cu o propozit »ie ^ ³n care speci¯c¸ a faptul
c¸ a a primit acest mesaj de la A» si, ^ ³n continuare concateneaz¸ a criptograma ( C):
MjjPjjC:
4.Tcifreaz¸ a ^ ³ntregul pachet cu cheia KB» si-l trimite lui B:
C0=EB(MjjPjjC):
5.Bdescifreaz¸ a pachetul primit cu cheia KB:DB(C0) =MjjPjjC:
^In acest fel Ba intrat ^ ³n posesia mesajului M, care este certi¯cat de Tc¸ a a fost
expediat de A.
De» si acest protocol poate funct »iona, el are urm¸ atoarele dezavantaje:
-mesajul se lunge» ste la mai mult dec^ at dublu;
232 CRIPTANALIZA SEMN ¸ATURILOR DIGITALE
-mai ales ^ ³ntr-o ret »ea, Tva ¯ foarte aglomerat;
-tot »i corespondent »ii trebuie s¸ a aib¸ a ^ ³ncredere absolut¸ a ^ ³n T.
10.4.2. Aplicarea criptosistemelor asimetrice
Pentru a se transmite un mesaj cifrat de la AlaBse procedeaz¸ a astfel:
1.Acifreaz¸ a mesajul Mcu cheia public¸ a a lui B:C=EB(M):
2.Atrimite criptograma CluiB.
3.Bdescifreaz¸ a criptograma Ccu cheia sa secret¸ a:
DB(C) =DB(EB(M)) =M:
Pentru a se transmite un mesaj semnat de la AlaBse procedeaz¸ a astfel:
1.Aaplic¸ a mesajului Mcheia sa secret¸ a: C0=DA(M):
2.Atransmite documentul C0luiB.
3.Baplic¸ a documentului C0cheia public¸ a a lui A:
EA(C0) =EA(DA(M)) =M:
Se observ¸ a c¸ a ^ ³n protocolul anterior operat »iile de cifrare » si descifrare au fost
aplicate doar pentru semnarea documentului, mesajul M¯ind ^ ³n realitate transmis
^ ³n clar: tot »i corespondent »ii cunosc cheia public¸ a a lui A» si deci pot obt »ine mesajul
M.
Pentru a se asigura » si cifrarea mesajelor se procedeaz¸ a astfel:
1.Asemneaz¸ a mesajul cu cheia sa secret¸ a C=DA(M):
2.Acifreaz¸ a mesajul semnat cu ajutorul cheii publice a lui B:C0=EB(C):
3.Atransmite documentul C0luiB.
4.Bdescifreaz¸ a documentul C0folosind cheia sa secret¸ a:
DB(C0) =DB(EB(C)) =C:
5.Bveri¯c¸ a autenticitatea » si obt »ine mesajul cu ajutorul cheii publice a lui A:
EA(C) =EA(DA(M)) =M:
Dezavantajul major al aplic¸ arii criptosistemelor asimetrice pentru obt »inerea sem-
n¸ aturii digitale const¸ a ^ ³n faptul c¸ a ace» sti algoritmi sunt foarte lent »i » si deci, atunci
c^ and se aplic¸ a ^ ³ntregului mesaj (ca ^ ³n exemplele anterioare), se consum¸ a prea mult
timp.
10.4.3. Apelarea la funct »ii hash unidirect »ionale
Datorit¸ a dezavantajelor, at^ at din punct de vedere al memoriei c^ at » si al timpului de
calcul, modalit¸ at »ile de realizare a semn¸ aturii digitale prezentate anterior sunt foarte
put »in utilizate^ ³n practic¸ a. Expunerea lor a fost f¸ acut¸ a mai mult cu scopuri didactice,
datorit¸ a simplit¸ at »ii algoritmilor utilizat »i put^ andu-se veri¯ca mai u» sor propriet¸ at »ile
semn¸ aturilor digitale. ^In majoritatea cazurilor practice se aplic¸ a o funct »ie hash
unidirect »ional¸ a, ceea ce conduce (^ ³n special pentru mesajele lungi) la obt »inerea unei
MODALIT ¸AT »I DE REALIZARE A SEMN ¸ATURILOR DIGITALE 233
semn¸ aturi digitale de o lungime mai mic¸ a dec^ at a mesajului » si cu un consum de timp
de calcul rezonabil.
Funct »iile hash unidirect »ionale sunt^ ³nt^ alnite^ ³n literatura de specialitate sub diferite
denumiri: compression function, contraction function, message digest, ¯ngerprint,
cryptographic checksum, data integrity check ( DIC), manipulation detection code
(MDC ), message authenti¯cation cod ( MAC ), data authenti¯cation code ( DAC ).
Funct »iile hash unidirect »ionale pot utiliza sau nu o cheie pentru obt »inerea valorii
hash.
^In cazul funct »iilor hash unidirect »ionale cu chei (de tip MAC ),Atrimite lui B
urm¸ atorul document:
MjjHK(M) dac¸ a este necesar¸ a doar autenti¯carea mesajului,
sau
E(MjjHK(M)) dac¸ a este necesar¸ a » si secretizarea mesajului.
Se observ¸ a c¸ a este posibil¸ a asigurarea autenticit¸ at »ii f¸ ar¸ a a ¯ necesar¸ a » si asigurarea
con¯dent »ialit¸ at »ii.
^In cazul funct »iilor hash unidirect »ionale f¸ ar¸ a cheie (de tip MDC ),Atrimite lui B
urm¸ atorul document: E(MjjH(M)):Se observ¸ a c¸ a asigurarea autenticit¸ at »ii depinde
de rezistent »a sistemului de cifrare utilizat.
Exist¸ a foarte multe variante de obt »inere a semn¸ aturii digitale, una simpl¸ a ¯ind
urm¸ atoarea: Atrimite lui Bdocumentul MjjDA(H(M)) adic¸ a mesajul concatenat
cu valoarea hash a mesajului, aceast¸ a valoare ¯ind cifrat¸ a cu cheia secret¸ a a lui A.
10.4.4. Semn¸ aturi digitale convent »ionale (normale)
^In cazul unei semn¸ aturi digitale convent »ionale sunt utilizat »i trei algoritmi:
a) algoritmul de generare a cheii publice » si a cheii private;
b) algoritmul de semnare, derulat de expeditor, apel^ and la cheia privat¸ a proprie;
c) algoritmul de veri¯care, derulat de destinatar, apel^ and la cheia public¸ a a ex-
peditorului.
^In cele ce urmeaz¸ a prezent¸ am trei dintre cele mai cunoscute scheme de semn¸ aturi
digitale. Preciz¸ am c¸ a schema DSA (Digital Signature Algorithm ) a fost creat¸ a de
NSA utiliz^ and idei ale celorlalte dou¸ a scheme, iar funct »ia hash ^ ³ncorporat¸ a ( SHA )
a fost creat¸ a tot de NSA , ¯ind foarte asem¸ an¸ atoare cu funct »iile hash MD4 » siMD5
proiectate de Ron Rivest .
Semn¸ atura ElGamal
Cheia public¸ a:
pprim (poate ¯ folosit de un grup de utilizatori);
g < p (poate ¯ folosit de un grup de utilizatori);
234 CRIPTANALIZA SEMN ¸ATURILOR DIGITALE
y=gxmod p.
Cheia privat¸ a: x < p .
Semnarea:
knum¸ ar aleator, relativ prim cu p¡1;
r=gkmod p(semn¸ atur¸ a );
sastfel ^ ³nc^ at M=xr+ksmod ( p¡1) (semn¸ atur¸ a ).
Veri¯carea: yrrsmod p?=gMmod p.
Semn¸ atura Schnorr
Cheia public¸ a:
pprim (poate ¯ folosit de un grup de utilizatori);
qprim, qdivizor al lui p¡1 (poate ¯ folosit de un grup de utilizatori);
aastfel ^ ³nc^ at aq= 1 mod p(poate ¯ folosit de un grup de utilizatori);
v=a¡xmod p.
Cheia privat¸ a: x < q .
Semnarea:
knum¸ ar aleator, k < q ;
r=akmod p(semn¸ atur¸ a );
e=H(Mjjr) (semn¸ atur¸ a );
s=k+xemod q.
Veri¯care:
z=asvemod p;
e?=H(Mjjz).
Semn¸ atura DSA
Cheia public¸ a:
pprim de 512-1024 bit »i (poate ¯ folosit de un grup de utilizatori);
qprim de 160 bit »i, q divizor al lui p-1 (poate ¯ folosit de un grup de utilizatori);
g=hp¡1
q, unde h < p ¡1 » sihp¡1
qmod q > 1 (poate ¯ folosit de un grup de
utilizatori);
y=gxmod p.
Cheia privat¸ a: x < q .
Semnarea:
knum¸ ar aleator, k < q ;
r= (gkmod p) mod q(semn¸ atur¸ a );
s= (k¡1(H(M) +xr) mod q(semn¸ atur¸ a ).
Veri¯care:
w=s¡1mod q;
ALTE TIPURI DE SEMN ¸ATURI DIGITALE 235
u1= (H(M)w) mod q;
u2= (rw) mod q;
v= ((gu1yu2) mod p) mod q;
v?=r.
10.5. Alte tipuri de semn¸ aturi digitale
10.5.1. Semn¸ atura invizibil¸ a
Exist¸ a situat »ii c^ and expeditorul dore» ste ca semn¸ atura sa s¸ a poat¸ a ¯ veri¯cat¸ a
doar de destinatar, dar nu » si de o tert »¸ a persoan¸ a. ^In acest scop au fost concepute
semn¸ aturile invizibile, cunoscute » si sub denumirea mai put »in adecvat¸ a de undiniable
signature .^In acest caz, procesul de veri¯care a semn¸ aturii nu mai poate ¯ executat
doar de destinatar, ci este un proces interactiv la care ia parte » si expeditorul. Aceste
scheme cont »in, ^ ³n general, » si un protocol de dezavuare prin care se poate proba dac¸ a
semn¸ atura apart »ine sau nu expeditorului.
10.5.2. Semn¸ aturi fail-stop
Semn¸ atura digital¸ a protejeaz¸ a expeditorul c^ at timp aceasta nu poate ¯ falsi¯cat¸ a,
adic¸ a c^ at timp metoda criptologic¸ a pe care se bazeaz¸ a obt »inerea cheii private r¸ am^ ane
invulnerabil¸ a ^ ³n fat »a criptanalizei. Dac¸ a aceast¸ a metod¸ a nu a rezistat, semn¸ atura
poate ¯ falsi¯cat¸ a, iar expeditorul este lipsit de ap¸ arare. ^In cazul semn¸ aturii fail-
stop, expeditorul poate aduce dovezi c¸ a semn¸ atura sa a fost falsi¯cat¸ a. Ideea de
baz¸ a este ca pentru orice cheie public¸ a s¸ a existe mai multe chei private, compatibile
cu acea cheie public¸ a, ¯ecare produc^ and o semn¸ atur¸ a posibil¸ a. Dintre aceste chei
private, Acunoa» ste » si folose» ste doar una. Chiar dac¸ a un atacator reu» se» ste s¸ a deduc¸ a
una din cheile private pretabile a ¯ folosite de A, setul de chei posibile se poate
m¸ ari su¯cient de mult astfel ^ ³nc^ at probabilitatea ca aceast¸ a cheie s¸ a ¯e cheia real¸ a
utilizat¸ a de As¸ a ¯e oric^ at de mic¸ a.
10.6. Legislat »ia ^ ³n domeniu
La sf^ ar» situl anului 1999 a fost adoptat¸ a directiva Uniunii Europene referitoare a
semn¸ atura digital¸ a. Adoptarea acestei directive implica amornizarea legislat »iilor
nat »ionale. Legea German¸ a referitoare la semn¸ atura electronic¸ a a fost revizuit¸ a
^ ³n conformitate cu directivele UE » si are efect din anul 2001. ^In anul 2001 a fost
adoptat¸ a ^ ³n Rom^ ania legea 455 a semn¸ aturii electronice, precum normele tehnice » si
236 CRIPTANALIZA SEMN ¸ATURILOR DIGITALE
metodologice de aplicare ale acesteia (HG 1259/2001, modi¯cat prin HG 2303/2004).
^In SUA legea semn¸ aturii electronice (Electronic Signature Act) este ^ ³n vigoare ^ ³nc¸ a
din octombrie 2000. La ora actual¸ a nu sunt amornizate ^ ³nc¸ a legislat »iile ^ ³n domeniul
semn¸ aturii electronice ^ ³ntre SUA » si UE.
10.7. Aplicat »ii
Exercit »iul 10.7.1. Setat »i (c^ at mai simplu) parametrii de securitate ai semn¸ aturiilor
ElGamal, Schnorr » si DSA.
Exercit »iul 10.7.2. Semnat »i mesajul SEMNATURA DIGITAL ¸Acu ajutorul para-
metrilor setat »i la exercit »iul anterior.
Exercit »iul 10.7.3. Implementat »i un algoritm de atac asupra funct »ie de disper-
sie criptogra¯c¸ a MD4 (vezi Wang [92] » si [93]).
Exercit »iul 10.7.4. Implementat »i algoritmi de atac asupra funct »iilor de dispersie
criptogra¯c¸ a SHA 0 » siSHA 1 (vezi Wang [94]).
Exercit »iul 10.7.5. Implementat »i o procedur¸ a care s¸ a produc¸ a coliziuni asupra
primilor 40 de bit »i ai algoritmului MD4/MD5.
Exercit »iul 10.7.6. Ce deosebe» ste algoritmul SHA¡0 deSHA¡1?
Exercit »iul 10.7.7. Care sunt principalele metode de atac asupra funct »iilor bazate
pe cifruri bloc simetrice?
Capitolul 11
CRIPTANALIZA
PROTOCOALELOR
CRIPTOGRAFICE
Insu±cient cooperation in the development of
one's own procedures, faulty production and
distribution of key documents, incomplete key
procedures, overlooked possibilities for com-
promise during the introduction of keying pro-
cedures provide the unauthorized decryption.
Erich HÄ uttenhain, 1978.
11.1. Protocoale elementare
^In cadrul acestei sect »iuni sunt referite, pe scurt, teoria protocoalelor criptogra¯ce
» si vom prezenta o serie de protocoale de identi¯care/autenti¯care sigure din punct
de vedere criptogra¯c. Un protocol criptogra¯c este un algoritm pentru realizarea
comunicat »iilor sigure ^ ³ntre diferit »i parteneri, aliat »i sau adversari. Protocoalele crip-
togra¯ce sunt ^ ³n str^ ans¸ a leg¸ atur¸ a cu conceptul de semn¸ atur¸ a digital¸ a. O serie de
protocoale criptogra¯ce se bazeaz¸ a pe protocoale elementare, descrise ^ ³n sect »iunile
ce urmeaz¸ a.
11.1.1. Protocoale de schimb de chei
Aceast¸ a clas¸ a de protocoale are rolul de a stabili o cheie secret¸ a de comunicat »ie K
^ ³ntre doi sau mai mult »i utilizatori ai ret »elei. F¸ ar¸ a restr^ angerea generalit¸ at »ii, putem
237
238 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
presupune c¸ a trebuie s¸ a rezolv¸ am problema pentru doi utilizatori notat »i generic cu
A» siB:
Schimbul de chei cu ajutorul criptogra¯ei simetrice
Acest protocol presupune faptul c¸ a cei doi utilizatori ai ret »elei A» siBau realizat¸ a
o schem¸ a de partajare a cheii secrete cu Centrul de Distribut »ie a Cheilor , notat prin
CDC .A,B» siCDC dispun de un sistem de cifrare simetric. Protocolul decurge
dup¸ a cum urmeaz¸ a:
PAS 1. Aface o cerere de cheie secret¸ a de sesiune, c¸ atre CDC; pentru a comunica
cuB.
PAS 2. CDC genereaz¸ a o cheie secret¸ a de sesiune » si va realiza dou¸ a copii ale
acesteia, cifrate o dat¸ a cu ajutorul cheii lui A» si pe cea de a doua cu ajutorul cheii
luiB;pe care apoi le va trimite lui A:
PAS 3. Adescifreaz¸ a, cu ajutorul cheii sale secrete, cheia de sesiune cu ajutorul
c¸ areia va comunica cu B:
PAS 4. Atrimite lui Bcopia cifrat¸ a a cheii (cu cheia secret¸ a a lui B), primit¸ a
de la CDC:
PAS 5. Bdescifreaz¸ a, cu ajutorul cheii sale secrete, cheia secret¸ a de sesiune.
PAS 6. A» siBfolosesc cheia secret¸ a de sesiune pentru a comunica.
Acest protocol presupune o ^ ³ncredere absolut¸ a ^ ³n CDC; care de cele mai multe
ori este un computer sau o entitate de ^ ³ncredere. Dac¸ a un adversar corupe CDC¡ul,
atunci ^ ³ntreaga ret »ea de comunicat »ii este compromis¸ a: se pot citi toate comunicat »iile
din ret »ea. O alt¸ a problem¸ a este aceea c¸ a CDC poate ¯ foarte aglomerat, deci vor
apare perturbat »ii ale comunicat »iilor.
Schimbul de chei cu ajutorul criptogra¯ei asimetrice (chei publice)
^In cazul acestui protocol utilizatorii A» siBfolosesc o infrastructur¸ a de chei pub-
lice, denumit¸ a generic CDC; pentru a stabili o cheie secret¸ a de sesiune. Protocolul
decurge dup¸ a cum urmeaz¸ a:
PAS 1. Utilizatorul Aprime» ste cheia public¸ a a lui Bde la CDC:
PAS 2. Utilizatorul Agenereaz¸ a cheia secret¸ a de sesiune, o cifreaz¸ a cu ajutorul
cheii publice a lui B» si o trimite apoi acestuia.
PAS 3. Utilizatorul Bdescifreaz¸ a cheia secret¸ a de sesiune cu ajutorul cheii sale
private.
PAS 4. A» siBfolosesc cheia secret¸ a de sesiune pentru a comunica cifrat.
PROTOCOALE ELEMENTARE 239
Atacul prin a treia persoan¸ a
Atacul prin intermediul celei de a treia persoane este unul dintre cele mai puter-
nice atacuri. Acest tip de atac poate ¯ pasiv (interceptarea canalului de comunicat »ie
» si decriptarea mesajelor folosind numai textul cifrat) sau activ (interceptarea canalu-
lui de comunicat »ie, modi¯care de mesaje, stergere de mesaje, insert »ie de mesaje » si
decriptarea mesajelor folosind atacul cu text clar cunoscut sau text clar ales). In-
terceptorul pasiv se va nota cu Eiar interceptorul activ cu M. Interceptorul Mse
poate substitui lui Bc^ and comunic¸ a cu A» si viceversa. Atacul decurge dup¸ a cum
urmeaz¸ a:
PAS 1. Utilizatorul Atrimite lui Bcheia sa public¸ a. Interceptorul Mactiv
intercepteaz¸ a aceast¸ a cheie, o substituie cu cheia sa public¸ a pe care o trimite lui B:
PAS 2. Utilizatorul Btrimite lui Acheia sa public¸ a. Interceptorul Mactiv
intercepteaz¸ a aceast¸ a cheie, o substituie cu cheia sa public¸ a pe care o trimite lui A:
PAS 3. C^ and utilizatorul Atrimite un mesaj lui B;acesta va ¯ cifrat cu cheia
public¸ a a interceptorului M;care va descifra mesajul cu ajutorul cheii sale private
(are deci acces la textul clar) pe care ^ ³l va cifra ulterior cu ajutorul cheii publice a
luiB:
PAS 4. C^ and utilizatorul Btrimite un mesaj lui A;acesta va ¯ cifrat cu cheia
public¸ a a interceptorului M;care va descifra mesajul cu ajutorul cheii sale private
(are deci acces la textul clar) pe care ^ ³l va cifra ulterior cu ajutorul cheii publice a
luiA:
Atacul funct »ioneaz¸ a chiar dac¸ a cheile publice sunt stocate ^ ³ntr-o baz¸ a de date.
Acest tip de atac este posibil datorit¸ a faptului c¸ a at^ at Ac^ at » si Bnu au posibil-
itatea de a veri¯ca dac¸ a, ^ ³ntr-adev¸ ar, comunic¸ a unul cu altul. Dac¸ a interceptorul
Mnu cauzeaz¸ a funct »ion¸ arii ret »elei » si nu induce ^ ³nt^ arzieri ^ ³n ret »ea atunci atacul este
nedectat.
Protocolul mesajelor interclasate
Pentru evitarea atacului prin a treia persoan¸ a, se poate folosi protocolul mesajelor
interclasate propus de Ron Rivest » siAdi Shamir. Protocolul decurge dup¸ a cum
urmeaz¸ a:
PAS 1. Atrimite cheia sa public¸ a lui B:
PAS 2. Btrimite cheia sa public¸ a lui A:
PAS 3. Acifreaz¸ a mesajul folosind cheia public¸ a a lui B:Trimite o parte din
mesajul cifrat lui B:
PAS 4. Bcifreaz¸ a mesajul folosind cheia public¸ a a lui A:Trimite o parte din
mesajul cifrat lui A:
PAS 5. Atrimite cealalt¸ a parte de mesaj cifrat lui B:
240 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
PAS 6. Bformeaz¸ a mesajul cifrat (primit din cele dou¸ a p¸ art »i) pe care ^ ³l de-
scifreaz¸ a cu ajutorul cheii sale private. Btrimite lui Acealalt¸ a parte de mesaj
cifrat.
PAS 7. Aformeaz¸ a mesajul cifrat (primit din cele dou¸ a p¸ art »i) pe care ^ ³l descif-
reaz¸ a cu ajutorul cheii sale private.
Cheia acestui protocol este aceea c¸ a o parte de mesaj este nefolositoare f¸ ar¸ a
cealalt¸ a parte: nu poate ¯ descifrat. Utilizatorul Bnu poate citi nimic din mesajul
lui A p^ an¸ a la pasul 6 iar utilizatorul A nu poate citi nimic p^ an¸ a la pasul 7 :Sunt mai
multe posibilit¸ at »i de a realiza acest lucru:
-dac¸ a algoritmul de cifrare este bloc, atunci orice parte a blocului poate ¯ trans-
mis¸ a ^ ³n orice parte a mesajului;
-descifrarea mesajului poate s¸ a ¯e dependent¸ a de vectorul de init »ializare ce se
poate transmite ^ ³n orice parte a mesajului;
-prima parte a mesajului poate ¯ o funct »ie hash a mesajului cifrat iar mesajul
cifrat se poate transmite ^ ³n cea de a doua parte.
Schimbul de chei cu ajutorul semn¸ aturilor digitale
Evitarea atacului prin a treia pesoan¸ a se poate face » si prin implementarea not »iunii
de semn¸ atur¸ a digital¸ a. Acest protocol face apel la o entitate de ^ ³ncredere care va
semna cheile publice ale utilizatorilor ^ ³mpreun¸ a cu o semn¸ atur¸ a a proprietarului.
Acum se poate veri¯ca dac¸ a cheile apart »in persoanei care pretinde a ¯. Protocolul
decurge ^ ³n mod similar. Interceptorul activ Mnu poate s¸ a se substituie nici lui A
nici lui Bdeoarece acesta nu dispune de cheile private ale acestora. Mnu poate
substitui cheia real¸ a cu cheia sa public¸ a deoarece aceasta va ¯ semnat¸ a de c¸ atre
entitate de ^ ³ncredere TPca apart »in^ and lui M:Tot ceea ce poate face Meste aceea
de a perturba ret »eaua de comunicat »ii. Acest protocol folose» ste pe TPiar riscul
de a compromite CDC¡ul este mult mai mic dec^ at ^ ³n primul protocol. Dac¸ a M
compromite pe TP(deci sparge CDC ) atunci acesta dispune de cheia privat¸ a a
luiTP:Acest lucru ^ ³i va permite s¸ a semneze noi chei, nu s¸ a descifreze cheile de
sesiune sau s¸ a citesc¸ a mesajele din tra¯c. Interceptorul Mva trebui s¸ a substituie
cheile publice ale utilizatorilor din ret »ea » si deci va lansa un atac de tip cea de a treia
persoan¸ a.
Transmiterea simultan¸ a a cheii » si a mesajului
Utilizatorii ret »elei de comunicat »ii A» siBnu trebuie, ^ ³n mod neap¸ arat, s¸ a realizeze
un protocol de schimb de chei apriori transmiterii mesajelor. Protocolul urm¸ ator
permite transmiterea unui mesaj notat prin Mf¸ ar¸ a a ¯ avut loc un schimb de chei:
PROTOCOALE ELEMENTARE 241
PAS 1. Agenereaz¸ a Kcheie secret¸ a de sesiune » si va cifra mesajul Mcu ajutorul
cheii K:EK(M):
PAS 2. Acite» ste cheia public¸ a a lui Bdin baza de date.
PAS 3. Acifreaz¸ a cheia secret¸ a de sesiune cu ajutorul cheii publice a lui B:
EB(K):
PAS 4. Atransmite lui Bat^ at mesajul cifrat c^ at » si cheia cifrat¸ a: EK(M); EB(K):
(pentru a evita atacul prin a treia persoan¸ a Apoate semna electronic transmisia).
PAS 5. Bdescifreaz¸ a, cu ajutorul cheii sale private, cheia de sesiune Kgenerat¸ a
deA:
PAS 6. Bdescifreaz¸ a, cu ajutorul cheii de sesiune, mesajul transmis de c¸ atre A:
Acest sistem hibrid demonstreaz¸ a cum se folose» ste criptogra¯a cu chei publice ^ ³n
sisteme de comunicat »ie. Aceasta se poate combina cu semn¸ aturi digitale, identi¯ca-
tori dinamici » si alte protocoale de securitate.
Transmiterea cheii » si a mesajului c¸ atre mai mult »i utilizatori
Realizarea transmisiei, de c¸ atre A;a unui mesaj c¸ atre mai mult »i utilizatori B; C; D; etc.
se realizeaz¸ a dup¸ a urm¸ atorul protocol:
PAS 1. Agenereaz¸ a Kcheie secret¸ a de sesiune » si va cifra mesajul Mcu ajutorul
cheii K:EK(M):
PAS 2. Acite» ste cheile publice a lui B; C; D; etc. din baza de date.
PAS 3. Acifreaz¸ a cheia secret¸ a de sesiune cu ajutorul cheilor publice a lui
B; C; D; etc.:EB(K); EC(K); ED(K); etc:
PAS 4. Atransmite at^ at mesajul cifrat c^ at » si cheile cifrate:
EK(M); EB(K); EC(K); ED(K); etc:
(pentru a evita atacul prin a treia persoan¸ a Apoate semna electronic transmisia
datelor).
PAS 5. Numai utilizatorii B; C; D etc. pot descifra, folosind cheile corespunz¸ a-
toare private, cheia secret¸ a de sesiune.
PAS 6. Numai utilizatorii B; C; D etc. pot descifra, folosind cheia secret¸ a de
sesiune, mesajele cifrate primite de la A.
11.1.2. Protocoale de autenti¯care
Scopul protocoalelor de autenti¯care este acela de a realiza o con¯rmare a iden-
tit¸ at »ii^ ³ntr-o ret »ea de calculatoare. Vom prezenta o serie de protocoale care realizeaz¸ a
acest lucru precum » si principalele tipuri de vulnerabilit¸ at »i ale acestora.
242 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
Autenti¯carea cu ajutorul funct »iilor hash
O metod¸ a de autenti¯care a lui Ade c¸ atre Beste aceea a parolelor care se
realizeaz¸ a cu ajutorul unei funct »ii hash:
PAS 1. Atrimite lui Bparola sa.
PAS 2. Bcalculez¸ a hashul parolei.
PAS 3. Bcompar¸ a hashul calculat cu valoarea stocat¸ a anterior. Dac¸ a aceste
dou¸ a valori coincid atunci, Bautenti¯c¸ a pe A:
Dac¸ a se corupe hashul parolei atunci nu se poate a°a din acesta parol¸ a. Totu» si
metoda atacului de tip dict »ionar poate ¯ de folos ^ ³n acest caz:
PAS 1. Se creeaz¸ a un dict »ionar de posibile parole.
PAS 2. Se realizeaz¸ a a c¸ autare exhaustiv¸ a a hashului parolei printre hashul
cuvintelor din dict »ionar.
Metoda de atac de tip dict »ionar este foarte e¯cient¸ a ^ ³n cazul parolelor. Pentru a
se evita un astfel de atac trebuie realizat¸ a o transmitere dinamic¸ a a parolei dar » si
a» sa mai r¸ am^ ane riscul compromiterii bazei de date care stocheaz¸ a hashurile.
Autenti¯carea cu ajutorul criptogra¯ei cu chei publice
Prezent¸ am o form¸ a simpli¯cat¸ a a unei metode de autenti¯care a lui Ade c¸ atre
Bcu ajutorul criptogra¯ei cu chei publice.
PAS 1. Atrimite lui Bo secvent »¸ a aleatoare.
PAS 2. Acifreaz¸ a secvent »a aleatoare cu ajutorul cheii sale private pe care o
trimite lui B^ ³mpreun¸ a cu identi¯carea sa.
PAS 3. Bdescifreaz¸ a secvent »a primit¸ a cu ajutorul cheii publice a lui A(accesul
la cheia public¸ a se face cu ajutorul identi¯catorului primit de la A).
PAS 4. Bcompar¸ a ce a descifrat cu ceea ce a primit la pasul 1 al protocolului.
Dac¸ a cele dou¸ a secvent »e sunt egale, atunci Bautenti¯c¸ a pe A.
Remarc¸ am faptul c¸ a nu avem acces la cheia privat¸ a a lui Adeci nu se poate realiza
impersonalizarea. Mult mai important este faptul c¸ a Anu va transmite niciodat¸ a
cheia sa privat¸ a. Interceptorul pasiv sau activ nu va putea deduce cheia privat¸ a a
luiAsau substitui pe A:
Autenti¯carea reciproc¸ a
Se poate pune problema autenti¯c¸ arii reciproce ^ ³ntre doi utilizatori ai ret »elei,
notat »i generic cu A» siB;care dispun ¯ecare de parola celuilalt ( PArespectiv PB).
Vom prezenta un protocol ce nuva funct »iona:
PAS 1. A» siBfac schimb de cheile publice.
PAS 2. Acifreaz¸ a PAcu ajutorul cheii publice a lui B» si trimite rezultatul lui
B:
PROTOCOALE ELEMENTARE 243
PAS 3. Bcifreaz¸ a PBcu ajutorul cheii publice a lui A» si trimite rezultatul lui
A:
PAS 4. Bdescifreaz¸ a ceea ce a primit de la A^ ³n cadrul pasului 2 » si veri¯c¸ a dac¸ a
a primit ceea ce trebuia.
PAS 5. Adescifreaz¸ a ceea ce a primit de la B^ ³n cadrul pasului 3 » si veri¯c¸ a dac¸ a
a primit ceea ce trebuia.
Atacul prin intermediul interceptorului activ decurge^ ³n mod natural: substituirea
cheilor publice, descifrarea mesajelor (cu ajutorul cheii private a interceptorului) re-
cuperarea parolelor PA» siPB;cifrarea mesajelor (cu ajutorul cheilor publice ale
utilizatorului), etc. Evitarea atacului prin intermediul celei de a treia persoane se
rezolv¸ a apel^ and la un protocol de autenti¯care reciproc¸ a bazat pe mesaje inter-
clasate.
Protocoalele SKID (Secret Key Identi¯cation)
Protocoalele SKID se bazeaz¸ a pe criptogra¯a simetric¸ a (existent »a unui cod MAC
notat prin H) » si rezolv¸ a urm¸ atoarele probleme:
-SKID 2 autenti¯carea lui Bde c¸ atre A;
-SKID 3 autenti¯carea reciproc¸ a.
Protocolul SKID2 presupune faptul c¸ a cei doi utilizatori au cuno» stint »¸ a de cheia
secret¸ a K:Protocolul decurge dup¸ a cum urmeaz¸ a:
PAS 1. Agenereaz¸ a un num¸ ar aleatoriu, notat prin RA;pe care ^ ³l comunic¸ a lui
B:
PAS 2. Bgenereaz¸ a un num¸ ar aleatoriu, notat prin RB;» si va trimite lui A:
RB; HK(RA; RB; B):
PAS 3. Ava calcula HK(RA; RB; B) » si va compara cu ceea ce a primit la pasul
2. Dac¸ a secvent »ele sunt identice atunci Beste autenti¯cat de A:
Protocolul SKID3 decurge init »ial ca SKID2 dup¸ a care intervin pa» sii adit »ionali:
PAS 4. Atrimite lui B:HK(RB; A):
PAS 5. Bcalculeaz¸ a HK(RB; A) » si compar¸ a cu ceea ce a primit anterior. Dac¸ a
secvent »ele sunt identice atunci Aeste autenti¯cat de B:
Autenti¯carea mesajelor
Mesajele transmise ^ ³ntr-o ret »ea de comunicat »ii se pot autenti¯ca prin intermediul
semn¸ aturii digitale.
244 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
11.1.3. Autenti¯carea » si schimbul de chei
Aceast¸ a clas¸ a de protocoale combin¸ a protocolalele autenti¯care cu protocoalele de
schimb de chei pentru a rezolva urm¸ atorul scenariu general: A» siBsunt utilizatori ai
unei ret »ele de comunicat »ii » si doresc s¸ a comunice securizat. Cele mai multe protocoale
fac apel la o tert »¸ a persoan¸ a notat¸ a cu TP(trusted person) :Fiecare utilizator are
o cheie secret¸ a cunoscut¸ a numai de c¸ atre TP:^In tabelul de mai jos sunt speci¯cate
principalele elemente ale protocoalelor ce se vor prezenta ^ ³n sect »iunile urm¸ atoare.
A identi¯catorul utilizatorului A
B identi¯catorul utilizatorului B
EA operat »ia de cifrare cu o cheie cunoscut¸ a de TP» siA
EB operat »ia de cifrare cu o cheie cunoscut¸ a de TP» siB
I index
K cheie de sesiune
L timp de viat »¸ a
TA; TB; T » stampile de timp
RA; RB numere aleatoare alese de A» siB
Protocolul bazat pe server de ^ ³ncredere
Cel mai simplu protocol care se bazeaz¸ a pe criptogra¯a simetric¸ a » si care face apel
la un server de ^ ³ncredere TP:Utilizatorii A» siBau cheie secret¸ a cunoscut¸ a numai
de c¸ atre TP:Aceste chei sunt folosite pentru distribut »ia cheilor » si nu sunt folosite
pentru cifrarea mesajelor. Protocolul decurge dup¸ a cum urmeaz¸ a:
PAS 1. Utilizatorul Aconcateneaz¸ a o » stampil¸ a de timp, identi¯catorul lui B;
cheia secret¸ a de sesiune pe care le cifreaz¸ a cu cheia cunoscut¸ a de TP» siA:Trimite
apoi lui TPidenti¯catorul s¸ au A» si mesajul cifrat:
A; E A[TA; B; K ]:
PAS 2. TPva descifra mesajul primit de la A;recuperereaz¸ a cheie secret¸ a de
sesiune, genereaz¸ a o nou¸ a » stampil¸ a de timp, adjunct »ioneaz¸ a identi¯catorul lui B» si
va cifra mesajul cu cheia lui B:
EB[TB; A; K ]:
Un punct vulnerabil este generarea numerelor aleatoare de c¸ atre utilizatorul A:
generarea de numere aleatoare nu este un lucru simplu.
PROTOCOALE ELEMENTARE 245
Protocolul Yahalom
Acest protocol presupune faptul c¸ a ¯ecare dintre utilizatorii A» siBau cheie
secret¸ a cunoscut¸ a numai de c¸ atre TP:Protocolul decurge dup¸ a cum urmeaz¸ a:
PAS 1. Agenereaz¸ a RA» si transmite lui Burm¸ atorul mesaj:
A; R A:
PAS 2. Bgenereaz¸ a RB» si transmite lui TPurm¸ atorul mesaj:
B; E B[A; R A; RB]:
PAS 3. TPgenereaz¸ a cheia secret¸ a de sesiune » si transmite lui Amesajul:
EA[B; K; R A; RB]; EB[A; K]:
PAS 4. Adescifreaz¸ a prima parte a mesajului cu ajutorul cheii sale secrete,
recupereaz¸ a K» si con¯rm¸ a dac¸ a este RA-ul trimis init »ial. Trimite lui Bmesajul:
EB[A; K]; EK[RB]:
PAS 5. Bdescifreaz¸ a cifrat cu cheia sa secret¸ a, extrage K, descifreaz¸ a mesajul
cifrat cu cheia secret¸ a de sesiune » si con¯rm¸ a dac¸ a RBeste cel generat la pasul 2.
La ¯nalul protocolului A» siBsunt convin» si c¸ a ¯ecare discut¸ a cu cine trebuie » si
nu cu o tert »¸ a parte. ^In aceela» si timp ace» stia dispun de cheia secret¸ a de sesiune K:
Noutatea acestui protocol este aceea c¸ a Beste primul cel contacteaz¸ a pe TPiar
acesta trimite un singur mesaj lui A:
Protocolul Needham-Schroeder
Acest protocol este elaborat de Roger Needham » siMichael Schroeder se bazeaz¸ a
pe existent »a unei tert »e p¸ art »i de^ ³ncredere TP» si face apel la conceputul de criptogra¯e
simetric¸ a. Protocolul decurge dup¸ a cum urmeaz¸ a:
PAS 1. Utilizatorul Atrimite lui TPmesajul:
A; B; R A:
PAS 2. TPva genera cheia secret¸ a de sesiune » si va trimite lui Amesajul:
EA[RA; B; K; E B[K; A]]:
PAS 3. Utilizatorul Ava recupera cheia secret¸ a de sesiune K;va con¯rma starea
luiRA» si va trimite lui Bmesajul:
EB[K; A]:
246 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
PAS 4. Utilizatorul Bva recupera cheia secret¸ a de sesiune K» si va trimite lui
Amesajul:
EK[RB]:
PAS 5. Utilizatorul Ava recupera RB» si va trimite lui Bmesajul:
EK[RB¡1]:
PAS 6. Utilizatorul Bveri¯c¸ a starea lui RB¡1:
Utilizarea numerelor RA; RB» siRB¡1 are scopul de a preveni atacurile prin
redare : interceptorul activ va stoca valorile lui ^ ³nregistrate ^ ³n cadrul protocolului
pentru o utilizare ulterioar¸ a.
O sl¸ abiciune a acestui protocol const¸ a ^ ³n faptul c¸ a vechile chei de sesiune pot ¯
folosite pentru a lansa un atac:
PAS 0. Interceptorul activ Mva ^ ³nregistra toate mesajele din pasul 3 al proto-
colului.
PAS 1. Interceptorul activ Mva trimite lui Bmesajul:
EB[K; A]:
PAS 2. Utilizatorul Bva extrage cheia secret¸ a de sesiune K;va genera RB» si va
trimite lui Amesajul:
EK[RB]:
PAS 3. Mintercepteaz¸ a mesajul, va recupera RB;» si va trimite lui B:
EK[RB¡1]:
PAS 4. Utilizatorul Bveri¯c¸ a veridicitatea lui RB¡1 (deci va "con¯rma"
identitatea lui A).
Pentru evitarea acestui tip de atac trebuie folosite » stampilele de timp (^ ³n pasul 2
al protocolului se va utiliza: EB[K; A; T ]).
Compromiterea cheii secrete a lui A are consecint »e dramatice: interceptorul activ
Mo poate folosi pentru a obt »ine chei secrete de sesiune pentru a comunica cu B:
Atacul init »iat de interceptorul Mpoate continua chiar dac¸ a Aschimb¸ a cheia secret¸ a
de sesiune. Protocolul descris ^ ³n sect »iunea urm¸ atoare rezolv¸ a aceast¸ a problem¸ a.
Protocolul Otway-Rees
Protocolul Otway-Rees utilizeaz¸ a deasemenea conceptul de criptogra¯e simetric¸ a.
Protocolul decurge dup¸ a cum urmeaz¸ a:
PAS 1. Utilizatorul Ava transmite lui Burm¸ atorul mesaj:
I; A; B; E A[RA; I; A; B ]:
PROTOCOALE ELEMENTARE 247
PAS 2. Utilizatorul Bva trimite lui TPmesajul:
I; A; B; E A[RA; I; A; B ]; EB[RB; I; A; B ]:
PAS 3. TPva genera o cheie secret¸ a de sesiune K» si va trimite lui Bmesajul:
I; E A[RA; K]; EB[RB; K]:
PAS 4. Utilizatorul Brecupereaz¸ a cheia secret¸ a de sesiune, va con¯rma starea
num¸ arului RB» si va trimite lui Amesajul:
I; E A[RA; K]:
PAS 5. Utilizatorul Ava recupera cheia secret¸ a de sesiune » si va con¯rma starea
num¸ arului RA:
Dac¸ a protocolul s-a ^ ³ncheiat » si dac¸ a indexul I;numerele RA» siRBsunt nemodi¯-
cate, atunci utilizatorii A» siBsunt^ ³n posesia cheii K» si sunt convin» si de veridicitatea
acesteia.
Protocolul Kerberos
Protocolul Kerberos este o variant¸ a a protocolului Needham-Schroeder. Versi-
unea 5 a protocolui Kerberos face presupunerea c¸ a ¯ecare din utilizatorii A» siB
au c^ ate o cheie secret¸ a cunoscut¸ a numai de c¸ atre TP:Protocolul decurge dup¸ a cum
urmeaz¸ a:
PAS 1. Utilizatorul Atrimite lui TPmesajul:
A; B:
PAS 2. TPva trimite lui Amesajul:
EA[T; L; K; B ]; EB[T; L; K; A ]
unde Teste timerul, Lperioada de valabilitate a acestuia iar Kcheia de sesiune.
PAS 3. Utilizatorul Ava recupera cheia secret¸ a de sesiune K» si va trimite lui B
mesajul:
EK[A; T]; EB[T; L; K; A ]:
PAS 4. Utilizatorul Bva trimite lui Amesajul:
EK[T+ 1]
care decide valabilitatea timerului T.
Protocolul funct »ioneaz¸ a^ ³n baza presupunerii c¸ a timerii lui A» siBsunt sincronizat »i
cu timerul lui TP:^In aplicat »iile practice, efectul este obt »inut prin sincronizarea
timerului la interval de c^ ateva minute.
248 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
11.1.4. Protocoale de transfer orb
S¸ a consider¸ am urm¸ atoarea variant¸ a de comunicare con¯dent »ial¸ a: Adore» ste s¸ a
^ ³i comunice lui Bun bit de informat »ie astfel ^ ³nc^ at dup¸ a ¯nalizarea protocolului A
s¸ a nu » stie dac¸ a Ba primit bitul de informat »ie, dar B» stie. Urm¸ atorul exemplu va
exempli¯ca cele de mai sus: Aeste un det »in¸ ator de secrete, iar Bun cump¸ ar¸ ator.
Acomunic¸ a lui Blista (sumarul) informat »iilor det »inute. Bdore» ste s¸ a cumpere unul
dintre secrete, dar nu vrea ca nici m¸ acar As¸ a » stie care a fost cump¸ arat (^ ³n caz
contrar Bva dezv¸ alui lui Aun alt secret » si anume ce a cump¸ arat acesta).
Protocolul de transfer orb const¸ a din urm¸ atorul scenariu general: Adore» ste s¸ a
^ ³i comunice, prin intermediul unui protocol de transfer ^ ³n orb, lui Bfactorizarea
num¸ arului n=p£q(p» siqsunt numere foarte mari).
PAS 1. Balege un num¸ ar x» si ^ ³i comunic¸ a lui Anum¸ arul x2mod n:
PAS 2 .Acare cunoa» ste factorizarea poate calcula (e¯cient) cele patru r¸ ad¸ acini
p¸ atrate §x;§yale lui x2mod n» si comunic¸ a una din acestea lui B. (Observ¸ am c¸ a
Acunoa» ste doar p¸ atratul » si deci el nu are nici o cale s¸ a a°e care dintre r¸ ad¸ acinile
p¸ atrate este x.)
PAS 3. Bveri¯c¸ a dac¸ a r¸ ad¸ acina primit¸ a este congruent¸ a cu §xmod n:^In caz
a¯rmativ, Bnu a primit nici o informat »ie. ^In caz contrar Bpoate calcula (e¯cient)
factorizarea lui ndeoarece cunoa» ste dou¸ a r¸ ad¸ acini p¸ atrate diferite ale aceluia» si num¸ ar
(mod n).Anu » stie care din cele dou¸ a situat »ii a avut loc.
Evident, pentru cre» sterea sigurant »ei criptogra¯ce, protocolul se poate itera. Ex-
ist¸ a variante de protocoale de transfer orb bazate pe generatoare pseudoaleatoare » si
pe funct »ii de dispersie criptogra¯ce.
11.1.5. Analiza formal¸ a a protocoalelor de autenti¯care » si a pro-
tocoalelor de schimb de chei
Prin tehnica analizei formale a protocoalelor criptogra¯ce se urm¸ are» ste, ^ ³n special,
evident »ierea vulnerabilit¸ at »ilor » si analiza riscurilor ce decurg din acestea. ^In general
sunt patru abord¸ ari ale analizei protocoalelor criptogra¯ce:
1. Modelarea » si veri¯carea protocolului prin folosirea limbajelor de speci¯cat »ie,
veri¯carea tehnicilor » si metodelor ce nu sunt proiectate pentru analiza protocoalelor
criptogra¯ce;
2. Dezvoltarea de sisteme expert prin care proiectantul protocolului criptogra¯c
poate dezvolta » si investiga diverse scenarii;
3. Modelarea cerint »elor familiei protocolului criptogra¯c folosind logica analizei
cuno» stint »elor » si a presupunerilor probabiliste;
4. Dezvoltarea de metode formale bazate pe propriet¸ at »i algebrice ale sistemelor
criptogra¯ce.
PROTOCOALE AVANSATE 249
O discut »ie a pa» silor de mai sus ar dep¸ a» si cadrul alocat acestei c¸ art »i.
11.1.6. Divizarea secretului
Operat »ia prin care un secret se reconstituie din dou¸ a sau mai multe p¸ art »i compo-
nente se nume» ste protocol de divizare a secretului . Iat¸ a un astfel de protocol pentru
dou¸ a p¸ art »i implicate ^ ³n operat »iune notate generic cu A» siB:Se noteaz¸ a proprietarul
secretului prin TP(cel ce realizeaz¸ a divizarea efectiv¸ a).
PAS 1. TPgenereaz¸ a o secvent »¸ a aleatoare Rde aceea» si lungime ca mesajul M:
PAS 2. TP XOR ¡eaz¸ a McuRpentru a obt »ine secvent »a S:
PAS 3. TPva distribui RluiA» siSluiB:
Reconstruct »ia lui Mse va obt »ine din sumarea modulo 2 a secvent »elor distribuite
luiA» siB:P¸ art »ile implicate ^ ³n acest protocol nu pot reconstitui nici o parte din
secvent »a secret¸ a. Scheme similare se pot realiza pentru mai mult »i utilizatori.
11.1.7. Partajarea secretului
Operat »ia prin care un secret se reconstituie prin concatenarea a dou¸ a sau mai
multe p¸ art »i componente se nume» ste protocol de partajare a secretului . Un astfel de
protocol este protocolul de tip logic¸ a majoritar¸ a. Spre deosebire de schemele de
divizare a secretului, p¸ art »ile implicate ^ ³n acest proces det »in o parte din secvent »a
secret¸ a. Probleme de atac a acestor clase de protocoale sunt complexe: partajarea
secretului^ ³n care unul dintre utilizatori este corupt, partajarea secretului f¸ ar¸ a centrul
de distribut »ie etc.
11.2. Protocoale avansate
11.2.1. Protocol de tip demonstrat »ie conving¸ atoare f¸ ar¸ a detalii
Scenariul general ^ ³n care se aplic¸ a acest tip de protocol este urm¸ atorul: Adore» ste
s¸ a ^ ³l conving¸ a pe Bc¸ a det »ine o anumit¸ a informat »ie, dar pe de alt¸ a parte nu dore» ste
caBs¸ a a°e acea informat »ie. Cerint »ele de baz¸ a ale protocolului sunt:
1.Anu poate s¸ a-l ^ ³n» sele pe B. Dac¸ a Anu cunoa» ste informat »ia, probabilitatea
ca s¸ a-l ^ ³n» sele pe Bs¸ a ¯e mic¸ a.
2.Bnu a°¸ a nimic de la A:Deci Bnu se poate substitui ulterior lui A:
Acest tip de protocoale se aplic¸ a la autenti¯carea c¸ art »ilor de credit, parolelor pen-
tru calculator (inclusiv ret »ele) precum » si la autenti¯carea ^ ³n ret »elele de comunicat »ii.
O variant¸ a de astfel de protocol, care poate ¯ modi¯cat corespunz¸ ator, pentru a nu
250 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
mai face apel la not »iunea de e¯cient »¸ a computat »ional¸ a este cea de tip cunoa» stere zero
ale identit¸ at »ii.
11.2.2. Protocol de tip dezv¸ aluire minim¸ a
Scenariul general este urm¸ atorul A: dore» ste s¸ a-l conving¸ a pe Bc¸ a » stie factorizarea
num¸ arului n=p£q(p» siqsunt numere foarte mari).
PAS 1 .Balege aleatoriu num¸ arul ^ ³ntreg b» si ^ ³i comunic¸ a lui A:b4mod n:
PAS 2 .A(care » stie factorizarea lui n) ^ ³i comunic¸ a lui B:b2mod n:
Bnu a°¸ a dec^ at c¸ a A» stie s¸ a factorizeze num¸ arul n;dar nu a°¸ a nimic despre
aceast¸ a factorizare. Pentru cre» sterea sigurant »ei criptogra¯ce, protocolul se poate
itera.
11.2.3. Protocol de tip dezv¸ aluire zero
Un exemplu de protocol de autenti¯care ^ ³ntre dou¸ a p¸ art »i A» siB;care dispun de
informat »ia comun¸ a IA( identi¯catorul lui A) » siIB( identi¯catorul lui B). Este un
exemplu de protocol de tip cunoa» stere zero a identit¸ at »ii (B^ ³i demonstreaz¸ a lui Ac¸ a
det »ine o anumit¸ a informat »ie f¸ ar¸ a s¸ a dezv¸ aluie nici un bit din informat »ie). Aceast¸ a
informat »ie comun¸ a se presupune secret¸ a, deci compromiterea ei conduce la spargerea
protocolului.
Protocol de autenti¯care lui Bde c¸ atre A.
PAS 1. Agenereaz¸ a aleatoriu un » sir de bit »i a1; : : : ; a n» si ^ ³i comunic¸ a lui B:
PAS 2. Bgenereaz¸ a aleatoriu un » sir de bit »i b1; : : : ; b m» si ^ ³i comunic¸ a lui A:
PAS 3. Bcalculeaz¸ a:
kB=g(Á(IB;a;b));
unde geste un generator pseudoaleatoriu, iar Áo funct »ie de dispersie criptogra¯c¸ a.
Bcomunic¸ a lui A kB
p(primii pbit »i din ie» sirea lui g).
Pas 4. Acalculeaz¸ a gp(Á(IB;a;b)) » si compar¸ a cu ceea ce a primit de la B ^ ³n
pasul anterior. Dac¸ a cei doi vectori coincid, atunci Aautenti¯c¸ a peB:
Pentru cre» sterea securit¸ at »ii protocolului acesta se poate itera.
Pentru autenti¯carea lui Ade c¸ atre Bprotocolul se modi¯c¸ a corespunz¸ ator.
El se poate implementa foarte u» sor. T¸ aria acestuia const¸ a ^ ³n t¸ aria generatorului
pseudoaleatoriu g » si a funct »iei de dispersie criptogra¯c¸ a.
11.2.4. Protocoale de tip transfer bit » si aplicat »ii
Introducere. Protocolul de tip transfer bit este o component¸ a de baz¸ a pentru
mai multe protocoale criptogra¯ce. Una dintre p¸ art »ile implicate Adore» ste s¸ a-i co-
munice altei p¸ art »i Bun bit bastfel ^ ³nc^ at Bs¸ a nu » stie ce bit a primit. La un pas
PROTOCOALE AVANSATE 251
ulterior Apoate face public bitul trimis, iar Bpoate decide dac¸ a ce a fost f¸ acut
public este ceea ce a primit el de la A. O metod¸ a practic¸ a de prezentare a proto-
colului este aceea de sigilare a bitului cu » stampila de timp. Aceste scheme folosesc la
protocoale de tip cunoa» stere zero, scheme de identi¯care, protocoalele cu mai mult »i
participant »i » si pot implementa protocolul de dat cu zarul prin telefon.
De¯nit »ia 11.2.1. Unprotocol de tip transfer de bit este compus din dou¸ a faze
» si anume:
1.Faza de transfer, ^ ³n care Aare un bit bpe care dore» ste s¸ a-l comunice lui B.
A» siBschimb¸ a mesaje. La sf^ ar» situl acestei faze Beste ^ ³n posesia unei informat »ii
despre ceea ce reprezint¸ a b.
2.Faza de dezv¸ aluire la ¯nalul c¸ areia Bcunoa» ste bitul b:
Protocolul trebuie s¸ a ^ ³ndeplineasc¸ a urm¸ atoarele: Pentru orice Bprobabilist cu
timp polinomial, pentru orice polinom p» si pentru un parametru de securitate n
su¯cient de mare:
a) dup¸ a faza de transfer Bnu poate ghici bcu o probabilitate mai mare dec^ at
1
2+1
p(n);
b)Anu poate dezv¸ alui dec^ at o singur¸ a valoare b:Dac¸ a se ^ ³ncearc¸ a dezv¸ aluirea
altei valori, acest lucru va ¯ detectat cu probabilitate de cel put »in 1 ¡1=p(n):
^In de¯nit »ia propriet¸ at »ilor protocolului am presupus c¸ a, apriori, Bnu poate ghici
bcu o probabilitate mai mare dec^ at 0 ;5:
De¯nit »ia se poate extinde natural la transferul de mai mult »i bit »i. Schema propus¸ a
se bazeaz¸ a pe not »iunea de generator pseudoaleatoriu.
De¯nit »ia 11.2.2. Fiem(n) o funct »ie astfel ^ ³nc^ at pentru m(n)> n; aplicat »ia
G:f0;1gn! f0;1gm(n)se nume» ste generator pseudoaleatoriu dac¸ a pentru orice
polinom p» si orice ma» sin¸ a probabilist¸ a cu timp polinomial care face distinct »ia dintre
ie» sirea generatorului » si un » sir cu adev¸ arat aleatoriu inegalitatea:
jPr[A(y) = 1] ¡Pr[A(G(s)) = 1] j<1
p(n);
are loc pentru orice ncu except »ia unui num¸ ar ¯nit. Probabilit¸ at »ile sunt luate peste
y2 f0;1gm(n)» sis2 f0;1gncare sunt alese aleatoriu.
Transferul de bit. Pseudoaleatorismul are urm¸ atoarea proprietate: dat ¯ind m
bit »i ai » sirului pseudoaleatoriu, orice algoritm polinomial relativ la timp care ^ ³ncearc¸ a
s¸ a previzioneze urm¸ atorul bit are probabilitate de succes mai mic¸ a ca1
2+1
p(n)
(nepredictibilitatea urm¸ atorului bit). Fie nun parametru de securitate care se
presupune c¸ a este ales astfel^ ³nc^ at nu exist¸ a nici o ma» sin¸ a care s¸ a sparg¸ a un generator
252 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
pseudoaleatoriu a c¸ arui init »ializare este de lungime n:Vom nota Gl(s) primii lbit »i
ai » sirului pseudoaleatoriu init »ializat cu s2 f0;1gn» si cu Bi(s) cel de-al i-lea bit al
» sirului cu init »ializarea s:
^Intr-o prim¸ a faz¸ a s¸ a consider¸ am urm¸ atorul protocol:
a)Faza de transfer: Aalege aleatoriu s2 f0;1gn» si transmite lui B G m(s) » si
Bm+1(s)©b.
b)Faza de dezv¸ aluire: Acomunic¸ a s; B veri¯c¸ a c¸ a Gm(s) coincide cu ceea ce a
primit anterior » si calculeaz¸ a:
b=Bm+1(s)©(Bm+1(s)©b):
Acest protocol are proprietatea c¸ a Bnu poate indica, ^ ³naintea fazei de dev¸ aluire,
ceea ce a primit de la Acu o probabilitate mai mic¸ a ca 1 =2 + 1 =poly (n) deoarece
el nu poate realiza o predict »ie a generatorului pseudoaleatoriu. Pe de alt¸ a parte A
poate tri» sa dac¸ a dispune de dou¸ a init »ializ¸ ari s16=s2pentru care Gm(s1) =Gm(s2) » si
Bm+1(s1)6=Bm+1(s2). De¯nit »ia actual¸ a a generatorului pseudoaleatoriu nu exclude
asemenea posibilitate. Mai mult chiar, dat ¯ind un generator pseudoaleatoriu Gse
poate construi un generator G0care s¸ a satisfac¸ a condit »iile amintite.
Nu este nici o cale de a fort »a pe As¸ a foloseasc¸ a o singur¸ a init »ializare deoarece
pot ¯ dou¸ a init »ializ¸ ari care duc la acela» si » sir. Protocolul din sect »iunea urm¸ atoare
fort »eaz¸ a pe As¸ a foloseasc¸ a un singur generator, sau dac¸ a nu, el va putea ¯ detectat
cu probabilitate mare.
Protocolul de transfer de bit. ^In aceast¸ a sect »iune sunt prezentate un protocol
de transfer de bit precum » si considerat »ii asupra sigurant »ei acestuia.
Faza de transfer const¸ a ^ ³n urm¸ atoarele:
a)Balege un vector aleatoriu R= (r1; : : : ; r 3n) » si ^ ³l comunic¸ a lui A:
b)Aalege o init »ializare s2 f0;1gn» si comunic¸ a lui Bvectorul D= = ( d1; : : : ; d 3n)
unde:
d=(
Bi(s) dac¸ a ri= 0
Bi(s)©bdac¸ a ri= 1:
Lafaza de transfer Acomunic¸ a lui Binit »ializarea s;iar acesta veri¯c¸ a c¸ a dac¸ a
ri= 0 atunci decide di=Bi(s) » si dac¸ a ri= 1 decide di=Bi(s)©b.
Acest protocol are proprietatea c¸ a Bnu a°¸ a nimic despre bitul bdec^ at dup¸ a faza
de dezv¸ aluire. ^In caz contrar, Bar trebui s¸ a fac¸ a distinct »ia dintre ie» sirea unui gener-
ator » si un » sir aleatoriu. Dac¸ a A alege un » sir aleatoriu^ ³n loc de un » sir pseudoaleatoriu,
atunci Bnu a°¸ a nimic depre bdeoarece tot »i vectorii Dsunt echiprobabili indifer-
ent de valoarea lui b:(Aceasta este adev¸ arat chiar » si ^ ³n cazul general ^ ³n care B
are o intrare suplimentar¸ a care ^ ³i permite s¸ a indice bcu probabilitatea q >1=2:)
Dac¸ a nu exist¸ a un algoritm probabilist B0care poate s¸ a a°e ceva despre bdac¸ a A
folose» ste un algoritm pseudoaleatoriu, atunci B0poate construi un algoritm care s¸ a
PROTOCOALE AVANSATE 253
fac¸ a distinct »ia dintre ie» sirea lui G» si un » sir cu adev¸ arat aleatoriu. Dat ¯ind un » sir
xexecut¸ am protocolul cu A» siB0;unde Aalege un bit aleatoriu b^ ³n loc s¸ a creeze
un » sir pseudoaleatoriu folosind x:S¸ a presupunem c¸ a B0indic¸ a b:Dac¸ a el ghice» ste
corect, atunci el decide xpseudoaleatoriu » si ^ ³n caz contrar xaleatoriu. Diferent »a
dintre probabilitatea de a decide ^ ³ntre un » sir pseudoaleatoriu » si un » sir aleatoriu
este egal¸ a cu avantajul pe care B0^ ³l are de a indica corect b^ ³n cazul xeste un » sir
pseudoaleatoriu.
Cum poate tri» sa A? Singura posibilitate a acestuia este de a exista dou¸ a init »iali-
z¸ aris1» sis2astfel ^ ³nc^ at G3n(s1) » siG3n(s2) s¸ a ¯e egale ^ ³n acele pozit »ii i^ ³n care
ri= 0 » si total diferite ^ ³n acele pozit »ii i^ ³n care ri= 1. Numim o astfel de pereche
R¡falsi¯cator.
Teorema 11.2.1. Probabilitatea de a exista dou¸ a init »ializ¸ ari care s¸ a formeze un
R¡falsi¯cator este cel mult 2¡n(probabilitatea se ia peste mult »imea tuturor posi-
bilit¸ at »ilor lui R).
Rezultatele acestea se pot sintetiza ^ ³n urm¸ atoarea teorem¸ a.
Teorema 11.2.2. Dac¸ a Geste un generator pseudoaleator, atunci protocolul de
transfer de bit prezentat satisface urm¸ atoarele: pentru orice polinom p» si pentru orice
parametru nsu¯cient de mare:
1. Dup¸ a faza de transfer, nu exist¸ a nici un Bpolinomial ^ ³n timp probabilist care
s¸ a indice bcu probabilitatea mai mare de 1=2 + 1 =p(n):
2. Probabilitatea ca As¸ a indice alt bit este de cel mult 2¡n:
Protocolul de transfer indicat are costul computat »ional de O(n):Urm^ and rezul-
tatele anterioare putem construi un protocol de transfer de mai mult »i bit »i e¯cient.
S¸ a presupunem c¸ a Adore» ste s¸ a transfere bit »ii b1; : : : ; b mpe care ^ ³i face publici si-
multan. Ideea este de a fort »a ca As¸ a foloseasc¸ a un singur » sir pseudoaleator » si s¸ a
foloseasc¸ a » sirul la transferul a c^ at mai mult »i bit »i.
Protocol de tip electoral (solitaire). Ideea acestui tip de protocol a fost pus¸ a
^ ³n evident »¸ a de Valteri Niemi » si const¸ a ^ ³n calculul oric¸ arei funct »ii booleene f¸ ar¸ a ca
intr¸ arile acesteia s¸ a ¯e f¸ acute publice.
Vom exempli¯ca protocolul pentru calculul valorii funct »iei booleene f:f0;1g2!
f0;1gunde f(a; b) =a&b:^In acest protocol, numit solitaire, dispunem de cinci c¸ art »i
de joc » si anume dou¸ a negre notate cu N» si trei ro» sii notate cu R.
Init »ializare . Participant »ii A» siBprimesc ¯ecare c^ ate dou¸ a c¸ art »i una N» si una
R. Cealalt¸ a carte Reste pus¸ a cu fat »a ^ ³n jos.
PAS 1 . a)Agenereaz¸ a un bit secret a» si folose» ste urm¸ atoarea regul¸ a de codi¯care
a acestuia: dac¸ a a= 0 el aranjeaz¸ a c¸ art »ile ^ ³n forma (N
R);iar dac¸ a a= 1 el aranjeaz¸ a
c¸ art »ile ^ ³n forma (R
N). Acesta pune c¸ art »ile cu fat »a ^ ³n jos subcartea existent¸ a.
254 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
b)Bgenereaz¸ a un bit secret b» si folose» ste urm¸ atoarea regul¸ a de codi¯care a
acestuia: dac¸ a b= 1 el aranjeaz¸ a c¸ art »ile ^ ³n forma (N
R);iar dac¸ a b= 0 el aranjeaz¸ a
c¸ art »ile ^ ³n forma (R
N). Acesta pune c¸ art »ile cu fat »a ^ ³n jos peste c¸ art »ile existente.
PAS 2 . Teancul de c¸ art »i este t¸ aiat aleatoriu de c¸ atre A» siB. Prin t¸ aiere^ ³nt »elegem
operat »ia de rotire circular¸ a.
PAS 3. C¸ art »ile sunt ^ ³ntoarse cu fat »a ^ ³n sus. Dac¸ a avem < rrrnn > (ordinea
ciclic¸ a) atunci f(a; b) = 1 ;^ ³n caz contrar f(a; b) = 0 :
Pentru calculul funct »iei notse taie pur » si simplu c¸ art »ile generate de A;iar pentru
calculul funct »iei f(a; b) =a_bse schimb¸ a codi¯carea de la pasul 1 la punctele
a) » si b). Deci putem construi un protocol pentru calculul oric¸ arei funct »ii booleene
(evident cu un num¸ ar su¯cient de c¸ art »i).
Aceast¸ a clas¸ a de protocoale ne permite construct »ia unor protocoale de tip cunoa» ste-
re zero a identit¸ at »ii.
11.2.5. Alte protocoale avansate
Din categoria protocolalelor avansate mai fac parte urm¸ atoarele:
-protocoale pentru semn¸ aturi oarbe;
-protcoalele de dezv¸ aluire a identit¸ at »ii cu ajutorul cheilor publice;
-protocoalele de semnare simultan¸ a a contractelor;
-protocoalele de schimbare simultan¸ a a secretelor.
Descrierea acestora dep¸ a» se» ste cadrul acestei c¸ art »i (pentru detalii se poate consulta
Schneier [69]).
11.3. Divizarea » si partajarea secretelor
Una dintre problemele ce se pot ridica ^ ³n cazul aplicat »iilor criptogra¯ce este aceea
departajare a secretului (secret sharing). Acest secret poate ¯, de exemplu, o cheie
de criptare (serviciul de key recovery ). Schema cea mai utilizat¸ a este schema ma-
joritar¸ a mdinn^ ³n care secretul Keste distribuit la nparticipant »i ai schemei. Se-
cretul trebuie reconstituit de oricare m < n participant »i. Sunt prezentate ^ ³n cele ce
urmeaz¸ a o serie de scheme de partajare a secretului: schema vectorial¸ a, LaGrange,
Asmuth-Bloom » si Karnin-Greene-Hellman. O schem¸ a ^ ³n care m=nse va numi
schem¸ a de divizare a secretului (secret splitting). Alegerea parametrilor m(num¸ arul
minim de participant »i care pot init »ializa procedura de recuperare) » si n(num¸ arul de
participant »i din cadrul protocolului criptogra¯c) trebuie f¸ acut¸ a ^ ³n mod judicios: o
valoare prea mare a lui nimplic¸ a costuri de distribut »ie mari, o valoare mic¸ a a lui n
implic¸ a riscuri de nerealizare a procedurii de recuperare a secretului, un raport prea
DIVIZAREA S »I PARTAJAREA SECRETELOR 255
micm
npoate favoriza un atac de tip corupere a mparticipant »i. Pentru aprofundarea
domeniului se poate consulta Schneier [69].
11.3.1. Protocol de divizare a secretului
Vom prezenta un protocol de n¡divizare a secretului.
Init »ializare. nnum¸ arul participant »ilor » si secretul K:
PAS 1. Se genereaz¸ a aleatoriu de c¸ atre autoritatea de distribut »ie a secretului TP
un num¸ ar de n¡1 valori kide aceeia» si lungime ca secretul K:
PAS 2 (distribut »ia secretului). Se distribuie participantului ivaloarea kiiar
participantului nvaloarea:
K©n¡1M
i=1ki:
PAS 3 (recuperarea secretului). Valoarea secret¸ a Kse poate recupera numai cu
informat »ia oferit¸ a tot »i cei nparticipant »i.
11.3.2. Protocolul de partajare LaGrange
Urm¸ atoarea schem¸ a majoritar¸ a este atribuit¸ a lui Shamir [68].
Init »ializare. nnum¸ arul participant »ilor, mpragul minim de reconstruct »ie al
secretului K:
PAS 1. Se alege de c¸ atre autoritatea de distribut »ie a secretului TPun num¸ ar
prim psu¯cient de mare (mai mare ca cel mai mare secret distribuit). Se genereaz¸ a
de c¸ atre autoritatea de distribut »ie a secretului TPaleatoriu un polinom:
P(X) =m¡1X
i=1aiXi+K
de grad m¡1;unde p¸max
iai:
PAS 2 (distribut »ia secretului). Autoritatea TPdistribuie participantului ival-
oarea ki=P(i); i= 1; :::; n:
PAS 3 (recuperarea secretului). Cu informat »ia oferit¸ a de mparticipant »i se poate
recupera, prin rezolvarea unui sistem liniar de mecuat »ii, valoarea K:Dac¸ a num¸ arul
participant »ilor care pun la dispozit »ie informat »ia kieste mai mic ca m;atunci nu se
poate determina K:
Observat »ia 11.3.1. ^In cazul ^ ³n care coe¯cient »ii polinomului Psunt ale» si aleato-
riu, atunci t¸ aria acestei scheme este echivalent¸ a cu schema de cifrare OTP (one time
pad).
256 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
Observat »ia 11.3.2. Pentru evitarea atacului prin a treia persoan¸ a, schema se
poate ^ ³mbun¸ at¸ at »ii prin utilizarea unei valori aleatoare xi^ ³n cadrul operat »iei de
distribut »ie a secretului: ki=P(xi); i= 1; :::; n:
11.3.3. Protocolul de partajare vectorial
Blakley [10] a propus o schem¸ a de partajare a secretului bazat¸ a pe not »iunea de
spat »iu m¡dimensional, secretul K¯ind un punct din acest spat »iu. Astfel, ¯ec¸ arui
participant (dintre cei n) i se distribuie (de c¸ atre autoritatea de distribut »ie a se-
cretului TP) o ecuat »ie de m¡1 hiperplane care cont »in K:Intersect »ia oric¸ aror
m¡hiperplane determin¸ a ^ ³n mod unic punctul K:
11.3.4. Protocolul de partajare Asmuth-Bloom
Aceast¸ a schem¸ a poate ¯ g¸ asit¸ a ^ ³n Asmuth [3] » si face apel la CRT (chinese remain-
der theorem).
Init »ializare. nnum¸ arul participant »ilor, mpragul minim de reconstruct »ie al
secretului K:
PAS 1. Se alege de c¸ atre autoritatea de distribut »ie a secretului TPun num¸ ar
prim p > M . Se genereaz¸ a de autoritatea de distribut »ie a secretului nnumere di< p
astfel ca:
i)dvalori sunt ^ ³n ordine cresc¸ atoare: di< di+1:
ii) (di; dj) = 1 pentru orice i6=j:
iii)d1d2:::dm> pd n¡m+2dn¡m+3:::dn:
Se alege de c¸ atre TPun num¸ ar aleatoriu r» si se calculeaz¸ a: K0=K+rp:
PAS 2 (distribut »ia secretului). Autoritatea TPdistribuie participantului ival-
oarea ki=K0moddi; i= 1; :::; n:
PAS 3 (recuperarea secretului). Cu informat »ia oferit¸ a de mparticipant »i se poate
recupera , prin aplicarea teoremei chinezea» sti a resturilor, valoarea K:Dac¸ a num¸ arul
participant »ilor care pun la dispozit »ie informat »ia kieste mai mic ca matunci nu se
poate determina K:
11.3.5. Protocolul de partajare Karnin-Greene-Hellman
Aceast¸ a schem¸ a poate ¯ g¸ asit¸ a^ ³n Karnin [36] » si utilizeaz¸ a operat »ia de multiplicare
a matricilor.
Init »ializare. nnum¸ arul participant »ilor, mpragul minim de reconstruct »ie al
secretului K:
PAS 1. Se aleg de c¸ atre autoritatea de distribut »ie a secretului TPun num¸ ar de
n+ 1 vectori m¡dimensional, V0; :::; V n;astfel ca oricare matrice format¸ a din ace» sti
vectori s¸ a aib¸ a rangul m:Se alege de autoritate vectorul Uastfel ca K=UtV0:
EXEMPLE DE IMPLEMENTARE 257
PAS 2 (distribut »ia secretului). Autoritatea TPdistribuie participantului ival-
oarea ki=UtVi; i= 1; :::; n:
PAS 3 (recuperarea secretului). Cu informat »ia oferit¸ a de mparticipant »i se poate
recupera , prin rezolvarea unui sistem de ecuat »ii liniare, valoarea K:Dac¸ a num¸ arul
participant »ilor care pun la dispozit »ie informat »ia kieste mai mic ca matunci nu se
poate determina K:
11.3.6. Atacuri asupra protocoalelor de partajare (divizare) a
secretului
Schemele de partajare a secretului au avantajul, spre deosebire de schemele de
divizare a secrtelui, c¸ a valoarea secret¸ a Kse poate a°a dac¸ a nu sunt disponibile
informat »ii oferite de un num¸ ar nu prea mare ( mai mic dec^ at n¡m) participant »i ai
protocolului. ^In cazul schemelor de divizare a secretului lipsa unui singur participant
duce la nedisponibilitatea valorii secrete K» si pentru a°area acesteia se face apel la
autoritatea TP(trusted ) care a distribuit valorile ki:
11.4. Exemple de implementare
11.4.1. Scheme de autenti¯care
Vom prezenta o serie de exemple practice de implementare a schemelor de aut-
enti¯care cu ar ¯: Feige-Fiat-Shamir, Guillou-Quiquater » si Schnorr.
Feige-Fiat-Shamir
Este prezentat un protocol de autenti¯care a lui P(Prover) de c¸ atre V(Veri¯er),
bazat pe existent »a unei autorit¸ at »i de gestionare a cheilor. Pseudocodul schemei de
identi¯care simpli¯cate Feige-Fiat-Shamir este urm¸ atorul:
PAS 0. Se va seta (de c¸ atre autoritatea de gestionare a cheilor) num¸ arul aleatoriu
n(produs de dou¸ a numere prime de ordin de m¸ arime mare, de exemplu nare cel
put »in 1024 bit »i) care este distribuit utilizatorilor. Se va alege (de c¸ atre autoritatea
de gestionare a cheilor) vreziduu p¸ atratic mod n: adic¸ a ecuat »ia x2´vmodnare
solut »ie iar v¡1modnexist¸ a. Acest veste cheia public¸ a a lui P:Cheia privat¸ a a lui
Pestes´sqrt(v¡1) mod n:
PAS 1. Palege r < n aleatoriu. Se calculeaz¸ a x=r2modnnum¸ ar pe care ^ ³l
trimite lui V:
PAS 2. Vtrimite lui Pun bit aleatoriu b:
258 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
PAS 3. Dac¸ a b= 0 atunci Ptrimite lui Vper:Dac¸ a b= 1;atunci Ptrimite
luiV:y=r¢smodn:
PAS 4. Dac¸ a b= 0 V va veri¯ca dac¸ a x=r2modn;dovedind astfel c¸ a P
cunoa» ste sqrt(x):Dac¸ a b= 1; Vva veri¯ca dac¸ a x=y2¢vmodn;dovedind astfel
c¸ aPcunoa» ste sqrt(v¡1):
Prin executarea pa» siilor 1 ¡4 s-a realizat acreditarea .P» siVrepet¸ a acest protocol
detori p^ an¸ a c^ and Veste convins c¸ a Pcunoa» ste pe s:Acest protocol face parte
din categoria protocoalelor de tip taie » si alege. Protocolul prezentat este de tip
dezv¸ aluire zero a identit¸ at »ii.
Dac¸ a Pnu » stie pe s, atunci » sansele ca acesta s¸ a tri» seze pe Vsunt de1
2t:
O metod¸ a de atac pentru Veste prin impersonalizarea acestuia cu V0:Sansele
de reu» sit¸ a ale astui atac sunt de1
2t:
Pentru ca acest protocol s¸ a funct »ioneze trebuie ca Ps¸ a nu reutilizeze pe r:
Guillou-Quiquater
Protocolul Feige-Fiat-Scamir a fost primul protocol de tip cunoa» stere zero a iden-
tit¸ at »ii ce a fost implementat. Securitatea sa cre» ste direct proport »ional cu num¸ arul
de iterat »ii efectuate. Pentru o serie de implement¸ ari, cum ar ¯ smart cardurile, acest
lucru este foarte bun: schimbul de date cu lumea exterioar¸ a nu se face instantaneu
iar capacit¸ at »ile de stocare pentru ¯ecare acreditare pot atinge limita de memorie din
card.
Louis Guillou » siJean-Jaques Quisquater au dezvoltat un protocol de dezv¸ aluire
zero a identit¸ at »ii care este pretabil la aplicat »ii mult mai complexe. Pentru ¯xarea
ideilor s¸ a presupunem c¸ a Peste un smart card care dore» ste s¸ a-» si dovedeasc¸ a iden-
titatea lui V:Identitatea lui Pconst¸ a dintr-o mult »ime de date cum ar ¯: un » sir
de date care cost¸ a din numele cardului, perioada de valabilitate, num¸ arul contului
bancar, etc. Vom nota acest » sir binar prin J(de fapt » sirul de identi¯care ¯ind foarte
lung este trecut print-o funct »ie hash, acest lucru neafect^ and protocolul ^ ³n nici un
fel). Acesta este similar cheii publice. Alt¸ a informat »ie public¸ a, care este cunoscut¸ a
de tate smard cardurile Peste exponentul v» si modulul nprodus de dou¸ a numere
prime secrete foarte mari. Cheia privat¸ a Beste calculat¸ a dup¸ a formula:
JBv´1 mod n:
Smart cardul Ptrimite lui Vsecvent »a J:Acum Pdore» ste s¸ a dovedeasc¸ a lui Vc¸ a
secvent »a Jeste a sa. Pentru a realiza acest lucru trebuie s¸ a-i dovedeasc¸ a lui Vc¸ a
det »ine secvent »a privat¸ a B:Pseudocodul schemei de identi¯care Guillou-Quiquater
este urm¸ atorul:
PAS 1. Pva alege un num¸ ar aleatoriu r2[1; n¡1]:Se calculeaz¸ a secvent »a
T=rvmodncare se transmite la V:
EXEMPLE DE IMPLEMENTARE 259
PAS 2. Valege un num¸ ar aleatoriu d2[0; v¡1] pe care ^ ³l trimite lui P:
PAS 3. Pcalculeaz¸ a D=rBdmodnpe care ^ ³l trimite lui V:
PAS 4. Vcalculeaz¸ a T0=DvJdmodn:Dac¸ a T´T0(mod n) atunci autenti¯-
carea este realizat¸ a.
De fapt calculele nu sunt complicate:
T0=DvJd= (rBd)vJd=rvBdvJd=rv(JBv)dmodn
deoarece B a fost astfel construit astfel ca
JBv´1 mod n:
Schnorr
Securitatea schemei de autenti¯cate propus¸ a de Claus Schnorr se bazeaz¸ a pe
di¯cultatea calculului problemei logaritmului discret. Pentru a genera o pereche de
chei vom proceda dup¸ a cum urmeaz¸ a: alegem dou¸ a numere prime p» siqastfel ca
qjp¡1;vom alege apoi un num¸ ar a6= 1 astfel ca aq´1 mod p:Aceste numere pot
¯ cunoscute de un grupt de utilizatori sau se pot face publice.
Pentru generarea unei perechi de chei publice/private se va alege un num¸ ar aleato-
rius(cheia privat¸ a) mai mic dec^ at q:Se va calcula apoi cheia public¸ a v=a¡smodp:
Pseudocodul schemei de identi¯care Schnorr este urm¸ atorul:
PAS 1. Palege un num¸ ar aleatoriu r < q » si calculeaz¸ a x=armodp:Acesta
este un pas de preprocesare » si se poate efectua ^ ³nainte de prezent »a lui V:
PAS 2. Ptrimite xluiV:
PAS 3. Vtrimite lui Pun num¸ ar aleatoriu e2[0;2t¡1] (teste un parametru de
securitate)
PAS 4. Pcalculeaz¸ a y= (r+se) mod qpe care ^ ³l trimite lui V:
PAS 5. Vveri¯c¸ a faptul c¸ a x=ayvemodp:
Observat »ia 11.4.1. Di¯cultatea spargerii algoritmului este de O(2t):Schnorr
recomand¸ a ca ps¸ a ¯e de minimum 512 bit »i, qaproximativ 140 bit »i iar ts¸ a ¯e 72 :
Conversia schemelor de identi¯care ^ ³n scheme de semn¸ atur¸ a digital¸ a
Schemele de identi¯care ce au fost prezentate se pot converti ^ ³n scheme de semn¸ a-
tur¸ a digital¸ a dup¸ a urm¸ atorul procedeu: se va ^ ³nlocui Vcu o funct »ie hash, mesajul
nu este trecut prin funct »ia hash ^ ³nainte de a ¯ semnat de fapt funct »ia hash este
^ ³ncorporat¸ a algoritmului de semn¸ atur¸ a. ^In principiu acest lucru se poate realiza cu
orice schem¸ a de identi¯care.
260 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
11.4.2. Algoritmi de schimb al cheilor
Vom prezenta ^ ³n cele ce urmeaz¸ a o serie de algoritmi de schimb al cheilor.
Di±e-Hellman
Di±e-Hellman este primul algoritm de schimb al cheilor care are la baz¸ a conceptul
de cheie public¸ a. Acesta a fost formulat ^ ³n anul 1976 de c¸ atre Di±e » si Hellman.
Securitatea acestui algoritm se bazeaz¸ a pe di¯cultatea calcului logaritmului discret
^ ³ntr-un corp ¯nit (aceast¸ a di¯cultate computat »ional¸ a este similar¸ a cu di¯cultatea
operat »iei de exponent »iere). Utilizatorii notat »i generic cu A» siBvor folosi algoritmul
pentru generarea unei chei secrete de comunicat »ie. Pseudocodul algoritmului Di±e-
Hellman este urm¸ atorul:
PAS 0. A» siBstabilesc, de comun acord pe un canal public, un num¸ ar mare n
(astfel can¡1
2s¸ a ¯e num¸ ar prim) » si aleg gprimitiv mod n(n» sigpot ¯ folosit »i chiar
de un grup de utilizatori).
PAS 1. Utilizatorul Aalege aleatoriu num¸ arul xsu¯cient de mare » si va trimite
luiB:
X=gxmodn:
PAS 2. Utilizatorul Balege aleatoriu num¸ arul ysu¯cient de mare » si va trimite
luiA:
Y=gymodn:
PAS 3. Ava calcula:
k=Yxmodn:
PAS 4. Bva calcula:
k0=Xymodn:
Ambele valori ale lui k» sik0sunt egale cu gxymodn;iar acestea nu se pot recupera
dinn; g; X » siYf¸ ara a rezolva problema logaritmului discret. Deci keste secret¸ a » si
poate ¯ folosit¸ a ca cheie de comunicat »ie.
Observat »ia 11.4.2. Algoritmul Di±e-Helman se poate modi¯ca pentru sta-
bilirea unei chei secrete pentru trei sau mai mult »i utilizatori.
Observat »ia 11.4.3. Generatorul gnu trebuie s¸ a ¯e neap¸ arat primitiv ci trebuie
s¸ a genereze un subgrup multiplicativ su¯cient mare.
Observat »ia 11.4.4. Algoritmul Di±e-Hellman poate funct »iona ^ ³n inele comu-
tative, se poate extinde la curbele eliptice (vezi N. Koblitz [39]) » si se poate utiliza
ca algoritm de semn¸ atur¸ a digital¸ a (vezi ElGamal [18]).
EXEMPLE DE IMPLEMENTARE 261
Protocolul stat »ie la stat »ie
Deoarece algoritmul Di±e-Hellman este vulnerabil la atacul prin a treia persoan¸ a,
utilizatorii A » si B trebuie s¸ a semneze reciproc mesajele. Protocolul ce urmeaz¸ a
presupune faptul c¸ a utilizatorul Aareun certi¯cat al cheii publice a luiB» si viceversa.
Aceste certi¯cate au fost semnate de c¸ atre o tert »¸ a entitate considerat¸ a de ^ ³ncredere.
Protocolul decurge dup¸ a cum urmeaz¸ a:
PAS 1. Utilizatorul Agenereaz¸ a un num¸ ar xpe care ^ ³l trimite lui B:
PAS 2. Utilizatorul Bva genera un num¸ ar y:Folosind protocolul Di±e-Hellman
utilizatorii calculeaz¸ a cheia secret¸ a comun¸ a baz^ andu-se pe valorile lui x» siy:Utiliza-
torul Bva semna electronic valorile x» siyiar apoi va cifra semn¸ atura cu ajutorul
cheii k:Utilizatorul Bva trimite lui Amesajul:
y; E k[SB(x; y)]:
PAS 3. Utilizatorul Acalculeaz¸ a deasemenea pe k;» si va descifra mesajul primit
de la Bveri¯c^ and totodat¸ a semn¸ atura acestuia. Utilizatorul Ava trimite lui Bun
mesaj semnat:
Ek[SA(x; y)]:
PAS 4. Utilizatorul Bva descifra mesajul » si va veri¯ca semn¸ atura lui A:
Protocolul celor trei iterat »ii al lui Shamir
Acest protocol a fost inventat de Adi Shamir ( nu a fost publicat niciodat¸ a) » si
permite ca utilizatorii A » si B s¸ a comunice privat f¸ ar¸ a ca, apriori, s¸ a ¯ avut loc un
schimb de chei private sau secrete. Protocolul presupune existent »a unui sistem de
cifrare care este comutativ:
EA[EB[P]] =EB[EA[P]];
cheia secret¸ a a lui A¯ind notat¸ a cu Aiar a lui BcuB:S¸ a presupunem c¸ a utilizatorul
Adore» ste s¸ a trimit¸ a un mesaj MluiB:Protocolul decurge dup¸ a cum urmeaz¸ a:
PAS 1. Utilizatorul Acifreaz¸ a mesajul Mcu cheia sa pe care ^ ³l trimite lui B:
C1=EA[M]:
PAS 2. Utilizatorul Bcifreaz¸ a mesajul primit cu cheia sa pe care apoi ^ ³l va
trimite lui A:
C2=EB[EA[M]]:
PAS 3. Utilizatorul Ava descifra mesajul primit dup¸ a care ^ ³l va trimite lui B:
DA[EB[EA[M]] =DA[EA[EB[M]] =EB[M]:
PAS 4. Utilizatorul Bva descifra mesajul primit recuper^ and astfel pe M:
262 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
Observat »ia 11.4.5. Operat »ia de cifrare prin sumare modulo 2 este comutativ¸ a
dar nu poate funct »iona ^ ³n cadrul acestui protocol.
Observat »ia 11.4.6. Protocolul celor trei iterat »ii nu rezist¸ a la un atac prin a
treia persoan¸ a.
Un exemplu de cifru care este pretabil acestui protocol este urm¸ atorul: ¯e pun
num¸ ar prim su¯cient de mare astfel ca cel put »in un factor al lui p¡1 s¸ a ¯e mare.
Se alege un factor de cifrare erealtiv prim cu p¡1:Se va calcula apoi dinversul
multiplicativ al lui emod( p¡1):Operat »ia de cifrare va ¯:
C=Memodp;
iar operat »ia de descifrare va ¯
M=Cdmodp:
Interceptorul pasiv Enu poate recupera mesajul Mf¸ ar¸ a a rezolva problema
logaritmului discret.
Transferul cifrat al cheii
Protocolul de transfer cifrat al cheii, cunoscut sub acronimul EKE; proiectat de
Steve Bellovin » siMichael Merritt , asigur¸ a securitate » si autenti¯care ^ ³n cadrul unei
ret »ele de comunicat »ii prin folosirea unei tehnici noi de utilizare a criptogra¯ei cu chei
secrete » si a criptogra¯ei cu chei publice: o cheie secret¸ a comun¸ a este folosit¸ a pentru
a cifra o cheie public¸ a generat¸ a aleatoriu.
Utilizatorii A» siBdet »in o cheie comun¸ a (parol¸ a) notat¸ a prin P:Folosirea pro-
tocolului permite autenti¯carea reciproc¸ a » sistabilirea unei chei secrete de sesiune
K:
PAS 1. Utilizatorul Agenereaz¸ a aleatoriu o pereche de chei public¸ a/privat¸ a.
Acesta va cifra cheia public¸ a K0cu ajutorul unui algoritm simetric » si a cheii P:Va
trimite apoi rezultatul lui B:
A; E P[K0]:
PAS 2 . Utilizatorul Bva recupera cheia K0;va genera o cheie secret¸ a de sesiune
Kpe care o va cifra cu ajutorul cheii publice primite anterior » si a cheii secrete P:
Va trimite lui Amesajul:
EP[EK0[K]]:
PAS 3. Utilizatorul Ava recupera cheia K;va genera o secvent »¸ a aleatoare RA
pe care o va cifra cu ajutorul cheii secrete de sesiune K:Va trimite lui Bmesajul:
EK[RA]:
EXEMPLE DE IMPLEMENTARE 263
PAS 4. Utilizatorul Brecupereaz¸ a pe RA;va genera o secvent »¸ a aleatoare RB» si
va trimite lui Amesajul:
EK[RA; RB]:
PAS 5. Utilizatorul Adescifreaz¸ a mesajul, con¯rm¸ a valoarea lui RA» si va trimite
luiBmesajul cifrat:
EK[RB]:
PAS 6. Utilizatorul Bva con¯rma, dup¸ a descifrarea mesajului, valoarea lui RB:
^In acest moment protocolul se ^ ³ncheie iar ambele p¸ art »i comunica prin intermediul
cheii secrete de sesiune K:
Observat »ia 11.4.7. Protocolul EKE se poate implementa efectiv cu ajutorul
algoritmilor de cifrare cu cheie public¸ a RSA, ElGamal sau Di±e-Hellman.
Schem¸ a ^ ³mbun¸ at¸ at »it¸ a de negociere a cheilor
Aceast¸ a schem¸ a este folosit¸ a ca metod¸ a de protect »ie a schemelor de identi¯care
pentru care parolele utilizate sunt slabe (cuvinte din dict »ionar sau parole scurte,
etc.) sau ^ ³mpotriva atacului prin cea de a treia persoan¸ a. Se folose» ste o funct »ie hash
de dou¸ a variabile cu urm¸ atoarea proprietate de coliziune pentru prima variabil¸ a » si
anticoliziune pentru cea de a doua variabil¸ a:
H0(x; y) =H(H(k; x) mod 2m; x)
unde H(k; x) este o funct »ie arbitrar¸ a de variabile k» six:
Se presupune c¸ a utilizatorii A» siBcunosc o parol¸ a P» si au rulat un protocol
(Di±e-Hellman) de schimb de chei secrete K:Utilizatorii folosesc parola Ppentru
a veri¯ca dac¸ a cele dou¸ a chei de sesiune sunt identice (deci interceptorul nu poate
practica un atac activ). Pseudocodul protocolului este urm¸ atorul:
PAS 1. Utilizatorul Atrimite lui B:
H0[P; K]:
PAS 2. Utilizatorul Bcalculeaz¸ a H0[P; K] » si compar¸ a cu ceea ce a primit de la
A:Dac¸ a totul este ^ ³n regul¸ a atunci acesta trimite lui Amesajul:
H0[H[P; K]]:
PAS 3. Utilizatorul Acalculeaz¸ a H0[H[P; K]] » si compar¸ a cu ceea ce a primit de
la utilizatorul B:
264 CRIPTANALIZA PROTOCOALELOR CRIPTOGRAFICE
11.5. Aplicat »ii
Exercit »iul 11.5.1. Elaborat »i o metod¸ a de atac prin a treia persoan¸ a asupra
protocolului Di±e-Hellman.
Exercit »iul 11.5.2. Studiat »i folosirea operat »ia de cifrare prin XOR¡are (care
este comutativ¸ a) ca algoritm de cifrare ^ ³n cadrul protocolului celor trei iterat »ii al lui
Shamir.
Exercit »iul 11.5.3. Studiat »i rezistent »a la atacul prin a treia persoan¸ a a proto-
colului celor trei iterat »ii al lui Shamir.
Exercit »iul 11.5.4. Studiat »i rezistent »a la atacul prin a treia persoan¸ a a schemei
^ ³mbun¸ at¸ at »ite de negociere a cheilor.
Exercit »iul 11.5.5. Studiat »i rezistent »a la atacul prin a treia persoan¸ a a proto-
coalelor SKID 2 » siSKID 3.
Exercit »iul 11.5.6. Care sunt punctele slabe ale protocolului Kerberos?
Capitolul 12
CRIPTANALIZA
SISTEMELOR DE CIFRARE
ANALOGICE
Protection of sensitive information is a
desire reaching back to the beginnings of
human culture.
Otto Horak, 1994.
12.1. Formularea problemei
Sistemele de comunicat »ii se ^ ³mpart ^ ³n sisteme de comunicat »ii digitale ^ ³n care
informat »ia este reprezentat¸ a sub form¸ a de semnal discret (de exemplu semnalul
binar) » si sisteme de comunicat »ii analogice ^ ³n care elementul purt¸ ator de informat »ie
este reprezentat de not »iunea de semnal continuu. Un exemplu de semnal analogic
este semnalul vocal (cu banda de frecvent »¸ a ^ ³ntre 300-3000Hz).
12.2. Calcul Operat »ional
Transformata Laplace realizeaz¸ a o trecere a semnalului din domeniul timp ^ ³n
domeniul complex iar transformata Fourier a unui semnal realizeaz¸ a o trecere din
domeniul timp ^ ³n domeniul frecvent »¸ a. ^In cele ce urmeaz¸ a vom face o prezentare a
celor dou¸ a trasformate precum » si a principalelor propriet¸ at »i ale acestora. Se vor
prezenta de asemenea trasformatele discrete z;Fourier (TFD), cos (TCD) » si Walsh.
265
266 CRIPTANALIZA SISTEMELOR DE CIFRARE ANALOGICE
12.2.1. Transformata Laplace
Vom da, ^ ³n cele ce urmeaz¸ a, o serie de de¯nit »ii referitoare la transformata Laplace
» si principalele ei caracteriz¸ ari.
De¯nit »ia 12.2.1. Se nume» ste funct »ie original Laplace orice funct »ie f:R!C
av^ and urm¸ atoarele trei propriet¸ at »i:
i)f(t) = 0 pentru orice t <0;
ii)feste continu¸ a pe port »iuni pe R;
iii) exist¸ a M > 0 » sis0¸0 (numit indice de cre» stere) astfel ^ ³nc^ at:
jf(t)j ·Mes0t;pentru orice t¸0:
Mult »imea funct »iilor original Laplace se va nota prin O:
De¯nit »ia 12.2.2. Fief:R!Co funct »ie original Laplace cu indicele de
cre» stere s0;atunci funct »ia complex¸ a F:S(s0)!C;
F(s) =1Z
0f(t)e¡stdt
se nume» ste transformata Laplace (sau imaginea) originalului f; S(s0) =fs2
CjRe(s)> s0g:Acest lucru se va nota prin F(s) =Lff(t)g:
De¯nit »ia 12.2.3. Fief; g:R!Catunci vom de¯ni convolut »ia lui fcugprin
formula:
(f¤g)(t) =1Z
¡1f(z)g(t¡z)dz:
Vom da o serie propriet¸ at »i ale trasformatei Laplace.
1.Proprietatea asem¸ an¸ arii : Dac¸ a f2 O » siF(s) =Lff(t)gatunci pentru orice
a >0 avem:
Lff(at)g=1
aF(s
a):
2.Proprietatea deplas¸ arii : Dac¸ a f2 O » siF(s) =Lff(t)gatunci pentru orice
®2Cavem:
Lff(t)e®tg=F(s¡®):
CALCUL OPERAT »IONAL 267
3.Proprietatea ^ ³nt^ arzierii : Dac¸ a f2 O» siF(s) =Lff(t)g:Pentru orice ¿ >0 se
de¯ne» ste funct »ia f¿:R!Cprin
f¿(t) =(
0 pentru t < ¿
f(t¡¿) pentru t¸¿
Atunci
Lff¿(t)g=e¡s¿F(s):
4.Derivarea originalului : Dac¸ a f2 O are indicele de cre» stere s0» si dac¸ a feste
derivabil¸ a a.p.t. cu f02 O;atunci pentru Re( s)> s0
Lff0(t)g=sF(s)¡f(0+):
5.Integrarea originalului : Dac¸ a f2 O» sig(t) =tR
0f(¿)d¿» sig(0+) = 0 ;atunci
G(s) =1
sF(s):
6.Derivarea imaginii : Dac¸ a f2 O;atunci tnf(t)2 O» si
Lftnf(t)g= (¡1)nF(n)(s):
7.Trasformata convolut »iei : Dac¸ a f; g2 O;atunci
Lff¤gg=Lff(t)g ¢ Lf g(t)g:
8.Trasformata derivatei convolut »iei : Dac¸ a f; g2 O cugderivabil¸ a a.p.t. » si
g02 Oatunci
Lf(f¤g)0g=sLff(t)g ¢ Lf g(t)g:
12.2.2. Transformata Fourier
Trasformata Fourier^
fse de¯ne» ste pentru funct »iile din L1(R) =ffm¸ asurabil¸ a
» si1R
¡1jf(t)jdt <1grelativ la norma jjfjj1=1R
¡1jf(t)jdtprin formula
Fff(t)g(!) =^
f(!) =1Z
¡1f(t)e¡i!tdt:
Vom da o serie propriet¸ at »i ale trasformatei Fourier:
1. Dac¸ a f2L1(R);atunci^
f:R!Ceste o funct »ie m¸ arginit¸ a pe R:
268 CRIPTANALIZA SISTEMELOR DE CIFRARE ANALOGICE
2. Operatorul Fourier F:L1(R)!C0(R)^MReste liniar » si continuu.
3. Dac¸ a f2L1(R) atunci lim
j!j!1^
f(!) = 0 :
4. Dac¸ a f; g2L1(R) atunci f^g» si^
f gapart »in clasei L1(R) » si ^ ³n plus
Z
f(t)^g(t)dt=Z^
f(t)g(t)dt:
5.Derivarea originalului : Dac¸ a f2Cn(R); n¸1 » sif(k)2L1(R) cu lim
jtj!1
f(k)(t) = 0 pentru orice 0 ·k·n;atunci pentru orice !2R:
Fff(k)(t)g(!) =^
(f(k)) (!) = (i!)k^
f(!);0·k·n:
6.Derivarea imaginii : Dac¸ a tkf(t)2L1(R) atunci F=^
f2Cn(R) » si ^ ³n plus
pentru orice !2R:
(^
f)(k)(!) =Ff(¡it)kf(t)g(!);0·k·n:
7.Paritate » si imparitate : i)Fff(¡t)g(!) =^
f(¡!) pentru orice !2R:
ii) dac¸ a feste par¸ a/impar¸ a atunci^
feste par¸ a/impar¸ a;
iii) dac¸ a feste par¸ a » si are avalori reale atunci^
feste la fel; dac¸ a feste impar¸ a » si
are valori reale, atunci^
feste impar¸ a cu valori pur imaginare.
8.Proprietatea ^ ³nt^ arzierii : Dac¸ a f2L1(R) » si¿2R;¯eT¿f=f¿^ ³nt^ arziata lui
f cu¿deci pentru orice t2R; f¿(t) =f(t¡¿):Avem
Fff(t¡¿g= (^
T¿f)(!) =e¡i!¿^
f(!);
» si
T¿(^
f) =Fff(t)eit¿g:
9.Proprietatea asem¸ an¸ arii : Dac¸ a f2L1(R) » sia2R;atunci
^
f(at)(!) =1
a^
f(!
a) pentru orice !2R:
10.Inversa transformatei Fourier : Dac¸ a f:R!Ceste continu¸ a, derivabil¸ a pe
port »iuni » si f;^
fapart »in clasei L1(R) atunci pentru orice t2R;are loc formula de
inversare:
f(t) =1
2¼1Z
¡1^
f(!)eit!d!:
CALCUL OPERAT »IONAL 269
11.Leg¸ atura dintre transformata Laplace » si transformata Fourier : Dac¸ a f:R!
Ceste o funct »ie din clasa Ocu indicele de cre» stere s0¸0 atunci pentru orice ¾ > s 0
¯xat avem:
Lff(t)g=Fff(t)e¡¾tg:
12.Inversa transformatei Laplace : Dac¸ a f:R!Ceste o funct »ie din clasa O
cu indicele de cre» stere s0¸0 atunci pentru orice ¾ > s 0¯xat » si pentru orice t2R
avem:
f(t) =1
2¼i¾+i1Z
¾¡i1F(s)estds:
13.Teorema lui Heaveside : Dac¸ a f2 O este continu¸ a, cu indicele de cre» stere
s0¸0 atunci pentru orice ¾ > s 0¯xat lim
R!1
S2¡sF(s)est= 0;atunci pentru orice
t2R;avem
f(t) =X
rez(F(s)est);
unde suma este luat¸ a dup¸ a toate singularit¸ at »ile lui F(s) =Lff(t)gla distant »¸ a
¯nit¸ a, presupuse ^ ³n num¸ ar ¯nit.
14.Transformata convolut »iei : Dac¸ a f; g:R!Csunt din clasa L1(R);atunci:
Fff¤gg=FffgFfgg:
12.2.3. Transformata Fourier Discret¸ a
Multe tehnici de prelucrare a semnalelor discrete provin din adaptarea unor
tehnici aplicate la semnale continuale, dar exist¸ a » si multe abord¸ ari speci¯ce.
Un semnal discret este un » sir x= (xn); n2Zde numere reale sau complexe. Se
mai scrie x[n] ^ ³n loc de xn:Am notat cu Sdmult »imea acestor semnale. O subclas¸ a
important¸ a este S+=fx2Sdjxn= 0 pentru n < 0g;numite semnale discrete
cu suport pozitiv. Prelucrarea semnalelor discret are multe tangent »e comune cu
prelucrarea datelor » si cu studiul complexit¸ at »ii algoritmilor.
Fix¸ am N¸2 ^ ³ntreg. Vom numi semnal ¯nit de lungime Norice » sir de N
numere (complexe) x= (x0; :::; x N¡1)2CN;identi¯cat cu vectorul coloan¸ a X=
(x0; :::; x N¡1)t:Un astfel de » sir poate ¯ prelungit prin periodicitate de perioad¸ a N
la un semnal din Sd:
Energia luixeste
E(x) =vuutN¡1X
n=0jxnj2:
270 CRIPTANALIZA SISTEMELOR DE CIFRARE ANALOGICE
Vom nota v= exp( ¡2¼i
N) » si vom construi matricea W= (vkn);0·k; n·N¡1:
Matricea Weste inversabil¸ a cu inversa W¡1=1
NW:Evident Weste o matrice
simetric¸ a, de tip Vandermonde, cu toate elementele de modul 1 :
De¯nit »ia 12.2.4. Dac¸ a x= (xn);0·n·N¡1 este un semnal ¯nit de lungime
N;se nume» ste transformarea Fourier discret¸ a (TFD) a lui x» sirul de numere complexe
f= (fk) de¯nit prin:
fk=N¡1X
n=0xnvkn;0·k·N¡1:
Se mai scrie f=TFDx:
Principalele propriet¸ at »i ale TFD sunt urm¸ atoarele:
1.Scrierea matriceal¸ a a transformatei Fourier este:
TFDx =W¢X:
2.Formula de inversare a TFD este:
X=1
NW¢F
3.Transformata Fourier este liniar¸ a » si bijectiv¸ a.
4. Dac¸ a xeste par ( x¡k=xk);la fel este f=TFDx:
5. Dac¸ a xare toate componentele reale, atunci f¡k=fkpentru orice k:
6.Relat »ia lui Parseval : Dac¸ a f=TFDx; atunci
E(f) =p
NE(x):
7. Dac¸ a x» siysunt semnale ¯nite de lungime N;atunci:
TFD (x¤y) =TFDx ²TFDy
» si
TFD (x²y) =1
N(TFDx ¤TFDy )
unde x²y= (xk¢yk) este produsul pe componente » si x¤y= (N¡1P
i=0xiyn¡i)n=0;:::;N¡1
este convolut »ia discret¸ a.
Observat »ia 12.2.1. Calculul direct al TFD necesit¸ a ( N¡1)2^ ³nmult »iri complexe
» siN(N¡1) adun¸ ari de numere complexe, presupun^ and c¸ a puterile lui vknsunt
stocate.
CALCUL OPERAT »IONAL 271
Observat »ia 12.2.2. Matematicienii americani Cooley » si Tukey au elaborat al-
goritmul TFR (transformata Fourier rapid¸ a), care exploateaz¸ a structura special¸ a a
matricei W» si reduce drastic num¸ arul de operat »ii ajung^ and la Nlog2N^ ³nmult »iri.
12.2.4. Transformata Cosinus Discret¸ a
De¯nit »ia 12.2.5. Dac¸ a x= (x0; :::; x N¡1) este un semnal ¯nit dat de lungime
N;se nume» ste transformarea cos-discret¸ a a lui x;» sirul de numere reale c= (ck);0·
k·N¡1 de¯nit prin:
c0=1p
NN¡1X
n=0xn;
ck=r2
NN¡1X
n=0xncos(2n+ 1)k¼
2N:
pentru 1 ·k·N¡1:
Inversa transformatei cos discret¸ a:
xn=1p
Nc0+r2
NN¡1X
k=1ckcos(2n+ 1)k¼
2N;0·n·N¡1:
Observat »ia 12.2.3. Transformata cos discret¸ a se folose» ste ^ ³n aplicat »iile de tip
imagine (compresia imaginilor, de exemplu formatul jpeg).
12.2.5. Transformata Walsh
Presupunem N= 2n(n¸1):Pentru orice 0 ·t; k·N¡1;se consider¸ a scrierile
^ ³n baza 2, unice » si de lungime n:
t= (tn¡1:::t1t0)2=tn¡1+ 2n¡1+:::+t12 +t0
k= (kn¡1:::k1k0)2:
Apoi pentru 1 ·p·n;de¯nim:
Ap=(
kp+kp¡1mod 2 pentru 1 ·p·n¡1
kn¡1pentru p=n
272 CRIPTANALIZA SISTEMELOR DE CIFRARE ANALOGICE
» si vectorii coloan¸ a N¡dimensionali Wk= (w0k; w1k; :::; w N¡1;k)T;unde wtk= (¡1)B;
B=nP
p=1Aptn¡p:Cu ace» sti vectori se poate considera matricea
M= (W0jW1j:::jWN¡1j)
de tip N£N;simetric¸ a, nesingular¸ a, cu toate elementele egale cu §1:^In plus, pentru
orice 0 ·r; s·N¡1 avem WrWs=Wr©s» si dac¸ a r6=s < W r; Ws>= 0:Vectorii
Wk;0·k·N¡1 formeaz¸ a o baz¸ a, numit¸ a baza Walsh, pentru spat »iul vectorial
RN;ca » si pentru spat »iul vectorial complex CN:Pentru orice semnal ¯nit X2Mn;1
de lungime N;transformata Walsh esteW=M¢X;cu inversa X=M¡1¢W:^In
acest caz se folose» ste termenul de secvent »¸ a ^ ³n loc de frecvent »¸ a. Avem
1Z
0Wk(t)Wl(t)dt=±kl
pentru orice k; l» si orice semnal f= (f0; :::; f N¡1);¯nit de lungime Nse scrie unic
f=N¡1X
k=0®k¢Wkcu®k2C:
Transformata Walsh a lui festeM¢fT:
12.2.6. Transformata z
Pentru orice semnal discret x=(x n); n2Zse nume» ste z¡transformata lui x
funct »ia complex¸ a
X(z) =1X
n=¡1xnz¡n(suma seriei Laurent).
Domeniul de convergent »¸ a este ¯e mult »imea vid¸ a, ¯e o coroan¸ a circular¸ a K(0;r;R) =
fr <jzj< Rgcentrat¸ a ^ ³n origine. Se mai noteaz¸ a X(z) =Lx(z):
Principalele propriet¸ at »i ale transformatei Zsunt:
1.Liniaritatea : dac¸ a x; y2Sd» si®2R;atunci:
Lx¤y(z) =Lx(z) +Ly(z); L®x(z) =®Lx(z):
2.Transformata convolut »iei : dac¸ a x; y2Sdau domeniu nevid de convergent »¸ a
pentru z¡transformatele lor » si dac¸ a exist¸ a x¤y;atunci
Lx¤y=Lx¢Ly:
CARACTERIZAREA VARIABILELOR ALEATOARE 273
3.Transformata treptei unitate discrete ueste
U(z) =z
z¡1:
4.Transformata lui±kestez¡k:
5. Dac¸ a x2Sd;atunci x¤±k(k2Z) este ^ ³nt^ arziatul lui xcukunit¸ at »i » si
Lx¤±k=z¡kX(z):
6.Inversa z¡transform¸ arii este
xn=X
res(zn¡1X(z));
suma ¯ind luat¸ a dup¸ a toate singularit¸ at »ile lui zn¡1X(z) la distant »¸ a ¯nit¸ a.
7. Dac¸ a X(z) =Lx(z); Y(z) =Ly(z) » six²y= (xnyn);atunci Lx²y(z) este suma
rezidurilor funct »iei complexe
1
uX(z
u)Y(u):
(^ ³n singularit¸ at »ile a°ate la distant »¸ a ¯nit¸ a).
12.3. Caracterizarea variabilelor aleatoare
Vom de¯ni ^ ³n cele ce urmeaz¸ a o serie de caracteristici numerice ale unei variabile
aleatoare »(t):
Funct »ia de repartit »ie a variabilei »(t) :
F(x;t) = Pr( »(t)·x):
Densitatea de probabilitate :
½(x;t) =@F(x;t)
@x(dac¸ a exist¸ a).
Valoarea medie :
M(»(t)) =1Z
¡1x½(x;t)dx:
Valoarea medie p¸ atratic¸ a :
M(»2(t)) =1Z
¡1×2½(x;t)dx:
274 CRIPTANALIZA SISTEMELOR DE CIFRARE ANALOGICE
Dispersia :
D2(»(t)) = M((M(»(t))¡»(t))2)
=M(»2(t))¡M2(»(t)):
Funct »ia de autocovariant »¸ a :
B»(t1; t2) =E((M(»(t1))¡»(t1))(M(»(t2))¡»(t2))):
Funct »ia de autocorelat »ie:
C»(t2¡t1) =Z Z
x1x2½(x1; x2;t1; t2)dx1dx2:
Densitatea spectral¸ a de putere :
q(!) =1Z
¡1C»(¿)e¡i!¿d¿
=F(C»(¿)):
12.4. Conversia Analogic/Digital
Vom prezenta o serie de tehnici de conversie analogic/digital: modulat »ia ^ ³n puls
(pulse code modulation), modulat »ia liniar¸ a » si vocoderul.
12.4.1. Modulat »ia ^ ³n puls
^In cazul modulat »iei puls semnalul este convertit ^ ³ntr-o serie de pulsuri. Sem-
nalul este e» santionat cu o anume frecvent »¸ a iar valoarea ¯ec¸ arui e» santion este folosit¸ a
pentru a determina o proprietate (de exemplu amplitudinea sau durata) a pulsului
corespunz¸ ator. Problema ce se pune este aceea a frecvent »ei minime de e» santionare
necesare pentru recuperea din semnalul e» santionat a semnalul original. Num¸ arul
de e» santioane pe secund¸ a se nume» ste rata de e» santionare . Teorema urm¸ atoare d¸ a
informat »ii despre frecvent »a minim¸ a de e» santionare.
Teorema 12.4.1. Fief(t) un semnal cu lungimea de band¸ a Ldeterminat de
frecvent »ele f1» sif2(f2> f1):Rata minim¸ a de e» santionare pentru caracterizarea
semnalului este de2f2
me» santioane pe secund¸ a, unde m=·f2
L¸
:
CIFRAREA ANALOGIC ¸A 275
12.5. Cifrarea Analogic¸ a
Cifrarea analogic¸ a a unui semnal presupune modi¯carea frecvent »ei semnalului re-
spectiv. Vom reduce studiul sistemelor de cifrare analogic¸ a la: inversorul de spectru,
rotirea benzilor inversorului, amestecarea benzilor » si multiplexarea ^ ³n timp. ^In cele
ce urmeaz¸ a vom presupune, dac¸ a nu se speci¯c¸ a altfel, c¸ a semnalul de intrare este
un semnal vocal cu lungimea de band¸ a 300 ¡3000Hz:
12.5.1. Inversarea spectrului
Una dintre cele mai simple metode de securizare a semnalului vocal este tehnica
invers¸ arii spectrului care const¸ a ^ ³n interschimbarea frecvent »elor ^ ³nalte cu frecvent »ele
joase. S¸ a consider¸ am un semnal cu banda de frecvent »e ^ ³ntre 300 Hz¡3000Hz(vezi
¯gura 12.1). Pentru ¯xarea ideilor s¸ a consider¸ am o singur¸ a component¸ a a sem-
nalului sinusoidal: Vmcos(!mt):Realizarea invers¸ arii spectrului se realizeaz¸ a prin
intermediul unui semnal purt¸ ator Vccos(!ct) cu ajutorul unui modulator echilibrat :
VmVccos(!mt) cos( !ct) =1
2VmVccos(!m+!c)t+1
2VmVccos(!m¡!c)t:
Figura 12.1: Semnal vocal limitat la banda 300 ¡3000Hz.
Vom alege Vc= 1 » si !m< ! c:Prin aplicarea modulatorului echilibrat ¯ec¸ arei
componente sinusoidale vom obt »ine desitatea de putere din ¯gura 12.2.
Cele dou¸ a benzi ale semnalului se numesc partea superioar¸ a » si partea inferioar¸ a
a semnalului. Valoarea fc=!c
2¼se nume» ste frecvent »a purt¸ atoarei . Remarc¸ am faptul
276 CRIPTANALIZA SISTEMELOR DE CIFRARE ANALOGICE
Figura 12.2: Spectrul densit¸ at »ii de putere a ie» sirii din modulatorul echilibrat.
c¸ a partea superioar¸ a este identic¸ a cu semnalul original dar translatat ^ ³n frecvent »¸ a
iar partea inferioar¸ a este imaginea ^ ³n oglind¸ a a semnalului original. Deci printr-o
alegere judicioas¸ a a parametrului fcal purt¸ atoarei vom obt »ine semnalul inversat
(vezi ¯gura 12.3). Observ¸ am c¸ a ^ ³n descrierea sistemului de inversare spectral¸ a nu
avem nici o cheie ceea ce face ca tehnica de securizare s¸ a ¯e de fapt o codi¯care
a informat »iei. O tehnic¸ a ce se bazeaz¸ a pe inversarea spectrului » si care face apel la
cheia de cifrare este tehnica rotirii ciclice a spectrului.
12.5.2. Rotirea spectrului inversat
^In paragraful anterior ne-am limita la un semnal vocal ^ ³n lungimea de band¸ a
300¡3000Hz:Pentru ca semnalul inversat s¸ a ¯e^ ³n aceeia» si lungime de band¸ a trebuie
ca frecvent »a semnalului purt¸ ator s¸ a ¯e de 3300 Hz:Dac¸ a frecvent »a purt¸ atoarei este
de 4000 Hzatunci vom obt »ine semnalul din ¯gura 12.4
Acest semnal nu este ^ ³n aceeia» si lungime de band¸ a cu semnalul original, dar se
poate rearanja ca acesta s¸ a ¯e ^ ³n aceeia» si lungime de band¸ a ca » si originalul: se iau
frecvent »ele de peste 3000 Hz» si se pun ca frecvet »e joase, obt »in^ andu-se semnalul din
¯gura 12.5 Un inversor spectral poate avea mai multe frecvent »e purt¸ atoare, select »ia
acestora realiz^ andu-se cu ajutorul unui generator pseudoaleatoriu init »ializat cu cheia
de cifrare » si cheia de mesaj. Schimbarea frecvent »ei purt¸ atoarei se face de regul¸ a la
un interval de timp stabilit apriori (de exemplu 10 ¡20ms). Semnalul de ie» sire poate
¯ recuperat prin c¸ autare exhaustiv¸ a. Mai mult semnalul de ie» sire are o component¸ a
inteligibil¸ a rezidual¸ a mare ^ ³n cazul semnalului vocal.
CIFRAREA ANALOGIC ¸A 277
Figura 12.3: Spectrul densit¸ at »ii de putere a semnalului inversat.
Figura 12.4: Semnal inversat (frecvent »a purt¸ atoarei 4000Hz).
12.5.3. Amestecarea spectrului
Amestecarea spectrului este o tehnic¸ a prin care domeniul spectrului este ^ ³mp¸ art »it
^ ³nnsub-benzi de lungimi egale semnalul cifrat ¯ind realizat prin permutarea (obt »inut¸ a
din cheia de cifrare) acestor lungimi de band¸ a, urmat¸ a de o eventual¸ a inversare a
acestora. La fel ca la rotirea inversorului spectral permutarea se poate schimba la o
perioad¸ a de timp stabilit¸ a apriori. Num¸ arul total de posibile decript¸ ari este ^ ³n acest
278 CRIPTANALIZA SISTEMELOR DE CIFRARE ANALOGICE
Figura 12.5: Semnal inversat » si rotit ^ ³n band¸ a (frecvent »a purt¸ atoarei 4000Hz).
caz 2n£n!:^In ¯gura 12.6 este prezentat un exemplu pentru n= 4 permutarea ¯ind
(4;1;3;2) secvent »a de inversare ¯ind 1001 (secvent »ele 4 » si 2 ¯ind inversate iar 1 » si 3
neinversate).
Figura 12.6: Exemplu de sistem de cifrare prin amestecarea spectrului n=4.
APLICAT »II 279
12.5.4. Multiplexarea ^ ³n timp
Vom investiga o metod¸ a prin care se intervine asupra elementului timp al sem-
nalului. Metoda presupune divizarea semnalului analogic ^ ³n secvent »e (frame) de
lungimi egale. Fiecare secvent »¸ a este divizat¸ a ^ ³n elemente periodice ^ ³n timp nu-
mite segmente acestea ¯ind apoi permutate acestea constituind semnalul de ie» sire.
Aceast¸ a metod¸ a se nume» ste multiplexarea ^ ³n timp (time division multiplexing scris
prescurtat t.d.m ). Setarea unui astfel de sistem de cifrare presupune stabilirea unor
valori ale segmentelor » si a secvent »elor. Alegerea acestor valori numerice se face ex-
perimental, neexist^ and o metod¸ a matematic¸ a. Descrierea acestui tip de sistem de
cifrare precum » si studii asupra securit¸ at »ii sistemelor t.d.m. se poate g¸ asi ^ ³n Beker
[7].
12.6. Aplicat »ii
Exercit »iul 12.6.1. Care este rata minim¸ a de e» santionare pentru recuperarea
unui semnal vocal limitat ^ ³ntre
i) 0¡4KHz ;
ii) 300 ¡3400Hz.
Exercit »iul 12.6.2. Descriet »i o procedur¸ a de atac (bazat¸ a pe analiza transfor-
matei Fourier) asupra metodei de cifrare prin rotire a spectrului inversat pentru un
semnal vocal.
Exercit »iul 12.6.3. Descriet »i o procedur¸ a de atac (bazat¸ a pe analiza transfor-
matei Fourier) asupra metodei de cifrare prin amestecare a spectrului pentru un
semnal vocal.
Exercit »iul 12.6.4. Procedurile de mai sus sunt e¯ciente ^ ³n cazul cifr¸ arii unui
zgomot alb?
280 CRIPTANALIZA SISTEMELOR DE CIFRARE ANALOGICE
Capitolul 13
MANAGEMENTUL CHEILOR
CRIPTOGRAFICE
No message is safe in cipher unless
the key phrase is comparable in
length with the message itself.
Paker Hitt, 1914.
13.1. Managementul cheilor
Managementul adecvat al cheilor de criptare este o component¸ a deosebit de
important¸ a ^ ³n utilizarea criptogra¯ei ^ ³n stabilirea obiectivelor de securitate (vezi
Schneier [69]). Securitatea informat »iei protejate prin metode criptogra¯ce depinde
direct de protect »ia realizat¸ a asupra cheilor criptogra¯ce. Toate cheile (private » si se-
crete) trebuie protejate ^ ³mpotriva modi¯c¸ arilor precum » si ^ ³mpotriva accesului neau-
torizat. ^In cele ce urmeaz¸ a prezent¸ am o serie de principii, formulate sub form¸ a de
recomand¸ ari, pentru managementul efectiv al cheilor criptogra¯ce.
1.Fit »i siguri c¸ a utilizatorii sunt informat »i de obligat »iile » si responsabilit¸ at »ile lor,
» si c¸ a au ^ ³nt »eles important »a p¸ astr¸ arii cheilor ^ ³n loc sigur.
Securitatea cheilor criptogra¯ce dintr-un sistem cu semn¸ atur¸ a electronic¸ a sau
digital¸ a este fundamentul sistemului de securitate; de aceea, utilizatorii trebuie s¸ a
p¸ astreze controlul cheilor corespunz¸ atoare. ^Inainte de a primi o cheie (dac¸ a aceasta
este o cheie controlat¸ a de utilizator pe termen lung) utilizatorii trebuie s¸ a cunoasc¸ a
responsabilit¸ at »ile » si obligat »ii ce le revin ^ ³n special privitor la vulnerabilit¸ at »ile rezul-
tate din compromiterea sau pierderea cheii. Administratorul de securitate trebuie
s¸ a ¯e preg¸ atit pentru posibilitatea compromiterii cheii. Este obligatoriu ca acesta s¸ a
dispun¸ a de un plan de act »iune ^ ³n cazul compromiterii sau pierderii cheilor de sistem
281
282 MANAGEMENTUL CHEILOR CRIPTOGRAFICE
sau a componentelor cheilor la un server central; aceast plan trebuie realizat ^ ³nainte
ca sistemul s¸ a devin¸ a operat »ional. Planul de act »iune, ^ ³n acest caz, cuprinde m¸ asuri
ce trebuie luate, soft » si hard, asupra cheilor de sistem, cheilor utilizator, semn¸ aturilor
generate, datelor criptate, etc. Dac¸ a cheia privat¸ a a unui utilizator este pierdut¸ a
sau compromis¸ a atunci ceilalt »i utilizatori trebuie ^ ³n» stiint »at »i de aceast lucru, a» sa c¸ a ei
nu vor mai cripta mesaje folosind cheia public¸ a compromis¸ a, nici s¸ a accepte mesaje
semnate cu cheia privat¸ a compromis¸ a. Utilizatorii trebuie s¸ a ¯e capabili s¸ a stocheze
^ ³n condit »ii de sigurant »¸ a cheile private, astfel ^ ³nc^ at nici un intrus s¸ a nu o poat¸ a g¸ asi,
iar acestea trebuie s¸ a ¯e disponibile pentru o folosire legitim¸ a. Cheile criptogra¯ce
trebuie s¸ a ¯e valide p^ ana la expirarea datei speci¯cate.
2.Semnat »i » si veri¯cat »i codul care implementeaz¸ a funct »iile criptogra¯ce .
Softul serverului pentru managementul cheii centrale trebuie semnat electronic » si
veri¯cat periodic cu scopul veri¯c¸ arii integrit¸ at »ii acestuia. Aceast lucru furnizeaz¸ a
un mijloc de detect »ie a modi¯c¸ arilor neautorizate ale sistemului software. ^In inte-
riorul unui modul de criptogra¯c, aceast¸ a caracteristic¸ a de generare » si veri¯care a
autenticit¸ at »ii codului este cerut¸ a de standardul american FIPS PUB 140-1.
3.Un sistem implementat pentru o agent »ie guvernamental¸ a trebuie s¸ a aib¸ a cheile
proprii p¸ astrate central » si sistemul software controlat de angajat »ii abilitat »i.
Pentru securitatea sistemului este esent »ial un controlul asupra cheilor de baz¸ a » si
asupra softul » si hardul destinat administr¸ arii cheilor. ^In situat »ia^ ³n care o agent »ie gu-
vernamental¸ a lucreaz¸ a cu un sistem care a fost dezvoltat de un contractor, angajat »ii
guvernamentali trebuie s¸ a controleze ^ ³n totalitate documentat »ia » si implementarea
funct »iilor criptogra¯ce. Acest control se aplic¸ a de asemenea con¯gurat »iei softului
precum » si managementului cheilor. Odat¸ a ce sistemul devine operat »ional, angajat »ilor
neguvernamentali li se va da un acces restrict »ionat la datele centrale, codul » si mod-
ulele de criptare, inclusiv » si la aceia care au fost angajat »i s¸ a dezvolte » si s¸ a ment »in¸ a
sistemul.
4.Asigurarea managementului cheilor.
Managementul cheilor este esent »ial pentru generarea sigur¸ a, p¸ astrarea, distribut »ia
» si transferul cheilor criptogra¯ce. Unul din principiile fundamentale pentru protect »ia
cheilor criptogra¯ce este partajarea informat »iei » sicontrolul dual . Partajarea informa-
t »iei precum » si controlul dual pot ¯ folosite pentru protect »ia cheilor utilizatorilor care
sunt stocare central, a cheilor private de baz¸ a, distribut »iei codurilor (cont »inute ^ ³n
casete) de utilizator, init »ializarii tuturor modulelor de criptare din sistem, autoriz¸ arii
folosirii lor ^ ³n funct »iile criptogra¯ce efectuate de sistem. Alt rol al managementului
cheilor este acela de ^ ³ntret »inere a cheilor, ^ ³n special de ^ ³nlocuire a cheilor la sf^ ar» situl
perioadei de valabilitate. Perioada de valabilitate este determinat¸ a de sensibilitatea
informat »iei » si de riscul compromiterii cheilor.
Un rol important ^ ³n mangementul cheilor este jucat de serverele centrale. ^In
GENERAREA CHEILOR 283
sistemele cu chei publice serverele centrale includ un CA (Autoritate de Certi¯care),
ce este o entitate care genereaz¸ a » si revoc¸ a certi¯catele cheilor publice » si poate genera
perechi de chei (publice » si private). Cheia privat¸ a a CA trebuie protejat¸ a prin
partajea informat »iei » si aplicarea controlului dual. ^In sistemele cu chei secrete sau
publice, securitatea serverului central este obigatorie pentru securitatea criptogra¯c¸ a
a sistemului.
13.2. Generarea cheilor
Generarea cheilor este cea mai sensibil¸ a dintre toate funct »iile criptogra¯ce. Orice
eroare ^ ³n implementarea funct »iilor de generare a cheilor sau a m¸ asurilor de securi-
tate ¯zic¸ a a acestor funct »ii va afecta serios integritatea altor mecanisme criptogra¯ce.
M¸ asurile de securitate ¯zic¸ a sunt necesare pentru prevenirea dezv¸ aluirilor neautor-
izate, inser¸ arilor » si » stergerii cheilor produse de sistem. ^In mod special, toate resursele
vor genera ^ ³n mod automat chei » si vor init »ializa vectori care trebuie protejat »i ¯zic
^ ³n scopul prevenirii:
– submin¸ arii, modi¯c¸ arii » si ^ ³nlocuirii cheilor;
– modi¯c¸ arii » si ^ ³nlocuirii vectorilor de init »ializare;
– modifc¸ arii » si ^ ³nlocuirii algoritmilor de generare.
Depinz^ and de structura managementului cerut, exist¸ a aplicat »ii unde este necesar¸ a
generarea cheilor precum » si aplicat »ii unde poate ¯ mai mult dorit¸ a distribut »ia cheilor
de la alt¸ a surs¸ a, cum ar ¯ autoritatea central¸ a.
1.Cheile centrale sau de rutare trebuie controlate din timpul gener¸ arii.
Cheile centrale sau de rutare sunt cele mai indicate s¸ a ¯e folosite ^ ³n aplicat »ii
sensibile cum ar ¯ criptarea cheilor utilizator, semnarea unei baze de date cu o cheie
central¸ a pentru integritate, leg¸ atura unei chei pereche cu un utilizator sau generarea
cheiilor utilizatorilor. Dac¸ a aceste chei sunt compromise, o compromitere complet¸ a
a sistemului devine ^ ³n mod real foarte amenint »¸ atoare. Este esent »ial s¸ a ment »inem
securitatea acestor chei centrale chiar de la ^ ³nceputul procesului de generare. Nici un
proprietar al cheilor sau al componentelor cheilor nu va putea vreodat¸ a s¸ a foloseasc¸ a
cheile sau componentele acestora. Dac¸ a partajarea informat »iei » si controlul dual sunt
o cerint »¸ a pentru cheile centrale sau de rutare, atunci un e» sec ^ ³n obt »inerea partaj¸ arii
informat »iei sau a controlului dual al acestor chei ^ ³n orice moment din ciclul de viat »¸ a
al acestora ar putea prezenta o problem¸ a de securitate » si o potent »ial¸ a compromitere
a sistemului.
2. Dac¸ a o cheie este stocat¸ a ^ ³ntr-o caset¸ a de cod ce se acceseaz¸ a prin intermediul
unui cod PIN, atunci numai proprietarul acestei casete va putea ¯ ^ ³n posesia PIN-
ului corespunzatoar.
Aceast lucru trebuie aplicat » si celor care generez¸ a casete de cod precum » si numere
284 MANAGEMENTUL CHEILOR CRIPTOGRAFICE
de identi¯care personale (PIN), la fel ca » si oric¸ aror alt »i utilizatori. Pentru a preveni
ca un curier s¸ a aib¸ a un control exclusiv asupra celor dou¸ a elemente, administratorul
de securitate trebuie s¸ a distribuie caseta » si PIN-ul ^ ³n pachete separate distribuite ^ ³n
zile diferite. Recept »ia ¯ec¸ arei informat »ii va ¯ ^ ³ntotdeauna con¯rmat¸ a emit »¸ atorului
original. Un neajuns ^ ³n ment »inerea controlului asupra casetei » si a PIN-ului sau
corespunzator poate conduce la o cheie compromis¸ a » si la folosirea gre» sit¸ a a unei
funct »ii criptogra¯ce din sistem.
13.3. Protect »ia cheilor criptogra¯ce
13.3.1. Cheie utilizator
Cheile criptogra¯ce necesit¸ a o protect »ie ¯zic¸ a special¸ a. Dac¸ a cheile sau compo-
nentele ale acestora sunt memorate ^ ³ntr-o caset¸ a (ex: °oppy disk, PC, smart card,
etc.), atunci aceast¸ a caset¸ a trebuie s¸ a ¯e stocat¸ a ^ ³ntr-o manier¸ a special¸ a ^ ³n scopul de
a preveni persoanele neautorizate de a accesa cheile sau componentele ale acestora.
De exemplu, dac¸ a componentele cheilor pentru init »oalizarea unui CA sau a unei
facilit¸ at »i a managementului cheilor sunt stocate ^ ³ntr-o caset¸ a p¸ astrat¸ a ^ ³ntr-un seif
atunci mai multe persoane pot avea acces la caseta respectiv¸ a. De aceea, o protect »ie
^ ³n plus este necesar¸ a pentru ¯ecare caset¸ a, de exemplu prin folosirea unei ^ ³ncuietori
¯zice, astfel ^ ³nc^ at s¸ a se permit¸ a proprietarului unei casete s¸ a determine dac¸ a o alt¸ a
persoan¸ a a folosit sau nu caseta.
1.Pentru protect »ia cheilor la compromitere » si folosire gre» sit¸ a se folosesc pauzele
de autenti¯care.
Rolul pauzei de autenti¯care pentru un modul criptogra¯c sau pentru o caset¸ a
este acela de minimizare a posbilit¸ at »ii ca un individ neautorizat s¸ a acceseze un modul
criptogra¯c activ » si folosirea cheilor sale de criptare. Aceasta s-ar putea ^ ³nt^ ampla
dac¸ a modulul criptogra¯c este l¸ asat activ (din neatent »ie) de un utilizator care i-a
stabilit autenticitatea » si i-a ^ ³nc¸ arcat cheia criptogra¯c¸ a. O alternativ¸ a este s¸ a fort »¸ am
utilizatorul s¸ a se reautenti¯ce periodic la modulul criptogra¯c, » si s¸ a-i permitem s¸ a
stea logat numai pentru o anumit¸ a perioad¸ a de timp. Pentru aplicat »ii sensibile poate
¯ necesar s¸ a se restrict »ioneze timpul ^ ³n care aceasta poate avea loc.
2.Semnat »i toate datele ^ ³nmagazinate central » si criptat »i datele sensibile cum ar ¯
cheile secrete care sunt folosite ^ ³n scopul realiz¸ arii con¯dent »ialit¸ at »ii.
Toate datele memorate central care se refer¸ a la cheile utilizatorilor trebuie sem-
nate pentru integritate » si eventual criptate pentru con¯dent »ialtate (toate cheile se-
crete ale utilizatorilor » si toate cheile secrete ale CA trebuie criptate). ^Inregistr¸ arile
cheilor individuale din baza de date -precum » si toat¸ a baza de date – trebuie semnate.
Pentru a permite detect »ia ^ ³ncerc¸ arilor de fraudare, ¯ecare ^ ³nregistrare a cheilor indi-
viduale trebuie semnat¸ a, ^ ³n a» sa fel ^ ³nc^ at integritatea s¸ a poat¸ a ¯ controlat¸ a ^ ³nainte ca
PROTECT »IA CHEILOR CRIPTOGRAFICE 285
aceast¸ a cheie s¸ a ¯e folosit¸ a ^ ³ntr-o funct »ie criptogra¯c¸ a. Dac¸ a semn¸ am ^ ³ntreaga baz¸ a
de date, atunci trebuie semnat cel mai put »in important c^ amp care nu se schimb¸ a
regulat (aceasta permite o veri¯care rapid¸ a).
3.Facet »i ce este necesar pentru restabilirea propriet¸ at »ilor cheilor.
Sistemele IT trebuie s¸ a protejeze con¯dent »ialitatea informat »iei. Trebuie s¸ a ex-
iste dispozitive de sigurant »¸ a care s¸ a asigure c¸ a ^ ³nregistrarile sensibile s¸ a nu ¯e nici
pierdute de proprietarii ^ ³n drept, nici accesate de c¸ atre indivizi neautorizati. Posi-
bilitatea recuper¸ arii cheilor genereaz¸ a aceste controale. Toate componentele cheilor
trebuie s¸ a ¯e disponibile unei organizat »ii, indiferent dac¸ a utilizatorul asociat lu-
creaz¸ a ^ ³n mod curent ^ ³n organizat »ie. C^ and salariat »ii p¸ ar¸ asesc organizat »iile voluntar
sau c^ and sunt mutat »i din alte motive, organizat »ia trebuie s¸ a acceseze componentele
cheilor pentru a init »ializa procedura de recuperare a datelor criptate. Posibilitatea
recuper¸ arii cheilor permite organizat »iilor s¸ a recupereze componentele cheilor. Este
foarte important s¸ a existe copii de sigurant »¸ a ale cheilor de baz¸ a (root), at^ at timp c^ at
compromiterea sau pierderea acestor componente poate impiedica accesul la cheile
bazei centrale de date, » si posibilitatea de a nu permite unor utilizatori s¸ a decripteze
date sau s¸ a execute veri¯carea semn¸ aturii.
13.3.2. Arhivarea cheilor
1.Arhivat »i cheile de utilizator pentru o perioad¸ a de timp de criptare su¯cient de
lung¸ a.
O perioad¸ a de timp de criptare este timpul ^ ³n care o cheie poate ¯ folosit¸ a pentru
veri¯carea semn¸ aturii sau pentru decriptare; trebuie s¸ a dureze mai mult dec^ at timpul
de viat »¸ a a unei chei (unde timpul de viat »¸ a este perioada ^ ³n care o cheie poate
¯ folosit¸ a s¸ a genereze o semn¸ atur¸ a » si/sau s¸ a realizeze o criptare). Cheile trebuie
arhivate pentru o lung¸ a perioad¸ a de criptare (de ordinul decadelor), astfel ^ ³nc^ at ele
pot ¯ folosite pentru veri¯carea semn¸ aturilor » si decriptarea textelor cifrate ^ ³n timpul
perioadei de criptare.
13.3.3. Distrugerea cheilor
1.Determinat »i un timp de viat »¸ a rezonabil pentru cheile asociate cu diferite tipuri
de utilizatori.
Utilizatorii cu diferite roluri ^ ³n sistem trebuie s¸ a aib¸ a chei cu un timp de viat »¸ a
care s¸ a t »in¸ a cont de rolul » si responsabilit¸ at »ile acestora, aplicat »iile pentru care aceste
chei sunt folosite » si securitatea serviciilor care sunt date de aceste chei (autenti¯carea
utilizator/dat¸ a, con¯dent »ialitatea, integritatea datelor,etc). Generarea unei noi chei
nu trebuie f¸ acut¸ a prea des deoarece aceasta ar deveni obositoare; totu» si trebuie
286 MANAGEMENTUL CHEILOR CRIPTOGRAFICE
f¸ acut¸ a destul de des pentru a minimiza pierderile cauzate de o posibil¸ a compromitere
a cheii.
2.Folosit »i funct »ia de dezactivare sau anulare a cheilor astfel ^ ³nc^ at informat »ia
semnat¸ a anterior cu date compromise sau pierdute s¸ a poat¸ a ¯ veri¯cat¸ a.
Este posibil s¸ a desemn¸ am o cheie pentru semn¸ atura ca ¯ind pierdut¸ a sau compro-
mis¸ a, astfel ^ ³nc^ at semnatura generat¸ a anterior pentru o dat¸ a speci¯cat¸ a s¸ a poat¸ a ¯
veri¯cat¸ a. Altfel, toate datele semnate anterior cu o cheie pierdut¸ a sau compromis¸ a
vor trebui s¸ a ¯e rev¸ azute » si semnate ^ ³nc¸ a o dat¸ a.
13.4. Lungimea cheilor criptogra¯ce
Problema lungimii cheilor trebuie abordat¸ a ^ ³n funct »ie de tipul de informat »ie (ca-
tegoria de secret) ce se dore» ste protejat¸ a, de propriet¸ at »ile celei mai e¯ciente metode
de atac (care ^ ³n mod ideal este atacul brut) precum » si de capacit¸ at »ile tehnice (echipa-
mente hardware » si software dedicate) » si umane (gradul de preg¸ atire, diversitatea » si
num¸ arul speciali» stilor) ale adversarului. Trebuie s¸ a ret »inem faptul c¸ a, ^ ³n anumite
condit »ii, autorit¸ at »ile trebuie s¸ a aib¸ a acces la mesajele cifrate (pentru asigurarea
disponibilit¸ at »ii informat »iei). Acest lucru se poate face prin partajarea cheilor de
cifrare (pentru produsele profesionale) sau prin restr^ angerea acesteia la o dimensiune
rezonabil¸ a (pentru produsele comerciale). Lungimea cheilor criptogra¯ce precum » si
a parametrilor secret »i (utilizat »i ^ ³n autenti¯care) trebuie s¸ a ¯e direct proport »ional¸ a
cu valoarea » si perioada de valabilitate a informat »iei protejate. Reamintim faptul c¸ a
utilizarea cheilor asimetrice este indicat¸ a pentru realizarea auten¯c¸ arii » si semn¸ arii
datelor pe c^ and a cheilor simetrice pentru asigurarea con¯dent »ialit¸ at »ii acestora. ^In
tabelul 13 :4:1 se prezint¸ a echivalent »a dintre lungimile cheilor publice (asimetrice)
» si secrete (simetrice) raportate la metoda de atac brut. Tabelul 13 :4:2 prezint¸ a
lungimea minim¸ a a cheilor secrete relativ la tipul de informat »ie protejat¸ a precum » si
durata de viat »¸ a a acestora (vezi Schneier [69]).
Lungimea cheii publice Lungimea cheii secrete
384 bit »i 56 bit »i
512 bit »i 64 bit »i
768 bit »i 80 bit »i
1792 bit »i 112 bit »i
2304 bit »i 128 bit »i
Tabelul 13.4.1: Lungimile comparative ale cheilor asimetrice » si a cheilor simetrice.
APLICAT »II 287
Tipul informat »iei Timpul de viat »¸ a al cheii Lungimea minim¸ a a cheii
Informat »ii tactice militare minute/ore 56-64 bit »i
Lansare de produse zile/s¸ aptam^ ani 64 bit »i
Plan de afaceri pe termen lung ani 64 bit »i
Secrete de product »ie comerciale decade 112 bit »i
Documentat »ia bombei H cel put »in 40 ani 128 bit »i
Identitatea spionilor cel put »in 50 ani 128 bit »i
Afaceri interne cel put »in 50 ani 128 bit »i
Afaceri diplomatice cel put »in 65 ani 256 bit »i
Resurse strategice 100 ani 256 bit »i
Tabelul 13.4.2: Lungimea minim¸ a a cheilor simetrice raportat¸ a la tipul de informat »ie.
13.5. Aplicat »ii
Exercit »iul 13.5.1. Propunet »i o procedur¸ a de generare a cheilor simetrice.
Exercit »iul 13.5.2. Propunet »i o procedur¸ a de generare a cheilor asimetrice de
tip RSA.
Exercit »iul 13.5.3. Propunet »i o procedur¸ a de asigurare a integrit¸ at »ii cheilor.
Exercit »iul 13.5.4. Propunet »i o procedur¸ a de asigurare a autenticit¸ at »ii cheilor.
Exercit »iul 13.5.5. Propunet »i o procedur¸ a de asigurare a nerepudierii cheilor.
Exercit »iul 13.5.6. Propunet »i o procedur¸ a de recuperare a cheilor secrete prin
metode de key sharing » si/sau key splitting .
Exercit »iul 13.5.7. Propunet »i o procedur¸ a de transfer a cheilor.
Exercit »iul 13.5.8. Care este rolul perioadei de valabilitate a cheilor criptogra¯ce?
Exercit »iul 13.5.9. Care este diferent »a dintre key sharing » sikey splitting ?
288 MANAGEMENTUL CHEILOR CRIPTOGRAFICE
Anexa A
METODE S »I TEHNICI DE
PROGRAMARE
A.1. Structuri de date
Dup¸ a cum s-a remarcat ^ ³n acest¸ a lucrare nu s-au prezentat excesiv demonstrat »ii
matematice, ci s-a pus accent pe formularea (codi¯carea) algoritmului. Pentru ca
problema astfel formulat¸ a s¸ a se poat¸ a rezolva e¯cient se va face apel la o serie de
tehnici de programare care vor ¯ prezentate pe scurt ^ ³n cele ce urmeaz¸ a. Descrierea
complet¸ a a tehnicilor de programare amintite ^ ³n cadrul acestui capitol face obiectul
cursurilor de tehnici de programare (vezi Basse [5],Cormen [14] » si Knuth [38]).
Structurile de date cu ajutorul c¸ arora se implementeaz¸ a tehnicile de programare
prezentate ^ ³n cele ce urmeaz¸ a pot ¯ statice (de exemplu, vectorii ori matricile: se
aloc¸ a memorie ^ ³n faza init »ial¸ a) sau dinamice (se aloc¸ a memorie ^ ³n funct »ie de nece-
sit¸ at »i).
Dintre cele mai utilizate structuri de date dinamice amintim:
-lista: aceasta poate ¯ simplu sau dublu ^ ³nl¸ ant »uit¸ a;
-stiva (este un caz particular de list¸ a dublu ^ ³nl¸ ant »uit¸ a): structur¸ a de date tip
LIFO (last in ¯rst out );
-coada (este un caz particular de list¸ a): structur¸ a de date tip FIFO (¯rst in ¯rst
out);
-arborii: structur¸ a de date ce poate ¯ de¯nit¸ a » si ca un caz particular de graf;
Principalele operat »ii ce se efectueaz¸ a asupra listelor sau arborilor sunt urm¸ atoa-
rele:
-init »ializare;
-insert »ia unui nod dup¸ a sau ^ ³nainte de nodul k;
289
290 METODE S »I TEHNICI DE PROGRAMARE
-» stergerea nodului k;
-combinarea a dou¸ a sau mai multe liste ^ ³ntr-una singur¸ a;
-partit »ionarea unei liste;
-copierea unei liste;
-determinarea num¸ arului de noduri dintr-o list¸ a;
-sortarea nodurilor unei liste (dup¸ a un anume criteriu).
-c¸ autarea ^ ³n list¸ a a nodului cu o valoare particular¸ a ^ ³ntr-un anumit c^ amp.
A.2. Alocarea memoriei
Alocarea optim¸ a a memoriei este un element necesar scrierii unui cod e¯cient » si se
poate face static , situat »ie ^ ³n care variabilele sunt vectori unu sau multi dimensionali,
saudinamic (pointer) pe m¸ asur¸ a ce avem nevoie de acestea. Urm¸ atoarele operat »ii
trebuiesc efectuate ^ ³n cazul utiliz¸ arii aloc¸ arii dinamice a memoriei: init »ializarea
pointerului, utilizarea pointerului » si eliberarea memoriei.
A.3. Recursivitate
Tehnica recursivit¸ at »ii se aplic¸ a^ ³n problemele^ ³n care dispunem de o formul¸ a recur-
siv¸ a de calcul. Tehnica ¯ind des utilizat¸ a, nu vom insista asupra ei amintind doar
c¸ a exist¸ a variante recursive ale metodelor backtracking, divide et impera, greedy
(acestea sunt prezentate ^ ³n cele ce urmeaz¸ a). ^Intreaga tehnic¸ a a recursivit¸ at »ii se
bazeaz¸ a pe not »iunea de stiv¸ a.
Exemplu de probleme ce se rezolv¸ a cu ajutorul tehnicii recursive:
-calculul funct »iei factorial, al celui mai mare divizor comun, al » sirului Fibonacci
etc;
-generarea permut¸ arilor;
-ie» sirea dintr-un labirint;
-analiza sintactic¸ a.
A.4. Metoda backtracking
Aceast¸ a metod¸ a evit¸ a, ^ ³n general, generarea tuturor solut »iilor posibile. Ele-
mentele vectorului ndimensional x(solut »ia problemei) primesc pe r^ and valori. Ast-
fel lui xk2Ski se atribuie o valoare numai dac¸ a au fost deja atribuite valori lui
x1; : : : ; x k¡1:Mai mult, odat¸ a stabilit¸ a o valoare pentru xk;nu se trece direct la
atribuirea de valori lui xk+1;ci se veri¯c¸ a ni» ste condit »ii de continuare referitoare
lax1; : : : ; x k:Aceste condit »ii stabilesc situat »iile ^ ³n care are sens s¸ a trecem la deter-
minarea lui xk+1:Ne^ ³ndeplinirea lor exprim¸ a faptul c¸ a, oricum am alege xk+1; : : : ; x n
TEHNICA DIVIDE ET IMPERA 291
nu vom putea ajunge la o solut »ie rezultat, adic¸ a la o solut »ie pentru care condit »iile
interne (relat »ii ^ ³ntre componentele lui x) sunt satisf¸ acute. Dac¸ a condit »iile de con-
tinuare nu sunt ^ ³ndeplinite, se va alege un alt xkdinSk;iar dac¸ a Sks-a epuizat ne
^ ³ntoarcem la Sk¡1:Exist¸ a » si o variant¸ a recursiv¸ a a acestei metode.
Exemplu de probleme ce se rezolv¸ a cu ajutorul tehnicii backtracking:
-problema celor opt dame;
-generarea permut¸ arilor, aranjametelor sau combin¸ arilor;
-produsul cartezian a nmult »imi;
-problema comis-voiajorului;
-problema color¸ arii h¸ art »ilor;
-problema pl¸ at »ii unei sume sutiliz^ and ntipuri de monede.
Tehnica backtracking are o complexitate exponent »ial¸ a » si este de folos atunci c^ and
nu avem la dispozit »ie un algoritm mai performant.
A.5. Tehnica Divide et Impera
Este o tehnic¸ a (care se aplic¸ a^ ³n principal^ ³n forma recursiv¸ a) ce const¸ a^ ³n urm¸ atoa-
rele:
-dac¸ a problema este rezolvabil¸ a direct atunci ea se rezolv¸ a;
-altfel, se descompune ^ ³n dou¸ a sau mai multe probleme mai simple, de aceea» si
natur¸ a cu problema init »ial¸ a (numite subprobleme), care se rezolv¸ a prin aceea» si
metod¸ a; solut »ia problemei init »iale se obt »ine prin combinarea solut »iilor subproblemei.
Exemplu de probleme ce se rezolv¸ a cu ajutorul tehnicii divide et impera:
-problema t¸ aieturilor;
-sortarea rapid¸ a (quick sort);
-sortarea prin interclasare.
Metoda divide et impera reduce o complexitate de ordinul O(n2) la un ordin de
complexitate de O(nlg3).
A.6. Tehnica branch and bound
Tehnic¸ a de optimizare care face parte din domeniul Cercet¸ arii Operat »ionale » si
const¸ a ^ ³n esent »¸ a ^ ³n rezolvarea unei probleme de optimizare cu condit »ii relaxate (pro-
blem¸ a continu¸ a) relativ la problema init »ial¸ a (problem¸ a discret¸ a) » si apoi spargerea
problemei ^ ³n dou¸ a probleme care se rezolv¸ a cu ajutorul algoritmului continuu. Pro-
cedura de c¸ autare optim¸ a a solut »iei se aplic¸ a iterativ prin generarea de alte dou¸ a
noi probleme obt »inute din problema curent¸ a prin introducerea unei restrict »ii liniare.
Algoritmul se ^ ³ncheie c^ and procesul de rami¯care a fost stopat (problema nu are
solut »ii, problema are solut »ie optim¸ a ^ ³n mult »imea init »ial¸ a, problema nu are solut »ie
292 METODE S »I TEHNICI DE PROGRAMARE
^ ³n mult »imea init »ial¸ a, dar valoarea optim¸ a a funct »iei obiectiv este superioar¸ a celei
atinse ^ ³ntr-o solut »ie din mult »imea init »ial¸ a generat¸ a la un alt nod). Solut »ia optim¸ a
este atins¸ a ^ ³n unul dintre nodurile stopate (dup¸ a cele trei situat »ii). ^In acest caz o
solut »ie optim¸ a a problemei init »iale este dat¸ a de orice nod stopat dup¸ a regula 2 care
realizeaz¸ a minimul ^ ³n clasa acestor noduri.
A.7. Programarea dinamic¸ a
Tehnica program¸ arii dinamice (progresive, regresive sau mixte) a fost expus¸ a pe
larg ^ ³n lucrare. ^In esent »¸ a metoda este aplicabil¸ a problemelor ^ ³n care rezultatul se
obt »ine ca urmare a unui » sir de decizii D1; : : : ; D n:^In urma deciziei D1;sistemul
evolueaz¸ a din starea S0^ ³n starea S1;^ ³n urma deciziei D2sistemul evolueaz¸ a din
starea S1^ ³n starea S2; : : : ; ^ ³n urma deciziei Dnsistemul evolueaz¸ a din starea Sn¡1
^ ³n starea Sn:^In afara condit »iilor ar¸ atate p^ an¸ a acum este necesar s¸ a ¯e satisf¸ acut
principiul program¸ arii dinamice pe care ^ ³l enunt »¸ am ^ ³n continuare.
Dac¸ a D1; : : : ; D neste un » sir optim de decizii care transform¸ a sistemul din starea
init »ial¸ a S0^ ³n starea ¯nal¸ a Snatunci trebuie ^ ³ndeplinit¸ a una dintre condit »iile urm¸ a-
toare:
1)Dk; : : : ; D neste un » sir optim de decizii care duce sistemul din starea Sk¡1^ ³n
starea Snpentru orice k=1; n(metoda progresiv¸ a);
2)D1; : : : ; D keste un » sir optim de decizii care duce sistemul din starea S0^ ³n
starea Skpentru orice k=1; n(metoda regresiv¸ a);
3)Dk+1; : : : ; D n» siD1; : : : ; D ksunt » siruri de decizii optime ce duc sistemul din
starea Sk^ ³n starea Sn;respectiv din starea S0^ ³n starea Skpentru orice k=1; n
(metoda mixt¸ a).
Exemplu de probleme ce se rezolv¸ a cu ajutorul acestei tehnici:
-determinarea sub» sirului cresc¸ ator de lungime maximal¸ a;
-determinarea drumurilor de cost minim ^ ³ntr-un graf;
-^ ³nmult »irea optim¸ a a unui » sir de matrice;
-problemele de investit »ii.
A.8. Tehnica greedy
Aceast¸ a metod¸ a se folose» ste ^ ³n problemele ^ ³n care, dat¸ a ¯ind o mult »ime Acun
elemente se cere s¸ a se determine o submult »ime Ba sa, care s¸ a ^ ³ndeplineasc¸ a anumite
condit »ii (eventual un anumit criteriu de optim).
Metoda Greedy de rezolvare a unor probleme const¸ a ^ ³n urm¸ atorii pa» si:
-se init »ializeaz¸ a mult »imea Bla mult »imea vid¸ a;
-se alege un anumit element din A;
APLICAT »II 293
-se veri¯c¸ a dac¸ a elementul ales poate ¯ ad¸ augat mult »imii B;
-procedeul continua astfel, repetitiv, p^ an¸ a ce au fost determinate toate elementele
dinB.
Exemplu de probleme ce se rezolv¸ a cu ajutorul tehnicii Greedy:
-problema rucsacului;
-determinarea drumurilor de cost minim ^ ³ntr-un graf (algoritmul lui Dijkstra);
-problema comis-voiajorului.
Complexitatea algoritmilor Greedy este de ordinul de complexitate O(n2).
A.9. Aplicat »ii
Exercit »iul A.9.1. Implementat »i ^ ³n pseudocod urm¸ atoarele structuri de date:
lista, stiva, coada » si arborii.
Exercit »iul A.9.2. Implementat »i ^ ³n pseudocod urm¸ atoarele operat »ii asupra lis-
telor: init »ializare, insert »ie, » stergere, combinare, partit »ionare » si copiere.
Exercit »iul A.9.3. Studiat »i din Knuth [38] algoritmii de sortare: Quick Sort » si
Divide et Impera. Realizat »i operat »ia de implementare a acestora cu tehnicile de
programare prezentate.
Exercit »iul A.9.4. Studiat »i din Knuth [38] algoritmii de c¸ autare. Realizat »i operat »ia
de implementare a acestora cu tehnicile de programare prezentate.
Exercit »iul A.9.5. Proiectat »i ^ ³n pseudocod un algoritm de generare a permut¸ a-
rilor de nelemente.
Exercit »iul A.9.6. Implementat »i ^ ³n pseudocod un algoritm de de terminare a
drumurilor de cost minim (de exemplu algoritmul lui Dijkstra).
Exercit »iul A.9.7. Studiat »i tehnica aloc¸ arii dinamice a memoriei ^ ³n limbajele
C/C++ » si Pascal.
294 METODE S »I TEHNICI DE PROGRAMARE
Anexa B
ELEMENTE DE TEORIA
PROBABILIT ¸AT »ILOR
Contextul general de lucru este acela al unei variabile aleatoare Xcare poate lua
valori din Rn:
B.1. Caracteristici ale variabilelor aleatoare
De¯nit »ia B.1.1. Funct »ia de repartit »ie F(¢) a unei variabile aleatoare Xeste
dat¸ a de:
F(x) = Pr( X·x):
De¯nit »ia B.1.2. Densitatea unei variabile aleatoare Xeste o funct »ie ½(¢) :R!
[0;1) cu proprietatea c¸ a:
F(x) =xZ
¡1½(t)dt:
Observat »ia B.1.1. Evident c¸ a F(1) = 1 » si deci1R
¡1½(t)dt= 1:
De¯nit »ia B.1.3. Dou¸ a variabile aleatoare X» siY;av^ and densit¸ at »ile ½Xrespectiv
½Yse numesc independente dac¸ a densitatea comun¸ a ½XYeste :
½XY(x; y) =½X(x)½Y(y):
295
296 ELEMENTE DE TEORIA PROBABILIT ¸AT »ILOR
De¯nit »ia B.1.4. Momentul de ordinul kal unei variabile aleatoare Xeste dat
de formula:
M(Xk) =xZ
¡1tk½(t)dt:
De¯nit »ia B.1.5. Momentul centrat de ordinul kal unei variabile aleatoare X
este dat de formula:
M((X¡M(x))k) =xZ
¡1(t¡m)k½(t)dt
unde meste momentul de ordinul 1 al variabilei aleatoare X:
Observat »ia B.1.2. Momentul de ordinul 1 este media variabilei aleatoare.
Observat »ia B.1.3. Dispersia unei variabile aleatoare este momentul centrat de
ordinul 2 :
De¯nit »ia B.1.6. Funct »ia caracteristic¸ a (numit¸ a » si transformata Fourier) a unei
variabile aleatoare Xeste de¯nit¸ a prin formula:
'(t) =M(eitx):
Observat »ia B.1.4. Funct »ia caracteristic¸ a a unei variabile aleatoare este unic¸ a.
Observat »ia B.1.5. Funct »ia caracteristic¸ a a sumei de variabile aleatoare inde-
pendente este egal¸ a cu produsul funct »iilor caracteristice.
De¯nit »ia B.1.7. Funct »ia generatoare de momente (numit¸ a » si transformata La-
place) a unei variabile aleatoare Xeste de¯nit¸ a prin formula:
G(t) =M(etx):
Observat »ia B.1.6. Funct »ia generatoare de momente caracterizeaz¸ a^ ³n mod unic
o variabil¸ a aleatoare.
Anexa C
STATISTIC ¸A DESCRIPTIV ¸A
C.1. Momentele unei variabile aleatoare
Valoarea medie a variabilei aleatoare continue Xcu densitatea p(x) este de¯nit¸ a
prin:
M(X) =Z
xp(x)dx:
^In cazul discret^ ³n care variabila Xia valoarea icu probabilitatea piavem formula:
M(X) =nX
i=1ipi:
Dispersia variabilei aleatoare D2(X) este de¯nita prin formula:
D2(X) = M([M(X)¡X]2)
=M(X2)¡M2(X):
Deviat »ia standard (termen introdus de Pearson ^ ³n anul 1894) a variabilei aleatoare
esteD(X):
Modulul unei variabile aleatoare Xeste valoarea cea mai mare (^ ³n valoare abso-
lut¸ a) a variabilei.
Mediana (termen introdus de Galton ^ ³n anul 1882 ) unei variabile aleatoare X
este acea valoare med pentru care are loc:
Pr(X < med ) = Pr( X > med ):
Mediana poate ¯ diferit¸ a de valoarea medie. Generalizarea medianei este ®¡cuan-
tilau®ce este de¯nit¸ a prin formula:
Pr(X < u ®) =®:
297
298 STATISTIC ¸A DESCRIPTIV ¸A
Cuantila de ordinul1
2este mediana.
Avem urm¸ atoarea inegalitate (Ceb^ a» sev) care exprima o constr^ angere asupra aba-
terii unei variabile aleatoare de la valoarea sa medie:
Pr(jX¡M(X)j ¸kD(X))·1
k2:
Covariant »a dintre dou¸ a variabile aleatoare X» siYeste
Cov(X; Y) =E((X¡E(X)(Y¡E(Y)):
Corelat »ia dintre dou¸ a variabile aleatoare X» siYeste
Cor(X; Y) =Cov(X; Y)p
D2(X)D2(Y):
Observat »ia C.1.1. Dac¸ a variabilele aleatoare X» siYsunt independente atunci
Cor(X; Y) = 0 :Reciproc dac¸ a variabilele aleatoare X» siYsunt necorelate » si vectorul
bidimensional ( X; Y) are o repartit »ie gaussian¸ a atunci acestea sunt independente.
C.2. Teoria select »iei
FieX1; :::; X no select »ie de volum nasupra variabilei aleatoare Xde medie m» si
dispersie ¾2:
Media de select »ie este de¯nit¸ a prin formula:
X=nP
i=1Xi
n:
Media de select »ie este un estimator nedeplasat al valorii medii a variabilei aleatoare
X:
M(X) =m:
Dispersia mediei de select »ie Xeste dat¸ a de:
D2(X) =¾2
n:
Dispersia de select »ie este de¯nit¸ a prin formula:
s2=1
n¡1nX
i=1(Xi¡X)2:
APLICAT »II 299
Valoarea sse nume» ste deviat »ia standard de select »ie.
Dispersia de select »ie este un estimator nedeplasat al dispesiei variabilei aleatoare
X:
M(s2) =¾2:
Eroarea standard a mediei este:
SX=spn:
Modulul de select »ie este max
ijXij:
Mediana de select »ie este acea valoare pentru care jumatate din valorile ordonate
ale select »iei ordonate X¾(1); ::::; X ¾(n)sunt mai mici » si jum¸ atate sunt mai mari dec^ at
valoarea medianei.
FieX1; :::; X n» siY1; :::; Y nselect »ii de volum nasupra variabilei aleatoare Xre-
spectiv Y. Atunci covariant »a de select »ie este
s2
XY=1
n¡1nX
i=1(Xi¡X)(Yi¡Y):
corelat »ia rezultat¸ a ^ ³n urma select »iei ¯ind dat¸ a de formula:
½XY=s2
XY
sXsY:
C.3. Aplicat »ii
Exercit »iul C.3.1. S¸ a se calculeze valoarea medie, dispersia, deviat »ia standard,
modulul » si mediana pentru repartit »ia discret¸ a data de:
Ã
0 1 2 ::: n ¡1
p0p1p2::: p n¡1!
:
Caz particular n= 4; pi= 0;25 pentru orice i:
Exercit »iul C.3.2. S¸ a se calculeze valoarea medie, dispersia, deviat »ia standard,
modulul » si mediana pentru repartit »ia normal¸ a N(m; ¾2) data de funct »ia de densitate:
f(x) =1
¾p
2¼e¡(x¡m)2
2¾2; x2R:
Exercit »iul C.3.3. S¸ a se calculeze media de select »ie, dispersia de select »ie, deviat »ia
standard de select »ie, eroarea standard de select »ie, modulul de select »ie » si mediana de
select »ie pentru e» santionul f3;5;2;7;0;3;3;1;2;4g:
300 STATISTIC ¸A DESCRIPTIV ¸A
Anexa D
TEORIA ESTIMAT »IEI
D.1. Tipuri de estimatori
FieX1; :::; X no select »ie asupra variabilei aleatoare Xcare are funct »ia de repartit »ie
F(x;µ);unde µ2£½Reste un parametru necunoscut cu valoarea adev¸ arat¸ a µ0:
Vom nota prin:
P(x;µ) =f(x1; :::; x n;µ) =nY
j=1f(xj;µ)
densitatea comun¸ a a variabilei de select »ie.
De¯nit »ia D.1.1. Orice aplicat »ie tn:Rn!£ se nume» ste estimator al lui µ:
De¯nit »ia D.1.2. S »irul de estimatori ( tn) este consistent simplu dac¸ a acesta con-
verge ^ ³n probabilitate la µadic¸ a
limn!1P(jtn¡µj> ") = 0 pentru orice µ2£:
De¯nit »ia D.1.3. S »irul de estimatori ( tn) este consistent tare dac¸ a acesta con-
verge aproape sigur la µ:
De¯nit »ia D.1.4. S »irul de estimatori ( tn) este consistent^ ³n eroare medie p¸ atratic¸ a
(EMP) dac¸ a:
limn!1M((tn¡µ)2) = 0 pentru orice µ2£:
Teorema D.1.1. Dac¸ a (tn)este convergent tare atunci acesta este simplu con-
vergent.
301
302 TEORIA ESTIMAT »IEI
Teorema D.1.2. Dac¸ a limn!1M(tn) = 0 » siD2(tn) = 0 pentru orice µ2£atunci
» sirul de estimatori este consistent ^ ³n EMP.
Teorema D.1.3. Dac¸ a (tn)este consistent ^ ³n eroare medie p¸ atratic¸ a atunci
acesta este consistent simplu. Reciproc dac¸ a are loc uniform marginirea lui (tn)
adic¸ a exist¸ a K¸0astfel ca jtn¡µj ·Kpentru orice µ2£» si orice x2Rnatunci
dac¸ a (tn)este consistent simplu el este » si consistent ^ ³n EMP.
De¯nit »ia D.1.5. Estimatorul ( tn) este nedeplasat dac¸ a
Mµ(tn) = 0 pentru orice µ2£:
Observat »ia D.1.1. Sunt de interes practic estimatorii nedeplasat »i de disperise
minim¸ a (vezi inegalitatea lui Ceb^ a» sev).
D.2. Margini inferioare ale estimatorilor
Urm¸ atoarea teorem¸ a (Rao-Cramer) furnizeaz¸ a o margine inferioar¸ a a estimatoru-
lui.
Teorema D.2.1. Dac¸ a sunt ^ ³ndeplinite condit »iile urm¸ atoare:
parametrul µapart »ine unui interval al numerelor reale:
µ2(a; b);
derivata funct »iei de verosimilitate este m¸ arginit¸ a
@P(x;µ)
@µ<1pentru orice µ2(a; b)» si orice x2Rn;
exist¸ a » si este ¯nit momentul de ordinul 2 al derivatei logaritmului funct »iei de verosimil-
itate
Mõ@lnP(x;µ)
@µ¶2!
<1pentru orice µ2(a; b)
se poate deriva, ^ ³n raport cu µ;sub integral¸ a
@
@µZ
RnP(x;µ)dx1:::dx n=Z
Rn@P(x;µ)
@µdx1:::dx n;
pentru orice tnestimator al lui ¿(µ) :
@
@µZ
Rntn(x)P(x;µ)dx1:::dx n=Z
Rntn(x)@P(x;µ)
@µdx1:::dx n;
MARGINI INFERIOARE ALE ESTIMATORILOR 303
Atunci are loc inegalitatea:
D2(tn)¸(¿0(µ))2
Mµ³@lnP(x;µ)
@µ´2¶;
egalitatea obt »in^ andu-se dac¸ a » si numai dac¸ a exist¸ a o constant¸ a Aastfel ca:
A(tn(x)¡¿(µ)) =@lnP(x;µ)
@µ:
Demonstrat »ie. Din faptul c¸ a P(x;µ) este densitate » si folosind propietatea de
derivare sub integral¸ a obt »inem:
Z
Rn@lnP(x;µ)
@µP(x;µ)dx1:::dx n= 0:
Dartneste un estimator al lui ¿(µ) :
M(tn) =Z
RntnP(x;µ)dx1:::dx n=¿(µ)
de unde prin derivarea realt »iei » si utilizatea ultimei ipoteze din enunt »ul teoremei
obt »inem:Z
Rntn@P(x;µ)
@µdx1:::dx n=¿0(µ):
Deci vom obt »ine
¿0(µ) =Z
Rn(tn¡¿(µ))@lnP(x;µ)
@µP(x;µ)dx1:::dx n= 0:
Ridic^ and ultima relat »ie la p¸ atrat » si aplic^ and inegalitatea lui Schwartz obt »inem
concluzia teoremei.
Observat »ia D.2.1. Valoarea i(µ) =Mµ³@lnP(x;µ)
@µ´2¶
se nume» ste informat »ia
Fisher.
Observat »ia D.2.2. O estimat »ie nedeplasat¸ a a parametrului µpentru care dis-
persia este egal¸ a cu marginea inferioar¸ a, dat¸ a de inegalitatea Rao-Cramer, se va
numi estimat »ie e¯cient¸ a.
304 TEORIA ESTIMAT »IEI
D.3. Estimat »ia de verosimilitate maxim¸ a
FieX1; :::; X no select »ie asupra variabilei aleatoare Xcare are funct »ia de repartit »ie
F(x;µ);unde µ2£½Reste un parametru necunoscut cu valoarea adev¸ arat¸ a µ0:
Funct »ia de verosimilitate este de¯nit¸ a prin formula:
Ln(x1; x2; :::; x n;µ) = ln p(x1; x2; :::; x n;µ)
De¯nit »ia D.3.1. Vom de¯ni estimat »ia de verosimilitate maxim¸ a acea estimat »ie
^
µncare realizeaz¸ a maximul funct »iei de verosimilitate:
^
µn=sup
µLn(x1; x2; :::; x n;µ):
Estimat »ia de verosimilitate maxim¸ a se g¸ ase» ste ca solut »ie a ecuat »iei de verosimil-
itate maxim¸ a :
dLn(x1; x2; :::; x n;µ)
dµ= 0:
Ecuat »ia de verosimilitate maxim¸ a are, ^ ³n anumite condit »ii de regularitate ale
funct »iei de verosimilitate (vezi Dumitrescu [17]), cu o probabilitate tinz^ and la unu,
o solut »ie care este estimat »ie consistent¸ a (^ ³n cazul unui proces stocastic neergodic
estimat »ia este consistent¸ a tare). Mai mult are loc urm¸ atoarea convergent »¸ a^ ³n repartit »ie:
kpn(^
µn¡µ0)rep¡!n!1N(0;1);
unde
MÃ
@2lnp
@µ2!
µ=µ0=¡k2:
D.4. Estimat »ia Bayesian¸ a
Metoda Bayesian¸ a de estimare a unui parametru porne» ste de la premiza c¸ a, la
r^ andul s¸ au, parametrul este o variabil¸ a aleatoare pentru care se cunoa» ste o repartit »ie
a priori ce poate ¯ ajustat¸ a pe baza observat »iilor f¸ acute asupra populat »iei.
Alegerea repartit »iei a priori se poate face pe baza interpret¸ arii obiective sau pe
baza unor supozit »ii subiective asupra parametrului.
Pentru ¯xarea ideiilor s¸ a consider¸ am populat »ia statistic¸ a ( E;K;Pµ);cuµ2£½
Rk; k¸1 » si probabilitatea a priori ¸pe spat »iul parametrilor. Vom considera
ofunct »ie de pierdere !: £££!R+m¸ asurabil¸ a ^ ³n ambele argumente. Fie
fft; t2Ngun proces stocastic cu valori reale » si ¯e ( S;Sn; Fn;µ) spat »iul select »iilor
n¡dimensionale.
ESTIMAT »IA BAYESIAN ¸A 305
De¯nit »ia D.4.1. Pentru o estimat »ie gn:S!£ a parametrului µde¯nim
funct »ia de risc asociat¸ a lui gnprin:
Rgn(µ) =Z
S!(µ; gn(x))dFn;µ:
De¯nit »ia D.4.2. Riscul maxim asociat estimat »iei gneste:
R(gn) =sup
µ2£Rgn(µ):
De¯nit »ia D.4.3. Estimat »ia minimax este acea estimat »ie care minimizeaz¸ a riscul
maxim.
De¯nit »ia D.4.4. Riscul mediu asociat estimat »iei gn» si probabilit¸ at »ii a priori ¸
se de¯ne» ste prin:
R(gn) =Z
£Rgn(µ)d¸(µ):
De¯nit »ia D.4.5. Estimat »ia g¤
nse nume» ste estimat »ie bayesian¸ a asociat¸ a funct »iei
de pierdere !(µ; µ0) » si repartit »iei a priori ¸dac¸ a minimizeaz¸ a riscul mediu.
Dac¸ a p(¢) desitatea pe spat »iul parametrilor, atunci utiliz^ and formula lui Bayes se
poate construi o densitate de trecere a posteriori :
pn(µjx1; x2; :::; x n) =p(µ)p(x1; :::; x n;µ)R
£p(µ)p(x1; :::; x n;µ):
De¯nit »ia D.4.6. Riscul a posteriori asociat unei estimat »ii gn;unei funct »ii de
pierdere !» si unei probabilit¸ at »i a priori ¸este de¯nit prin:
½(gnjx1; x2; :::; x n) =Z
£!(µ; gn(x1; x2; :::; x n))pn(µjx1; x2; :::; x n)dµ:
Avem urm¸ atoarea teorem¸ a (vezi Dumitrescu [17]):
Teorema D.4.1. g¤
neste o estimat »ie bayesian¸ a asociat¸ a funct »iei de pierdere !
» si probabilit¸ at »ii a priori ¸(cu densitatea p(¢)) dac¸ a » si numai dac¸ a g¤
nminimizeaz¸ a
aproape sigur riscul a posteriori corespunz¸ ator.
306 TEORIA ESTIMAT »IEI
Anexa E
REPATIT »II STATISTICE
E.1. Repartit »ii continue
Vom prezenta o serie de distribut »ii continue elementare precum » si principalele lor
propriet¸ at »i.
E.1.1. Repartit »ia normal¸ a
De¯nit »ia E.1.1. (Repartit »ia normal¸ a). Vom spune c¸ a variabila aleatoare X
urmeaz¸ a o repartit »ie normal¸ a de parametrii ¹» si¾2(vom nota acest lucru prin
X»N(¹; ¾2)) dac¸ a are densitatea de repartit »ie:
n(x;¹; ¾2) =1
¾p
2¼e¡(x¡¹)2
2¾2; x2R:
Teorema E.1.1. Media » si dispersia unei variabile aleatoare Xrepartizat¸ a nor-
mal de parametrii ¹» si¾2este:
M(X) =¹;
respectiv
D2(X) =¾2:
Teorema E.1.2. Funct »ia caracteristic¸ a a unei variabile aleatoare Xreparizat¸ a
N(0;1)este:
'(t) =e¡1
2t2:
307
308 REPATIT »II STATISTICE
Teorema E.1.3. Dac¸ a X1» siX2au o repartit »ie N(¹1; ¾2
1)respectiv N(¹2; ¾2
2)
atunci
®X1+¯X2»N(®¹1+¯¹2; ®2¾2
1+¯2¾2
2)
unde ®; ¯2R:
E.1.2. Repartit »ia lognormal¸ a
De¯nit »ia E.1.2. (Repartit »ia lognormal¸ a). Vom spune c¸ a variabila aleatoare
X(X > 0) urmeaz¸ a o repartit »ie lognormal¸ a (vom nota acest lucru prin X»LN(¹; ¾2))
dac¸ a logaritmul ei are densitatea de repartit »ie N(¹; ¾2):
Teorema E.1.4. Media » si dispersia unei variabile aleatoare Xrepartizat¸ a log-
normal de parametrii ¹» si¾2este:
M(X) =e¹+1
2¾2;
respectiv
D2(X) =e2¹+¾2(e¾2¡1):
Teorema E.1.5. Dac¸ a variabila aleatoare Xurmeaz¸ a o repartit »ie lognormal¸ a
de parametrii ¹» si¾2!0atunci repartit »ia lognormal¸ a standardizat¸ a tinde c¸ atre
repartit »ia N(0;1):
Teorema E.1.6. Dac¸ a X1» siX2au o repartit »ie LN(¹1; ¾2
1)respectiv LN(¹2; ¾2
2)
atunci:
e¯X®1
1X®2
2»N(¯+®1¹1+®2¹2; ®2
1¾2
1+®2
2¾2
2)
unde ¯ >0» si®1; ®22R:
E.1.3. Repartit »ia uniform¸ a
De¯nit »ia E.1.3. Vom spune c¸ a variabila aleatoare Xare o repartit »ie uniform¸ a
^ ³n intervalul [ a; b] (vom scrie acest lucru prin X»U(a; b)) dac¸ a densitatea sa de
repartit »ie este:
u(x) =1
b¡a; x2[a; b]» siu(x) = 0 ; x =2[a; b]:
REPARTIT »II CONTINUE 309
Teorema E.1.7. Media » si dispersia unei variabile aleatoare Xrepartizat¸ a U(a; b) :
M(X) =a+b
2;
respectiv
D2(X) =(b¡a)2
12:
Teorema E.1.8. (Teorema limit¸ a central¸ a) Dac¸ a X1; :::; X nsunt variabile alea-
toare independente identic repartizate U(0;1)atunci pentru valori mari ale lui n:
nP
i=1Xi¡M(nP
i=1Xi)
D(X)»N(0;1):
Teorema E.1.9. Funct »ia caracteristic¸ a a unei variabile aleatoare X»U(0;1)
este:
'(t) =eit¡1
it:
Exercit »iul E.1.1. S¸ a se g¸ aseasc¸ a densitatea de repartit »ie a unei variabilei alea-
toare X2unde X»U(0;1):
Exercit »iul E.1.2. S¸ a se g¸ aseasc¸ a densitatea de repartit »ie a unei variabilei alea-
toare X+Yunde X; Y»U(0;1):
E.1.4. Repartit »ia exponent »ial¸ a
De¯nit »ia E.1.4. Vom spune despre variabila aleatoare Xc¸ a urmeaz¸ a o repartit »ie
exponent »ial¸ a de parametru ¸ >0 (vom scrie acest lucru X»Exp(¸)) dac¸ a densi-
tatea de repartit »ie este f(t) =¸e¡¸tpentru t¸0:
Teorema E.1.10. Dac¸ a X»Exp(¸)atunci
M(X) =1
¸;
D2(X) =1
¸2
310 REPATIT »II STATISTICE
» si
M(Xr) =r!
¸r:
Teorema E.1.11. Funct »ia caracteristic¸ a a unei variabile aleatoare X»Exp(¸)
este:
'(t) =¸
¸¡iµ:
Exercit »iul E.1.3. Dac¸ a X» siYsunt variabile aleatoare independente reparti-
zateExp(¸) atunci
X
X+Y»Exp(¸):
E.1.5. Repartit »ia gama
De¯nit »ia E.1.5. Vom spune despre o variabil¸ a aleatoare c¸ a urmeaz¸ a o repartit »ie
gama de parametrii ®» si¯(vom scrie acest lucru X»°(®; ¯)) dac¸ a are densitatea
de repartit »ie:
f(x) =1
¯®¡(®)x®¡1e¡x
¯;0·x <1:
unde ¡ este funct »ia lui Euler de¯nit¸ a prin formula:
¡(®) =1Z
0x®¡1e¡xdx:
Teorema E.1.12. Funct »ia generatoare de momente a variabilei aleatoare X»
°(®; ¯)este:
G(t) =M(etX) =1
(1¡t¯)®:
Teorema E.1.13. Dac¸ a X»°(®1; ¯)» siY»°(®2; ¯)sunt variabile aleatoare
independente atunci:
a)X+Y»°(®1+®2; ¯);
b)X
Yare densitatea de repartit »ie:
h(x) =¡(®1+®2)
¡(®1)¡(®2)x®1¡1(1 +x)¡(®1+®2); x¸0:
Generaliz^ and punctul c) din teorema anterioar¸ a, la nvariabile aleatoare, obt »inem
repartit »ia Dirichlet.
REPARTIT »II CONTINUE 311
Repartit »ia Dirichlet
Teorema E.1.14. Dac¸ a Xi»°(®i;1)sunt k+ 1variabile aleatoare indepen-
dente atunci repartit »ia variabilelor aleatoare Y1; :::; Y k+1date de:
(
Yj=Xj
X1+::::+Xk+1; j = 1; :::; k
Yk+1=X1+::::+Xk+1
are forma (repartit »ia Dirichlet):
¡(k+1P
i=1®i)kQ
i=1y®i¡1
i(1¡kP
i=1yi)®k+1¡1
k+1Q
i=1¡(®i);
unde 0< yj» siy1+:::+yk<1:
Repartit »ia Â2
Un alt caz particular important al repartit »iei gama se obt »ine pentru ®=n
2cu
orice n^ ³ntreg pozitiv » si ¯= 2¾2. Repartit »ia astfel obt »inut¸ a se nume» ste repartit »ia
Â2cungrade de libertate.
Observat »ia E.1.1. Pentru n= 2 repartit »ia Â2devine repartit »ia exponent »ial¸ a.
Teorema E.1.15. Dac¸ a X»Â2(n);atunci
M(Xr) = 2r¾2r¡(r+n
2)
¡(n
2)
iar funct »ia generatoare de momente este:
G(t) =M(etX) =1
(1¡2t¾2)n
2:
Teorema E.1.16. Dac¸ a Xi»N(0; ¾2)sunt nvariabile independente atunci
variabila aleatoare:
Y=nX
i=1X2
j»Â2(n):
312 REPATIT »II STATISTICE
Teorema E.1.17. Dac¸ a X»Â2(n);atunci asimptotic
X¡n¾2
¾2p
2n»N(0;1):
De obicei, cunatilele repartit »iei Â2(n) sunt tabelate p^ an¸ a la n= 30 ;deoarce
pentru n >30 este posibil s¸ a se foloseasc¸ a cunatilele repartit »iei N(0;1):
E.1.6. Repartit »ia beta
De¯nit »ia E.1.6. Vom spune c¸ a variabila aleatoare Xurmeaz¸ a o repartit »iebeta
de parametrii ®» si¯(vom scrie acest lucru ca X»Be(®; ¯)), dac¸ a are densitatea
de repartit »ie:
f(x) =(¡(®+¯)
¡(®)¡(¯)x®¡1(1¡x)¯¡1;0< x < 1;®; ¯ > 0
0 ^ ³n rest.
Repartit »ia F
De¯nit »ia E.1.7. Repartit »ia F(m; n) este obt »inut¸ a ca o transformare a repartit »ie
beta:
Y=¯X
®(1¡X)unde X»Be(®; ¯)
cu®=m
2» si¯=n
2:Distribut »ia corespunz¸ atoare variabilei Y»F(m; n) este:
f(x) =8
<
:¡(m+n
2)
¡(m
2)¡(n
2)³
®
¯´®y®¡1(1 +®
¯y)¡(®+¯);0< x < 1;®; ¯ > 0
0 ^ ³n rest.
Teorema E.1.18. Dac¸ a X»Â2(m)» siY»Â2(n)atunci:
F=X=m
Y=n»Be(®; ¯):
Repartit »ia t
De¯nit »ia E.1.8. Repartit »ia t(n) (tcungrade de liberatate) este obt »inut¸ a ca o
transformare a repartit »ie F(1;n) » si anume:
t=p
X
DISTRIBUT »II DISCRETE 313
iar densitatea de repartit »ie corespunz¸ atoare este:
f(x) =8
<
:¡(n+1
2)p¼n¡(n
2)(1 +x2
n)¡n+1
2;¡1< x < 1;n= 1;2;3; :::
0 ^ ³n rest.
Teorema E.1.19. Dac¸ a X»N(0;1)» siY»Â2(n)atunci
t=Xq
Y
n»t(n):
E.1.7. Repartit »ia Cauchy
De¯nit »ia E.1.9. Repartit »ia Cauchy C(¹;µ) este de¯nit¸ a de densitatea de repar-
tit »ie:
f(x) =¹
¼1
¹2+ (x¡µ)2; x2R; ¹ > 0:
Observat »ia E.1.2. Repartit »ia Cauchy este un exemplu de repartit »ie care nu are
momente.
E.2. Distribut »ii discrete
Vom prezenta principalele distribut »ii discrete: Bernoulli, Binomial¸ a, Poisson,
hipergeometric¸ a » si geometric¸ a.
E.2.1. Distribut »ia Bernoulli
De¯nit »ia E.2.1. Distribut »ia Bernoulli de parametru peste dat¸ a de Pr( X=
1) = p» si Pr( X= 0) = 1 ¡p;cup2[0;1]:
Teorema E.2.1. Dac¸ a variabila Xurmeaz¸ a o distribut »ie Bernoulli de para-
metru patunci media este M(X) =piar dispersia D2(X) =p(1¡p):
E.2.2. Distribut »ia binomial¸ a
De¯nit »ia E.2.2. Distribut »ia binomial¸ a Bi(n; p) de parametrii n» sipeste dat¸ a
dePr(X=i) =Ci
npn¡i(1¡p)ipentru i= 0; :::; n:
314 REPATIT »II STATISTICE
Teorema E.2.2. Dac¸ a variabila Xurmeaz¸ a o distribut »ie binomial¸ a Bi(n; p)atunci
media este M(X) =npiar dispersia D2(X) =np(1¡p):
Teorema E.2.3. Dac¸ a X1; :::; X nsunt n variabile aleatoare independente repar-
tizate Bernoulli de parametru patunci variabilanP
i=1Xiurmeaz¸ a o repartit »ie bino-
mial¸ a Bi(n; p):
Observat »ia E.2.1. Distribut »ia binomial¸ a Bi(n; p) de parametrii n» sipeste
modelat¸ a de select »ia cu revenire dintr-o urn¸ a U(a; b) care cont »ine abile albe » si
bbile negre » si este probabilitatea ca din nextrageri s¸ a se obt »in¸ a kbile albe:
Pr(X=k) =Ck
nµa
a+b¶kµ
1¡n
a+b¶n¡k
:
E.2.3. Distribut »ia Poisson
Distribut »ia Poisson se obt »ine din distribut »ia Bi(n; p) c^ and n! 1 ; p!0 » si
produsul n¢p=¸este constant. Funct »ia densitate de probabilitate este dat¸ a de:
Pr(X=k) =¸ke¡¸
k!; k = 0;1;2; :::
E.2.4. Distribut »ia hipergeometic¸ a
Distribut »ia hipergeometric¸ a este modelat¸ a de o select »ie f¸ ar¸ a revenire dintr-o urn¸ a
U(a; b) care cont »ine abile albe » si bbile negre » si este probabilitatea ca din nextrageri
s¸ a se obt »in¸ a kbile albe:
Pr(X=k) =Ck
aCn¡k
b
Cn
a+bunde n·a+b» sik·a:
E.2.5. Distribut »ia geometric¸ a
Distribut »ia geometric¸ a are funct »ia de densitate de probabilitate dat¸ a de:
Pr(X=n) =p(1¡p)n, pentru n= 0;1; :::
E.3. Calculul numeric al cuantilelor
Vom prezenta dou¸ a metode numerice de calcul a cuantilei de ordinul ®pentru
repartit »ia N(0;1) respectiv repartit »ia Â2(n):
CALCULUL NUMERIC AL CUANTILELOR 315
E.3.1. Cuantila repartit »iei normale
F¸ ar¸ a restr^ angerea generalit¸ at »ii putem presupune c¸ a ®2[0;0;5]:Atunci, utiliz^ and
tehnica dezvolt¸ arii ^ ³n fract »ii continue, vom obt »ine:
u®=!¡2P
i=0ai!i
3P
i=0bi!i; !=r
ln1
®2;
unde constantele ai» sibisunt:
8
>>>>>>>>>><
>>>>>>>>>>:a0= 2;515517
a1= 0;802853
a2= 0;010328
b0= 1
b1= 1;432877
b2= 0;189269
b3= 0;001308 :
E.3.2. Cuantilele repartit »iei chi-p¸ atrat
Cuantila de ordinul ®a repartit »iei Â2(n);pentru n >30;este dat¸ a de:
h®=n+p
2nu®+2
3u2
®¡2
3+O(1pn):
Pentru detalii se poate consulta Abramowitz » siStegun [1].
316 REPATIT »II STATISTICE
Anexa F
SERII DINAMICE
STAT »IONARE
F.1. Exemple de serii dinamice
Prezent¸ am conceptul de stat »ionaritate, strict stat »ionaritate, funct »iile de auto-
corelat »ie » si de autocovariant »¸ a precum » si tehnici » si metode de eliminare a componentei
tendint »¸ a » si a componentei sezoniere. O serie dinamic¸ a este o mult »ime de observat »ii
xt^ ³nregistrate la un moment speci¯cat de timp t. Vom nota o serie dinamic¸ a cu
mult »imea de timp continu¸ a Tcux(t); t2T.
Exemple de serii dinamice sunt: curentul printr-un rezistor, populat »ia unei colec-
tivit¸ at »i, num¸ arul pasagerilor unei companii aviatice, etc.
F.2. Procese stochastice
Primul pas ^ ³n analiza unei serii dinamice const¸ a ^ ³n alegerea unui model (sau
clase de modele) pentru date. Pentru a speci¯ca natura probabilist¸ a a observat »iilor
este natural s¸ a presupunem c¸ a ¯ecare observat »ie xteste o realizare a unei variabile
aleatoare Xt:
De¯nit »ia F.2.1. Un proces stochastic este o familie de variabile aleatoare fXt; t2
Tgde¯nite pe un spat »iu de probabilitate ( ;F; P):
De¯nit »ia F.2.2. Funct »iile fX²(!); !2gde¯nite pe Tse numesc realiz¸ arile
procesului fXt; t2Tg:
317
318 SERII DINAMICE STAT »IONARE
Exemplul F.2.1. (Sinusoida cu » si f¸ ar¸ a amplitudine) Fie A» si £ variabile aleatoare
independente cu A¸0 » si £ 2[0;2¼) uniform distribuite.
Un proces stochastic fX(t); t2Rgse poate de¯ni ^ ³n termenii lui A» si £ pentru
orice ș¸0 » sir >0 speci¯cat »i:
Xt=A
rcos(șt+ £)
sau
Xt(!) =1
rA(!) cos( șt+ £(!))
unde !este un element al spat »iului de probabilitate pe care sunt de¯nit »i A» si
£.
Realiz¸ arile procesului sunt funct »ii de t» si se obt »in ¯x^ andu-l pe !adic¸ a sunt de
forma:
x(t) =1
racos(șt+µ):
Exemplul F.2.2. Procesul binar fXt;t= 1;2; :::gunde Xtsunt variabile aleatoa-
re independente astfel ^ ³nc^ at:
P(Xt= 1) = P(Xt= 0) = 0 ;5
Conform teoremei Kolmogorov exist¸ a un spat »iu de probabilitate ( ;F; P) cu vari-
abilele X1; X2; :::de¯nite pe astfel ^ ³nc^ at:
P(X1=i1; :::; X n=in) =1
2n8(i1; :::; i n)2 f0;1gn
Exemplul F.2.3. Mersul aleatoriu simetric ( symetric random walk ) este pro-
cesulfSt; t= 0;1; :::gde¯nit de starea init »ial¸ a S0» si de
St=tX
i=1Xi; t¸1
Forma general¸ a a mersului aleatoriu este de¯nit¸ a analog ^ ³nlocuind » sirul de vari-
abile X1; X2; :::cu un » sir de variabile aleatoare independente » si identic distribuite
care nu satisfac restrict »ia din exemplul precedent. Existent »a unui astfel de » sir este
asigurat¸ a de teorema Kolmogorov.
Exemplul F.2.4. Procesul de rami¯cat »ie Galton-Watson, care modeleaz¸ a cre» ste-
rea unei populat »iei, este de¯nit de ecuat »iile X0=x(m¸ arimea populat »iei la momentul
zero) » si
Xt+1=XtX
j=1Zt;j;
STAT »IONARITATE S »I STRICT STAT »IONARITATE 319
t= 0;1;2; :::unde Zt;j,t= 0;1; :::; j = 1;2; :::sunt variabile aleatoare nenegative
independente » si identic distribuite. Vom folosi procesul Galton-Watson la atacul
algoritmului de cifrare A5utilizat de sistemul de telefonie mobil¸ a GSM.
De¯nit »ia F.2.3. (Funct »ia de distribut »ie a unui proces stochastic fXt; t2T½
Rg). Fie Tmult »imea tuturor vectorilor de forma ft= (t1; :::; t n)2Tn:t1<
t2< ::: < t n; n= 1;2; ::g. Atunci funct »iile de distribut »ie ¯nit dimensionale ale lui
fXt; t2Tgsunt funct »iile fFt(:);t2 T g de¯nite pentru t= (t1; :::; t n) de
Ft(x) =P(Xt1·x1; :::; X tn·xn);x= (x1; :::; x n)02Rn
Teorema F.2.1. (Kolmogorov) Funct »iile distribut »ie de probabilitate fFt(:);t2
T gsunt funct »ii de distribut »ie ale unui proces stochastic dac¸ a » si numai dac¸ a
(8n)
n2N(8t)
t2T(8i)
i=1;n( limxi! 1Ft(x) =Ft(i)(x(i))) (1)
unde t(i)» six(i)sunt vectorii (n¡1)- dimensionali obt »inut »i din trespectiv din x
prin eliminarea componentei idin ace» sti vectori.
Dac¸ a Át(:) este funct »ia caracteristic¸ a corespunz¸ atoare lui Ft(:) adic¸ a
Át(x) =Z
Rneiu0xFt(dx1; :::dx n);u= (u1; :::; u n)02Rn
atunci (1) este echivalent¸ a cu
limui!1Át(u) =Át(i)(u(i))
undeu(i) este vectorul ( n¡1)- dimensional obt »inut din uprin eliminarea com-
ponentei i.
F.3. Stat »ionaritate » si strict stat »ionaritate
C^ and avem un num¸ ar ¯nit de variabile aleatoare pentru a vedea dependent »a dintre
acestea trebuie s¸ a calcul¸ am matricea de covariant »¸ a . Vom extinde acest concept la
un num¸ ar in¯nit de variabile aleatoare.
De¯nit »ia F.3.1. (Funct »ia de autocovariant »¸ a). Dac¸ a fXt; t2Tgeste un proces
astfel ^ ³nc^ at V ar(Xt)<1pentru orice t2T;funct »ia de autocovariant »¸ a °X(:; 🙂 a
procesului fXt; t2Tgeste de¯nit¸ a ca:
°X(r; s) =Cov(Xr; Xs) =E[(Xr¡EXr)(Xs¡EXs)]; r; s 2T
320 SERII DINAMICE STAT »IONARE
De¯nit »ia F.3.2. (Stat »ionaritate) O serie dinamic¸ a fXt; t2Zgcu mult »imea de
timpZse nume» ste stat »ionar¸ a dac¸ a
i)EjXtj2<1;8t2Z
ii)EXt=m;8t2Z
iii)°X(r; s) =°X(r+t; s+t);8r; s; t2Z
Observat »ia F.3.1. Conceptul de stat »ionaritate de¯nit mai sus se nume» ste » si
stat »ionaritate slab¸ a .
Observat »ia F.3.2. Dac¸ afXt; t2Zgeste stat »ionar¸ a atunci °X(r; s) =°X(r¡
s;0)8r; s2Z. Vom rede¯ni funct »ia de autocovariant »¸ a a unui proces stochastic
stat »ionar ca funct »ie de o variabil¸ a
°X(h)´°X(h;0) = Cov(Xt+h; Xt)8t; h2Z
Ne vom referi la funct »ia °X(:) ca la funct »ia de autocovariant »¸ a a procesului fXt; t2
Zg» si la °X(h) ca la valoarea acesteia la lagh. Funct »ia de autocorelat »ie ( f.a.c ) a
procesului fXt; t2Zgeste de¯nit¸ a ca:
½X(h)´°X(h)=°X(0) = Corr (Xt+h; Xt)8t; h2Z
De¯nit »ia F.3.3. (Strict stat »ionaritate) O serie dinamic¸ a fXt; t2Zgse nume» ste
strict stat »ionar¸ a dac¸ a distribut »iile vectorilor ( Xt1; :::; X tk)0» si (Xt1+h; :::; X tk+h)0sunt
acelea» si pentru 8k» si pentru 8t1; :::; t k; h2Z
F.3.1. Relat »ia dintre Stat »ionaritate » si Strict Stat »ionaritate
Dac¸ afXt; t2Zgeste strict stat »ionar¸ a lu^ and k= 1 ^ ³n de¯nit »ia anterioar¸ a rezult¸ a
imediat c¸ a Xtare aceea» si distribut »ie pentru orice t2Z:Dac¸ a EjXtj2<1rezult¸ a c¸ a
EXt» siV ar(Xt) sunt constante. Dac¸ a lu¸ am k= 2 ^ ³n de¯nit »ia strict stat »ionarit¸ at »ii
g¸ asim c¸ a Xt+h» siXtau aceea» si distribut »ie deci aceea» si covariant »¸ a pentru orice h 2Z
. Deci un proces strict stat »ionar cu momente de ordinul doi ¯nite este stat »ionar.
Reciproca a¯rmat »iei precedente nu este adev¸ arat¸ a. De exemplu dac¸ a fXt; t2Zg
este un » sir de variabile aleatoare independente astfel ^ ³nc^ at pentru nimpar Xteste
distribuit exponent »ial cu media 1 » si pentru nparXteste distribuit normal cu medie
1 » si dispersie 1 atunci Xteste stat »ionar cu °X(0) = 1 » si °X(h) = 0 pentru h6= 0:
DarX1» siX2au distribut »ii diferite deci fXt; t2Zgnu poate ¯ strict stat »ionar.
Vom da un exemplu de proces stochastic ^ ³n care strict stat »ionaritatea implic¸ a
slab stat »ionariatatea.
STAT »IONARITATE S »I STRICT STAT »IONARITATE 321
De¯nit »ia F.3.4. (Serii dinamice Gaussiene) Procesul fXt; t2Zgeste o serie
dinamic¸ a Gaussian¸ a dac¸ a » si numai dac¸ a toate funct »iile de distribut »ie ale lui fXt; t2
Zgsunt normale multidimensionale.
Dac¸ a fXt; t2Zgeste un proces stat »ionar Gaussian atunci fXt; t2Zgeste
strict stat »ionar deoarece 8n2 f1;2; :::g» si oricare h; t1; t2:::2Zvectorii aleatori
(Xt1; :::; X tk)0» si (Xt1+h; :::; X tk+h)0au aceea» si medie » si aceea» si matrice de covariant »¸ a
deci aceea» si distribut »ie.
Exemplul F.3.1. FieXt=Acosµt+Bsinµtunde A» siBsunt dou¸ a variabile
aleatoare necorelate de medie zero » si dispersie unu iar µ2[¡¼; ¼]:Aceast¸ a serie este
stat »ionar¸ a deoarece:
Cov(Xt+h; Xt) =Cov(Acos(µ(t+h)) +Bsin(µ(t+h)); Acos(µt) +Bsin(µt)) =
= cos( µt) cos( µ(t+h)) + sin( µt) sin(µ(t+h)) = cos( µh)
care nu depinde de t.
Exemplul F.3.2. De¯nim procesul Xt=Zt+µZt¡1unde Zteste un » sir de
variabile aleatoare independente identic distribuite de medie zero » si dispersie ¾2
z.
Funct »ia de autocovariant »¸ a este dat¸ a de:
Cov(Xt+h; Xt) =Cov(Zt+h+µZt+h¡1; Zt+µZt¡1) =8
><
>:(1 +µ2)¾2
zdac¸ a h= 0
µ¾2
zdac¸ a h=§1
0 dac¸ a jhj>1
» si deci fXtgeste stat »ionar. Se poate ar¸ ata c¸ a fXtgeste strict stat »ionar.
Exemplul F.3.3. FieYto serie dinamic¸ a stat »ionar¸ a. De¯nim seria dinamic¸ a
Xtprin: Xt=Ytdac¸ a teste par » si Xt=Yt+ 1 dac¸ a teste impar. Chiar dac¸ a
Cov(Xt+h; Xt) =°Y(h), seria fXtgnu este stat »ionar¸ a deoarece nu are media con-
stant¸ a.
Exemplul F.3.4. (Referitor la exemplul 3). Fie St=X1+X2+:::+Xtmer-
sul aleatoriu unde ( Xi) sunt variabile aleatoare independente identic repartizate de
medie zero » si dispersie ¾2. Pentru h >0
Cov(St+h; St) =Cov(t+hX
i=1Xi;tX
j=1Xj) =Cov(tX
i=1Xi;tX
j=1Xj) =¾2t
care depinde de tdeci, seria Steste nestat »ionar¸ a.
322 SERII DINAMICE STAT »IONARE
Procesele stat »ionare joac¸ a un rol imporant ^ ³n analiza seriilor dinamice. Multe
dintre serii dinamice observate sunt nestat »ionare. Acestea sunt transformate ^ ³n serii
dinamice stat »ionare folosind tehniciile prezentate ^ ³n paragraful urm¸ ator.
Teoria seriilor dinamice stat »ionare (dezvoltat¸ a ^ ³n ultima parte a lucr¸ arii) este
folosit¸ a la analiza » si predict »ia seriilor rezultate. ^In toate acesta funct »ia de autocorelat »ie
joac¸ a un rol improtant. Propriet¸ at »ile ei vor ¯ prezentate ^ ³n unul din paragrafele
urm¸ atoare.
Exercit »iul F.3.1. Fiea; b; c2R» siZtvariabile aleatoare independente repar-
tizate N(0; ¾2). S¸ a se indice care dintre procesele de mai jos este stat »ionar. Pentru
¯ecare proces stat »ionar s¸ a se indice media » si s¸ a construiasc¸ a funct »ia de autocovariant »¸ a
» si funct »ia de autocorelat »ie.
1.Xt=a+bZt+cZt¡1
2.Xt=ZtZt¡1
3.Xt=a+bZt
Exercit »iul F.3.2. FiefXtg» sifYtgdou¸ a procese stat »ionare necorelate. Ar¸ atat »i
c¸ afXt+Ytgeste stat »ioanar » si c¸ a funct »ia de autocovariant »¸ a este suma funct »iilor de
autocovariant »¸ a a proceselor fXtg» sifYtg:
F.4. Estimarea » si eliminarea componentelor tendint »¸ a
» si sezoniere
Primul pas ce ^ ³l facem ^ ³n analiza unei serii dinamice este s¸ a ^ ³i facem gra¯cul.
Dac¸ a sunt discontinuit¸ at »i vizibile ^ ³n aceast¸ a serie, ca de exemplu schimbarea brusc¸ a
a nivelului, se recomand¸ a s¸ a se analizeze seria rup^ and-o ^ ³n segmente omogene. Dac¸ a
sunt date neuzuale ele trebuie analizate cu atent »ie pentru a vedea dac¸ a este justi¯cat
s¸ a le ^ ³ndep¸ art¸ am (poate au fost ^ ³nregistrate din gre» seal¸ a).
^In continuare trebuie s¸ a stabiliz¸ am dispersia seriei dinamice fXt; t2Tg. Pentru
a realiza acest lucru putem proceda ^ ³n felul urm¸ ator:
i) dac¸ a deviat »ia standard a unei serii dinamice este proport »ional¸ a cu nivelul aces-
teia atunci transform¸ am seria Xt^ ³nYt=logX t:Seria Ytare dispersia constant¸ a ^ ³n
timp.
ii) dac¸ a variant »a seriei dinamice este proport »ional¸ a cu nivelul acesteia atunci
transform¸ am seria Xt^ ³nYt=X1
2
t:Seria Ytare dispersia constant¸ a ^ ³n timp.
Cele dou¸ a transform¸ ari de mai sus sunt cazuri particulare ale transform¸ arilor
Box-Cox de¯nite astfel
Yt=X¸
t¡1
¸:
ESTIMAREA S »I ELIMINAREA COMPONENTELOR TENDINT » ¸A S »I SEZONIERE 323
De exemplu pentru ¸!0 obt »inem transformarea i) iar pentru ¸=1
2obt »inem o
transformare echivalent¸ a cu ii).
^In continuare realiz¸ am descompunerea
Xt=mt+st+Yt
unde mteste o funct »ie care variaz¸ a lent cunoscut¸ a ca componenta de tendint »¸ a
(direct »ie, trend), steste o funct »ie periodic¸ a numit¸ a componenta sezonier¸ a iarYteste
componenta zgomot alb care este stat »ionar¸ a ^ ³n sensul de¯nit »iei 5.
Scopul acestui paragraf este de a estima » si extrage componentele deterministe mt
» sist^ ³n sperant »a c¸ a componenta rezidual¸ a Ytva ¯ un proces stat »ionar. Vom putea
apoi s¸ a g¸ asim un model probabilist pentru fYtg, s¸ a-i analiz¸ am propriet¸ at »ile » si s¸ a-l
folosim ^ ³mpreun¸ a cu mt» sistpentru predict »ia lui Xt:
O abordare alternativ¸ a (Box » si Jenkins) este de a aplica operatorul diferent »iere,
eventual succesiv, datelor fXtgp^ an¸ a c^ and rezultatele sunt realiz¸ arile unui proces
stat »ionar fWtg:Vom folosi apoi teoria proceselor stat »ionare pentru modelarea, anal-
iza » si predict »ia lui fWtg» si deci a seriei originale.
F.4.1. Eliminarea tendint »ei ^ ³n absent »a componenetei sezoniere
^In absent »a componentei sezoniere modelul devine:
Xt=mt+Yt; t = 1;2; :::; n
F¸ ar¸ a restr^ angerea generalit¸ at »ii putem presupune c¸ a EYt= 0
Metoda 1 (Metoda celor mai mici p¸ atrate).
Lu¸ am mtde forma a0+a1t+a2t2:Numerele aise determin¸ a atfel ^ ³nc^ atnP
t=1(xt¡
mt)2s¸ a ¯e minim.
Metoda 2 (Netezire prin proces MA).
Fieq2N:S¸ a consider¸ am procesul dublu-MA
Wt=1
2q+ 1qX
j=¡qXt+j
al procesului fXtg:Pentru q+ 1·t·n¡qavem
Wt=1
2q+ 1qX
j=¡qmt+j+1
2q+ 1qX
j=¡qYt+j'mt
dac¸ a presupunem c¸ a mteste liniar ^ ³n intervalul [ t¡q; t+q] » si c¸ a media termenilor
eroare din acest interval este aproape de zero. Avem deci estimarea
324 SERII DINAMICE STAT »IONARE
^mt=1
2q+ 1qX
j=¡qXt+j q+ 1·t·n¡q (2)
Deoarece Xtnu este observat pentru t·0 sau t > n nu putem folosi relat »ia de
mai sus pentru t·qsaut > n¡q:Putem ^ ³ns¸ a s¸ a folosim procesul simplu -MA ca
de exemplu:
^mt=n¡tX
j=0®(1¡®)jXt+j t= 1; :::; q
» si
^mt=n¡1X
j=0®(1¡®)jXt¡j t=n¡q+ 1; :::; n
relat »iile de mai sus nu depind prea mult de ®. Chat¯eld(1974) a g¸ asit^ ³n mod empiric
c¸ a pentru ®2(0:1;0:3) estimat »iile sunt satistf¸ ac¸ atoare.
Estimat »ia f^mtgdat¸ a de (2) poate ¯ g^ andit¸ a ca un proces obt »inut din fXtgprin
aplicarea operatorului ¯ltru liniar^mt=1P
j=¡1Xt+jcu ponderile aj=1
2q+1;¡q·
j·q» siaj= 0;jjj> q. Acest ¯ltru particular este un ¯ltru trece jos deoarece din
datele fxtg^ ³ndep¸ arteaz¸ a °uctuat »iile rapide (sau frecvent »ele ^ ³nalte) ale componenetei
fYtg» si scoate estimarea componentei tendint »¸ a care variaz¸ a lent f^mtg:
Metoda 3 (Diferent »iere pentru a genera date stat »ionare).
^In loc s¸ a^ ³ndep¸ art¸ am din fXtgcomponenta zgomot ca^ ³n Metoda 2, elimin¸ am com-
poneneta tendint »¸ a prin diferent »iere. Vom de¯ni mai ^ ³nt^ ai operatorul de diferent »iere
rprin
rXt=Xt¡Xt¡1= (1¡B)Xt
unde Besteoperatorul tranzlat »ie temporal¸ a de¯nit de:
BXt=Xt¡1
Puterile operatorilor B» sirse de¯nesc ^ ³n mod natural adic¸ a Bj(Xt) =Xt¡j» si
rj(Xt) =r(rj¡1(Xt)); j¸1 cur0(Xt) =Xt. Dac¸ a operatorul rse aplic¸ a
tendint »ei liniare mt=a+btatunci rmt=a.^In mod analog orice tendint »¸ a polino-
mial¸ a de grad kse reduce la o constant¸ a prin aplicarea operatorului rk.
ESTIMAREA S »I ELIMINAREA COMPONENTELOR TENDINT » ¸A S »I SEZONIERE 325
Av^ and deci modelul Xt=mt+Ytunde mt=kP
j=0ajtj» siYteste stat »ionar¸ a cu
media zero obt »inem:
rkXt=k!ak+rkYt
un proces stat »ionar cu media k!a k.^In practic¸ a operatorul de diferent »iere are gradul
kmic (1 sau 2).
F.4.2. Eliminarea simultan¸ a a componentelor tendint »¸ a » si sezoniere
Metodele decrise ^ ³n sect »iunea precedent¸ a pot ¯ adaptate ^ ³n mod natural pentru
a elimina simultan componenta tendint »¸ a » si componenta sezonier¸ a.
S¸ a consider¸ am modelul
Xt=mt+st+Yt
unde EYt= 0 » si st+d=st» sidP
j=1sj= 0.
Not¸ am cu xj;k; j = 1; :::; n u;k= 1; :::; n salk-lea element din unitatea j(ex.:
luna kdin anul j» sid= 12). Deci xj;k=xk+ns(j¡1); j= 1; :::; n u;k= 1; :::; n s:
Metoda S1 (metoda tendint »ei mici). Dac¸ a tendint »a este mic¸ a putem presupune
c¸ a termenul tendint »¸ a este constant s¸ a presupunem mjpentru a – j-a unitate. Deoarece
nsP
k=1sk= 0 un estimator natural nedelasat pentru mjeste
^mj=1
nsnsX
k=1xj;k
iar pentru sk; k= 1; :::; n s
^sk=1
nunuX
k=1(xj;k¡^mj)
care satisface condit »iansP
k=1sk= 0. Estimat »ia termenului eroare va ¯:
^
Yj;k=xj;k¡^mj¡^sk; j = 1; :::; n u;k= 1; :::; n s
Metoda S2 (Estimat »ia MA).
Aceast¸ a tehnic¸ a este de preferat deoarece nu se bazeaz¸ a pe presupunearea c¸ a m t
este aproximativ constant¸ a^ ³n timpul unui ciclu. S¸ a presupunem c¸ a avem observat »iile
fx1; :::; x ng:Tendint »a este estimat¸ a prin aplicarea unui ¯ltru MA care elimin¸ a com-
ponenta sezonier¸ a. Dac¸ a perioada d este par¸ a ( d= 2q) atunci folosim:
326 SERII DINAMICE STAT »IONARE
^mj=1
d(0:5xt¡q+xt¡q+1+:::+xt+q¡1+ 0:5xt+q)q < t·n¡q
Dac¸ a perioada este impar¸ a folosim ¯ltrul de¯nit de (2).
Al doilea pas este s¸ a estim¸ am componenta sezonier¸ a. Pentru ¯ecare k= 1; :::; d
calcul¸ am media deviat »iilor f(xk+jd¡^mk+jd:q < k +jd·n¡qg. Estimat »ia compo-
nentei skva ¯
^sk=wk¡1
ddX
i=1wi; k = 1; :::; d
» si^sk=^sk¡d; k > d:
Seria desezonalizat¸ a va ¯ dt=xt¡^st; t= 1; :::; n:
Estimat »ia termenului eroare va ¯:
^
Yt=xt¡^mt¡^st; t= 1; :::; n:
Metoda S3 (Diferent »ierea la lag d).
Tehnica diferent »ierii prezentat¸ a ^ ³n sect »iunea precedent¸ a poate ¯ adaptat¸ a pentru
cazul sezonier de perioad¸ a dprin introducerea operatorului diferent »iere la lag-d rd
de¯nit de
rdXt=Xt¡Xt¡d= (1¡Bd)Xt
(Acest operator nu trebuie confundat cu operatorul rd= (1¡B)dde¯nit ante-
rior.)
Aplic^ and operatorul rdmodelului:
Xt=mt+st+Yt;
undefstgare perioada d obt »inem:
rdXt=mt¡mt¡d+Yt¡Yt¡d
care d¸ a descompunerea seriei deferent »¸ a rdXt^ ³n componenta tendint »¸ a mt¡mt¡d» si
termenul zgomot Yt¡Yt¡d:Componenta tendint »¸ a, mt¡mt¡d, poate ¯ estimat¸ a
folosind metodele descrise anterior prin aplicarea unor puteri ale operatorului r:
FUNCT »IA DE AUTOCOVARIANT » ¸A A UNUI PROCES STAT »IONAR 327
F.5. Funct »ia de autocovariant »¸ a a unui proces stat »ionar
^In acest paragraf vom prezenta o serie de propriet¸ at »i ale funct »iei de autocovariant »¸ a
a unui proces stochastic stat »ionar.
Teorema F.5.1. (Proprietate elementar¸ a). Dac¸ a °(:)este funct »ia de autoco-
variant »¸ a a unui proces stat »ionar fXt; t2Zg:Atunci:
°(0)¸0;
j°(h)j ·°(0)8h2Z;
°(h) =°(¡h)8h2Z:
Demonstrat »ie.
Prima proprietate este evident¸ a din faptul c¸ a V ar(Xt)¸0, iar cea de-a doua din
inegalitatea Cauchy-Schwarz:
j°(h)j=jCov(Xt+h; Xt)j ·q
V ar(Xt+h)V ar(Xt) =q
°(0)°(0) = °(0)
» si cea de-a treia se stabile» ste observ^ and c¸ a:
°(¡h) =Cov(Xt¡h; Xt) =Cov(Xt; Xt+h) =°(h):2
Funct »ia de autocovariant »¸ a este nenegativ de¯nit¸ a .
De¯nit »ia F.5.1. (Nenegativ de¯nirea) O funct »ie real¸ a k:Z!Rse nume» ste
nenegativ de¯nit¸ a dac¸ a » si numai dac¸ a
nX
i;jaik(ti¡tj)aj¸0
pentru orice n2Z» si orice a= (a1; :::; a n)02Rn» sit= (t1; :::; t n)02Zn.
Teorema F.5.2. (Caracterizarea funct »iei de autocovariant »¸ a) O funct »ie real¸ a par¸ a
de¯nit¸ a pe Zeste nenegativ de¯nit¸ a dac¸ a » si numai dac¸ a este funct »ia de autoco-
variant »¸ a a unei serii dinamice stat »ionare.
Demonstrat »ie.
Pentru a ar¸ ata c¸ a funct »ia de autocovariant »¸ a °(:) a unei serii dinamice stat »ionare
fXtgeste nenegativ de¯nit¸ a observ¸ am c¸ a dac¸ a a= (a1; :::; a n)02Rn» sit=
(t1; :::; t n)02Zn» siZt= (Xt1¡EXt1; :::; X tn¡EXtn)0atunci:
0·V ar(a0Zt) =a0EZtZ0
ta=a0¡na=nX
i;j=1ai°(ti¡tj)aj
328 SERII DINAMICE STAT »IONARE
unde ¡ n= [°(ti¡tj)]n
i;j=1este matricea de covariant »¸ a a lui ( Xt1; :::; X tn)0:
Reciproc, ¯e k:Z!Ro funct »ie par¸ a nenegativ de¯nt¸ a. Trebuie s¸ a ar¸ at¸ am c¸ a
exist¸ a un proces stat »ionar cu k(:) funct »ia de autocovariant »¸ a. Pentru aceasta vom
folosi teorema lui Kolmogorov. Pentru orice n2N» si orice t= (t1; :::; t n)2Zn:
t1< t2< ::: < t n¯eFtfunct »ia de distribut »ie pe Rncu funct »ia caracteristic¸ a
Át(u) = exp( ¡u0Ku
2);
undeu= (u1; :::; u n)02Rn» siK= [k(ti¡tj)]n
i;j=1. Deoarece keste nenegativ de¯nit¸ a
deci matricea Keste nenegativ de¯nit¸ a rezult¸ a c¸ a Áteste funct »ia caracteristic¸ a a
distribut »iei normale de medie zero » si matrice de covariant »¸ a K. Deci
Át(i)(u(i)) = limui!1Át(u)8t2 T
adic¸ a funct »iile de distribut »ie Ftsunt consistente » si deci conform teoremei Kolmogorov
exist¸ a o serie dinamic¸ a cu funct »ia de distribut »ie Ft» si funct »ia caracteristic¸ a Át.^In
particular distribut »ia comun¸ a a variabilelor Xi» siXjeste o normal¸ a bivariat¸ a de
medie zero » si matrice de covariant »¸ a
Ã
k(0) k(i¡j)
k(i¡j)k(0)!
care arat¸ a faptul c¸ a Cov(Xi; Xj) =k(i¡j):2
Observat »ia F.5.1. A» sa cum rezult¸ a din demonstrat »ia teoremei anterioare pen-
tru orice funct »ie de autocovarianta °(:) exist¸ a o serie dinamic¸ a Gaussian¸ a a c¸ arei
funct »ie de autocovariant »¸ a este °(:).
Observat »ia F.5.2. Pentru a veri¯ca c¸ a o anumit¸ a funct »ie este nenegativ de¯nit¸ a
uneori este mai u» sor s¸ a indic¸ am un proces stat »ionar cu funct »ia de autocovariant »¸ a
identic¸ a cu funct »ia dat¸ a dec^ at s¸ a aplic¸ am de¯nit »ia. De exemplu funct »ia k(h) =
cos(µh) este funct »ia de autocovariant »¸ a a procesului din exemplul 4 din paragraful 3
» si deci k(h) nenegativ de¯nit¸ a. O alt¸ a modalitate de a veri¯ca nenegativ de¯nirea
este cu teorema lui Herglotz.
Observat »ia F.5.3. Funct »ia de autocorelat »ie ½(:) are toate propriet¸ at »ile funct »iei
de autocovariant »¸ a » si satisface proprietatea adit »ional¸ a ½(0) = 1 :
Exercit »iul F.5.1. Care din urm¸ atoarele funct »ii este funct »ia de autocovariant »¸ a
a unui proces stochastic?
1.f(h) = 1 dac¸ a h= 0 » si f(h) = 1 =hdac¸ a h6= 0:
2.f(h) = (¡1)jhj
FUNCT »IA DE AUTOCOVARIANT » ¸A A UNUI PROCES STAT »IONAR 329
Exercit »iul F.5.2. FiefSt; t= 0;1; :::gprocesul de¯nit de S0= 0 » si
St=¹+St¡1+Xt; t= 1;2; :::
unde X1; X2; :::sunt variabile aleatoare independente, identic distribuite de medie
zero » si dispersie ¾2. Calculat »i media lui St» si funct »ia de autocovariant »¸ a a procesului
fStg. Ar¸ atat »i c¸ a procesul frStgeste stat »ionar » si calculat »i media » si funct »ia de
autocovariant »¸ a.
F.5.1. Funct »ia de autocovariant »¸ a de select »ie
Din observat »iile fx1; :::; x ngefectuate asupra unei serii dinamice stat »ionare fXtg
vrem s¸ a estim¸ am funct »ia de autocovariant »¸ a °(:). care va furniza informat »ii asupra
structurii de dependent »¸ a.
De¯nit »ia F.5.2. Funct »ia de autocovariant »¸ a de select »ie a datelor fx1; :::; x ngeste
de¯nit¸ a prin
^°(h) =1
nn¡hX
j=1(xj+h¡x)(xj¡x); 0·h < n
» si^°(h) =^°(¡h);¡n < h ·0 , unde x=1
nnP
j=1xj
De¯nit »ia F.5.3. Funt »ia de autocorelat »ie de select »ie a datelor fx1; :::; x ngeste
de¯nit¸ a prin
^½(h) =^°(h)
^°(0);jhj< n
Exercit »iul F.5.3. Dac¸ a Xt=a+bt; t= 1;2; :::; n; unde a; b2Rfunct »ia de
autocorelat »ie are proprietatea:^½(k)¡!n!11 pentru k¯xat.
330 SERII DINAMICE STAT »IONARE
Anexa G
MODELUL
AUTOREGRESIV-MEDIE
MOBIL ¸A
G.1. Modelul autoregresiv AR(p)
Vom de¯ni » si vom da principalele propriet¸ at »i ale proceselor autoregresive AR(p):
De¯nit »ia G.1.1. Un proces fXt; t= 0;§1;§2; :::gse nume» ste proces AR(p)
dac¸ a
Xt¡Á1Xt¡1¡:::¡ÁpXt¡p=Ztpentru orice t
undefZtg »WN(0;¾2) (zgomot alb).
Spunem c¸ a fXtgeste un proces AR(p) de medie ¹dac¸ a » si numai dac¸ a fXt¡¹g
este proces AR(p). Ecuat »ia de mai sus se scrie ^ ³n forma simbolic¸ a:
©(B)Xt=Zt; t= 0;§1;§2; :::
unde ©( B) = 1¡Á1B¡:::¡ÁpBpeste polinomul autoregresiv.
Teorema G.1.1. Procesul AR(p) este un proces inversabil.
Teorema G.1.2. Un proces AR(p) este stat »ionar dac¸ a » si numai dac¸ a r¸ ad¸ acinile
ecuat »iei polinomiale autoregresive ©( z) = 0 sunt de modul mai mare ca 1.
331
332 MODELUL AUTOREGRESIV-MEDIE MOBIL ¸A
G.2. Modelul medie mobil¸ a MA(q)
Vom de¯ni » si vom da principalele propriet¸ at »i ale proceselor autoregresive MA(q):
De¯nit »ia G.2.1. Un proces fXt; t= 0;§1;§2; :::gse nume» ste proces MA(q)
dac¸ a
Xt=Zt¡µ1Zt¡1¡:::¡µqZt¡qpentru orice t
undefZtg »WN(0;¾2) (zgomot alb).
Spunem c¸ a fXtgeste un proces MA(q) de medie ¹dac¸ a » si numai dac¸ a fXt¡¹g
este proces MA(q). Ecuat »ia de mai sus se scrie ^ ³n forma simbolic¸ a:
Xt= £( B)Zt; t= 0;§1;§2; :::
unde: £( B) = 1¡µ1B¡:::¡µpBpeste polinomul medie mobil¸ a.
Teorema G.2.1. Procesul MA(q) este un proces stat »ionar.
Teorema G.2.2. Un proces MA(q) este inversabil dac¸ a » si numai dac¸ a r¸ ad¸ acinile
ecuat »iei polinomiale medie mobil¸ a £( z) = 0 sunt de modul mai mare ca 1 :
G.3. Modelul ARMA(p,q)
Procesul ARMA (p; q) este o combinat »ie a celor dou¸ a clase de procese ment »ionate
anterior.
De¯nit »ia G.3.1. Un proces fXt; t= 0;§1;§2; :::gse nume» ste proces auto re-
gresiv -medie mobil¸ a ARMA (p; q) dac¸ a:
Xt¡Á1Xt¡1¡:::¡ÁpXt¡p=Zt¡µ1Zt¡1¡:::¡µqZt¡qpentru orice t
undefZtg »WN(0;¾2) (zgomot alb).
Spunem c¸ a fXtgeste un proces ARMA (p; q) de medie ¹dac¸ a » si numai dac¸ a
fXt¡¹geste proces ARMA (p; q). Ecuat »ia de mai sus se scrie ^ ³n forma simbolic¸ a:
©(B)Xt= £( B)Zt; t= 0;§1;§2; :::
unde: ©( B) » si £( B) este polinomul autoregresiv respectiv polinomul medie mobil¸ a.
MODELUL ARIMA(P,D,Q) 333
G.4. Modelul ARIMA(p,d,q)
De foarte multe ori un proces ARMA (p,q) nu este stat »ionar » si pentru al trans-
forma ^ ³ntr-unul stat »ionar este necesar¸ a diferent »ierea datelor.
De¯nit »ia G.4.1. Un proces fXt; t= 0;§1;§2; :::gse nume» ste proces auto re-
gresiv integrat -medie mobil¸ a ARIMA (p; d; q ) dac¸ a:
©(B)rdXt= £( B)Zt; t= 0;§1;§2; :::pentru orice t
undefZtg » WN(0;¾2) (zgomot alb) iar rdeste operatorul de diferent »iere de
ordinul d(vezi ANEXA F).
Observat »ia G.4.1. Modelele un proces stochastic poate avea » si o component¸ a
sezonier¸ a. Ecuat »ia unui astfel de proces ARIMA (p; d; q )£(P; D; Q ) este:
©s(Bs)©(B)rD
srdXt= £ s(Bs)£(B)Zt; t= 0;§1;§2; :::pentru orice t
unde indicele sare semini¯cat »ia componentei sezoniere, © s(Bs) este polinomul au-
toregresiv sezonier, £ s(Bs) este polinomul medie mobil¸ a sezonier, rD
seste opera-
torul de diferent »iere sezonier¸ a de ordinul Diar restul parametrilor sunt cu aceeia» si
speci¯cat »ie ca la un model ARIMA (p; d; q ):
G.5. Probleme puse proceselor ARIMA(p,d,q)
Asupra proceselor ARIMA (p; d; q ) se pun urm¸ atoarele probleme:
i)identi¯carea modelului (de regul¸ a se face cu ajutorul funct »iei de autocorelat »ie
» si de autocorelat »ie part »ial¸ a) care presupune elaborarea unor tehnici » si metode de
estimare, pe baza observat »iilor, a numerelor ^ ³ntregi p; q» sid;
ii)estimarea mediei procesului precum » si a parametrilor modelului adic¸ a a valo-
rilorÁi» siµi;
iii)diagnoza » sitestarea modelului , cu ajutorul testelor statistice, » si ^ ³n funct »ie de
rezultatele acestor teste reajustarea num¸ arului de parametrii » si a valorii acestora;
iv)prognoza sauprevizionarea (evident cu o anumit¸ a probabilitate) a urm¸ atoarelor
date.
Pentru clari¯carea tehnicilor utilizate cititorul poate consulta Box[12] » si Brock-
well[13].
334 MODELUL AUTOREGRESIV-MEDIE MOBIL ¸A
Anexa H
SIMULAREA VARIABILELOR
ALEATOARE
^In scopul realiz¸ arii test¸ arii produselor software » si/sau hardware sunt necesare de
cele mai multe ori efectuarea unor simul¸ ari ale variabilelor aleatoare cu o distribut »ie
de probabilitate bine de¯nit¸ a care pote ¯ discret¸ a sau continu¸ a. Tehnicile de simu-
lare presupun realizarea simul¸ arii unei variabile aleatoare uniforme discrete (care se
poate realiza cu ajutorul unui generator pseudoaleator ca de exemplu un generator
congruent »ial liniar) sau continue. Generare unei variabile aleatoare cu o distribut »ie
neuniform¸ a se poate face prin metodele invesiei, reject »iei, etc. ^InDevroye [15] sunt
prezentate metode » si tehnici exhaustive de generare a variabilelor aleatoare neuni-
forme.
H.1. Tehnici de simulare
Teorema H.1.1. (Metoda inversiei) Dac¸ a Feste o distribut »ie continu¸ a pe R
cu inversa F¡1de¯nit¸ a de:
F¡1(u) = inf fxjF(x) =u;0< u < 1g:
Dac¸ a Ueste o variabil¸ a uniform¸ a pe [0;1]atunci F¡1(U)are funct »ia de distribut »ie
F:Deasemenea dac¸ a Xare funct »ia de distribut »ie F;atunci F(X)este uniform dis-
tribuit¸ a pe [0;1]:
Demonstrat »ie. Avem:
Pr(F¡1(u)·x) = Pr(inf fyjF(y) =Ug ·x)
= Pr( U·F(x)) =F(x):
335
336 SIMULAREA VARIABILELOR ALEATOARE
Pentru cea de a doua a¯rmat »ie avem pentru orice 0 < u < 1 :
Pr(F(X)·u) = Pr( X·F¡1(u)) =F(F¡1(u)) =u:
Exemplul H.1.1. Distribut »ia exponent »ial¸ a dat¸ a de densitatea ½(x) = ¸e¡¸t
(pentru x¸0) » si funct »ia de repartit »ie F(x) = 1¡e¡¸xse poate obt »ine prin aplicarea
metodei inversei: dac¸ a variabila Ueste repartizat¸ a uniform pe [0 ;1] atunci
¡1
¸ln(1¡U)
are o distribut »ie exponent »ial¸ a.
Teorema H.1.2. (Metoda reject »iei) Fie Xun vector aleator cu densitatea fpe
Rd» siUo variabil¸ a aleatoare unifrom distribuit¸ a pe [0;1]:Atunci (X; cUf (X))este
uniform distribuit¸ a pe A=f(x; u)jx2Rd;0·u·cf(x)g;unde c > 0este o
constant¸ a arbitrar¸ a. Viceversa, dac¸ a (X; U)este vector aleatoriu ^ ³n Rd+1uniform
distribuit pe A;atunci Xare densitatea fpeRd:
Metoda inversiei poate ¯ destul de di¯cil de aplicat ^ ³n anumite cazuri practice
deoarece calculul inversei efectiv al inversei se poate dovedi nefezabil. Metoda lui Von
Neumann (vezi spre exemplu Sobol [86]) rezolv¸ a aceast¸ a problem¸ a. Pentru a genera
o variabil¸ a aleatoare cu densitatea f(x) de¯nt¸ a spre exemplu ^ ³n intervalul ( a; b) vom
genera dou¸ a puncte °0» si°00din [0 ;1]:Se calculeaz¸ a valorile ´0=a+°0(b¡a) » si´00=
°00max
x2(a;b)f(x):Dac¸ a punctul ¨( ´0; ´00) este ^ ³n interiorul gra¯cului lui f(x) atunci
procedura lui Von Neumann returneaz¸ a valoarea ´0:Situat »ia este exempli¯cat¸ a ^ ³n
¯gura de mai jos.
H.2. Legea tare a numerelor mari
Generarea unei variabile aleatoare continue se poate face » si cu ajutorul legii tari
a numerelor mari.
Teorema H.2.1. (Legea tare a numerelor mari) Fie X1; :::; X nun » sir de nvari-
abile aleatoare independente identic repartizate. Atunci pentru nsu¯cient de mare
variabila aleatoare:nP
i=1Xi
n»N(0; 1)
LEGEA TARE A NUMERELOR MARI 337
Figura 8.1: Metoda lui von Neumann de generare a variabilelor aleatoare continue.
(de fapt nu este necesar ca variabilele aleatoare X1; :::; X ns¸ a ¯e independente
identic repartizate ci doar ca ponderea acestora ^ ³n sum¸ a s¸ a ¯e uniform¸ a). Legea
slab¸ a a numerelor mari spune c¸ a ^ ³n aceleea» si condit »ii ca mai sus avem:
limnnP
i=1Xi
n= 0:
Din variabile aleatoare normale » si independente se pot genera toate celelalte
distribut »ii continue. De exemplu distribut »ia Â2se poate genera utiliz^ and urm¸ atoarea
teorem¸ a.
Teorema H.2.2. (Distribut »ia Â2) Dac¸ a X1; :::; X nsunt independente reparti-
zateN(0;1)atunci:
nX
i=1X2
i»Â2(n¡1):
Pentru cazul discret sunt rezultate similare sau se poate opta pentru discretizarea
variabilei continue. ^In acest sens vom prezenta o metod¸ a de a genera variabile
aleatoare (discrete) de tip Bernoulli (Pr( X= 1) = p) pornind de la o variabil¸ a
aleatoare (continu¸ a) uniform¸ a pe [0 ;1]:
1) se genereaz¸ a yo variabil¸ a aleatoare uniform¸ a pe [0 ;1];
2) dac¸ a y > p atunci X= 0;^ ³n caz contrar X= 1:
338 SIMULAREA VARIABILELOR ALEATOARE
Anexa I
ELEMENTE DE TEORIA
NUMERELOR
I.1. Teste de primalitate
Vom prezenta o serie de teoreme fundamentale din teoria numerelor cunoscute » si
sub denumirea de teste de primalitate .
Teorema I.1.1. (Teorema lui Fermat) Dac¸ a p este num¸ ar prim » si a este un
num¸ ar ^ ³ntreg care nu se divide cu patunci:
ap¡1´1 mod p:
Reciproca teoremei lui Fermat nu este adev¸ arat¸ a, numerele care ^ ³ndeplinesc con-
cluzia teoremei lui Fermat » si care nu sunt prime se numesc numere pseudoprime ^ ³n
baza a:
De¯nit »ia I.1.1. (Funct »ia lui Euler) Vom de¯ni funct »ia lui Euler '(n) prin for-
mula:
'(n) =cardfpj(p; n) = 1 ; p < n g:
Dac¸ a ( m; n) = 1 atunci '(mn) ='(m)'(n):Avem urm¸ atoarea formul¸ a pentru
calculul lui '(n) ^ ³n cazul ^ ³n care n=kQ
i=1p®i
i:
'(n) =kY
i=1(pi¡1)p®i¡1
i=nkY
i=1(1¡1
pi):
339
340 ELEMENTE DE TEORIA NUMERELOR
Observat »ia I.1.1. Avem urm¸ atoarea limit¸ a inferioar¸ a pentru '(n) :
'(n)>n
6 ln ln npentru orice n¸5:
Teorema I.1.2. (Teorema lui Euler) Dac¸ a a» sinsunt numere ^ ³ntregi relativ
prime atunci:
a'(n)´1 mod n:
Teorema I.1.3. (Teorema lui Wilson) Num¸ arul peste prim dac¸ a » si numai dac¸ a:
(p¡1)!´1 mod p:
I.2. Lema chinezesc¸ a a resturilor
Teorema I.2.1. (Lema chinezeasc¸ a a resturilor- CRT) Fie m1; :::; m knumere
^ ³ntregi cu (mi; mj) = 1 pentru orice i6=j:Atunci sistemul
x´aimodmi
are o solut »ie unic¸ a modulokQ
i=1mi:
Demonstrat »ie. Existent »a solut »iei. Vom nota
M=kY
i=1mi
» si
Mi=M
mipentru orice i= 1; ::k:
Deoarece ( mi; mj) = 1 pentru orice i6=javem ( Mj; mj) = 1 pentru orice jadic¸ a
exist¸ a Njastfel ca MjNj= 1 mod mj:Atunci dac¸ a not¸ am
x=kX
i=0aiMiNi
» si reducem modulo miavem:
x=kX
j=0ajMjNjmodmipentru orice i:
NUM ¸ARUL DE NUMERE PRIME 341
Folosind faptul c¸ a ( Mi; mj)6= 1 pentru i6=jobt »inem:
x=aiMiNimodmi
=aimodmipentru orice i:
Unicitatea solut »iei. Fiex0» six00dou¸ a solut »ii atunci
x=x0¡x00= 0 mod mipentru orice i
deci
x= 0 mod M:
I.3. Num¸ arul de numere prime
Teorema I.3.1. (Teorema numerelor prime) Vom nota prin ¼(x)num¸ arul de
numere prime mai mici sau egale cu x. Avem:
limx!1¼(x) lnx
x= 1:
Observat »ia I.3.1. Avem inegalit¸ at »ile:
¼(x)<1;25506x
lnxpentru orice x >1
respectiv
¼(x)>x
lnxpentru x¸17:
I.4. Simbolurile lui Legendre » si Jacobi
Urm¸ atoarele de¯nit »ii (simbolul lui Legendre » si simbolul lui Jacobi) sunt utilizate
frecvent ^ ³n probleme de teoria numerelor (de exemplu algoritmul lui Rabin sau al-
goritmul de cifrare cu ajutorul curbelor eliptice).
De¯nit »ia I.4.1. Fiepun num¸ ar prim impar » si aun num¸ ar ^ ³ntreg. Simbolul lui
Legendre³
a
p´
este de¯nit ca:
µa
p¶
=8
><
>:0 dac¸ a pja;
1 dac¸ a aeste reziduu p¸ atratic modulo p;
¡1 dac¸ a anu este reziduu p¸ atratic modulo p:
342 ELEMENTE DE TEORIA NUMERELOR
Teorema I.4.1. Fiepun num¸ ar prim impar » si a; bun numere ^ ³ntregi. Atunci:
i)³
a
p´
=a(p¡1)=2modp:
ii)³
ab
p´
=³
a
p´³
b
p´
:Deci dac¸ a a2Z¤
patunci³
a2
p´
= 1:
iii) Dac¸ a a´bmodpatunci³
a
p´
=³
b
p´
:
iv)³
2
p´
= (¡1)(p2¡1)=8:
v) (legea reciprocit¸ at »ii p¸ atratice) Dac¸ a qeste un num¸ ar prim impar diferit de p
atunci µp
q¶
=µq
p¶
(¡1)(p¡1)(q¡1)
4
Simbolul lui Jacobi este o generalizare a simbolului lui Legendre.
De¯nit »ia I.4.2. Fien¸3 un num¸ ar impar cu factorizarea ^ ³n numere prime
n=pe1
1::::pek
k:Atunci simbolul lui Jacobi¡a
n¢este de¯nit prin formula:
µa
n¶
=µa
p1¶e1
:::µa
pk¶ek
:
Observat »ia I.4.1. Dac¸ a neste num¸ ar prim atunci simbolul lui Jacobi este chiar
simbolul lui Legendre.
Teorema I.4.2. Fiem; n¸3numere ^ ³ntregi impare » si a; bun numere ^ ³ntregi.
Atunci:
i)¡a
n¢= 0;1;sau¡1. Mai mult¡a
n¢= 0dac¸ a » si numai dac¸ a gcd(a; n)6= 1:
ii)³
ab
n´
=¡a
n¢³
b
n´
:Deci dac¸ a a2Z¤
natunci³
a2
n´
= 1:
iii) Dac¸ a a´bmodnatunci¡a
n¢=³
b
n´
:
iv)¡a
mn¢=¡a
m¢¡a
n¢:
v)³
1
n´
= 1:
vi)³
¡1
n´
= (¡1)(n¡1)=2:
vi)³
2
n´
= (¡1)(n2¡1)=8:
vii)¡m
n¢=¡n
m¢(¡1)(m¡1)(n¡1)
4 :
Bibliogra¯e
[1]Abramowitz M., Stegun I.A., Handbook of Mathematical Functions, Wash-
ington, D.C., U.S. Government Printing O±ce, 1964.
[2]Al-Kindi, Manual for Derypting Secret Messages, 850 AD.
[3]Asmuth C., Bloom J., A Modular Approach to Key Safeguarding , IEEE
Transactions on Information Theory, vol. IT29, n. 2, Mar 1983, pag. 208-210.
[4]Azencott R.,Dacuhna-Castelle D., Series of Irregular Observations. Fore-
casting and model building, Springer-Verlag, 1986.
[5]Basse S., Gelder A., Computer Algorithms, Introduction to Design and
Analysis, Addison Wesley Longman, 2000.
[6]Bauer F., Decrypted Secrets, Springer Verlag, 2000.
[7]Beker H., Piper F., Cipher Systems, Northwood Books London, 1982.
[8]Biham E., Shamir A., Di®erential Fault Analysis of Secret Key Cryptosys-
tem.
[9]Biham E., Kocher P., A Known Plaintext Attack on the PKZIP Stream
Cipher, Technion Technical Report, 1997.
[10]Blakley G.R., Safeguarding Cryptographic Keys , Proceedings of the National
Computer Conference, 1979, American Federation of Information Processing
Society, vol. 48, 1979, pag. 313-317.
[11]Boneh D., » s.a., On the importance of Checking Cryptographic Protocols for
Faults.
[12]Box E.P, Jenkins G.M., Time series analysis, forecasting and control,
Holden-Day, 1970.
[13]Brockwell P., Davis R., Time Series Theory and Methodes, Springer-
Verlag, 1987.
[14]Cormen T., Leiserson C., Rivest R., Introduction to Algorithms, MIT
Press, 1990.
[15]Devroye L., Non-Uniform Random Variate Generation, Springer-Verlag,
1986.
[16]Di±e W., Hellman M.E., New Directions in Cryptography, IEEE Transac-
tions on Information Theory, vol. IT.-22, no.6, nov 1976, pag. 644-654.
343
344 BIBLIOGRAFIE
[17]Dumitrescu M., Curs de Statistic¸ a Matematic¸ a, Editura Universit¸ at »ii Bu-
cure» sti, 1989.
[18]ElGamal T., A Public-Key Cryptosystem and a Signature Based on Discrete
Logarithms, Adv. in Cryptology Crypto84, Springer Verlag, 1985, pag. 10-18.
[19]Forr¶ e R., The Strict Avalanche Criterion: Spectral Properties of Boolean
Functions and an Extended De¯nition, Adv. in Cryptology Crypto88, Springer
Verlag, 1988, pag. 450-468.
[20]Friedman W., Military Cryptanalysis, Aegean Park Press, 1980.
[21]Golic J., The number of output sequences of a binary sequence generator,
Adv. in Cryptology Eurocrypt91, 1991.
[22]Golic J., Correlation Via Linear Sequential Circuit Approximation of Com-
biners with Memory, Adv. in Cryptology Eurocrypt92, 1992.
[23]Golic J., Embedding a Probabilistic Correlation Attacks on Clocked- Con-
trolled Shift Registers, Adv. in Cryptology Eurocrypt94, 1994.
[24]Golic J., Towards Fast Correlation Attacks on Irregularly Clocked Shift Reg-
isters, Adv. in Cryptology Eurocrypt95, 1995.
[25]Golic J., Cryptanalysis of the Alleged A5 Stream Cipher, Adv. in Cryptology
EuroCrypt97, 1997.
[26]Golic J., Petrovic S., A Generalized Correlation Attack with a Probabilistic
Constrained Distance , Adv. in Cryptology Eurocrypt92, 1992.
[27]Golic J., Menicocci R., Edit Distance Correlation Attack on the Alternating
Step Generator, Adv. in Cryptology Crypto97, 1997.
[28]Golic J., Mihaljevic M., A generalized Correlation Attack on a Class of
Stream Chiper Based on the Levenshtein Distance, Journal of Cryptology vol.
3, 1991.
[29]Golic J., Mihaljevic M., A comparation of Cryptanalitic Principles Based
on Iterative Error-Correction, Adv. in Cryptology Eurocrypt91 1991.
[30]Golic J., Mihaljevic M., Convergence of Bayesian iterative error-correction
procedure on a noisy shift register sequence, Adv. in Cryptology Eurocrypt92,
1992.
[31]Golomb S.W. ,Shift-register sequences , Aegean Park Press, Laguna Hills,
California, 1982.
[32]Guia» su S., Information Theory with Applications, McGrow-Hill, 1977.
[33]IEEE P1363/D13, Standard Speci¯cation for Public Key Cryptography,
Draft Version 13, November 1999.
[34]Jamsa K., Cope K., Internet Programming, Jamsa Press, 1995.
[35]Juang W.N, E±cient password authenticated key agreement using smart
cards, Computer and Security, (2004) 23, pag. 167-173.
[36]Karnin E.D, Greene J.W., Hellman M.E., On Sharing Secret Systems ,
IEEE Transactions on Information Theory, vol. IT29, 1983, pag. 35-41.
BIBLIOGRAFIE 345
[37]Kelly J .,Terror groups hide behind Wed encryption. USA Today, February
2001.
[38]Knuth D., Arta program¸ arii calculatoarelor, Ed. Teora, 1999.
[39]Koblitz N., Elliptic Curve Cryptosystems, Mathematics of Computations,
vol. 48, nr.177, 1987, pag. 203-209.
[40]Koblitz N., Introduction to Elliptic Curves and Modular Forms, Springer-
Verlag, 1984.
[41]Koblitz N., A Course in Number Theory and Cryptography, Springer-Verlag,
1988.
[42]Koblitz N., Algebric aspects of Cryptography, Springer-Verlag, 1999.
[43]Kocher P., Timing attacks on Implementation of Di±e-Hellman, RSA, DSS
and other Systems.
[44]Massey J. ,Shift-register synthesis and BCH decoding , IEEE Trans. Informa-
tion Theory, vol.IT-15, nr.1(ian. 1969), pag.122-127.
[45]Massey J., Rueppel R.A., Linear ciphers and random sequence generators
with multiple clocks , Proceedings Eurocrypt'84, Springer-Verlag Lecture Notes
in Computer Science nr.209, Springer-Verlag, New York, 1984, pag. 74-87.
[46]Maurer U., Universal randomness test , Journal of Cryptology, 1992.
[47]Maurer U., Cascade Chipers: The importance of being ¯rst, J. of Cryptology
vol. 6., 1993.
[48]Maurer U., The role of the Information Theory in Cryptography, Cryptog-
raphy and Coding IV 1993.
[49]Maurer U., Information -Theoretically Secure Secret-Key Agreement by NOT
Authenticated Public Discussion, Adv. in Cryptology EuroCrypt97, 1997.
[50]Menenzes A.J., et. al., Handbook of Applied Cryptography , CRC Press,
1997.
[51]Naccache D., Simion E., Mih¸ ait »¸ a, Olimid R.F., Oprina A.G. ,Crip-
togra¯e » si Securitatea informat »iei. Aplicat »ii , MATRIXROM 2011.
[52]Nyberg K. ,Di®erentially uniform mappings for cryptography , Adv. in Cryp-
tology Eurocrypt93, 1993.
[53]Pankratz A., Forecasting with Dynamic Regression Models, Wiley and Sons,
1991.
[54]Peyravian M., Non-PKI methods for public key distribution, Computer and
Security, (2004) 23, pag. 97-103.
[55]Pieprzyk J., Sadeghiyan B., Design of Hashing Algorithms, Springer Ver-
lag, 1993.
[56]Popescu A. ,Transformata Walsh-Hadamard ^ ³n Criptogra¯e , Sesiunea de Co-
munic¸ ari S »tiint »i¯ce a Universit¸ at »ii Hyperon, 2004.
[57]Preda V., Teoria Deciziilor Statistice , Ed. Academiei, 1991.
346 BIBLIOGRAFIE
[58]Preda V., Simion E., Statistical Cryptanalytics Techniques , Annals of Uni-
versity of Bucharest, 2002, pag. 73-82.
[59]Preda V., Simion E., Con¯rmatory Test used in Cipher System Evaluations ,
Annals of University of Bucharest, 2001, pag. 105-126.
[60]Preda V., Simion E., Correlated Stochastic Time Series and Cryptographic
Applications , Annals of University of Bucharest, 2000, pag. 105-122.
[61]Povros N .,Defeding Against Statistical Steganalysis, Proceedings of the 10th
USENIX Security Symposium , 323-335, August 2001.
[62]Povros N., Honeyman P., Detecting Steganographic Content on the Inter-
net,Technical Report, Center for Information Technology Integration, Uni-
versity of Michigan, 2002.
[63]Preneel B., et. al, Propagtion Characteristics of Boolean Functions, Adv. in
Cryptology Eurocrypt90, 1990, pag. 161-173.
[64]Preneel B., et. al, Boolean Functions Satisfying Higher Order Propagation
Criteria, Adv. in Cryptology Eurocrypt91, 1991, pag. 141-152.
[65]Rueppel R. A., Analysis and Design of Stream Ciphers , Springer-Verlag,
1986.
[66]Revesz P., Random Walk in Random and Non-Random Environments , Sin-
gapore, World Scienti¯c, 1990.
[67]Rukhin A. ,Approximate entropy for testing randomness , Journal of Applied
Probability, vol.37, 2000.
[68]Shamir A., How to Share a Secret , Communications of the ACM, vol. 24, n.
11, Nov 1979, pag. 612-613.
[69]Schneier B., Applied Cryptography , Adison-Wesley, 1998.
[70]Schneier B., A self-study course in block-cipher cryptanalysis , Criptologia,
2001.
[71]Salomaa A., Public Key Cryptography , Springer-Verlag, 1989.
[72]Schroeder M.R., Number Theory in Science and Communications , Third
Edition, Springer Verlag, 1997.
[73]Shannon C. E., Communication Theory of Secrecy Systems , Bell Systems
Technology Journal, vol.28, nr.4(oct. 1949), pag. 656-715.
[74]Siegenthaler T., Correlation-immunity of nonlinear combining functions
for cryptographic application, IEEE Trans. Information Theory, vol.IT-31,
nr.5(ian. 1984), pag. 776-780.
[75]Simion E., Opri» san Ghe., Elemente de Cercet¸ ari Operat »ionale » si Criptolo-
gie, Ed. Politehnica Press, 2003.
[76]Simion E., Andra» siu M., Naccache D., Simion Gh., Cercet¸ ari
operat »ionale, Probabilit¸ at »i » si Criptologie. Aplicat »ii , Academia Tehnic¸ a Mili-
tar¸ a, 2011.
BIBLIOGRAFIE 347
[77]Simion E., Remarks on the Bayesian Estimation of Shannon Entropy Using
Priori Truncated Dirichlet Distribution , SCM tom 51, nr. 2, 1999, pag. 277-
288.
[78]Simion E., Information Reconciliation for Almost Uniform Distributions ,
SCM tom 51, nr. 4, 1999, pag. 621-630.
[79]Simion E., Asymptotic Behavior of the Linear Complexity Pro¯le and Ap-
plications at Evaluations of Cryptographic Algorithms , Proceedings of the 3rd
annual meeting of Romanian Society of Mathematical Sciences, Craiova, May
26-29, 1999, pag. 222-230.
[80]Simion E., Truncated Bayesian Estimation of Renyi Entropies and Crypto-
graphic Applications , Mathematical Reports tom 2 (52), nr.2/2000, pag. 215-
226.
[81]Simion E., Statistical Estimators for the E®ective Key Size of a Cipher Sys-
tem, Annals of University of Bucharest, Proceedings of the annual meeting of
the Annual Meeting of the Faculty of Mathematics, 1999, pag. 73-84.
[82]Simion E., The Linear Complexity Pro¯le and Applications at the Evaluation
of Cryptographic Algorithms , Annals of University of Bucharest, Proceedings
of the annual meeting of the Annual Meeting of the Faculty of Mathematics,
1999, pag. 85-93.
[83]Simion E., Asymptotic Behavior of Some Statistical Estimators used in Cryp-
tography , Annals of University of Bucharest, no.1, 2000, pag. 85-89.
[84]Simion E., Linear Complexity Computations of Cryptographic Systems , Inter-
national Conference on Telecommunications, Bucharest, 4-7 June, 2001, pag.
85-92.
[85]Simion E., Voicu I., Game theory in cryptography , Proceedings of the In-
ternational Conference Communications 2002 organized by IEEE Romanian
Section and Military Technical Academy, December 2002, Bucharest, pag.
576-578.
[86]Sobol I. M., The Monte Carlo Method , Mir Publisher, Moskow, 1972.
[87]Soto J., Randomness testing of the Advanced Encryption Standard Candidate
Algorithms , http://crs.nist.gov/encryption/aes/aes home.htm, 2000.
[88]Stallings W., Cryptography and Netwwork Security: Principles and Practice,
Prentice Hall, Second Edition, 1999.
[89]Tilborg, Henk C.A. van, Fundamentals of Cryptology, Kluwer Academic
Publisher, Second Edition, 2001.
[90]Voicu I., Simion E .,Steganography in the digital age , Proceedings of the
International Conference Communications 2002 organized by IEEE Romanian
Section and Military Technical Academy, December 2002, Bucharest, pag.571-
575.
348 BIBLIOGRAFIE
[91]Voicu I., Inserarea Mesajelor Secret Digitale ^ ³n Imagini » si Secvent »e Video,
Ed. Medro, 2000.
[92]Wang X. ,How to break MD5 and other Hash functions , Proceedings of Eu-
rocrypt 2005, Aarhus, Danemark, May-June 2005.
[93]Wang X. ,Collision for hash functions MD4, MD5, HAVAL-128 and
RIPEMD , Proceedings of Eurocrypt 2005, Danemark, 2005.
[94]Wang X. ,Collision for SHA0 and SHA-1 , Proceedings of Eurocrypt 2005,
Danemark, 2005.
[95]Wu H. ,The missue of RC4 in MicroSoft Word and Excel ,
http://www.citeseer.com.
[96]Welschenbach M., Cryptography in C and C++, APress, 2001.
[97]Zdenek F., Information Theory of Continuous Random Variables, IEEE
Transactions on Information Theory, vol.43, No.3, May 1997.
[98]Zeng K.C., Huang M.Q., On the linear syndrome method in cryptanalysis ,
Adv. in Cryptology Eurocrypt88, 1988.
[99]Zeng K.C., Yang C.H., Rao T.R.N., On the linear consistency test (LCT)
in cryptanalysis with application , Adv. in Cryptology Eurocrypt89, 1989.
[100] Zeng K.C., Yang C.H., Rao T.R.N., An improved linear syndrome al-
gorithm in cryptanalysis with application , Adv. in Cryptology Eurocrypt89,
1989.
[101] Zeng K.C., J. Sebbery, Practical Approach to Attaining Security against
Adaptively chosen Cipher Text Attack , Adv. in Cryptology Eurocrypt92, 1992.
[102] Zeng K.C., Yang C.H., Rao T.R.N., Large primes in stream-cipher cryp-
tography, Adv. in Cryptology Asiacrypt90, 1990.
[103] Basic Cryptanalysis , Field Manual no. 34-40-2, Washington, DC.
[104] Terrorist Manual bin Laden Jihad , www.skfriends.com.
[105] Security Requirements for Cryptographic Modules , Federal Information Stan-
dards Publication 140-2, 1999.
[106] Common Criteria for Information Technology Security Evaluation (ISO/IEC
15408) , August 1999, versiunea 2.1.
[107] A statistical test suite for random and pseudorandom number generators for
cryptographic applications , NIST Special Publication 800-22, 2000.
[108] Procedures for handling security patches , NIST Special Publication 800-40,
2002.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Securitatea Criptografica Pag 51 [617403] (ID: 617403)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
