52
GENERATORI DE NUMERE PSEUDO- ALEATOARE Asist. Drd. Morogan Maria Luciana

Generatori de Numere Pseudoaleatoare

Embed Size (px)

Citation preview

Page 1: Generatori de Numere Pseudoaleatoare

GENERATORI DE

NUMERE PSEUDO-

ALEATOAREAsist. Drd. Morogan Maria Luciana

Page 2: Generatori de Numere Pseudoaleatoare

Ideal ar fi ca secretele cerute in algoritmii criptografici si protocoale sa fie generate cu un generator de numere pur aleatoare.

Un asemenea generator necesita un mediu capabil sa ofere numere aleatoare.

Creearea unui dispozitiv hardware sau a unui program software in vederea exploatarii acestui mediu si producerii unei secvente de biti in care anumite valori sa nu apara mai des decat altele (ne vom referi la secventa in care anumite valori apar mai des decat altele folosind termenul de bias) este o sarcina dificila.

Page 3: Generatori de Numere Pseudoaleatoare

Cuprins

1. Background teoretic

2. Generatori de numere pseudo – aleatoare

1. Generatori simplii de numere pseudo-aleatoare

2. Generatori bazati pe LFSR

3. Alti generatori de numere pseudo-aleatoare

3. Modelul teoretic de verificare a securitatii unui

generator

4. Teste statistice de validare

1. Distributia normala si distributia

2. Postulatele lui Golomb

3. Teste statistice de baza

4. Testul statistic universal al lui Maurer

Page 4: Generatori de Numere Pseudoaleatoare

Background teoretic

Un generator de biti aleatori este un dispozitiv sau un algoritm prin a carui iesire rezulta o

secventa de cifre binare independente din punct de vedere statistic, secventa in care probabilitatea de emitere

a valorii 1 este de exact ( Termenul folosit in limba engleza pentru o secventa de acest tip este cel de

unbiased ).

Deci, un generator de biti pseudo-aleatori este un algoritm determinist[1] (in sensul ca fiind dat

acelasi sir de valori, generatorul va produce intotdeauna la iesire aceeasi secventa) prin care, fiind data o

secventa pur aleatoare binara de lungime k la intrare, la iesire va genera o secventa binara de lungime l, unde l

este mult mai mare decat k, secventa care “pare” a fi aleatoare.

Definitie formala : fie intregii strict pozitivi k si l, l k+1, ( unde l este obtinut din k prin

aplicatii polinomiale). Un (k, l)-generator de numere pseudo-aleatoare (pe scurt un (k, l)-PRBG), este o

functie calculabila in timp polinomial[2] (in functie de k). Intrarea se numeste secventa initiala

de intrare, in timp ce iesirea este numita secventa pseudo-aleatoare.

[1] Din punct de vedere informatic, un algoritm determinist este un algoritm a carui comportare este

previzibila. Fiind date aceleasi date particulare de intrare, algoritmul va produce la iesire acelasi rezultat

corect, iar masina pe care ruleaza acesta, va trece intotdeauna prin aceeasi secventa de stari.

[2] Timpul polinomial este timpul de calcul al functiei, timp marginit de un polinom de lungime l al secventei

de iesire.

1

2

2 2: k lf Z Z→ 0 2

ks Z∈

0 2( ) lf s Z∈

Page 5: Generatori de Numere Pseudoaleatoare
Page 6: Generatori de Numere Pseudoaleatoare

In studiul securitatii unui sistem criptografic exista doua abordari fundamentale:

� Securitatea calculabila[1] care masoara cantitatea de calcul necesar pentru spargerea unui sistem. Vom spune ca un sistem este sigur in sensul teoriei complexitatii[2] daca cel mai bun algoritm pentru spargerea sistemului necesita N operatii, unde N este un numar foarte mare.

� Securitatea neconditionata masoara securitatea sistemului fara limita a cantitatii de calcule pe care un adversar este capabil sa le faca. Un procedeu este neconditionat sigur daca nu poate fi spart, nici cu o putere de calcul infinita.

[1] Computational security

[2] Computationally secure

Page 7: Generatori de Numere Pseudoaleatoare

Este important de studiat informatia care poate avea relevanta pentru un adversar in realizarea unui atac cu text cunoscut si intr-un timp arbitrar de calcul. Instrumentul de baza in studierea acestei probleme il reprezinta notiunea de entropie ( Shannon, 1948, teoria informatiei).

In general, pentru un sir binar, avem:

entropia = log (numarul sirurilor posibile)

(log se refera la un logaritm in baza 2)

Page 8: Generatori de Numere Pseudoaleatoare

Generatori de numere pseudo – aleatoare

Din punctul de vedere

al securitatii:

� Generatori siguri� ANSI X9.17

� FISP 186

� Generatori nesiguri:� Generatorul RSA

� Micali-Schnorr

� Blum-Blum-Schub

Alta clasificare:

� generatori simplii � Generatorul liniar congruential� Generatori Ranrot � Generatorul Blum – Blum – Shub

� generatori bazati pe LFSR � Generatorul Geffe � Generatori de tip “Stop-and-go”� Generatorul Stop-and-go alternativ

� “clasa” separata � Generatorul Mother-of-all � Generatorul Blum – Micali � Generatorul1/p

Page 9: Generatori de Numere Pseudoaleatoare

Generatori simplii de

numere pseudo-aleatoare

Page 10: Generatori de Numere Pseudoaleatoare

Generatorul liniar congruential

Face parte din clasa generatorilor nesiguri.

Un exemplu ilustrativ :

Luam M=31, a=3 si b=5. Obtinem un (5, 10) - PRBG cu un generator liniar congruential.

Daca consideram aplicatia , avem , iar celelate 30 de resturi sunt permutari dupa un ciclu de lungime 30 in ordinea urmatoare: 0, 5, 20, 3, 14, 16, 22, 9, 1, 8, 29, 30, 2, 11, 7, 26, 21, 6, 23, 12, 10, 4, 17, 25, 18, 28, 27, 24, 15, 19.

Daca valoarea initiala este diferita de 13, aceasta defineste un punct de plecare in acest ciclu, si urmatoarele 10 elemente reduse modulo 2 formeaza sirul de numere pseudo-aleatoare.

Urmarind acest procedeu, cele 31 de siruri de numere pseudo-aleatoare posibile sunt reprezentate in urmatorul tabel:

13 13→(3 5)mod31s s→ +

Page 11: Generatori de Numere Pseudoaleatoare
Page 12: Generatori de Numere Pseudoaleatoare

Generatori Ranrot

Definiti de Agner Fog[1], acestia se bazeaza pe generatoare de numere Fibonacci[2], impreuna cu operatia de rotatie pe biti. Se cunosc trei tipuri de astfel de generatoare, iar relatiile dupa care se definesc sunt urmatoarele:

[1] Agner Fog a definit in 1977 generatorii Ranrot, initial pentru algoritmi de tip Monte Carlo. Mai multe informatii se gasesc pe internet la adresa http://www.agner.org/random/theory

[2] Sirul numerelor lui Fibonacci este dat de relatia de recurenta:

0

1

1 1

f 0

1

n n n

f

f f f+ −

=

= = +

Page 13: Generatori de Numere Pseudoaleatoare
Page 14: Generatori de Numere Pseudoaleatoare

Generatorul Blum – Blum – Shub

Unul dintre cele mai des utilizate generatoare de

numere pseudo-aleatoare,este acest generator.

Page 15: Generatori de Numere Pseudoaleatoare

Generatorul Blum – Blum – Shub se bazeaza pe

problema resturilor patratice, al carei enunt este urmatorul:

Fie un intreg n = pq, unde p si q sunt numere prime

necunoscute si fie

Intrebare: este x un rest patratic modulo n?

* astfel incat 1n

xx Z

n

∈ =

Page 16: Generatori de Numere Pseudoaleatoare

Definitie. Fie p si q doua numere prime. Daca

atunci numarul n = pq se numeste intreg

Blum.

3(mod 4)p q≡ ≡

Page 17: Generatori de Numere Pseudoaleatoare

Algoritmul BBS prezentat ca un (k, l)-

PRBG este urmatorul:

Fie p si q doua numere prime, intregi Blum de

k/2 biti si fie n = pq. QR(n) reprezinta

ansamblul de resturi patratice modulo n.

Fie valoarea initiala:

unde

0 ( ), pentru i 0s QR n∈ ≥2

1 modi is s n+ =

0 1 2( ) ( , ,..., )lf s z z z=

mod2, pentru 1 .i iz s i l= ≤ ≤

Page 18: Generatori de Numere Pseudoaleatoare

Generatorul Blum – Blum – Shub este considerat un generator sigur din punct de vedere criptografic, in acest moment, fiind dealtfel considerat drept cel mai bun generator de numere pseudo-aleatoare pentru protocoale de generare si distributie a cheii.

Securitatea acestuia se bazeaza pe dificultate factorizarii lui n.

n poate fi facut public (oricine poate genera o secventa pseudo-aleatoare pe baza lui). Iar daca n nu se descompune in factori, nimeni nu poate prezice iesirea.

Mai mult, fiind data o parte a secventei, nu exista nici o modalitate de a prezice bitul anterior sau pe cel ulterior secventei.

Page 19: Generatori de Numere Pseudoaleatoare

Generatori bazati pe LFSR

Page 20: Generatori de Numere Pseudoaleatoare

Un LFSR( Linear Feedback Shift Register ) este un

circuit liniar[1] format dintr-un registru serial si o functie de

intoarcere ( feedback ). Daca registrul este compus din n flip-

flopuri, vom avea un n – LFSR.

Sa consideram m registrii seriali al caror

continut este fie 0 fie 1, care pot fi considerati dispozitive de

memorare cum ar fi flip-flopuile.

Consideram valorile initiale

Un ceas electronic controleaza procesul.

1 0, ,...,m mR R R−

0 1 1, ,..., mx x x −

Page 21: Generatori de Numere Pseudoaleatoare

La primul puls al ceasului, intrarea este impinsa

spre dreapta pentru a ocupa registrul .

Simultan, devine noua intrare in , si asa mai departe,

pana la elementul cel mai din dreapta care va fi transferat

secventei de iesire.

1mx −

2mR −

2mx − 3mR −

Page 22: Generatori de Numere Pseudoaleatoare

De exemplu, pentru m=5 si configuratia initiala

in care reprezentarea este urmatoarea:

iar dupa primul puls al ceasului vom avea urmatoarea

configuratie:

Secventa de iesire in acest moment consta in valoarea 1.

Simbolic: Aceasta secventa de elemente este numita satare

a vectorului.

4 3 2 1 01, 0, 0, 1, 1x x x x x= = = = =

1 10 0 1

4R 3R 2R 1R 0R

11 0 0

4R 3R 2R 1R 0R

( ) ( )4 3 2 1 0 4 3 2 1, , , , , , , ,x x x x x x x x x→ −

Page 23: Generatori de Numere Pseudoaleatoare

In general, o relatie de recurenta (binara)

de lungime m (corespunzatoare a m registrii),

este o relatie de forma:

este un intreg pozitiv fixat egal cu

numarul registrilor, toate variabilele sunt

binare si = 1. Pentru i = 0 avem:

Cele m numere binare se numesc

coeficientii recurentei.

1

0

m

i m j i j

j

x c x−

+ +=

=∑

0m ≥

ix

0c

1 1 2 2 1 1 0 0...m m m m mx c x c x c x c x− − − −= + + + +

1 2 0, ,..,m mc c c− −

Page 24: Generatori de Numere Pseudoaleatoare

Relatia de recurenta de mai sus poate fi

generata de un LFSR de lungime m si este

usor de implementat atat in software cat si in

hardware si poate fi reprezentata prin

schema de mai jos:

Page 25: Generatori de Numere Pseudoaleatoare

Generatorul Geffe

Generatorul Geffe combina, neliniar, trei LFSR, cel de al

treilea fiind folosit pentru a “alege” daca bitul rezultat provine din

primul registru sau din al doilea.

Sa consideram schema urmatoare a unui generator Geffe:

LFSR2

LFSR3

LFSR1

0

EMUX

1

Page 26: Generatori de Numere Pseudoaleatoare

Aici, LFSR1 formeaza functia de selectie a multiplexorului[1] elementar,

intrarile fiind asigurate de celelalte doua LFSR-uri.

Daca sunt iesirile corespunzatoare celor trei LFSR-uri,

iesirea generatorului Geffe este data de relatia

Perioada generatorului este cel mai mic multiplu comun al perioadelor

celor trei LFSR-uri. Deci, daca cele trei polinoame care definesc circuitele au

grade prime intre ele, perioada generatorului Geffe este produsul celor trei

perioade.

[1] Multiplexorul este un disozitiv logic care selecteaza o intrare dintr-un sir de intrari

in conformitate cu valoarea unei alte intrari a indexului. Secventele bazate pe

folosirea multiplexoarelor sunt destul de populare datorita faptului ca sunt relativ

rapide. Generatorul de chei este descris, conventional, ca folosind doua

secvente si multiplexorul este folosit pentru a combina cele doua secvente intr-

un mod neliniar.

1 2 3, ,a a a

1 2 1 3( ) ( )b a a a a= ∧ ⊕ ∧

Page 27: Generatori de Numere Pseudoaleatoare

Generatori de tip “Stop-and-go”

Generatorul Beth-Piper (dupa numele

autorilor) care controleaza ceasurile celor trei

circuite. Structura sa este urmatoarea:

Ceasul de intrare in LFSR2 este

controlat de iesirea din LFSR1 si, astfel, LFSR2

isi schimba starea la momentul t daca iesirea

din LFSR1 era 1 la momentul t-1.

Generatorul Stop-and-go alternativ

foloseste tot trei LFSR-uri de lungimi diferite

legate intr-un circuit de forma:

Daca iesirea din LFSR1 este 1, atunci

se activeaza LFSR2; altfel se activeaza LFSR3.

Iesirea finala din generator este reprezentata de

un XOR intre cele doua iesiri.

Page 28: Generatori de Numere Pseudoaleatoare

Alti generatori de numere

pseudo-aleatoare

Page 29: Generatori de Numere Pseudoaleatoare

Generatorul Mother-of-all

Este un generator propus de George Marsaglia, si consta in alegerea initiala a cinci numere intregi, nu toate nule, memorate pe 32 de biti fiecare.

Page 30: Generatori de Numere Pseudoaleatoare

Generatorul Blum – Micali

Fie g un numar prim si p un numar prim

impar si fie o valoare initiala.

Se genereaza numerele

Iesirea din generator este � 1,daca

� 0, altfel.

0x

1 (mod )ix

ix g p+ =

1

2i

px

−<

Page 31: Generatori de Numere Pseudoaleatoare

Generatorul RSA

Fie n = pq, unde p si q reprezinta doua

numere prime mari.

Fie e un numar astfel incat

(e, (p - 1)(q - 1) ) = 1 si o valoare initiala

astfel incat < n. Se defineste relatia

Iesirea generatorului este

0x

0x

1 (mod )e

i ix x n+ =

(mod 2)i iz x=

Page 32: Generatori de Numere Pseudoaleatoare

Generatorul1/p

Secventa de numere pseudo-aleatoare este generata prin extinderea fractiei 1/p la o baza b unde p si b sunt relativ prime[1].

[1] Fie a si b doua numere intregi, acestea sunt relativ prime daca si numai daca (a, b) = 1.

Page 33: Generatori de Numere Pseudoaleatoare

MODELUL TEORETIC DE

VERIFICARE A SECURITATII

UNUI GENERATOR

Page 34: Generatori de Numere Pseudoaleatoare

Exista doua cerinte generale legate de securitatea unui

generator de numere pseudo-aleatoare:

� secventa rezultat a unui PRBG ar trebui sa

fie inseparabila, din punct de vedere

statistic, de o secventa de numere pur

aleatoare

� bitii rezultat ar trebui sa fie imprevizibili pentru

un adversar care dispune de resurse de

calcul limitate

Page 35: Generatori de Numere Pseudoaleatoare

Definitie. Fie doua distributii de probabilitate[1] pe

Prin intelegem ca t este ales astfel incat

Spunem ca este inseparabil in timp polinomial de

daca pentru orice algoritm probabilist A si orice polinom Q

exista astfel incat avem:

Adica, conditia de inseparabilitate spune ca pentru siruri

suficient de lungi nu exista un algoritm probabilist care sa

decida daca sirul a fost selectat dupa distributia sau

[1] O distributie de probabilitate pe o multime S este o

functie astfel incat

,n nX Y {0,1}n

nt X∈

{0,1} ,Pr[ ] ( )n

nz x z X z∀ ∈ = =

{ }nX { }nY

0n 0, ,n n n∀ >

1| Pr ( ( ) 1) Pr ( ( ) 1) |

( )n nt X t YA t A tQ n

∈ ∈= − = <

nX nY

: [0,1]D S R→ ⊂( ) 1

s S

D s∈

=∑

Page 36: Generatori de Numere Pseudoaleatoare

Notam distributia aleatoare uniforma cu si deci, pentru

orice

avem

Definitie. Spunem ca sirul este pseudo-aleator daca este

inseparabil in timp polinomial de , si deci pentru orice

algoritm probabilist A si orice polinom Q exista astfel incat

avem:

nU

{0,1}nα ∈1

Pr ( )2nx U n

x α∈ = =

nX

nU

0n

0, ,n n n∀ >

1| Pr ( ( ) 1) Pr ( ( ) 1) |

( )n nt X t UA t A tQ n

∈ ∈= − = <

Page 37: Generatori de Numere Pseudoaleatoare

Definitie. Algoritmul A din cele doua definitii anterioare este numit test statistic. Exemple de astfel de teste se vor gasi in continuarea lucrarii de fata.

Observatie. Daca exista A si Q astfel incat conditiile definitiei de mai sus sunt incalcate, spunem ca pica, sau esueaza testul A.

Putem acum da urmatoarea definitie:

Definitie. Spunem ca un generator de biti pseudo-aleatoare trece toate testele statistice in timp polinomial[1], teste ce vor fi detaliate mai tarziu, daca nici un algoritm nu reuseste, in timp polinomial, sa faca distinctia intre o secventa de iesire a generatorului si o secventa pur aleatoare de aceeasi lungime cu o probabilitate semnificativ mai mare de ½.

[1] Timpul de rulare al testului este limitat de un polinom de lungime l al secventei de iesire.

nX

Page 38: Generatori de Numere Pseudoaleatoare

Definitie. Un program determinist in timp polinomial

este un generator de numere pseudo-aleatoare

daca sunt indeplinite

urmatoarele conditii

1. p > k ;

2. este pseudo-aleator, unde este distributia pe

obtinuta astfel:

pentru a obtine :

a. se alege

b. se defineste t = G(x).

Adica, pentru orice algoritm probabilist A, orice polinom Q si

orice k suficient de mare, avem:

:{0,1} {0,1}k pG →

{ }p pG pG {0,1}p

pt G∈

kx G∈

1| Pr ( ( ) 1) Pr ( ( ) 1) |

( )p pt G t UA t A tQ p

∈ ∈= − = <

Page 39: Generatori de Numere Pseudoaleatoare

Testul bitului urmator

Definitie. Testul bitului urmator este acel test statistic care ia ca intrare prefixul unei secvente si in urma caruia rezulta o predictie a urmatorului bit.

Definitie. Spunem ca un generator de numere pseudo-aleatoare trece testul urmatorulu bit daca nu exista algoritm in timp exponential care, la intrarea primilor l biti ai unei secvente de iesire s, sa poata prezice cei (l+1) biti ai lui s cu probabilitatea semnificativ mai mare decat ½.

Page 40: Generatori de Numere Pseudoaleatoare

Formal, notam cu k probabilitatea de distributie pe .

Definitie. Spunem ca un generator de numere pseudo-

aleatoare trece testul urmatorulu bit daca pentru orice polinom

Q, exista un intreg astfel incat pentru orice

avem

Fapt (universalitatea testului bitului urmator). Un generator de

numere pseudo-aleatoare trece testul urmatorului bit daca si

numai daca trece toate testele statistice in timp polinomial.

Definitie. Un PRBG care trece testul urmatorului bit este

numit un generator criprografic sigur de biti pseudaleatori[1].

[1] Cryptographically secure pseudorandom bit

generator(CSPRBG).

{0,1}k

0k 0 si mp k p> <

1 2 1

1 1| Pr [ ( ... ) ] |

2 ( )pt G m mA t t t tQ k

∈ += < +

Page 41: Generatori de Numere Pseudoaleatoare

TESTE STATISTICE DE

VALIDARE

Page 42: Generatori de Numere Pseudoaleatoare

Distributia normala si distributia Distributia normalaDefinitie. O variabila aleatoare (continua) X

are o distributie normala de medie si varianta , daca densitatea sa de probablitate este definita astfel:

Notatam X cu

Daca X este N(0,1), atunci spunem ca X

are o distributie normala standard.

Fapt. Daca variabila aleatoare X este

, atunci variabila aleatoare

este N(0,1).

Distributia

Definitie. Fie un intreg. O variabila aleatoare (continua) X are o distributie cu v grade de libertate daca functia sa de densitate probablistica este definita astfel:

unde reprezinta functia gamma[1].

Media si varianta acestei distributii sunt

si .

Fapt. Daca variabila aleatoare X este

, atunci variabila aleatoare

are o distributie cu 1 grad de libertate.

In particular, daca X este N(0,1), atunci Z =

are o distributie cu 1 grad de libertate.

[1] Functia gamma este definita prin unde t > 0.

µ2σ

2

2

1 ( )( ) exp ,

22

xf x x

µσσ π

− −= −∞ < < ∞

2( , )N µ σ

2( , )N µ σ

( ) /Z X µ σ= −

1v ≥2χ

( / 2) 1 / 2

/ 2

1e ,0

( / 2)2( )

0, 0

v x

vx x

vf x

x

− − ≤ < ∞Γ= <

Γ

vµ =2 2vσ =

2( , )N µ σ2 0σ > 2 2( ) /Z X µ σ= −

2χ2X

1

0

( ) t xt x e dx

∞− −Γ = ∫

Page 43: Generatori de Numere Pseudoaleatoare

Postulatele lui Golomb

Una din primele incercari in a stabili

cateva conditii necesare unor secvente

periodice pseudoaleatoare sa para intr-

adevar aleatoare, o reprezinta postulatele lui

Golomb. Aceste conditii sunt insa departe de

a fi suficiente pentru ca aceste secvente sa

para aleatoare, cu o singura exceptie: toate

secventele sunt binare.

Page 44: Generatori de Numere Pseudoaleatoare

Teste statistice de baza

Fie o secventa binara de lungime n:

Urmatoarele teste statistice determina daca

secventa binara s poseda sau nu anumite

caracteristici cum ar fi cele pe care ar trebui

sa le detina o secventa binara de numere pur

aleatoare.

0 1 2 1, , ,..., ns s s s s −=

Page 45: Generatori de Numere Pseudoaleatoare

Testul de frecventa (testul monobit)

Scopul acestui test este de a determina daca

numarul de 1 si, respectiv de 0, este acelasi

care ar trebui sa fie in cazul in care secventa

in cauza este aleatoare.

Page 46: Generatori de Numere Pseudoaleatoare

Testul serial (testul doi - biti)

Scopul acestui test este de a determina daca

