Opis ispitivanja

Pri ispitivanju je korišten NIST program za ispitivanje kvalitete generatora slučajnih brojeva. Izvorni kod je napisan u ANSI C-u te se može prevesti pomoću bilo kojeg ANSI C prevodioca. Rezultati bi trebali biti neovisni o izboru prevodioca te o operacijskom sustavu. Ispitivano je četiri opisanih generatora slučajnih brojeva te tri generatora kvazislučajnih brojeva. Izvorni kod za LCG, ANSI X9.17 i RSA generator (Micali-Schnorr varijanta) je uključen u NIST program, dok je za LFG te za tri generatora kvazislučajnih brojeva bilo potrebno napisati izvorni kod i uključiti ga u program. Za svaki generator ispitano je 100 nizova duljine 106 bita.

Generatori kvazislučajnih brojeva služe za provjeru kvalitete ispita (i izvornog koda NIST programa). Generatori kvazislučajnih brojeva, naime, daju niz brojeva koji u stvari nije slučajan. Generator Quasi1 generira niz u kojem se nalaze sve jedinice, Quasi2 generira niz naizmjeničnih nula i jedinica (0101010101...), dok Quasi3 generira niz u kojem se dobiju rastući brojevi od 0 do 255 ako se bitovi grupiraju u 8-bitne brojeve. Prema očekivanju, sva tri generatora nisu prošla većinu ispita, te se može pretpostaviti da je NIST kolekcija ispita i popratno programsko rješenje zadovoljavajuće.

Na temelju dobivenih rezultata teško se može zaključiti o kvaliteti (ili o nedostatku iste) za pojedine generatore. Naime, broj generiranih nizova je nedovoljan da bi se moglo sigurno zaključiti prolazi li generator određeni ispit ili ne. Iz dobivenih rezultata moguće je tek izvesti očekivanja za koje ispite bi bilo potrebno izvršiti iscrpnija promatranja na većem broju nizova. Provedena ispitivanja su obavljena strogo u svrhu proučavanja algoritama ispitivanja. Zadovoljavajuće ispitivanje zahtijevalo bi bitno veći broj ispitivanih nizova po generatoru (barem 103) te dodatna iscrpna empirijska ispitivanja. Stoga se na temelju rezultata koji slijede može izvući tek očekivani zaključak, a nikako ne i dovoljno utemeljeni. Detaljnija ispitivanja mogu dovesti do potpuno drugačijih rezultata.

U tablici su prikazani rezultati ispitivanja. Za svaki generator je označeno koje ispite nije prošao tj. u kojoj karakteristici ne pokazuje očekivano ponašanje. Elementi tablice koji su označeni sa upitnikom označavaju da generator "tijesno" nije prošao ispit tj. da postoji velika mogućnost da ga prođe u detaljnijim ispitivanjima. Također je moguće da generator ne prođe određeni ispit u detaljnijim ispitivanjima. Ove napomene ne vrijede i za generatore kvazislučajnih brojeva koji "uvjerljivo" nisu prošli označene ispite.

  Učestalost u nizu Učestalost u bloku Uzastopno ponavljanje bitova u nizu Uzastopno ponavljanje jedinica u bloku Rang matrice Spektralno ispitivanje Ponavljanje predloška u generiranom nizu (sa preklapanjem) Ponavljanje predloška u generiranom nizu (bez preklapanja) Maurerov univerzalni statistički ispit Lempel-Ziv kompresija Linearna složenost Preklapajući uzorci Približna entropija Kumulativna suma Slučajni hod Varijanta slučajnog hoda
LCG(mod 231-1)       X                 ? ? ?  
LFG (55,24,31)   ?           X           X ?  
ANSI X9.17                     X     ? ? ?
RSA generator (Micali-Schnorr varijanta)       ? ?             ? ?     ?
Quasi1 generator X X X X X X X X X X X X X X X X
Quasi2 generator       X X X X X X X X X X X X X
Quasi3 generator       X X X X X X X X X X   X X