10.07.2015 Views

Zbigniew Kotulski (Warszawa) Generatory liczb losowych: algorytmy ...

Zbigniew Kotulski (Warszawa) Generatory liczb losowych: algorytmy ...

Zbigniew Kotulski (Warszawa) Generatory liczb losowych: algorytmy ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 3ekonomicznych lub spoecznych. Liczby losowe mog ponadto suy do budowaniamodeli skomplikowanych obiektw geometrycznych, na przykadfraktali <strong>losowych</strong>, wzorw powierzchni itp. Rwnie badania symulacyjnestatystyki matematycznej, tak zwane metody bootstrapowe lub sznurowadowe,wymagaj zastosowania <strong>liczb</strong> <strong>losowych</strong>.Liczby losowe s take niezbdnym elementem metod Monte Carlo (por.[13], [68], [41]), czyli wykorzystania metod probabilistycznych w obliczeniachprzeprowadzanych zwykle metodami deterministycznymi, na przykadw przyblionym obliczaniu caek wielowymiarowych, rozwizywaniu rwnarniczkowych i algebraicznych, optymalizacji (czsto sprowadzajcej si doszukania minimum funkcji), algorytmach genetycznych itd.Metodytemogby, szczeglnie dla zada dotyczcych nieregularnych obszarw i funkcji,bardziej efektywne od metod klasycznych.Zastosowaniem <strong>liczb</strong> <strong>losowych</strong>, ktre w ostatnim czasie zyskao ogromniena znaczeniu, jest kryptograa, czy te szerzej rozumiana ochrona informacji.Oprcz tradycyjnych zastosowa kryptograi w wojskowoci i dyplomacji,w ostatnich latach powstay nowe pola jej zastosowa. Zwizane s one znowymi masowymi sposobami przesy lania danych, w ktrych niezbdna jestochrona informacji, to znaczy z telefoni komrkow i rozlegymi sieciamikomputerowymi. Dziedziny te wymagaj udostpnienia tanich i wydajnychrde <strong>liczb</strong> <strong>losowych</strong> (sucych jako klucze w szyfrach strumieniowych),w dodatku <strong>liczb</strong> speniajcych szczeglne wymagania gwarantujce bezpieczestwoszyfru. W dalszej czci tej pracy postaramy sipokaza, jakie spraktyczne sposoby tworzenia cigw <strong>liczb</strong> <strong>losowych</strong> niezbdnych w wymienionych(i niewymienionych) problemach praktycznych.2. METODY OTRZYMYWANIA LICZB LOSOWYCH (HISTORYCZNE)Wiemy ju, e <strong>liczb</strong>y losowe maj obecnie wiele zastosowa. Take i wprzeszoci, w trakcie prowadzenia reprezentatywnych bada statystycznych,odczuwano potrzeb wykorzystania takich <strong>liczb</strong>. Pierwszymi moliwymi dowykorzystania w praktyce rdami <strong>liczb</strong> <strong>losowych</strong> byy tablice <strong>liczb</strong> <strong>losowych</strong>.Wymiemy tutaj, za [48] i [70], kilka takichzestawie, wraz zesposobami, w jaki zostay sporzdzone.Pierwsz tablic <strong>liczb</strong> <strong>losowych</strong> wyda w roku 1927 L. H. Tippett podtytuem Random Sampling Numbers". Zawieraa ona 41600 cyfr (od 0 do9) pobranych z danych ze spisu powszechnego w Wielkiej Brytanii. Cyfry teuzyskano z <strong>liczb</strong> wyraajcych powierzchnie parai, po odrzuceniu dwchpierwszych i dwch ostatnich cyfrzkadej <strong>liczb</strong>y. W 1939 R. A. Fisher iF. Yates podali tablic 15000 cyfr <strong>losowych</strong>, uzyskan przez wypisanie cyfrod 15. do 19. z pewnych 20-cyfrowych tablic logarytmicznych. W tym samymroku Kendall, Babington i Smith przedstawili tablic 100000 cyfr losowouzyskanych za pomoc elektrycznej ruletki", czyli wirujcego dysku


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 5powtrzenie trajektorii procesu, jak i powtrne uzyskanie identycznego cigu<strong>liczb</strong> <strong>losowych</strong> nie jest moliwe. Nie wnikajc gbiej w technik uzyskiwaniat drog cigw <strong>liczb</strong> <strong>losowych</strong>, wymienimy w punktach przykady takichgeneratorw. Nale do nich: proste generatory zyczne (mechaniczne), takie jak moneta, urna z kolorowymikulami, kostka dogry, ruletka itd. licznik impulsw promieniowania jdrowego (licznik Geigera), korzystajcyz naturalnej losowoci tego zjawiska liczniki impulsw elektronicznych pochodzcych z dysku komputera,wskanika myszy, szumw monitora,karty dwikowej i innych podzespowkomputera systemy pobierania <strong>losowych</strong> bitw z arytmometru komputera lub zklawiatury (w intensywnie eksploatowanych zestawach komputerowych) urzdzenia elektroniczne konstruowane specjalnie w celu generacji <strong>liczb</strong><strong>losowych</strong>, zwaszcza w zapisie binarnym. Ich podstawowym elementems diody szumowe. Dostarczane s jakokartykomputerowe lub moduypodczane do portw zewntrznych.<strong>Generatory</strong> zyczne wymagaj bezwzgldnie testowania kadego wygenerowanegociagu <strong>liczb</strong> <strong>losowych</strong> przed jego uyciem, poniewa w wynikuawarii urzdzenia cigi te mog utraci oczekiwane wasnoci. Ponadto, dozastosowa kryptogracznych wygenerowane cigi musz by zapisywane nazewntrznym noniku w dwch kopiach.3.2. <strong>Generatory</strong> kongruencyjne3.2.1. Liczby losowe o rozkadzie rwnomiernym. Najwaniejszym elementemgenerowania <strong>liczb</strong> <strong>losowych</strong> odowolnym rozkadzie prawdopodobiestwajest otrzymywanie <strong>liczb</strong> <strong>losowych</strong> o rozkadzie rwnomiernym. Polegaono na uzyskaniu cigu <strong>liczb</strong> cakowitych z ustalonego przedziau [1M]wtakisposb,by wszystkie z nich wystpoway z jednakowym prawdopodobiestwem,by czstotliwo wystpowania <strong>liczb</strong> z kadego z podprzedziawtego przedziau bya w przyblieniu jednakowa w czasie i ponadto by monabyo te <strong>liczb</strong>y uzna za statystycznie niezalene.Zauwamy, e z posiadanych <strong>losowych</strong> <strong>liczb</strong> cakowitych fX i , i=1 2 ...go rozkadzie rwnomiernym w [1M]zawsze moemy uzyska <strong>liczb</strong>y losowefR i , i = 1 2 ...g o cigym rozkadzie rwnomiernym na [0 1] poprzezprzekszta lcenie(3.1) R i = X i i =1 2 ...M 3.2.2. Generator liniowy i aniczny. Pierwszym zaproponowanym i dodzi podstawowym w wielu zastosowaniach jest generator liniowy (por. [34]).


6 Z. <strong>Kotulski</strong>Kolejne <strong>liczb</strong>y losowe X 1 X 2 ... s obliczane z nastpujcego rwnaniarekurencyjnego:(3.2)X n+1 = g X n mod Mgdzie warunek pocztkowy (ziarno) X 0


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 73.2.4. Kwadratowy generator kongruencyjny. W celu uniknicia liniowejzalenoci kolejnych wyrazw cigu zastosowano kwadratow zalenomidzy <strong>liczb</strong>ami w kongruencji deniujcej generator:(3.6)X n+1 = a X 2 n + b X n + c mod Mdla a b c X 0


8 Z. <strong>Kotulski</strong>3.3.1. Metoda odwracania dystrybuanty. Zamy, eF () jest dystrybuantpewnego rozkadu prawdopodobiestwa, a(3.10)X i i =1 2 ...jest cigiem niezalenych zmiennych <strong>losowych</strong> o rozkadzie rwnomiernymna odcinku [0 1]: Wwczas cig zmiennych <strong>losowych</strong> zdeniowanych jako(3.11)Y i = F ;1 (X i )i =1 2 ...jest cigiem niezalenych zmiennych <strong>losowych</strong> o rozkadzie zadanym dystrybuantF .(3.12)Przykad. Rozwamy dystrybuant rozkadu wykadniczegoFunkcj odwrotn do (3.12) jest(3.13)F (x) =1; e ;x :F ;1 (y) =; ln(1 ; y)i dla niezalenych zmiennych <strong>losowych</strong> (3.10) cig(3.14)Y i = ; ln(1 ; X i )i =1 2 ...jest cigiem niezalenych zmiennych <strong>losowych</strong> o rozkadzie wykadniczym.Istotnym ograniczeniem w zastosowaniu tej metody jest trudno obliczeniadla niektrych rozkadw funkcji odwrotnej do ich dystrybuanty.Ograniczenie to mona jednak omin, wykorzystujc wyraenia przybli-one dla dystrybuant lub funkcji do nich odwrotnych.Przykad. Dystrybuanta (t) rozkadu normalnego N(0 1) nie moeby wyraona przez funkcje elementarne. Jednak mona j przybliy z dudokadnoci przez takie funkcje. Korzystajc z wyraenia 1=2 ; erf(;t) dla t 0(3.15)(t) =1=2+erf(t) dla t>0gdzie jest erf() jest tzw. funkcj bdu, i z przyblionego wyraenia dla tejfunkcji (por. [1])gdzieorazerf(t) =1; (a 1 z + a 2 z 2 + a 3 z 3 + a 4 z 4 + a 5 z 5 ) exp[;z 2 ]+"(z)z = 11+pt j"(z)j 15 10 ;7p =03275911a 2 = ;0284496736a 4 = ;1453152027a 1 =02548295921a 3 =1421413741a 5 =1061405429


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 9moemy uzyska przyblienie (t) z dokadnoci rzdu 10 ;7 dla wszystkicht 2 (;1 1).3.3.2. Metoda eliminacji (J. von Neumann). Metoda eliminacji opartajest na tej wasnoci zmiennych <strong>losowych</strong>, e ich histogram z prby dydo gstoci rozkadu (jeli ta istnieje { por. [59]). W przypadku jednowymiarowympozwala ona generowa <strong>liczb</strong>y losowe owartociach z przedziau(a b) o rozkadzie zadanym gstoci prawdopodobiestwa f(x) speniajcwarunek f(x) c dla x 2 (a b). (W przypadku wielowymiarowym zmiennalosowa przyjmuje wartoci w kostce (a b) n ).Algorytm dla rozkadu jednowymiarowego1. Generujemy dwie <strong>liczb</strong>y losowe R 1 i R 2 , odpowiednio, R 1 o rozkadzie U(a b) R 2 o rozkadzie U(0c):2. Sprawdzamy, czy(3.16)R 2 f(R 1 ):Jeeli warunek (3.16) jest speniony, to przyjmujemy(3.17)X = R 1 :W przeciwnym wypadku eliminujemy wylosowany punkt i powtarzamy losowaniez kroku 1.Algorytm dla rozkadu wielowymiarowego1. Generujemy n + 1 <strong>liczb</strong> <strong>losowych</strong> R 1 , R 2 ...R n R n+1 ,wtym R 1 R 2 ...R n o rozkadzie U(a b) R n+1 o rozkadzie U(0c):2. Sprawdzamy, czy(3.18)R n+1 f(R 1 R 2 ...R n ):Jeeli warunek (3.18) jest speniony, to przyjmujemy(3.19)(X 1 X 2 ...X n )=(R 1 R 2 ...R n ):W przeciwnym wypadku eliminujemy wylosowany punkt i powtarzamy losowaniez kroku 1.3.3.3 Metoda superpozycji rozkadw. Metoda ta oparta jest na twierdzeniuo prawdopodobiestwie cakowitym:(3.20)gdzie:f(x) =1\;1g y (x)h(y)dy dla ustalonego y, g y (x) jest pewn gstoci prawdopodobiestwa zalenod parametru y, h(y) jest gstoci prawdopodobiestwa parametru y.


10 Z. <strong>Kotulski</strong>Algorytm generowania <strong>liczb</strong>y losowej o gstoci prawdopodobiestwa postaci(3.20)1. Losujemy y zgodnie z rozkadem o gstoci prawdopodobiestwa h(y).2. Podstawiamy wylosowany parametr y do g y (x) i losujemy x zgodniez tak otrzyman gstoci prawdopodobiestwa.Przykad [69]. Generowanie zmiennych <strong>losowych</strong> o rozkadzie zadanymfunkcj gstoci prawdopodobiestwa f(x) postaci(3.21)f(x) =n1\gdzie n 1 jest sta wwczas(3.22)1y ;n e ;xy dyg y (x)=ye ;yx dla x>0x>0ma rozkad wykadniczy, natomiast parametr y ma rozkad o gstoci prawdopodobiestwa(3.23)h(y) =ny ;(n+1) y>1:Zmienne losowe o rozkadzie (3.23) mona generowa przez odwracanie dystrybuanty,(3.24)y =(1; R) ;1 = R ;1 gdzie R jest zmienn losow o rozkadzie rwnomiernym U(0 1).3.3.4. Inne metody. Dla pewnych typw rozkadw moliwe s specycznemetody generacji <strong>liczb</strong> pseudo<strong>losowych</strong>. Na przykad, <strong>liczb</strong>y losoweo rozkadzie normalnym mona generowa korzystajc z nastpujcychdwch twierdze.Twierdzenie. Niech R 1 R 2 bd dwiema niezalenymi zmiennymi losowymio rozkadzie rwnomiernym U(0 1). Wwczas zmienne losowe X 1 X 2zdeniowane jako(3.25)X 1 = p ;2lnR 1 cos 2R 2 X 2 = p ;2lnR 1 sin 2R 2 s niezalene i maj jednakowy rozkad normalny N(0 1).Twierdzenie. Jeeli U 1 U 2 s niezalenymi zmiennymi losowymi o rozkadzierwnomiernym na przedziale (;1 1), to przy spenieniu warunkuU 2 + U 2 1 2 1 zmienne losowes;2 ln(UX 1 = 2 U + U 2)1 2U 2(3.26)1U 2 + U X 2 2 = X 1 1 2U 1s niezalene i maj jednakowy rozkad normalny N(0 1).


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 11Zmienne losowe o rozkadzie normalnym mona z dobrym skutkiem uzyskiwa,stosujc centralne twierdzenie graniczne dla (praktycznie biorckilku) niezalenych zmiennych <strong>losowych</strong> o rozkadzie rwnomiernym.3.4. Rozkady dyskretne. Rozkady dyskretne maj takie zmiennelosowe, ktre przyjmuj skoczon lub przeliczaln <strong>liczb</strong> wartoci. Dla tychrozkadw najprostsz metod generowania zmiennych <strong>losowych</strong> jest wykorzystaniemetody odwracania dystrybuant.Algorytm (Metoda odwracania dystrybuanty rozkadu dwupunktowegoojednakowym prawdopodobiestwie kadej z wartoci a i b)1. Generujemy <strong>liczb</strong> losow R o rozkadzie rwnomiernym U(0 1):2. Jeeli R05, to przyjmujemyX = b.Dla zmiennych <strong>losowych</strong>przyjmujcych skoczon <strong>liczb</strong> wartoci monarwnie skorzysta z nastpujcego algorytmu, odpowiadajcego modelowiruletki.Przykad. Zmienna losowa przyjmuje wartoci a, b, c, d zprawdopodobiestwamiP (a) =050 P (b) =025P (c) =010P (d) =015:Budujemy tablic 100 elementw T , w ktrej umieszczamy, wdowolny sposb,50 symboli a, 25symboli b, 10symboli c i15symboli d. Losujemy<strong>liczb</strong> naturaln i z przedziau [1 100] a nastpnie wybieramy i-ty elementtablicy T .Przy generowaniu cigu zmiennych <strong>losowych</strong> opewnych rozkadach dyskretnychmona niekiedy skorzysta z generatora <strong>liczb</strong> <strong>losowych</strong> o rozkadzienierwnomiernym, o ile jest on zwizany z zadanym rozkadem dyskretnym.Z sytuacj tak mamy do czynienia dla pary: rozkad Poissona { rozkadwykadniczy.Przykad. Celem jest wygenerowanie cigu niezalenych zmiennych <strong>losowych</strong>fX j j =1 2 ...g o jednakowych rozkadach Poissona z wartociredni c:(3.27)P (X j = k) = ckk! e;c k =0 1 2 ...Wtym celu dla kadego X j generujemy niezalene <strong>liczb</strong>y losowe Y (j)1Y (j)2Y (j)3 . . . o rozkadzie wykadniczym z wartoci oczekiwan 1: Wybieramytakie n, dla ktregonXn+1X(3.28)Y (j)i c< Y (j)i i=1i=1


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 134. GENEROWANIE CIGW BITW4.1. Uwagi wstpne. Wszelkie <strong>liczb</strong>y wkomputerze zapisane s w postacibinarnej, na takich te <strong>liczb</strong>ach wykonywane s operacje arytmetyczne.Wynika z tego, e komputerowa generacja <strong>liczb</strong> <strong>losowych</strong> o rozkadzie rwnomiernymjest w istocie generacj <strong>losowych</strong> cigw bitw speniajcych okre-lone warunki. Zatem generowanie <strong>liczb</strong> <strong>losowych</strong> to generowanie <strong>losowych</strong>bitw. Operacje arytmetyczne nie musz tu by jedynym rdem losowoci.Na przykad C. Randhakrishna Rao w swojej ksice [48] poda przykadydwch oryginalnych metod generacji bitw. Pierwsza polegaa na losowaniuze zwracaniem kul biaych i czarnych zworka, w ktrym znajdowaa siich rwna <strong>liczb</strong>a, i odpowiednim przyporzdkowaniu zer i jedynek wynikomlosowania. W drugiej metodzie obserwowano kolejne urodzenia chopcwi dziewczynek w lokalnym szpitalu (w Indiach moe to by cakiem wydajnerdo bitw, poniewa urodziny dziecka nastpuj tam w kadej sekundzie)i oznaczano je, odpowiednio, przez 0" i 1". Obie metody day rezultatyspeniajce testy statystyczne sprawdzajce rwnomierno rozkadu i niezalenokolejnychbitw, mogyby zatem by stosowane w praktyce, chobydo tworzenia tablic <strong>liczb</strong> <strong>losowych</strong>.Przedstawionym wyej metodom generowania bitw nie naley jednakwry wielkiej przyszoci, chocia losowe cigi bitw znalazy w ostatnichlatach szerokie zastosowania. A wszystko zaczo si w roku 1917, kiedy toGilbert S. Vernam, pracownik rmy AT&T, opracowa metod szyfrowaniasygnaw telegracznych zapisanych natamieperforowanej. W systemietym tekst depeszy zapisany by na tamie papierowej w formie odpowiadajcychliterom sekwencji otworw i nieprzebitych miejsc tamy(kod Baudota).Dodatkowo przygotowywano tam z losowo wygenerowanym ciagiem otworwi zaopatrywano w ni nadawc i odbiorc depeszy. Przed wysanieminformacji czono zapis na obu tamach (zgodnie z obowizujc dzi metoddodawania bitw modulo 2, przyjmujc, e otwr to 1, a nieprzebitemiejsce to 0), otrzymujc now tam kierowan do wysania. U odbiorcydeszyfrowano otrzyman tam wykonujc operacj odwrotn do tej, ktrwykona nadawca i nastpnie drukujc odszyfrowan depesz.Szyfr Vernama jest do dzi jedynym w peni bezpiecznym (tzw. udowadnialniebezpiecznym, czyli takim, dla ktrego istnieje matematyczny dowdbezpieczestwa) szyfrem symetrycznym, pod warunkiem, e zastosowany wnim strumie bitw jest idealnym szumem binarnym, czyli takim cigiembitw 0" lub 1", o ktrym moemy powiedzie, e bity s losowane niezalene od siebie, bity 0" i 1" s losowane z rwnym prawdopodobiestwem.Idealnym wzorcem takiego cigu jest seria niezalenych rzutwmonetsymetryczn, z odpowiednim przyporzdkowaniem zer i jedynek obu stro-


14 Z. <strong>Kotulski</strong>nom monety. W praktyce poszukujemy bardziej efektywnych rde takichstrumieni ni wzorcowe rzuty monet.W zastosowaniach profesjonalnych o wymaganym duym stopniu poufnocii zarazem o stosunkowo niewielkiej intensywnoci (np. korespondencjadyplomatyczna) wykorzystywane s metody podobne do oryginalnegopomys lu Vernama. Na tamie magnetycznej, dostarczanej nastpnie w bezpiecznysposb do obu korespondujcych stron, zapisuje si cig bitw (uzyskany,na przykad, z generatora zycznego i wszechstronnie statystycznieprzetestowany), ktry po jednokrotnym wykorzystaniu jest niszczony. Wtelekomunikacji, gdzie potrzebne s dzi rda bitw ointensywnoci do1 GB/sek, wykorzystywane s matematyczne metody generowania bitw.Przedstawimy teraz wybrane <strong>algorytmy</strong> stosowane w tych generatorach.4.2. Metody teorio<strong>liczb</strong>owe. Przedstawione w poprzednim rozdzialegeneratory oparte na schemacie wielokrotnego obliczania reszt modulo Mmog by z powodzeniem wykorzystane do generowania cigw bitw. Wnajprostszej wersji wystarczy kad z wygenerowanych <strong>liczb</strong> naturalnychzapisa w formie binarnej, uzyskujc kadorazowo blok bitw, czyli znakw0" lub 1". W celu poprawienia wasnoci statystycznych (zgodnoci zrozkadem rwnomiernym i zapewnienia niezalenoci) mona wybra pojedyncze,na przykad najm lodsze, bity zkadej <strong>liczb</strong>y otrzymanej jako resztamodulo M. Odrbnym problemem pozostaje przewidywalno generatorwarytmetycznych, wasno dyskwalikujca cigi bitw w zastosowaniachkryptogracznych. Dlatego te, w celu uzyskania cigu nadajcego sie dopraktycznego wykorzystania naley sign do arytmetycznych generatorw<strong>liczb</strong> <strong>losowych</strong> nie posiadajcych cechy przewidywalnoci. A to wymaga skorzystaniaz pewnych faktw znanych w teorii <strong>liczb</strong>.4.2.1. Generator reszt kwadratowych BBS. Generator <strong>liczb</strong> <strong>losowych</strong>,ktry nie ma cechy przewidywalnoci, zosta opracowany przez trzech autorw(Blum, Blum, Shub) i od ich nazwisk nazwany BBS, por. [3]. Generowanie<strong>liczb</strong>y losowej nastpuje w wyniku obliczenia reszty kwadratowej wedugwzoru(4.1)X i = X 2 i;1mod Mdla i = 1 2 . . . Sia algorytmu polega na odpowiednim wyborze <strong>liczb</strong>yM oraz punktu startowego generatora (ziarna). Budujc generator BBS,w pierwszym kroku znajdujemy dwie <strong>liczb</strong>y pierwsze p i q, odpowiedniodue (najlepiej w sposb tajny), i nastpnie obliczamy(4.2)M = pq:Nastpnie ustalamy punkt startowy, wybierajc <strong>liczb</strong> naturaln s z przedziau(1M), speniajc warunek NWD(s M)=1 i przyjmujemy


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 15(4.3)(4.4)X 0 = s 2 :Jeeli <strong>liczb</strong>y p i q speniaj warunekp q 3mod4(czyli reszta z dzielenia p oraz q przez 4 jest rwna 3), to przeksztacenie(4.1) deniuje permutacj na (Z M ) 2 i okres generatora jest maksymalny.Jeeli znany jest rozkad <strong>liczb</strong>y M na czynniki pierwsze (p i q nie sgenerowane w sposb tajny), to kolejne bity generatora BBS mona obliczamniejszym nakadem obliczeniowym, korzystajc z zalenoci (por. [17])(4.5)B(x 2jmod M) =B(x mod m)gdzie B() jest operacj obliczania najmodszego bitu <strong>liczb</strong>y cakowitej oraz(4.6) =2 j mod (M) (M) =(p ; 1)(q ; 1):Dla legalnego uytkownika generatora wasno ta jest uatwieniempracy. Niestety, jest to rwnie uatwienie dla potencjalnego napastnika usi-ujcego zama szyfr wykorzystujcy generator BBS.4.2.2. Generator potgowy RSA. Generator bitw <strong>losowych</strong>, ktrego bezpieczestwooparte jest na systemie podobnym do kryptosystemu kluczapublicznego RSA, zaproponowany zosta w pracy [2]. Metoda generowaniacigu bitw b 1 b 2 ...b l polega na realizacji nastpujcych krokw.(4.7)(4.8) Generujemy dwie<strong>liczb</strong>y pierwsze p i q w taki sposb, jak dla szyfruRSA (due <strong>liczb</strong>y pierwsze zblionej wielkoci { zasady bezpieczestwaRSA omwione s np. w [38]). ObliczamyM = pq (M) =(p ; 1)(q ; 1): Wybieramy losow <strong>liczb</strong> w, 1


16 Z. <strong>Kotulski</strong>punktw nie ma ustalonego porzdku, co zwiksza bezpieczestwo systemu,niemoliwe jest bowiem jego systematyczne przeszukiwanie. Zbir punktwwymiernych krzywej eliptycznej tworzy grup abelow (z dziaaniem, ktrenazwiemy dodawaniem +), ktra jest skoczenie generowana. Wybierajcodpowiednio ciao K (tak, by miao dostatecznie duo elementw) i punktstartowy na krzywej eliptycznej (tak, byzawartyby w licznej podgrupie elementwtej krzywej), mona skonstruowa generator addytywny dziaajcyna elementach tej podgrupy i zwracajcy losowe punkty (X i Y i ). Zamieniajcje na bity w rozsdny sposb, moemy uzyska bezpieczny kryptogra-cznie generator bitw.Dokadny opis takiego generatora, a zwaszcza kluczowej dla jego funkcjonowaniaprocedury wyboru punktu startowego, wymaga uprzedniegowprowadzenia wielu poj dotyczcych krzywych eliptycznych i wykraczapoza zakres tego opracowania.4.2.4. Ocena jakoci generatorw algebraicznych. Ogwarantowanej jako-ci tego rodzaju generatorw kryptogracznych mwimy zwykle wtedy, gdyspeniaj one tak zwany test nastpnego bitu (the next bit test). Zagadnienieto formuuje si w nastpujcy sposb.Zamy, edany jest generator, ktry wytwarza cig n bitw (b 1 b 2 ...b n ). Zamy rwnie, e dany jest test statystyczny o zoonoci obliczeniowejrzdu wielomianowego, ktrego statystyka b B() napodstawieznajomoci i pierwszych bitw b 1 b 2 ...b i pozwala przewidzie bit b i+1 .Powiemy, e generator bitw spenia test nastpnego bitu, gdy dla dostatecznieduych n dla wszystkich wielomianw "(n) i dla wszystkich <strong>liczb</strong>cakowitych i z przedziau [1n] zachodzi nierwno(4.10)jP ( b B(b1 b 2 ...b i )=b i+1 ) ; 1=2j < 1="(n)gdzie P ( b B(b1 b 2 ...b i )=b i+1 )jestprawdopodobiestwem zdarzenia, estatystyka b B() poprawnie odgadnie bit bi+1 w wygenerowanym cigu.Test nastpnego bitu jest bardzo mocnym rodkiem badania jakoci generatorw.Dla generatora bitw <strong>losowych</strong> zachodzi bowiem (asymptotycznie,gdy n dy do nieskoczonoci) rwnowano nastpujcych warunkw[66]: Generator bitw spenia test nastpnego bitu. Generator bitw spenia wszystkie testy statystyczne o wielomianowejzoonoci obliczeniowej.4.3. Rejestry przesuwne ze sprzeniem zwrotnym4.3.1. Rejestry nieliniowe ze sprzeniem zwrotnym. Bardzo wydajnymrdem bitw s rejestry przesuwne ze sprzeniem zwrotnym (FSR { FeedbackShift Register). S one znane ju od dawna podstawowe wyniki ich do-


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 19 Funkcja autokorelacji cigu, C(), powinna spenia nastpujcy warunek:pX p dla =0,(4.17) pC()= x n x n+ =K dla 0


20 Z. <strong>Kotulski</strong>wykorzystania rejestrw przesuwnych dotycz ukadw LFSR sprzonychza pomoc funkcji nieliniowych, rejestrw nieliniowych, a take rejestrwprzesuwnych nad alfabetami wieloznakowymi (uoglnionych rejestrw przesuwnych).4.4. Metody kryptograczne4.4.1. Podstawy matematyczne. Wspczesne podejcie do generowaniacigw bitw do celw kryptogracznych w peni korzysta z terminologiistosowanej w kryptograi. Podstawowym elementem konstrukcji algorytmujest funkcja postaci(4.20)F : K D ! Ogdzie symbole K D i O oznaczaj odpowiednio:K = f0 1g k { przestrze kluczy (parametry F ),D = f0 1g l { przestrze elementw dziedziny (dziedzin F ),O = f0 1g L { przestrze elementw obrazu (przeciwdziedzin F ).Ponadto, wprowadzamy oznaczenia dla typowych operacji wykonywanychw celu wygenerowania cigu bitw. Tak wic symbol(4.21)K R f0 1g koznacza wybr losowego klucza o dugoci k, asymbol(4.22)f R Foznacza wybr funkcji pseudolosowej (takiej funkcji, ktrej dzia lania niemona odrni od dziaania funkcji losowej)(4.23)f R : D ! O:Operacja (4.22) jest rwnowana zoeniu nastpujcych dwch operacji:(4.24)i(4.25)K R f0 1g kf K ()=F (K )czyli uzyskaniu (w sposb losowy i tajny) klucza i podstawieniu wartocitego klucza do odwzorowania (4.20).Wrd wszystkich funkcji pseudo<strong>losowych</strong> naley wyrni ich klaszwan permutacjami. Z permutacj f() mamy do czynienia, gdy(4.26)a ponadto(4.27)jest bijekcj.D = O czyli l = Lf : D ! OUwaga. Permutacj (bijekcj) jest kady szyfr blokowy (por. [38]).


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 214.4.2. Generator bitw pseudo<strong>losowych</strong>. Generatorem bitw pseudo<strong>losowych</strong>bdziemy nazywali kade odwzorowanie G postaci(4.28)G : f0 1g k !f0 1g m m k:Uwaga. Dla przestrzeni dziedziny operatora G o wymiarze k (penicejrol ziarna) cigw pseudo<strong>losowych</strong> moeby co najwyej 2 k :Po zdeniowaniu generatora bitw musimy odpowiedzie na pytanie:Kiedy generator G moe by uznany za pseudolosowy?W celu zdeniowania pojcia pseudolosowoci wprowadzamy nowy schematbadania jakoci generatora. Niech A oznacza algorytm dowolnego atakuna bezpieczestwo generatora. Atakiem jest, z zaoenia, test statystycznyzwracajcy warto 0 lub 1. Wprowadzamy oznaczenie(4.29)Succ prgG (A) =PrfA(y) =1:s R f0 1g k y G(s)gdla prawdopodobiestwa sukcesu, czyli uzyskania przez test A odpowiedzi 1,na podstawie cigu bitw y wytworzonego przez generator G przy zaoeniu,e jego warunek pocztkowy (ziarno) by cigiem losowym, a oznaczenie(4.30)Succ prgRand (A) =PrfA(y) =1:y R f0 1g m gdla prawdopodobiestwa sukcesu na podstawie czysto losowego cigu bitwo takiej samej dugoci. Wprowadzamy rwnie oznaczenie dla rnicyprawdopodobiestw (4.29) i (4.30),(4.31)oraz(4.32)Adv prgGprg(A) = Succ (A) ; SuccprgAdv prgGG(t) =maxAfAdvprg GRand (A)(A)gdla maksimum tej rnicy po wszystkich algorytmach ataku A, ktrych czasdziaania jest mniejszy ni t. Wyraenie Adv prgG(t) jest miar jakoci generatorabitw pseudo<strong>losowych</strong> wyraa <strong>liczb</strong>owo maksymaln przewag, jakmoe mie cig losowy (o skoczonej dugoci) nad cigiem pseudolosowympochodzcym z generatora G. Majc tak informacj, moemy zdeniowacig cig pseudolosowy bitw.Definicja. Cig bitw wygenerowanych przez generator G jest pseudolosowy,gdy Adv prgG (t) zdeniowane w (4.32) jest mae dla rozsdnychwartoci t.4.4.3. Przykadowe <strong>algorytmy</strong> generowania. Kryptograczne generatorybitw <strong>losowych</strong> powstaj na og w wyniku wielokrotnego powtarzania dzia-ania funkcji postaci(4.33)F : f0 1g k f0 1g l !f0 1g l


22 Z. <strong>Kotulski</strong>gdzie F ( ) jest elementem kryptogracznym (nazywanym czsto prymitywemkryptogracznym). Najczciej jest to jeden z nastpujcych elementw: Szyfr blokowy. Najczciej jest to powszechnie stosowany szyfr blokowyo duym okresie, na przykad DES [38] lub nowy algorytm Rijndael(do znalezienia w internecie). Moe to by rwnie algorytm nietypowy(take tajny), na przykad szyfr znakowy wykorzystujcy grafowy zapisklucza [45]. Dowolna permutacja. Wskazane jest wykorzystywanie permutacji posiadajcychdugie cykle. Funkcja pseudolosowa (por. np. [49]).Generowanie bitw polega na obliczaniu wartoci funkcji dla zmieniajcychsi wartoci argumentw i sekwencyjnym ustawianiu wynikw wewsplnym cigu. W modelu tym moliwe s rne schematy zmian parametrww trakcie generacji. Za prac [17] podajemy cztery takie <strong>algorytmy</strong>(przyjto oznaczenie F (k s) =F k (s)).(4.34)Algorytm G1:G 1 (s) =F 1 (s)kF 2 (s)k ...kF n (s)gdzie ziarno s ma dugo l, a wygenerowany cig ma dugo m = nl:(4.35)Algorytm G2:G 2 (s) =F s (1)kF s (2)k ...kF s (n)gdzie ziarno s ma dugo k, a wygenerowany cig ma dugo m = nl:(4.36)Algorytm G3:G 3 (s) =F s (s)kF s (s +1)k ...kF s (s + n ; 1)gdzie ziarno s ma dugo l = k, wygenerowany cig ma dugo m = nl.W wyraeniu (4.36) argumenty funkcji F s () sdodawane modulo 2 jsj =2 k :(4.37)Algorytm G4:G 4 (s) =F s (1)kF s+1 (2)k ...kF s+n;1 (n)gdzie ziarno s ma dugo k, wygenerowany cig ma dugo m = nl: Wwyraeniu(4.37) klucze s s dodawane modulo 2 k :W pracy [17] udowodniono nastpujce wasnoci powyszych generatorw: Algorytm G1 jest asymptotycznie przewidywalny, niezalenie od postacifunkcji F . Bezpieczestwo algorytmw G2, G3 i G4, w oglnym przypadku, niejest okrelone.


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 23 Algorytm G2 jest udowadnialnie bezpieczny (w sensie powyszej denicji),gdy F jest funkcj pseudolosow (funkcja F sama jest bezpiecznymelementem kryptogracznym).W praktyce kryptogracznej istniej zalecenia normowe dotyczce wykorzystaniaodpowiednich elementw kryptogracznych itrybw pracy wpseudo<strong>losowych</strong> generatorach bitw[15].Obecne i przysze badania dotyczce kryptogracznych metod generacjibitw koncentruj si, z jednej strony, na trybach pracy generatorwiwykorzystaniuw nich znanych szyfrw blokowych, z drugiej za, na otrzymywaniunowych konstrukcji funkcji pseudo<strong>losowych</strong> iskonstruowaniu generatoraudowadnialnie bezpiecznego.4.5. Wykorzystanie ukadw dynamicznych do generacji bitw.Now metod generowania cigw bitw jest wykorzystanie dyskretnychukadw dynamicznych. Metoda ta ma wszelkie zalety generatora algorytmicznego,to znaczy pozwala tworzy powtarzalne cigi bitw oraz poddajesi badaniu za pomoc metod matematycznych(stwarza zatem szans opracowaniageneratora udowadnialnie bezpiecznego). Z drugiej strony, poprzeznaturalne zwizki matematycznych ukadw dynamicznych iodpowiednichprocesw zycznych urzeczywistnia moliwo realizacji sprztowej takiegogeneratora (pozwala zaprojektowa generator zyczny opowtarzalnych trajektoriach).Obiektem niezbdnym do skonstruowania chaotycznego generatora bitw<strong>losowych</strong> jest ukad dynamiczny. Ukadem dynamicznym bdziemy nazywalipar (S F ), gdzie S jest przestrzeni stanw (zazwyczaj przestrzeni metryczn),natomiast F : S ! S jest odwzorowaniem mierzalnym bdcymgeneratorem pgrupy iteracji. Trajektori startujc ze stanu pocztkowegos 0 nazwiemy cigfs n g 1 n=0elementw przestrzeni stanw S uzyskany przeznastpujce iteracje:(4.38)s n+1 = F (s n ) n =0 1 2 ...Dla celw konstrukcji generatora bdziemy wymagali, eby ukad dynamiczny(S F )by chaotyczny, a zatem mia cech silnej wraliwoci trajektoriina zmian warunkw pocztkowych [54]. W literaturze stosowanychjest wiele precyzyjnych matematycznie denicji chaosu [8]. Najbardziej rozpowszechnionakorzysta z pojcia wykadnikw Lapunowa, zdeniowanychjako1(4.39) sv limn!1 n ln kDF n (s)(v)kgdzie kkjest norm w przestrzeni stycznej w punkcie s 2 S, v jest elementemtej przestrzeni, natomiast DF n (s)(v) oznacza pochodn Frechetan-tej iteracji F w punkcie s w kierunku v. Ukad dynamiczny (S F )jest


24 Z. <strong>Kotulski</strong>chaotyczny w pewnym obszarze, gdy dla prawie wszystkich punktw tegoobszaru ma on co najmniej jeden dodatni wykadnik Lapunowa (gdymaichwicej ni jeden, nazywamy go hiperchaotycznym). Prawie wszdzie" jesttu rozumiane w sensie pewnej miary niezmienniczej rwnowanej mierze Lebesgue'a,to znaczy takiej miary skoczonej na (S) (-algebrze podzbiorwmierzalnych przestrzeni S), ktra spenia warunek F -niezmienniczoci:(4.40)8A 2 (S)(A) =(F ;1 (A))oraz dla ktrej istnieje dodatnia ograniczona funkcja rzeczywista g na Staka, e8A 2 (S) (A) = \ Ag(s) ds:Drug cech ukadu niezbdn do konstrukcji generatora bitw <strong>losowych</strong>jest mieszanie. Powiemy, e ukad dynamiczny (S F )jestmieszajcy, gdydla kadego A B 2 (S),(4.41)limn!1 (F ;n (A)\B) =(A)(B):Wrwnaniu (4.41), F ;n (A) oznacza przeciwobraz zbioru A pod dzia-aniem n-tej iteracji odwzorowania F . Oznacza to, e wielokrotne dziaanieoperatora F ;1 uniezalenia (w sensie probabilistycznym) zbiory (zdarzenia)A i B (por. [51]). Jeeli dodatkowo zaoymy, e(S) = 1 (tj. miarastacjonarna jest probabilistyczna), to warunek (4.41) jest rwnowanywarunkowi(4.42)(Flim;n (A) \ B)n!1 (B)= (A)(S) co wskazuje, e wielokrotne stosowanie odwzorowania F ;1 do dowolnegozbioru A rwnomiernie rozprzestrzenia ten zbir po ca lej przestrzeni stanwS.Rozwamy zatem chaotyczny, mieszajcy ukad dynamiczny (S F )posiadajcyunormowan miar niezmiennicz . Podzielmy przestrze stanwS na dwie rozczne czci S 0 , S 1 , w taki sposb, e (S 0 )=(S 1 )= 1.2Jako ziarno generatora przyjmujemy warunek pocztkowy s 2 S 0 S, gdzieS 0 jest pewnym zbiorem dopuszczalnych warunkw pocztkowych (zazwyczaj(S 0 ) = 1), a cig pseudolosowy otrzymujemy, obserwujc trajektoriotrzyman przez iteracj F to znaczy cig s n := F n (s). Jako n-ty bitb nprzyjmujemy 0", gdy F n (s) 2 S 0 , lub 1" w przeciwnym wypadku. W tensposb otrzymujemy nieskoczony cig bitw G(s), czyli odwzorowanie(4.43)zdeniowane jako(4.44)G : S 0 !1Yi=1f0 1gG(s) =fb i (s)g i=12... = fb 1 (s)b 2 (s) ...g


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 25gdzie Q 1i=1f0 1g jest iloczynem kartezjaskim przeliczalnej <strong>liczb</strong>y zbiorwdwuelementowych f0 1g. Mona teraz pokaza, e tak zdeniowany generatorbitw mapodstawowe wasnoci wymagane od generatora: jednoznacznzaleno cigu od warunku pocztkowego, rwne prawdopodobiestwo wystpienia0" i 1" oraz (asymptotycznie) statystyczn niezaleno bitw(por. [57], [58]). Fakty te mona zapisa w postaci nastpujcych trzechtwierdze.(4.45)Twierdzenie. Dla kadego s 2 S 0 speniony jest warunek(G ;1 (fb i (s)g)) = 0:Twierdzenie to mwi, e jeeli wemiemy dwa rne ziarna (warunki pocztkoweukadu dynamicznego), to w wyniku otrzymamy (zprawdopodobiestwem1) dwa rne cigi bitw. W rzeczywistoci, w wyniku chaotycznociukadu dynamicznego, nawet dla dwch bardzo bliskich warunkwpocztkowych otrzymane cigi bitw bd si znacznie rniy.Poniewa ukad dynamiczny jest mieszajcy, jestonrwnie ergodyczny.Twierdzenie ergodyczne Birkhoa{Chinczyna ma dla naszego ukadu postaTwierdzenie.X1\ n;1(4.46) lim S0 (F i (s)) = S0 d = (S 0 )n!1 ni=0 Sgdzie S0 jest funkcj indykatorow zbioru S 0 .A zatem, poniewa przyjlimy, e(S 0 )=1=2, wnioskujemy, e w wygenerowanymcigu bitw G(s) =fb i (s)g i=12...,dlakadego warunku pocztkowegos, rednia <strong>liczb</strong>a bitw 0"dydo1=2. Ten fakt ma rwniemiejsce dla kadego (losowo wybranego) podcigu (b kn ) n=12... .Innym efektem warunku mieszania jest asymptotyczna niezaleno bitw,ktr mona uj w formie nastpujcego twierdzenia.Twierdzenie. Jeeli ukad dynamiczny (S F ) spenia warunek mieszania,to istnieje taka <strong>liczb</strong>a naturalna k e dla kadego s 2 S 0 , bity b i orazb i+k s (asymptotycznie przy rosncym k) niezalene dla i =1 2 ...Zatem, biorc jako generator <strong>losowych</strong> bitw zmodykowany ukad dynamiczny(S 0 H 1 k ):=(S0 F k ), dla dostatecznie duego k uzyskujemy rdobitw speniajcych nasze podstawowe wymagania, to znaczy niezalenych io rozkadzie rwnomiernym. Spenienie dodatkowych wymaga statystycznychmona zagwarantowa przez wybr odpowiedniego odwzorowania F iodpowiedniego podziau przestrzeni stanw naS 0 , S 1 (por. [55]).Chaotyczne generatory bitw, posiadajce, w teorii, nieskoczony okresiwszelkie wasnoci idealnych generatorwcigw<strong>losowych</strong>, w praktyce komputerowejnapotykaj na trudnoci wynikajce z dyskretnej struktury arytmetykikomputerowej i ze skoczonej (lecz dowolnie duej) dugoci sowa


26 Z. <strong>Kotulski</strong>komputerowego. Niedogodnoci te mona zredukowa poprzez waciwdyskretyzacjukadu dynamicznego, wprowadzenie strefy zakazanej" w pobliugranicy podziau przestrzeni stanw S na czci S 0 i S 1 (por. [7]) lubte wykorzystanie rozwizywalnych (konstruowalnych) chaotycznych ukadwdynamicznych, to znaczy takich, dla ktrych rozwizanie moe byprzedstawione w jawnej postaci (uzyskujc w ten sposb moliwo dodatkowejwerykacji iterowanej wartoci punktu trajektorii ukadu dynamicznego).Do rozwizywalnych chaotycznych ukadw dynamicznych nale najczciejprezentowane w literaturze odwzorowanie logistyczne (kwadratowe)i odwzorowanie trjktne (kawakami liniowe). Odwzorowanie logistycznepostaci(4.47)X n+1 =4X n (1 ; X n )generuje cig chaotyczny i mieszajcy. Wyrazy tego cigu mona przedstawiw postaci (n =1 2 ...)(4.48)X n =sin 2 (2 n arcsin p X 0 ):Podobnie, chaotyczny i mieszajcy ukad dynamiczny generowany przezodwzorowanie trjktne2Xn dla 0 XX n+1 =n < 1=2,(4.49)2(1 ; X n ) dla 1=2 X n 1,ma rozwizanie analityczne postaci(4.50)X n = 1 arccos(cos 2n X 0 ):Ukadw majcych powysz cech mona znale w literaturze wicej(por. [8], [25], [32]). Rozwizania wszystkich tych rwna mona wyraziprzez zoenia funkcji elementarnych. Mona je przedstawi w oglnej postaci(n =0 1 2 ...)(4.51)X n = (T n )gdzie: (t) jest pewn funkcj okresow (np. trygonometryczn, eliptyczn,hipereliptyczn, Weierstrassa itd.), jest <strong>liczb</strong> naturaln, T jest okresem funkcji (t).X 0 = (T) jest warunkiem pocztkowym ukadu chaotycznego ( jest<strong>liczb</strong> rzeczywist, parametrem deniujcym warunek pocztkowy).Wykadnik Lapunowa takiego ukadu jest rwny(4.52) =ln:


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 27Rozwizywalne ukady dynamiczne pozwalaj nie tylko zwikszy praktycznpowtarzalno (na rnych komputerach) procedury generacji bitwpoprzez porwnanie wyniku uzyskanego dwiema metodami, lecz rwniezwikszy prdko oblicze, na przykad przez obliczanie co k-tego stanu iunikanie k ; 1 iteracji odwzorowania.Ukady dynamiczne bdce iteracj pewnych odwzorowa maj, z punktuwidzenia kryptograi, t sam wad co generatory kongruencyjne, toznaczy s przewidywalne. Jak atwo zauway, zbir moliwych pooepunktw (X n X n+1 ) pokrywa si z wykresem funkcji rzeczywistej y = F (x),gdzie F (x) jest odwzorowaniem generujcym ukad dynamiczny. Cecha tajest mniej istotna dla generatora bitw, poniewa zaleno funkcyjna X n+1od X n jest ukryta przez transformacj stanu na bit, niemniej jednak uytkowniktakiego generatora byby spokojniejszy, gdyby uywany ukad dynamicznynie mia tej cechy. Remedium moe tu by wykorzystanie tzw.konstruowalnych ukadw dynamicznych.Zacznijmy od rozwizywalnego ukadu dynamicznego, ktrego odwzorowaniegenerujce ma posta(4.53)X n+1 = sin 2 (z arcsin p X n )gdzie parametr z jest <strong>liczb</strong> naturaln. Rozwizanie rwnania (4.53) maposta(4.54)X n =sin 2 (z n )jego wykadnik Lapunowa jestrwny = lnz, a ukad jest chaotycznydla z>1. Jak wida, odwzorowanie (4.53) jest przewidywalne (w jednymkroku).Rozwamy teraz dowolny cig postaci (4.54). Jeeli parametr z w(4.54)jest uamkiem, to cig ten jest chaotyczny, jednak odwzorowanie wice zesob punkty X n i X n+1 jest wielowartociowe, to znaczy nie mona przedstawigo w postaci(4.55)X n+1 = F (X n )(por. [19]). W szczeglnoci, gdy z w (4.54) jest uamkiem postaci(4.56)z = p q gdzie p i q s <strong>liczb</strong>ami wzgldnie pierwszymi, to wykres (X n X n+1 ) jestkrzyw Lissajous tak, e kadej wartoci X n odpowiada q wartoci X n+1 ,akadej wartoci X n+1 odpowiada p wartoci X n .Takie odwzorowanie nie jestprzewidywalne. Sytuacj jeszcze lepsz pod tym wzgldem otrzymamy dlaniewymiernego parametru z wrwnaniu (4.54). Wwczas <strong>liczb</strong>a wzajemnieodpowiadajcych sobie punktw jest niemoliwa do okrelenia.Bogatym rdem nieprzewidywalnych chaotycznych ukadw dynamicznychdo celw kryptogracznych s ukady dwuwymiarowe (por. np. [4]) lub


28 Z. <strong>Kotulski</strong>o jeszcze wikszym wymiarze przestrzeni stanw. W tej bardziej zoonej rachunkowosytuacji zarwno sama idea generacji bitw, jak i uzyskane wynikiteoretyczne pozostaj niezmienione.Zastosowanie ukadu chaotycznego do generacji bitw <strong>losowych</strong> urzeczywistniaide pewnej tosamoci" ukadw chaotycznych istochastycznych:niemonoci odrnienia takich ukadw przy dyskretnej przestrzeni obserwacji(por. [60], [61]).Zauwamy nazakoczenie, e na procedurze generowania bitw (por.[29]) nie kocz si moliwoci wykorzystania chaosu w kryptograi. Stosowanejest szyfrowanie wiadomoci przez cige ukady dynamiczne metodamisynchronizacji trajektorii i sterowania chaosem [44], [46]. Rwniedyskretne ukady dynamiczne mog peni rol szyfrw blokowych (por. np.[22], [30], [31]), mog by zatem take stosowane jako elementy kryptogra-czne w procesie generacji bitw metod kryptograczn.5. METODY TESTOWANIA GENERATORWPrzedstawiajc poszczeglne metody generowania cigw bitw <strong>losowych</strong>,wspominalimy rwnie o kryteriach ocenyichjakoci i sugerowanychmetodach jej werykacji. Metody te byy albo dostosowane do szczeglnejpostaci generatora (np. postulaty Golomba), albo stanowiy trudny dosprawdzenia wzorzec oczekiwa (np. test nastpnego bitu). W praktyce stosowanes odpowiednio dobrane zestawy testw statystycznych pozwalajcezaakceptowa lub odrzuci wygenerowany cig bitw lub sam generator. Testypowinny wykaza: zgodno rozkadu cigu bitw z postulowanym (rwnomierno rozkadu) losowo rozkadu (brak wzorca) wzajemn niezaleno bitw (nieprzewidywalno kolejnych bitw).W literaturze moemy znale ogromn <strong>liczb</strong> testw sucych do badaniageneratorw <strong>liczb</strong> <strong>losowych</strong> (na przykad w klasycznej ksice [26] rozdziadotyczcy testowania generatorw jest wielokrotnie wikszy od opisumetod generacji por. te [23], [65], [69]). Rozrni tu naley metodyoglne, dotyczce badania rozkadw <strong>liczb</strong> cakowitych w zapisie dziesitnym,i specyczne metody suce do badania cigw binarnych. Przygotowujczestaw testw, naley zwrci uwag na to, by pozwalay onewszechstronnie zwerykowa wasnoci statystyczne generatora, a rwnoczenieograniczy ich <strong>liczb</strong> tak, by mogy one suy do werykowaniacigw binarnych bezporednio przed ich uyciem (czyli w trakcie eksploatacjigeneratora). Mona te przygotowa dwa zestawy testw: jeden dlaetapu projektowania czy wyszukiwania parametrw generatora i drugi dlaokresu normalnej eksploatacji.


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 29Najszerzej stosowanym w wiecie narzdziem werykacji generatorw(z racji dominowania standardw amerykaskich w dziedzinie ochrony informacji)jest zestaw testw podany przez norm amerykask FIPS-140-2[14], dotyczc bezpieczestwa moduw kryptogracznych. W badaniu generatorwcigw bitw <strong>losowych</strong> norma przewiduje cztery testy istotnoci.Kady z nich przeprowadzany jest dla cigu dugoci 20000 bitw (w przypadkuwykorzystywania duszych cigw przebadane musz by kolejnepodcigi o tej dugoci). Poziom istotnoci tych testw, czyli prawdopodobiestwoodrzucenia cigu mogcego pochodzi z prawidowego rdabitw, jest rwny 0,0001. A oto owe cztery testy, ktrych spenienie jestwymagane przez norm.1. Test monobitowy. Jest to test opartynastatystyce chi-kwadrat. Sprawdzaon, czy <strong>liczb</strong>a bitw 1" ley w pewnych granicach, zalenych od oglnej<strong>liczb</strong>y wygenerowanych bitw. Przeprowadzany jestwkolejnych krokach:(5.1)(5.2) ObliczamyX = <strong>liczb</strong>a jedynek w cigu 20000 bitw. Uznajemy, e nie ma podstaw do odrzucenia cigu, gdy9725


30 Z. <strong>Kotulski</strong> Uznajemy, e nie ma podstaw do odrzucenia badanego cigu, gdyuzyskane <strong>liczb</strong>y serii speniaj warunki podane w tabeliDugo serii Liczba wystpie1 2343 . . .26572 1135 . . .13653 542...7084 251...3735 111...201 6 111...2014. Test dugich serii. Jest to rwnie element analizy sekwencyjnej. Polegana sprawdzeniu warunku: W cigu 20000 bitw nie powinno by serii o d lugoci 26 i wikszej.Zastosowanie powyszego zestawy testw FIPS stanowi pewne minimumprzy werykacji cigu bitw. Do dokadniejszej analizy generatorw monaprzystosowa (budujc odpowiednie statystyki) kady z wystpujcych wliteraturzerodzajw testw, przy czym bada mona zarwno zmienne losowejednowymiarowe,jakiwektorowe (por. np. [11]). Wrd tradycyjnych testwstatystycznych mona wyrni nastpujce grupy testw, sprawdzajcychrne cechy badanej populacji generalnej, a take warunki, w jakichprzeprowadzano eksperyment losowy: Testy losowoci, ktre pozwalaj stwierdzi, czy cig wynikw pomiarwmoe by traktowanyjako cig realizacji zmiennych <strong>losowych</strong>. Pomagajone ustali, czy badana prba pomiarw jest reprezentatywna. Testy zgodnoci, pozwalajce stwierdzi, jaki rozkad prawdopodobiestwama cig obserwacji, czy dwie serie pomiarw maj taki sam rozkaditp. Testy normalnoci, pozwalajce stwierdzi, czy mona uzna, e cigobserwacji pochodzi z populacji generalnej majcej rozkad normalnyjest to szczeglny rodzaj testw zgodnoci, wyrniony ze wzgldu naswoj wano oraz specyczne wasnoci obliczeniowe. Testy dotyczce parametrw rozkadu, ktre pozwalaj potwierdziwiarogodno wyestymowanych na podstawie serii pomiarw parametrwrozkadu, takich jak momenty, statystyki pozycyjne itp. Testy niezalenoci, pozwalajce stwierdzi na podstawie pomiarw,czy prbkowane (obserwowane) zmienne losowe mona uzna za niezalene.


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 31Oprcz oglnie stosowanych testw statystycznych, do werykacji poprawnocigeneratorwbitw <strong>losowych</strong> su specjalizowane testy, ktre mo-emy nazwa kryptogracznymi. S to w szczeglnoci: Testy widmowe, ktre badaj wasnoci widma Fouriera i Walsha wygenerowanegocigu (por. np. [5], [64], [67]). Widmo cigu idealnego,jako biaego szumu", powinno by w przyblieniu stae dla wszystkichwartoci argumentw. Testy zoonoci liniowej. Ich celem jest oszacowanie, jaki jest najmniejszyrzd (dugo r) rejestru liniowego, z ktrego mgby pochodzibadany cig bitw (por. [10]). Testy zoonoci sekwencyjnej (maksymalnej z loonoci, prolu zoonociitp.). Ich celem jest stwierdzenie, czy rozkad serii w wygenerowanymcigu nie odbiega od rozkadu serii pochodzcych z idealnegorda bitw (por. np. [33], [38], [40]). Testy entropijne. Badaj one informacyjne wasnoci ciagu bitw, naprzykad efektywno kodow tych cigw lub informacj wzajemnoddalonych bitw. Najbardziej popularny jest test Maurera (por. [37]),z duym prawdopodobiestwem wykrywajcy kade odchylenie statystykiobliczonej dla badanego cigu od statystyki w peni losowegocigu bitw, a zatem, w odrnieniu od testw klasycznych, wszelkierodzaje defektw statystycznych. Algorytm testu zwizany jest z metodamikompresji danych. Polega na podzieleniu dugiego cigu danychna bloki o skoczonej dugoci N (zwykle od 8 do 16 bitw) i zbadaniuich entropii. Entropia moe przyj warto od zera (dla cigw deterministycznych)do maksymalnej wartoci log N dla cigw wpeni<strong>losowych</strong>. Test pozwala wyznaczy w przyblieniu entropi oraz efektywndugo klucza (czyli <strong>liczb</strong> bitw pochodzcych zciguwpenilosowego, ktra ma tak sam entropi jak N bitw pochodzcych zbadanego generatora), jeeli generator ma pos luy jako rdo kluczykryptogracznych. Inne metody testowania. Tutaj naleaoby umieci metody badania,ktre nie s testami statystycznymi, ale pozwalaj oceni pewne wasnocigeneratorw. Na przykad falki (wavelets) s uoglnieniem widmacigu pozwalajcym wykry jego niestacjonarno (por. [36], [62]).Mona rwnie potraktowa cig bitw jako lacuch Markowaiestymowaodpowiednie prawdopodobiestwa przejcia, poszukujc zalenocimidzy bitami oddalonymi o stay odstp. Badanie generatorw przez zadania testowe. Dotyczy to generatorw<strong>liczb</strong> <strong>losowych</strong> o wszelkich rozkadach. Pozwala sprawdzi praktycznszybko dziaania generatora i przydatno uzyskanego cigu w konkretnychzastosowaniach. Pozwala te dokona ocen wzgldnych rnychgeneratorw (por. np. [63]).


32 Z. <strong>Kotulski</strong>Koczc t prac, przytoczmy przykad praktycznej werykacji generatorabitw <strong>losowych</strong>. Analizujc dziaanie implementacji komputerowejgeneratora bitw opartego na pewnym konstruowalnym ukadzie dynamicznym[32], wykorzystalimy nastpujc sekwencj testw dla cigw o dugoci100 MB: testy FIPS test entropijny Maurera test zoonoci liniowej test widmowy Walsha testy zgodnoci chi-kwadrat i Komogorowa{Smirnowadlasw rnejdugoci.Testy FIPS zaakceptoway wszystkie wygenerowane cigi bitw, pozostaetesty sporadycznie odrzucay wygenerowan prb, przy czym najbardziejrestrykcyjne byy testy zgodnoci przeprowadzane dla dugich cigw.Takie wyniki wskazuj, e zarwno zestaw testw, jak i ich parametry muszby dobrane odpowiednio do przeznaczenia badanego cigu (tj. dugo-ci wykorzystywanego cigu, poziomu bezpieczestwa, trybu pracy ukadukryptogracznego, postulowanego poziomu istotnoci itp.). Dokadniejszaanaliza zagadnienia badania jakoci generatorw <strong>liczb</strong> <strong>losowych</strong> dla celwkryptogracznych zawarta jest w opracowaniu [21] (powstaym w trakcierealizacji grantu KBN 8T11 D01112 Zastosowania metod stochastycznychw kryptograi") i w przygotowywanej na jego podstawie monograi.REFERENCES[1] M. Abramowitz, I. A. Stegun, Handbook of Mathematical Functions with Formulas,Graphs and Mathematical Tables, National Bureau of Standards, Apllied MathematicsSeries 55, 1964.[2] W. B. Alexi, B. Chor, O. Goldreich, C. P. Schnorr, RSA and Rabin functions: certainparts are asharg as the whole, SIAM J. Comput. 17 (1988), 194{208.[3] L. Blum, M. Blum, M. Shub, A simple unpredictable pseudo-random number generator,SIAM J. Comput. 15 (1986), 364{383.[4] A. Beardon, Iteration of Rational Functions, Springer, New York, 1991.[5] K. G. Beauchamp, Walsh Functions and their Applications, Academic Press, London,1975.[6] H. Beker, F. Piper, Cipher Systems: the Protection of Communication, Wiley,NewYork, 1982.[7] E. Bollt, Y.-C. Lai, C. Grebogi, Coding channel capacity and noise resistance incommunicating with chaos, Phys. Rev. Lett. 79 (1997), 3787{3790.[8] R. Brown, L. O. Chua, Clarifying chaos: examples and counterexamples, Internat.J. Bifurcation Chaos 6 (1996), 219{249.[9] A. Compagner, Denitions of randomness, Amer. J. Phys. 59 (1991), 700{705.[10] C. Ding, G. Xiao, W. Shan, The Stability TheoryofStream Ciphers, Springer, Berlin,1991.


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 33[11] Cz. Domaski, Testy statystyczne, PWE, <strong>Warszawa</strong>, 1990.[12] J. Eichenauer, J. Lehn, A non-linear congruential pseudo-random number generator,Statist. Pap. 27 (1986), 315{326.[13] G. S. Fishman, Monte Carlo: Concepts Algorithms and Applications, Springer, NewYork, 1996.[14] FIPS 140-2, Security Requirements for Cryptographic Modules, NIST 1999.[15] FIPS 186-2, Digital Signature Standard, NIST 2000.[16] J. Gawinecki, J. Szmidt, Zastosowanie cia skoczonych i krzywych eliptycznych wkryptograi, Wydawnictwo WAT, <strong>Warszawa</strong>, 1999.[17] S. Goldwasser, M. Bellare, Lecture Notes on Cryptography, preprint, August 1999 (winternecie).[18] S. W. Golomb, Shift Register Sequences, Holden-Day, San Francisco, 1967.[19] J. A. Gonzalez, R. Pino, Chaotic and stochastic functions, Physica 276A (2000),425{440.[20] K. Grski, A. Paszkiewicz, A. Zugaj, Z. <strong>Kotulski</strong>, J. Szczepaski, Wasnoci cigwgenerowanych przez najmniejsze pierwiastki pierwotne <strong>liczb</strong> pierwszych, w: KrajoweSympozjum Telekomunikacji (Bydgoszcz, 1998), Wyd. Inst. Telekomunikacji PW,tom B, 1998, 143{151.[21] K. Grski, Z. <strong>Kotulski</strong>, A. Paszkiewicz, J. Szczepaski, A. Zugaj, <strong>Generatory</strong> <strong>losowych</strong>cigw binarnych w kryptograi, opracowanie, 250 stron, <strong>Warszawa</strong>, 1999.[22] T. Habutsu, Y. Nishio, I. Sasase, S. Mori, Asecret key cryptosystem by iterating achaotic map, w: Eurocrypt'91, 1991, 127{140.[23] P. Hellekalek, Good random number generators are (not so) easy to nd, Math. Comput.Simulation 46 (1998), 485{505.[24] M. Kac, What is random?, Amer. Sci. 71 (1983), 405{406.[25] S. Katsura, W. Fukuda, Exactly solvable models showing chaotic bahavior, Physica130A (1985), 597{605.[26] D. E. Knuth, The Art of Computer Programming|Seminumerical Algorithms, Vol.2, 3rd ed., Addison-Wesley, Reading, 1997.[27] N. Koblitz, Wykad z teorii <strong>liczb</strong> i kryptograi, WNT, <strong>Warszawa</strong>, 1995.[28] N. Koblitz, Algebraiczne aspekty kryptograi, WNT,<strong>Warszawa</strong> 2000.[29] T. Kohda, A. Tsuneda, Statistic of chaotic binary sequences, IEEETransactions onInformation Theory 43, (1997), 104{112.[30] Z. <strong>Kotulski</strong>, J. Szczepaski, Discrete chaotic cryptography,Ann.Phys. 6 (1997), 381{394.[31] Z. <strong>Kotulski</strong>, J. Szczepaski, K. Grski, A. Paszkiewicz, A. Zugaj, The applicationof discrete chaotic dynamical systems in cryptography|DCC Method, Internat. J.Bifurcation Chaos 9 (1999), 1121{1135.[32] Z. <strong>Kotulski</strong>, J. Szczepaski, K. Grski, A. Grska, A. Paszkiewicz, On constructiveapproach to chaotic pseudorandom number generators, w: Proc. Regional Conferenceon Military Communication and Information Systems. CIS Solutions for an EnlargedNATO, RCMIS 2000 (Zegrze, 2000), tom 1, 191{203.[33] L. Kuipers, H. Niederreiter, Uniform Distribution of Sequences, Wiley,NewYork,1974.[34] D. H. Lehmer, Mathematical methods in large-scale computing units, w: Proc. 2ndSympos. on Large-Scale Digital Calculating Machinery (Cambridge, MA, 1949), Ann.Comp. Lab. Harvard University 26 (1951), 141{146.[35] P. L'Ecuyer, Random Number Generation, w: J. Banks (ed.), Handbook of Simulation,rozdzia 4, Wiley, New York, 1998.


34 Z. <strong>Kotulski</strong>[36] Y. Li, Z. Xie, The wavelet detection of hidden periodicities in time series, Statist.Probab. Lett. 35 (1997), 9{23.[37] U. M. Maurer, A universal statistical test for random bit generator, J. Cryptology 5(1992), 89{105.[38] A. Menezes, P. van Oorschot, C. Vanstone, Handbook of Applied Cryptography,CRCPress, Boca Raton, 1996.[39] P. S.Naidu,Modern Spectrum Analysis of Time Series, CRC Press, Boca Raton,1995.[40] H. Niederreiter, The linear complexity prole and the jump complexity of keystreamsequences,w:Advances in Cryptology (Aarhus, 1990), Lecture Notes in Comput. Sci.473, Springer, Berlin, 1991, 174{188.[41] H. Niederreiter, Random Number Generation and Quasi-Monte Carlo Methods,SIAM, Philadelphia, 1992.[42] H. Niederreiter, New developments in uniform pseudorandom number and vector generation,w: H. Niederreiter, P. J.-S. Shiue (red.), Monte Carlo and Quasi-MonteCarlo Methods in Scientic Computing, Lecture Notes in Statist. 106, Springer,Heidelberg, 1995.[43] E. Ott, C. Grebogi, J. A. Yorke, Controlling chaos, Phys. Rev. Lett. 64 (1990),1196{1199.[44] U. Parlitz, L. O. Chua, Lj. Kocarev, K. S. Halle, A. Shang, Transmission of digitalsignals by chaotic synchronization,Internat. J. Bifurcation Chaos 2 (1992), 973{977.[45] A. Paszkiewicz, K. Grski, A. Grska, Z. <strong>Kotulski</strong>, K. Kulesza, J. Szczepa-ski, Proposalsof graph-based ciphers theory and implementations, w: Proc. Regional Conf.on Military Communication and Information Systems. CIS Solutions for an EnlargedNATO, RCMIS 2001 (Zegrze, 2001) (w druku).[46] L. M. Pecora, T. L. Caroll, Synchronization in chaotic systems, Phys. Rev. Lett. 64(1990), 821{824.[47] W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, Numerical Recipesin C. The Art of Scientic Computing, 2nd ed., Cambridge Univ. Press, Cambridge,1992.[48] C. Radhakrishna Rao, Statystyka i prawda, PWN,<strong>Warszawa</strong>, 1994.[49] O. Reingold, Pseudo-Random Synthesizers Functions and Permutations, TheWeizmannInstitute of Science, 1998 (praca doktorska).[50] P. Ribenboim, Maa ksiga wielkich <strong>liczb</strong> pierwszych, WNT,<strong>Warszawa</strong>, 1997.[51] M. Rosenblatt, Procesy stochastyczne, PWN,<strong>Warszawa</strong>, 1967.[52] R. Rueppel, Analysis and Design of Stream Ciphers, Springer, Berlin, 1986.[53] B. Schneier, Kryptograa dla praktykw. Protokoy <strong>algorytmy</strong> i programy rdowew jzyku C , WNT, <strong>Warszawa</strong>, 1995.[54] H. G. Schuster, Chaos deterministyczny, PWN,<strong>Warszawa</strong>, 1995.[55] J. Szczepaski, Z. <strong>Kotulski</strong>, On topologically equivalent ergodic and chaotic reectionlaws leading to dierent types of particle's motion, Arch. Mech. 50 (1998), 865{875.[56] J. Szczepaski, K. Grski, Z. <strong>Kotulski</strong>, A. Paszkiewicz, A. Zugaj, Some models ofchaotic motion of particles and their application to cryptography, Arch. Mech. 51(1999), 509{528.[57] J. Szczepaski, Z. <strong>Kotulski</strong>, K. Grski, A. Paszkiewicz, A. Zugaj, On some models ofpseudorandom number generators based on chaotic dynamical systems, Proc. RCM-CIS'99 (Zegrze, 1999), vol. 3, 213{220.[58] J. Szczepaski, Z. <strong>Kotulski</strong>, Pseudorandom number generators based on chaotic dynamicalsystems, Open Systems Information Dynamics 8 (2001) (w druku).


<strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong> 35[59] W. Szczepiski, Z. <strong>Kotulski</strong>, Error Analysis with Applications in Engineering, LastranCorporation, Rochester, 2000.[60] T. J. Taylor, On stochastic and chaotic motion, Stochastics Stochastics Rep. 43(1993), 179{197.[61] T. J. Taylor, Time series stochastic and chaotic, w: W. A. Barnett et al. (eds.), NonlinearDynamics and Economics (Florence, 1992), Cambridge Univ. Press, Cambridge,1996.[62] Y. Wang, Detection of jumps and curps by wavelets, Biometrics 82 (1995), 385{397.[63] S. Wegenkittl, On empirical testing of pseudorandom number generators, w:G.DePietro et al. (eds.), Proceedings of the international workshop Parallel Numerics'95,CEI-PACT Project, WP5.1.2.1.2., 1995.[64] P. D.Welch, The use of fast Fourier transform for estimation of power spectra: Amethod based on time averaging over short modied periodograms,IEEETrans. AutomaticControl AU-15 (1973), 70{73.[65] R. Wieczorkowski, R. Zieliski, Komputerowe metody generacji <strong>liczb</strong> <strong>losowych</strong>,WNT,<strong>Warszawa</strong>, 1997.[66] A. C. Yao, Theory and applications of trapdoor functions, w: Proc. 23rd IEEE Symposiumon Foundations of Computer Science, IEEE, Chicago, 1982, 80{91.[67] C. K. Yuen, Testing random number generators by Walsh transform, IEEE Trans.Computers C-26 (1977), 329.[68] R. Zieliski, Metody Monte Carlo, WNT, <strong>Warszawa</strong>, 1970.[69] R. Zieliski, <strong>Generatory</strong> <strong>liczb</strong> <strong>losowych</strong>, WNT,<strong>Warszawa</strong>, 1972.[70] R. Zieliski, Wytwarzanie losowoci, Wiad. Mat. 29 (1992), 189{203.Instytut Podstawowych Problemw TechnikiPolska Akademia Nauk00-049 <strong>Warszawa</strong>, ul. witokrzyska 21E-mail: zkotulsk@ippt.gov.plURL: http:/www.ippt.gov.pl

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!