numerele aparitiilor subsirurilor 00, 01, 10 si

11 ca subsiruri ale lui s sunt aproximativ

aceleasi, ceea ce se asteapta dealtfel de la o

secventa aleatoare.

Page 47: Generatori de Numere Pseudoaleatoare

Testul poker

Fie m un intreg pozitiv astfel incat

si fie . Se imparte secventa s in k subsecvente, fiecare de lungime m si se considera numarul aparitiilor celui de-al i-lea tip de astfel de secventa, unde .

Testul poker determina daca fiecare secventa de lungime m apare de un aproximativ acelasi numar de ori in s, asa cum se asteapta dealtfel de la o secventa aleatoare de biti.

5 2mn

m

≥ ⋅ nk

m

=

in1 2mi≤ ≤

Page 48: Generatori de Numere Pseudoaleatoare

Testul de tip run

Determina daca numarul sirurilor de tip run

(numarul de zerouri sau de unu) de lungimi

diferite ale sirului s este acelasi cu cel al unui

sir aleator.

Page 49: Generatori de Numere Pseudoaleatoare

Testul de autocorelare

Scopul acestui test este de a verifica

eventualele corelatii dintre secventa s si

versiunea shiftata (versiunea lui s in care

aceasta secventa a fost modificata prin

aplicarea unor operatii de deplasare la

stanga sau la dreapta pe biti) eventual

neciclica, a acestuia.

Page 50: Generatori de Numere Pseudoaleatoare

Testul statistic universal al lui Maurer

Ideea de baza ce sta la baza testului statistic al lui Maurer consta in aceea ca nu ar trebui sa se poata compresa semnificativ si fara pierderi de informatie o secventa s de iesire a unui generator de numere aleatoare.

In acest sens, daca o anumita secventa de iesire a unui generator poate fi comprimata semnificativ, acesta din urma ar trebui sa fie respins ca nefiind un bun generator.

In schimbul compresiei unei secvente s, testul statistic universal calculeaza o cantitate care sa fie compatibila cu lungimea secventei comprimate.

Page 51: Generatori de Numere Pseudoaleatoare

Universalitatea testului

statistic universal al lui Maurer

apare deoarece acest test este

capabil sa detecteze, orice defect

apartinand unei clase vaste de

posibile defecte pe care le poate

avea un generator.

Page 52: Generatori de Numere Pseudoaleatoare

Bibliografie

� Douglas Stinson, Cryptographie Theorie et pratique, International Thompson Publishing France, Paris 1996.

� Aiden A. Bruen, Mario A. Forcinito, Cryptography, Information Theory, and Error-Correction: a handbook for the 21st century, Wiley-Interscience, John Wiley&Sons, Inc., Hoboken, New Jersey.

� A. Menezes, P. van Oorschot, S. Vanstone, Handbook of Applied Cryptography, CRC Press, 1996, pentru mai multe informatii: www.cacr.math.uwaterloo.ca/hac

� A. Atanasiu, Crptografie, Note de Curs, disponibil la adresa de internet: http://www.galaxyng.com/adrian_atanasiu/cript.htm

� S. Goldwasser, M. Bellare, Lecture Notes on Cryptography, Cambridge, Massachusetts, August 2001.� M. J. Robshaw, Stream Ciphers, RSA Laboratories Tehnical Report TR-701, Version 2.0-July 25, 1995� R. Davies, Hardware random number generators, articol prezentat lacea de a 15-a Australian Statistics

Conference in Julie, 2000 si la cea de-a 51-a Conference of the NZ Statistical Association in Septembrie, 2000, disponibil la adresa de internet http://www.robertnz.net/hwrng.htm

� J. Viega, Practical Random Number Generation in Software, in Proc. 19th Annual Computer Security Applications Conference, Decembrie, 2003.

� www.agner.org/random/theory� http://www.cs.utk.edu/~langston/projects/papers/ssst03.pdf� http://www.crypto.wpi.edu/Research/truerandom.shtml� http://www.cs.berkeley.edu/~daw/rnd/