- Notifications
You must be signed in to change notification settings - Fork0
nmrr/flipperzero-random-number-quality
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
An analysis of quality of random number generator of Flipper Zero
Based on theHello World ofzmactep
Flipper Zero has a true random number generator according hisCPU datasheet :The devices embed a true RNG that delivers 32-bit random numbers generated by anintegrated analog circuit.
I'd like verify the quality of random numbers generated by theFlipper Zero
Flipper Zero toolchain provides two functions to generate random numbers by using hardware generator :
- uint32_t furi_hal_random_get() : to obtain 32 bits of random data
- void furi_hal_random_fill_buf(uint8_t* buf, uint32_t len) : to fill a buffer of random data
I wrote a program that generates a file filled with 256MB of random data on the SD card (/random.dat)
Assuming the toolchain is already installed, copyflipper_random directory toapplications_user
Plug yourFlipper Zero and build the program :
./fbt launch_app APPSRC=applications_user/flipper_randomThe program will automatically be launched after compilation :
The generation takes about 30 minutes. The program will automatically quit after generation
If you don't want to build the program, just simply copyflipper_random.fap on yourFlipper Zero
dieharder is a testing and benchmarking tool for random number generators
Copy/random.dat file on your computer and launch the following command :
dieharder -a -g 201 -f random.datClick here to view results
diehard_birthdays| 0| 100| 100|0.55487123| PASSED diehard_operm5| 0| 1000000| 100|0.79201568| PASSED diehard_rank_32x32| 0| 40000| 100|0.59923892| PASSED diehard_rank_6x8| 0| 100000| 100|0.92342072| PASSED diehard_bitstream| 0| 2097152| 100|0.94159229| PASSED diehard_opso| 0| 2097152| 100|0.00747132| PASSED diehard_oqso| 0| 2097152| 100|0.18263591| PASSED diehard_dna| 0| 2097152| 100|0.07915675| PASSED diehard_count_1s_str| 0| 256000| 100|0.31495403| PASSED diehard_count_1s_byt| 0| 256000| 100|0.69912362| PASSED diehard_parking_lot| 0| 12000| 100|0.82688871| PASSED diehard_2dsphere| 2| 8000| 100|0.44704427| PASSED diehard_3dsphere| 3| 4000| 100|0.52652864| PASSED diehard_squeeze| 0| 100000| 100|0.51781721| PASSED diehard_sums| 0| 100| 100|0.64623799| PASSED diehard_runs| 0| 100000| 100|0.99573267| WEAK diehard_runs| 0| 100000| 100|0.48267656| PASSED diehard_craps| 0| 200000| 100|0.08522731| PASSED diehard_craps| 0| 200000| 100|0.08212908| PASSED marsaglia_tsang_gcd| 0| 10000000| 100|0.00000003| FAILED marsaglia_tsang_gcd| 0| 10000000| 100|0.00053548| WEAK sts_monobit| 1| 100000| 100|0.09876225| PASSED sts_runs| 2| 100000| 100|0.44896009| PASSED sts_serial| 1| 100000| 100|0.72550312| PASSED sts_serial| 2| 100000| 100|0.14638226| PASSED sts_serial| 3| 100000| 100|0.45251237| PASSED sts_serial| 3| 100000| 100|0.77572552| PASSED sts_serial| 4| 100000| 100|0.59680397| PASSED sts_serial| 4| 100000| 100|0.87343622| PASSED sts_serial| 5| 100000| 100|0.39471355| PASSED sts_serial| 5| 100000| 100|0.24502794| PASSED sts_serial| 6| 100000| 100|0.08909655| PASSED sts_serial| 6| 100000| 100|0.10717243| PASSED sts_serial| 7| 100000| 100|0.83451597| PASSED sts_serial| 7| 100000| 100|0.97964565| PASSED sts_serial| 8| 100000| 100|0.36201175| PASSED sts_serial| 8| 100000| 100|0.65209729| PASSED sts_serial| 9| 100000| 100|0.99071115| PASSED sts_serial| 9| 100000| 100|0.17544767| PASSED sts_serial| 10| 100000| 100|0.82309444| PASSED sts_serial| 10| 100000| 100|0.68136773| PASSED sts_serial| 11| 100000| 100|0.43365875| PASSED sts_serial| 11| 100000| 100|0.97170671| PASSED sts_serial| 12| 100000| 100|0.72900319| PASSED sts_serial| 12| 100000| 100|0.99584984| WEAK sts_serial| 13| 100000| 100|0.21530249| PASSED sts_serial| 13| 100000| 100|0.79026626| PASSED sts_serial| 14| 100000| 100|0.12890705| PASSED sts_serial| 14| 100000| 100|0.55255830| PASSED sts_serial| 15| 100000| 100|0.78891114| PASSED sts_serial| 15| 100000| 100|0.98063270| PASSED sts_serial| 16| 100000| 100|0.10522510| PASSED sts_serial| 16| 100000| 100|0.07350635| PASSED rgb_bitdist| 1| 100000| 100|0.98396352| PASSED rgb_bitdist| 2| 100000| 100|0.72379672| PASSED rgb_bitdist| 3| 100000| 100|0.01351080| PASSED rgb_bitdist| 4| 100000| 100|0.95524449| PASSED rgb_bitdist| 5| 100000| 100|0.05370261| PASSED rgb_bitdist| 6| 100000| 100|0.44257180| PASSED rgb_bitdist| 7| 100000| 100|0.03501509| PASSED rgb_bitdist| 8| 100000| 100|0.39167067| PASSED rgb_bitdist| 9| 100000| 100|0.99180288| PASSED rgb_bitdist| 10| 100000| 100|0.82502082| PASSED rgb_bitdist| 11| 100000| 100|0.10809183| PASSED rgb_bitdist| 12| 100000| 100|0.49863013| PASSED rgb_minimum_distance| 2| 10000| 1000|0.59643869| PASSED rgb_minimum_distance| 3| 10000| 1000|0.60902822| PASSED rgb_minimum_distance| 4| 10000| 1000|0.32342827| PASSED rgb_minimum_distance| 5| 10000| 1000|0.97899401| PASSED rgb_permutations| 2| 100000| 100|0.02271425| PASSED rgb_permutations| 3| 100000| 100|0.28577729| PASSED rgb_permutations| 4| 100000| 100|0.68895384| PASSED rgb_permutations| 5| 100000| 100|0.38110847| PASSED rgb_lagged_sum| 0| 1000000| 100|0.00401051| WEAK rgb_lagged_sum| 1| 1000000| 100|0.23456397| PASSED rgb_lagged_sum| 2| 1000000| 100|0.01699212| PASSED rgb_lagged_sum| 3| 1000000| 100|0.60478263| PASSED rgb_lagged_sum| 4| 1000000| 100|0.04943578| PASSED rgb_lagged_sum| 5| 1000000| 100|0.15648198| PASSED rgb_lagged_sum| 6| 1000000| 100|0.12214976| PASSED rgb_lagged_sum| 7| 1000000| 100|0.07300513| PASSED rgb_lagged_sum| 8| 1000000| 100|0.71916719| PASSED rgb_lagged_sum| 9| 1000000| 100|0.22802820| PASSED rgb_lagged_sum| 10| 1000000| 100|0.00123661| WEAK rgb_lagged_sum| 11| 1000000| 100|0.29959817| PASSED rgb_lagged_sum| 12| 1000000| 100|0.25961032| PASSED rgb_lagged_sum| 13| 1000000| 100|0.11422352| PASSED rgb_lagged_sum| 14| 1000000| 100|0.16906362| PASSED rgb_lagged_sum| 15| 1000000| 100|0.00000005| FAILED rgb_lagged_sum| 16| 1000000| 100|0.27559901| PASSED rgb_lagged_sum| 17| 1000000| 100|0.22432129| PASSED rgb_lagged_sum| 18| 1000000| 100|0.28340080| PASSED rgb_lagged_sum| 19| 1000000| 100|0.38629680| PASSED rgb_lagged_sum| 20| 1000000| 100|0.44523026| PASSED rgb_lagged_sum| 21| 1000000| 100|0.16320412| PASSED rgb_lagged_sum| 22| 1000000| 100|0.29625362| PASSED rgb_lagged_sum| 23| 1000000| 100|0.31001352| PASSED rgb_lagged_sum| 24| 1000000| 100|0.04436115| PASSED rgb_lagged_sum| 25| 1000000| 100|0.02613351| PASSED rgb_lagged_sum| 26| 1000000| 100|0.05809093| PASSED rgb_lagged_sum| 27| 1000000| 100|0.80853774| PASSED rgb_lagged_sum| 28| 1000000| 100|0.10499849| PASSED rgb_lagged_sum| 29| 1000000| 100|0.01814743| PASSED rgb_lagged_sum| 30| 1000000| 100|0.32979792| PASSED rgb_lagged_sum| 31| 1000000| 100|0.00085729| WEAK rgb_lagged_sum| 32| 1000000| 100|0.02647133| PASSED rgb_kstest_test| 0| 10000| 1000|0.08770174| PASSED dab_bytedistrib| 0| 51200000| 1|0.49320605| PASSED dab_dct| 256| 50000| 1|0.90718786| PASSED Preparing to run test 207. ntuple = 0 dab_filltree| 32| 15000000| 1|0.52041788| PASSED dab_filltree| 32| 15000000| 1|0.97976842| PASSED Preparing to run test 208. ntuple = 0 dab_filltree2| 0| 5000000| 1|0.61874327| PASSED dab_filltree2| 1| 5000000| 1|0.74648222| PASSED Preparing to run test 209. ntuple = 0 dab_monobit2| 12| 65000000| 1|0.65116997| PASSED2 tests have failed and 6 tests are marked as weak
The same test has been done with256MB of/dev/urandom data from aLinux computer :
Click here to view results
diehard_birthdays| 0| 100| 100|0.06228484| PASSED diehard_operm5| 0| 1000000| 100|0.59723602| PASSED diehard_rank_32x32| 0| 40000| 100|0.43907555| PASSED diehard_rank_6x8| 0| 100000| 100|0.40014624| PASSED diehard_bitstream| 0| 2097152| 100|0.17287854| PASSED diehard_opso| 0| 2097152| 100|0.00246277| WEAK diehard_oqso| 0| 2097152| 100|0.09822842| PASSED diehard_dna| 0| 2097152| 100|0.11161138| PASSED diehard_count_1s_str| 0| 256000| 100|0.49999119| PASSED diehard_count_1s_byt| 0| 256000| 100|0.23362439| PASSED diehard_parking_lot| 0| 12000| 100|0.80220017| PASSED diehard_2dsphere| 2| 8000| 100|0.94573686| PASSED diehard_3dsphere| 3| 4000| 100|0.74577481| PASSED diehard_squeeze| 0| 100000| 100|0.14916488| PASSED diehard_sums| 0| 100| 100|0.06679183| PASSED diehard_runs| 0| 100000| 100|0.98216693| PASSED diehard_runs| 0| 100000| 100|0.68559357| PASSED diehard_craps| 0| 200000| 100|0.61910448| PASSED diehard_craps| 0| 200000| 100|0.05755020| PASSED marsaglia_tsang_gcd| 0| 10000000| 100|0.00000001| FAILED marsaglia_tsang_gcd| 0| 10000000| 100|0.00095699| WEAK sts_monobit| 1| 100000| 100|0.69389179| PASSED sts_runs| 2| 100000| 100|0.16671354| PASSED sts_serial| 1| 100000| 100|0.68748875| PASSED sts_serial| 2| 100000| 100|0.85633578| PASSED sts_serial| 3| 100000| 100|0.94268391| PASSED sts_serial| 3| 100000| 100|0.07086450| PASSED sts_serial| 4| 100000| 100|0.39714210| PASSED sts_serial| 4| 100000| 100|0.31252989| PASSED sts_serial| 5| 100000| 100|0.95694002| PASSED sts_serial| 5| 100000| 100|0.22962139| PASSED sts_serial| 6| 100000| 100|0.98097919| PASSED sts_serial| 6| 100000| 100|0.83795708| PASSED sts_serial| 7| 100000| 100|0.93683159| PASSED sts_serial| 7| 100000| 100|0.79020964| PASSED sts_serial| 8| 100000| 100|0.69377516| PASSED sts_serial| 8| 100000| 100|0.38116960| PASSED sts_serial| 9| 100000| 100|0.65940032| PASSED sts_serial| 9| 100000| 100|0.85500230| PASSED sts_serial| 10| 100000| 100|0.19849855| PASSED sts_serial| 10| 100000| 100|0.16446525| PASSED sts_serial| 11| 100000| 100|0.24735793| PASSED sts_serial| 11| 100000| 100|0.40482073| PASSED sts_serial| 12| 100000| 100|0.42946863| PASSED sts_serial| 12| 100000| 100|0.67986759| PASSED sts_serial| 13| 100000| 100|0.31904715| PASSED sts_serial| 13| 100000| 100|0.89958112| PASSED sts_serial| 14| 100000| 100|0.03516112| PASSED sts_serial| 14| 100000| 100|0.00572954| PASSED sts_serial| 15| 100000| 100|0.25516910| PASSED sts_serial| 15| 100000| 100|0.98134393| PASSED sts_serial| 16| 100000| 100|0.22681525| PASSED sts_serial| 16| 100000| 100|0.55438687| PASSED rgb_bitdist| 1| 100000| 100|0.61526582| PASSED rgb_bitdist| 2| 100000| 100|0.06936633| PASSED rgb_bitdist| 3| 100000| 100|0.40179970| PASSED rgb_bitdist| 4| 100000| 100|0.64740032| PASSED rgb_bitdist| 5| 100000| 100|0.46472989| PASSED rgb_bitdist| 6| 100000| 100|0.07941194| PASSED rgb_bitdist| 7| 100000| 100|0.44461086| PASSED rgb_bitdist| 8| 100000| 100|0.58109228| PASSED rgb_bitdist| 9| 100000| 100|0.70960474| PASSED rgb_bitdist| 10| 100000| 100|0.85137858| PASSED rgb_bitdist| 11| 100000| 100|0.99935805| WEAK rgb_bitdist| 12| 100000| 100|0.70354535| PASSED rgb_minimum_distance| 2| 10000| 1000|0.27460885| PASSED rgb_minimum_distance| 3| 10000| 1000|0.36311414| PASSED rgb_minimum_distance| 4| 10000| 1000|0.58342328| PASSED rgb_minimum_distance| 5| 10000| 1000|0.14794446| PASSED rgb_permutations| 2| 100000| 100|0.50547110| PASSED rgb_permutations| 3| 100000| 100|0.18354717| PASSED rgb_permutations| 4| 100000| 100|0.84601710| PASSED rgb_permutations| 5| 100000| 100|0.63598280| PASSED rgb_lagged_sum| 0| 1000000| 100|0.37287317| PASSED rgb_lagged_sum| 1| 1000000| 100|0.75416576| PASSED rgb_lagged_sum| 2| 1000000| 100|0.63961879| PASSED rgb_lagged_sum| 3| 1000000| 100|0.01077529| PASSED rgb_lagged_sum| 4| 1000000| 100|0.18887727| PASSED rgb_lagged_sum| 5| 1000000| 100|0.16337583| PASSED rgb_lagged_sum| 6| 1000000| 100|0.05431404| PASSED rgb_lagged_sum| 7| 1000000| 100|0.01679565| PASSED rgb_lagged_sum| 8| 1000000| 100|0.10235939| PASSED rgb_lagged_sum| 9| 1000000| 100|0.58127552| PASSED rgb_lagged_sum| 10| 1000000| 100|0.00843829| PASSED rgb_lagged_sum| 11| 1000000| 100|0.08131415| PASSED rgb_lagged_sum| 12| 1000000| 100|0.24835950| PASSED rgb_lagged_sum| 13| 1000000| 100|0.39861688| PASSED rgb_lagged_sum| 14| 1000000| 100|0.47914954| PASSED rgb_lagged_sum| 15| 1000000| 100|0.00002898| WEAK rgb_lagged_sum| 16| 1000000| 100|0.98131072| PASSED rgb_lagged_sum| 17| 1000000| 100|0.80381793| PASSED rgb_lagged_sum| 18| 1000000| 100|0.47926388| PASSED rgb_lagged_sum| 19| 1000000| 100|0.05503440| PASSED rgb_lagged_sum| 20| 1000000| 100|0.31173700| PASSED rgb_lagged_sum| 21| 1000000| 100|0.96872067| PASSED rgb_lagged_sum| 22| 1000000| 100|0.88674529| PASSED rgb_lagged_sum| 23| 1000000| 100|0.16043397| PASSED rgb_lagged_sum| 24| 1000000| 100|0.61149972| PASSED rgb_lagged_sum| 25| 1000000| 100|0.75335182| PASSED rgb_lagged_sum| 26| 1000000| 100|0.98130242| PASSED rgb_lagged_sum| 27| 1000000| 100|0.03450865| PASSED rgb_lagged_sum| 28| 1000000| 100|0.01963495| PASSED rgb_lagged_sum| 29| 1000000| 100|0.75846016| PASSED rgb_lagged_sum| 30| 1000000| 100|0.44591545| PASSED rgb_lagged_sum| 31| 1000000| 100|0.00000137| WEAK rgb_lagged_sum| 32| 1000000| 100|0.27222461| PASSED rgb_kstest_test| 0| 10000| 1000|0.68380811| PASSED dab_bytedistrib| 0| 51200000| 1|0.05530537| PASSED dab_dct| 256| 50000| 1|0.88665003| PASSED Preparing to run test 207. ntuple = 0 dab_filltree| 32| 15000000| 1|0.15196603| PASSED dab_filltree| 32| 15000000| 1|0.33800187| PASSED Preparing to run test 208. ntuple = 0 dab_filltree2| 0| 5000000| 1|0.84766841| PASSED dab_filltree2| 1| 5000000| 1|0.00464316| WEAK Preparing to run test 209. ntuple = 0 dab_monobit2| 12| 65000000| 1|0.69926158| PASSEDOnly 1 test has failed and 6 tests are marked as weak
These tests have been done with a larger dataset : 4GB
Flipper Zero :
Click here to view results
diehard_birthdays| 0| 100| 100|0.11059818| PASSED diehard_operm5| 0| 1000000| 100|0.46243241| PASSED diehard_rank_32x32| 0| 40000| 100|0.94015510| PASSED diehard_rank_6x8| 0| 100000| 100|0.06733267| PASSED diehard_bitstream| 0| 2097152| 100|0.19395269| PASSED diehard_opso| 0| 2097152| 100|0.88003794| PASSED diehard_oqso| 0| 2097152| 100|0.94872400| PASSED diehard_dna| 0| 2097152| 100|0.30016367| PASSED diehard_count_1s_str| 0| 256000| 100|0.20777586| PASSED diehard_count_1s_byt| 0| 256000| 100|0.79506176| PASSED diehard_parking_lot| 0| 12000| 100|0.25422977| PASSED diehard_2dsphere| 2| 8000| 100|0.72884093| PASSED diehard_3dsphere| 3| 4000| 100|0.95282276| PASSED diehard_squeeze| 0| 100000| 100|0.04250899| PASSED diehard_sums| 0| 100| 100|0.13981924| PASSED diehard_runs| 0| 100000| 100|0.13508787| PASSED diehard_runs| 0| 100000| 100|0.02455145| PASSED diehard_craps| 0| 200000| 100|0.96194561| PASSED diehard_craps| 0| 200000| 100|0.63547515| PASSED marsaglia_tsang_gcd| 0| 10000000| 100|0.83452275| PASSED marsaglia_tsang_gcd| 0| 10000000| 100|0.82545057| PASSED sts_monobit| 1| 100000| 100|0.68486675| PASSED sts_runs| 2| 100000| 100|0.91771409| PASSED sts_serial| 1| 100000| 100|0.58359946| PASSED sts_serial| 2| 100000| 100|0.92654385| PASSED sts_serial| 3| 100000| 100|0.65764270| PASSED sts_serial| 3| 100000| 100|0.98824281| PASSED sts_serial| 4| 100000| 100|0.35597012| PASSED sts_serial| 4| 100000| 100|0.53650061| PASSED sts_serial| 5| 100000| 100|0.62396496| PASSED sts_serial| 5| 100000| 100|0.36307390| PASSED sts_serial| 6| 100000| 100|0.28946507| PASSED sts_serial| 6| 100000| 100|0.28365471| PASSED sts_serial| 7| 100000| 100|0.49950854| PASSED sts_serial| 7| 100000| 100|0.13454074| PASSED sts_serial| 8| 100000| 100|0.52850097| PASSED sts_serial| 8| 100000| 100|0.72954489| PASSED sts_serial| 9| 100000| 100|0.62072123| PASSED sts_serial| 9| 100000| 100|0.99779751| WEAK sts_serial| 10| 100000| 100|0.80344215| PASSED sts_serial| 10| 100000| 100|0.54662822| PASSED sts_serial| 11| 100000| 100|0.77730946| PASSED sts_serial| 11| 100000| 100|0.72394364| PASSED sts_serial| 12| 100000| 100|0.81524608| PASSED sts_serial| 12| 100000| 100|0.94724026| PASSED sts_serial| 13| 100000| 100|0.16490808| PASSED sts_serial| 13| 100000| 100|0.64049681| PASSED sts_serial| 14| 100000| 100|0.80427373| PASSED sts_serial| 14| 100000| 100|0.68417802| PASSED sts_serial| 15| 100000| 100|0.26721027| PASSED sts_serial| 15| 100000| 100|0.26323260| PASSED sts_serial| 16| 100000| 100|0.98447926| PASSED sts_serial| 16| 100000| 100|0.15718959| PASSED rgb_bitdist| 1| 100000| 100|0.04796896| PASSED rgb_bitdist| 2| 100000| 100|0.67467531| PASSED rgb_bitdist| 3| 100000| 100|0.73784137| PASSED rgb_bitdist| 4| 100000| 100|0.26420347| PASSED rgb_bitdist| 5| 100000| 100|0.81311612| PASSED rgb_bitdist| 6| 100000| 100|0.57561992| PASSED rgb_bitdist| 7| 100000| 100|0.38384323| PASSED rgb_bitdist| 8| 100000| 100|0.01813294| PASSED rgb_bitdist| 9| 100000| 100|0.66792440| PASSED rgb_bitdist| 10| 100000| 100|0.53244433| PASSED rgb_bitdist| 11| 100000| 100|0.98652471| PASSED rgb_bitdist| 12| 100000| 100|0.65105991| PASSED rgb_minimum_distance| 2| 10000| 1000|0.23083645| PASSED rgb_minimum_distance| 3| 10000| 1000|0.70524844| PASSED rgb_minimum_distance| 4| 10000| 1000|0.48583046| PASSED rgb_minimum_distance| 5| 10000| 1000|0.30933062| PASSED rgb_permutations| 2| 100000| 100|0.60895705| PASSED rgb_permutations| 3| 100000| 100|0.21941196| PASSED rgb_permutations| 4| 100000| 100|0.73590163| PASSED rgb_permutations| 5| 100000| 100|0.07132175| PASSED rgb_lagged_sum| 0| 1000000| 100|0.38382409| PASSED rgb_lagged_sum| 1| 1000000| 100|0.70103574| PASSED rgb_lagged_sum| 2| 1000000| 100|0.32942564| PASSED rgb_lagged_sum| 3| 1000000| 100|0.16065528| PASSED rgb_lagged_sum| 4| 1000000| 100|0.04307075| PASSED rgb_lagged_sum| 5| 1000000| 100|0.36550579| PASSED rgb_lagged_sum| 6| 1000000| 100|0.76352715| PASSED rgb_lagged_sum| 7| 1000000| 100|0.70833381| PASSED rgb_lagged_sum| 8| 1000000| 100|0.40294697| PASSED rgb_lagged_sum| 9| 1000000| 100|0.63587058| PASSED rgb_lagged_sum| 10| 1000000| 100|0.44264782| PASSED rgb_lagged_sum| 11| 1000000| 100|0.68265712| PASSED rgb_lagged_sum| 12| 1000000| 100|0.09088674| PASSED rgb_lagged_sum| 13| 1000000| 100|0.73280871| PASSED rgb_lagged_sum| 14| 1000000| 100|0.91610269| PASSED rgb_lagged_sum| 15| 1000000| 100|0.52377183| PASSED rgb_lagged_sum| 16| 1000000| 100|0.54507432| PASSED rgb_lagged_sum| 17| 1000000| 100|0.12436072| PASSED rgb_lagged_sum| 18| 1000000| 100|0.75817359| PASSED rgb_lagged_sum| 19| 1000000| 100|0.92098590| PASSED rgb_lagged_sum| 20| 1000000| 100|0.24942670| PASSED rgb_lagged_sum| 21| 1000000| 100|0.90198906| PASSED rgb_lagged_sum| 22| 1000000| 100|0.29765028| PASSED rgb_lagged_sum| 23| 1000000| 100|0.64622982| PASSED rgb_lagged_sum| 24| 1000000| 100|0.32519153| PASSED rgb_lagged_sum| 25| 1000000| 100|0.78321779| PASSED rgb_lagged_sum| 26| 1000000| 100|0.99840916| WEAK rgb_lagged_sum| 27| 1000000| 100|0.25324778| PASSED rgb_lagged_sum| 28| 1000000| 100|0.98251541| PASSED rgb_lagged_sum| 29| 1000000| 100|0.68916391| PASSED rgb_lagged_sum| 30| 1000000| 100|0.05570852| PASSED rgb_lagged_sum| 31| 1000000| 100|0.30522421| PASSED rgb_lagged_sum| 32| 1000000| 100|0.99929872| WEAK rgb_kstest_test| 0| 10000| 1000|0.67220840| PASSED dab_bytedistrib| 0| 51200000| 1|0.64446712| PASSED dab_dct| 256| 50000| 1|0.95202260| PASSED Preparing to run test 207. ntuple = 0 dab_filltree| 32| 15000000| 1|0.09593529| PASSED dab_filltree| 32| 15000000| 1|0.46540473| PASSED Preparing to run test 208. ntuple = 0 dab_filltree2| 0| 5000000| 1|0.34519652| PASSED dab_filltree2| 1| 5000000| 1|0.24694486| PASSED Preparing to run test 209. ntuple = 0 dab_monobit2| 12| 65000000| 1|0.93595240| PASSED3 tests are marked as weak
/dev/urandom :
Click here to view results
diehard_birthdays| 0| 100| 100|0.04489731| PASSED diehard_operm5| 0| 1000000| 100|0.98102302| PASSED diehard_rank_32x32| 0| 40000| 100|0.80720399| PASSED diehard_rank_6x8| 0| 100000| 100|0.25129153| PASSED diehard_bitstream| 0| 2097152| 100|0.95556255| PASSED diehard_opso| 0| 2097152| 100|0.55521693| PASSED diehard_oqso| 0| 2097152| 100|0.91941987| PASSED diehard_dna| 0| 2097152| 100|0.23352172| PASSED diehard_count_1s_str| 0| 256000| 100|0.60912108| PASSED diehard_count_1s_byt| 0| 256000| 100|0.47545424| PASSED diehard_parking_lot| 0| 12000| 100|0.61642584| PASSED diehard_2dsphere| 2| 8000| 100|0.14367357| PASSED diehard_3dsphere| 3| 4000| 100|0.45610233| PASSED diehard_squeeze| 0| 100000| 100|0.53733260| PASSED diehard_sums| 0| 100| 100|0.15714087| PASSED diehard_runs| 0| 100000| 100|0.48694656| PASSED diehard_runs| 0| 100000| 100|0.29615453| PASSED diehard_craps| 0| 200000| 100|0.54351193| PASSED diehard_craps| 0| 200000| 100|0.97340924| PASSED marsaglia_tsang_gcd| 0| 10000000| 100|0.32038380| PASSED marsaglia_tsang_gcd| 0| 10000000| 100|0.15966009| PASSED sts_monobit| 1| 100000| 100|0.82780276| PASSED sts_runs| 2| 100000| 100|0.66372170| PASSED sts_serial| 1| 100000| 100|0.69690502| PASSED sts_serial| 2| 100000| 100|0.54603984| PASSED sts_serial| 3| 100000| 100|0.50169411| PASSED sts_serial| 3| 100000| 100|0.07064586| PASSED sts_serial| 4| 100000| 100|0.17334216| PASSED sts_serial| 4| 100000| 100|0.13979783| PASSED sts_serial| 5| 100000| 100|0.83695398| PASSED sts_serial| 5| 100000| 100|0.07258805| PASSED sts_serial| 6| 100000| 100|0.67304762| PASSED sts_serial| 6| 100000| 100|0.64053099| PASSED sts_serial| 7| 100000| 100|0.98244793| PASSED sts_serial| 7| 100000| 100|0.05792291| PASSED sts_serial| 8| 100000| 100|0.30146615| PASSED sts_serial| 8| 100000| 100|0.07828512| PASSED sts_serial| 9| 100000| 100|0.80119364| PASSED sts_serial| 9| 100000| 100|0.44264581| PASSED sts_serial| 10| 100000| 100|0.75981289| PASSED sts_serial| 10| 100000| 100|0.93799740| PASSED sts_serial| 11| 100000| 100|0.25279644| PASSED sts_serial| 11| 100000| 100|0.52258261| PASSED sts_serial| 12| 100000| 100|0.70168523| PASSED sts_serial| 12| 100000| 100|0.20072352| PASSED sts_serial| 13| 100000| 100|0.87050967| PASSED sts_serial| 13| 100000| 100|0.76237414| PASSED sts_serial| 14| 100000| 100|0.27272393| PASSED sts_serial| 14| 100000| 100|0.80613522| PASSED sts_serial| 15| 100000| 100|0.92176493| PASSED sts_serial| 15| 100000| 100|0.87208395| PASSED sts_serial| 16| 100000| 100|0.37388632| PASSED sts_serial| 16| 100000| 100|0.15469900| PASSED rgb_bitdist| 1| 100000| 100|0.28057802| PASSED rgb_bitdist| 2| 100000| 100|0.68343411| PASSED rgb_bitdist| 3| 100000| 100|0.44405469| PASSED rgb_bitdist| 4| 100000| 100|0.90713693| PASSED rgb_bitdist| 5| 100000| 100|0.49209205| PASSED rgb_bitdist| 6| 100000| 100|0.75199988| PASSED rgb_bitdist| 7| 100000| 100|0.74239445| PASSED rgb_bitdist| 8| 100000| 100|0.53329955| PASSED rgb_bitdist| 9| 100000| 100|0.91149445| PASSED rgb_bitdist| 10| 100000| 100|0.74220741| PASSED rgb_bitdist| 11| 100000| 100|0.04053006| PASSED rgb_bitdist| 12| 100000| 100|0.15864202| PASSED rgb_minimum_distance| 2| 10000| 1000|0.93506783| PASSED rgb_minimum_distance| 3| 10000| 1000|0.03035361| PASSED rgb_minimum_distance| 4| 10000| 1000|0.01684604| PASSED rgb_minimum_distance| 5| 10000| 1000|0.40535950| PASSED rgb_permutations| 2| 100000| 100|0.73530875| PASSED rgb_permutations| 3| 100000| 100|0.13793235| PASSED rgb_permutations| 4| 100000| 100|0.80825360| PASSED rgb_permutations| 5| 100000| 100|0.82976800| PASSED rgb_lagged_sum| 0| 1000000| 100|0.30047172| PASSED rgb_lagged_sum| 1| 1000000| 100|0.02522645| PASSED rgb_lagged_sum| 2| 1000000| 100|0.25228513| PASSED rgb_lagged_sum| 3| 1000000| 100|0.91017293| PASSED rgb_lagged_sum| 4| 1000000| 100|0.31593881| PASSED rgb_lagged_sum| 5| 1000000| 100|0.59018579| PASSED rgb_lagged_sum| 6| 1000000| 100|0.62145449| PASSED rgb_lagged_sum| 7| 1000000| 100|0.52971041| PASSED rgb_lagged_sum| 8| 1000000| 100|0.69269041| PASSED rgb_lagged_sum| 9| 1000000| 100|0.92143793| PASSED rgb_lagged_sum| 10| 1000000| 100|0.70090470| PASSED rgb_lagged_sum| 11| 1000000| 100|0.96953878| PASSED rgb_lagged_sum| 12| 1000000| 100|0.06517103| PASSED rgb_lagged_sum| 13| 1000000| 100|0.87917675| PASSED rgb_lagged_sum| 14| 1000000| 100|0.79970530| PASSED rgb_lagged_sum| 15| 1000000| 100|0.73699022| PASSED rgb_lagged_sum| 16| 1000000| 100|0.61585289| PASSED rgb_lagged_sum| 17| 1000000| 100|0.30133443| PASSED rgb_lagged_sum| 18| 1000000| 100|0.97329715| PASSED rgb_lagged_sum| 19| 1000000| 100|0.09381675| PASSED rgb_lagged_sum| 20| 1000000| 100|0.57235026| PASSED rgb_lagged_sum| 21| 1000000| 100|0.46045580| PASSED rgb_lagged_sum| 22| 1000000| 100|0.90887517| PASSED rgb_lagged_sum| 23| 1000000| 100|0.64358135| PASSED rgb_lagged_sum| 24| 1000000| 100|0.94803867| PASSED rgb_lagged_sum| 25| 1000000| 100|0.40998866| PASSED rgb_lagged_sum| 26| 1000000| 100|0.81309099| PASSED rgb_lagged_sum| 27| 1000000| 100|0.61299561| PASSED rgb_lagged_sum| 28| 1000000| 100|0.74593506| PASSED rgb_lagged_sum| 29| 1000000| 100|0.73121448| PASSED rgb_lagged_sum| 30| 1000000| 100|0.25976969| PASSED rgb_lagged_sum| 31| 1000000| 100|0.00383725| WEAK rgb_lagged_sum| 32| 1000000| 100|0.01261432| PASSED rgb_kstest_test| 0| 10000| 1000|0.47923383| PASSED dab_bytedistrib| 0| 51200000| 1|0.68448302| PASSED dab_dct| 256| 50000| 1|0.08725468| PASSED Preparing to run test 207. ntuple = 0 dab_filltree| 32| 15000000| 1|0.66495602| PASSED dab_filltree| 32| 15000000| 1|0.43040524| PASSED Preparing to run test 208. ntuple = 0 dab_filltree2| 0| 5000000| 1|0.72723941| PASSED dab_filltree2| 1| 5000000| 1|0.01631449| PASSED Preparing to run test 209. ntuple = 0 dab_monobit2| 12| 65000000| 1|0.12068832| PASSEDOnly 1 test is marked as weak
In conclusionFlipper Zero hardware random number generator quality is comparable to/dev/urandom
About
An analysis of quality of random number generator of Flipper Zero
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.

