Informatyka Stosowana PRACA INŻYNIERSKA Budowa sprzętowego generatora liczb losowych oraz analiza jego właściwości statystycznych Jakub Matlak Kierunek: Informatyka Stosowana Opiekun Pracy: dr inż. Mirosław Gajer
Podział generatorów liczb losowych Programowe Liczby obliczane są na podstawie zadanego algorytmu. Sprzętowe Liczby generowane są głównie na podstawie analizy zjawisk fizycznych.
Zastosowanie liczb losowych Kryptografia Gry komputerowe Matematyka Statystyka Badania symulacyjne
Metoda Monte Carlo Popularna metoda symulacyjna Wykorzystuje liczby losowe do modelowania złożonych problemów Jakość wyniku jest uzależniona od stopnia dopasowania generowanych liczb do zadanego rozkładu
Środowisko programistyczne Oracle VM VirtualBox Manager 4.2.0 Maszyna wirtualna do symulacji Win XP. ISE Xilinx 9.2i Środowisko programistyczne dla układów FPGA (język programowania VHDL). ISE Simulator Program do symulowania działania układu. FTU2 Program do implementacji gotowego projektu na płycie.
Płyta Celoxica RC203
Opis algorytmu 32. bitowy rejestr przesuwny ze sprzężeniem zwrotnym (LFSR) Bit wejściowy jest wynikiem operacji XOR na 14 i 32 bicie Okres rejestru to 126.914 cykli zegara (maksymalny 232)
Wykres generowanych liczb
Testy algorytmu Test monobitowy Test pokerowy Test serii '0' X = 10.000 Test pokerowy X = 1,9328 Test serii '0' X = [2441, 1254, 650, 304, 162, 156] Test długich serii X = 19
Podsumowanie pracy generatora Generuje liczby pseudolosowe. Liczby cyklicznie się powtarzają. Posiada krótki okres rejestru. 126.914 / 4.294.967.295 = 0,003% Wykazuje dobre właściwości statystyczne. Zaliczone 3 na 4 testy wg. FIPS-140-2 Prosta implementacja w układzie FPGA.
Dziękuję za uwagę.