0 / 0 / 0
Регистрация: 22.07.2018
Сообщений: 1
|
|
1 | |
Последовательность pi проходит тесты Diehared на качество гсч. Как обнаруживать подобные слабые гсч?22.07.2018, 01:47. Показов 980. Ответов 2
Метки нет (Все метки)
Протестировал последовательность знаков после запятой в числе pi. Ни один тест не провален, почти все - успех и лишь один тест weak. Да и то из-за того что последовательность короткая: всего 32K знаков.
От человека скрыть последовательность тоже несложно. Возьми дробную часть от (100500*pi + 34) и никто ее навскидку не узнает. Не ожидал, что обмануть один из лучших наборов тестов будет так просто. Собственно вопросы. (1) Правильно ли я понимаю смысл отчета? (2) Есть ли набор тестов, которые подобные вещи вылавливает Если да - то где об этом почитать Если нет - то как после этого вообще верить криптографии? dieharder -f my.val -a #=============================================================================# # dieharder version 3.31.1 Copyright 2003 Robert G. Brown # #=============================================================================# rng_name | filename |rands/second| mt19937| my.val| 1.04e+08 | #=============================================================================# test_name |ntup| tsamples |psamples| p-value |Assessment #=============================================================================# diehard_birthdays| 0| 100| 100|0.49289700| PASSED diehard_operm5| 0| 1000000| 100|0.97916931| PASSED diehard_rank_32x32| 0| 40000| 100|0.17526019| PASSED diehard_rank_6x8| 0| 100000| 100|0.66379592| PASSED diehard_bitstream| 0| 2097152| 100|0.91655337| PASSED diehard_opso| 0| 2097152| 100|0.64918751| PASSED diehard_oqso| 0| 2097152| 100|0.78917321| PASSED diehard_dna| 0| 2097152| 100|0.81294467| PASSED diehard_count_1s_str| 0| 256000| 100|0.42737455| PASSED diehard_count_1s_byt| 0| 256000| 100|0.63184628| PASSED diehard_parking_lot| 0| 12000| 100|0.74074906| PASSED diehard_2dsphere| 2| 8000| 100|0.44545927| PASSED diehard_3dsphere| 3| 4000| 100|0.95171084| PASSED diehard_squeeze| 0| 100000| 100|0.09044359| PASSED diehard_sums| 0| 100| 100|0.01623831| PASSED diehard_runs| 0| 100000| 100|0.48859815| PASSED diehard_runs| 0| 100000| 100|0.43919013| PASSED diehard_craps| 0| 200000| 100|0.65244520| PASSED diehard_craps| 0| 200000| 100|0.80601362| PASSED marsaglia_tsang_gcd| 0| 10000000| 100|0.44722446| PASSED marsaglia_tsang_gcd| 0| 10000000| 100|0.03875522| PASSED sts_monobit| 1| 100000| 100|0.75148206| PASSED sts_runs| 2| 100000| 100|0.49113402| PASSED sts_serial| 1| 100000| 100|0.50157505| PASSED sts_serial| 2| 100000| 100|0.72430739| PASSED sts_serial| 3| 100000| 100|0.67316510| PASSED sts_serial| 3| 100000| 100|0.58046981| PASSED sts_serial| 4| 100000| 100|0.92701809| PASSED sts_serial| 4| 100000| 100|0.57817219| PASSED sts_serial| 5| 100000| 100|0.33932738| PASSED sts_serial| 5| 100000| 100|0.53861435| PASSED sts_serial| 6| 100000| 100|0.40537460| PASSED sts_serial| 6| 100000| 100|0.78815607| PASSED sts_serial| 7| 100000| 100|0.22524888| PASSED sts_serial| 7| 100000| 100|0.46164009| PASSED sts_serial| 8| 100000| 100|0.36827686| PASSED sts_serial| 8| 100000| 100|0.48665569| PASSED sts_serial| 9| 100000| 100|0.86565974| PASSED sts_serial| 9| 100000| 100|0.36074497| PASSED sts_serial| 10| 100000| 100|0.13949667| PASSED sts_serial| 10| 100000| 100|0.49081938| PASSED sts_serial| 11| 100000| 100|0.04877805| PASSED sts_serial| 11| 100000| 100|0.02155062| PASSED sts_serial| 12| 100000| 100|0.09072019| PASSED sts_serial| 12| 100000| 100|0.93380811| PASSED sts_serial| 13| 100000| 100|0.64106730| PASSED sts_serial| 13| 100000| 100|0.72473074| PASSED sts_serial| 14| 100000| 100|0.87913534| PASSED sts_serial| 14| 100000| 100|0.61812713| PASSED sts_serial| 15| 100000| 100|0.94501350| PASSED sts_serial| 15| 100000| 100|0.24982550| PASSED sts_serial| 16| 100000| 100|0.75834639| PASSED sts_serial| 16| 100000| 100|0.26513279| PASSED rgb_bitdist| 1| 100000| 100|0.78552918| PASSED rgb_bitdist| 2| 100000| 100|0.71441033| PASSED rgb_bitdist| 3| 100000| 100|0.28521346| PASSED rgb_bitdist| 4| 100000| 100|0.49639153| PASSED rgb_bitdist| 5| 100000| 100|0.25855055| PASSED rgb_bitdist| 6| 100000| 100|0.78316417| PASSED rgb_bitdist| 7| 100000| 100|0.40515749| PASSED rgb_bitdist| 8| 100000| 100|0.45942538| PASSED rgb_bitdist| 9| 100000| 100|0.70062007| PASSED rgb_bitdist| 10| 100000| 100|0.31869911| PASSED rgb_bitdist| 11| 100000| 100|0.62186035| PASSED rgb_bitdist| 12| 100000| 100|0.64660414| PASSED rgb_minimum_distance| 2| 10000| 1000|0.13330785| PASSED rgb_minimum_distance| 3| 10000| 1000|0.09264471| PASSED rgb_minimum_distance| 4| 10000| 1000|0.86734682| PASSED rgb_minimum_distance| 5| 10000| 1000|0.07470112| PASSED rgb_permutations| 2| 100000| 100|0.28874088| PASSED rgb_permutations| 3| 100000| 100|0.91430845| PASSED rgb_permutations| 4| 100000| 100|0.98105118| PASSED rgb_permutations| 5| 100000| 100|0.65578984| PASSED rgb_lagged_sum| 0| 1000000| 100|0.51514262| PASSED rgb_lagged_sum| 1| 1000000| 100|0.86108932| PASSED rgb_lagged_sum| 2| 1000000| 100|0.08370101| PASSED rgb_lagged_sum| 3| 1000000| 100|0.94356548| PASSED rgb_lagged_sum| 4| 1000000| 100|0.86466386| PASSED rgb_lagged_sum| 5| 1000000| 100|0.21125401| PASSED rgb_lagged_sum| 6| 1000000| 100|0.91442754| PASSED rgb_lagged_sum| 7| 1000000| 100|0.93440408| PASSED rgb_lagged_sum| 8| 1000000| 100|0.09863658| PASSED rgb_lagged_sum| 9| 1000000| 100|0.44505658| PASSED rgb_lagged_sum| 10| 1000000| 100|0.99496725| PASSED rgb_lagged_sum| 11| 1000000| 100|0.73232039| PASSED rgb_lagged_sum| 12| 1000000| 100|0.28072005| PASSED rgb_lagged_sum| 13| 1000000| 100|0.99955657| WEAK rgb_lagged_sum| 14| 1000000| 100|0.79297089| PASSED rgb_lagged_sum| 15| 1000000| 100|0.50476802| PASSED rgb_lagged_sum| 16| 1000000| 100|0.66473799| PASSED rgb_lagged_sum| 17| 1000000| 100|0.68956743| PASSED rgb_lagged_sum| 18| 1000000| 100|0.97735332| PASSED rgb_lagged_sum| 19| 1000000| 100|0.88123590| PASSED rgb_lagged_sum| 20| 1000000| 100|0.82894255| PASSED rgb_lagged_sum| 21| 1000000| 100|0.56552855| PASSED rgb_lagged_sum| 22| 1000000| 100|0.39902264| PASSED rgb_lagged_sum| 23| 1000000| 100|0.28215348| PASSED rgb_lagged_sum| 24| 1000000| 100|0.74084841| PASSED rgb_lagged_sum| 25| 1000000| 100|0.37389431| PASSED rgb_lagged_sum| 26| 1000000| 100|0.59511169| PASSED rgb_lagged_sum| 27| 1000000| 100|0.82526229| PASSED rgb_lagged_sum| 28| 1000000| 100|0.69347124| PASSED rgb_lagged_sum| 29| 1000000| 100|0.13636243| PASSED rgb_lagged_sum| 30| 1000000| 100|0.41315699| PASSED rgb_lagged_sum| 31| 1000000| 100|0.30990140| PASSED rgb_lagged_sum| 32| 1000000| 100|0.71734342| PASSED rgb_kstest_test| 0| 10000| 1000|0.89793502| PASSED dab_bytedistrib| 0| 51200000| 1|0.68765748| PASSED dab_dct| 256| 50000| 1|0.41265119| PASSED Preparing to run test 207. ntuple = 0 dab_filltree| 32| 15000000| 1|0.17838303| PASSED dab_filltree| 32| 15000000| 1|0.90643428| PASSED Preparing to run test 208. ntuple = 0 dab_filltree2| 0| 5000000| 1|0.34775177| PASSED dab_filltree2| 1| 5000000| 1|0.69751383| PASSED Preparing to run test 209. ntuple = 0 dab_monobit2| 12| 65000000| 1|0.76137942| PASSED
0
|
22.07.2018, 01:47 | |
Ответы с готовыми решениями:
2
ГСЧ Пример по ГСЧ К ГСЧ прилипить TChart Массивы и ГСЧ - хэлп!! |
Фрилансер
3705 / 2077 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
|
|
22.07.2018, 02:54 | 2 |
Я не понял, что именно Вы понимаете под обманом.
Последовательность знаков после запятой в числе pi - достаточно хорошая, что и показали тесты.
0
|
6770 / 2739 / 384
Регистрация: 17.02.2013
Сообщений: 4,047
|
|
23.07.2018, 21:39 | 3 |
Надо просто уяснить чем отличаются случайные числа от псевдослучайных. Последовательность десятичных цифр числа Пи - типичная последовательность псевдослучайных чисел. Псевдослучайные числа не случайны, они детерминированы, но имеют равномерное распределение, такое-же как и у истинно случайных. А тесты-то как раз равномерность распределения проверяют.
Cобственно тут http://webhome.phy.duke.edu/~r... harder.php так и написано (если я правильно понял этот головоломный английский) Dieharder is a random number generator (rng) testing suite. It is intended to test generators, not files of possibly random numbers as the latter is a fallacious view of what it means to be random. Это тест генераторов случайных чисел, в т.ч. генераторов псевдослучайных чисел, надо полагать. Тест насколько они хороши. Он не может определять являются ли числа на самом деле случайными, не имеет такой цели, не для этого написан. Если такое вообще возможно определять, не только в сторону "нет".
0
|
23.07.2018, 21:39 | |
23.07.2018, 21:39 | |
Помогаю со студенческими работами здесь
3
ГСЧ в шаблонной функции Тестирование ГСЧ DieHard Плохо работает ГСЧ ГСЧ, одинаковые значения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |