|
ИСТИНА |
Войти в систему Регистрация |
ИСТИНА ПсковГУ |
||
Разработана программа SmokeRand на языке Си для контроля качества генераторов псевдослучайных чисел (ГПСЧ). Поддерживаются 32 и 64-битные ГПСЧ и параллелизм, генераторы могут подключаться как через потоки ввода/вывода, так и как компилируемые плагины. Реализованы частотные тесты, тест промежутков между днями рождения, критерии конфликтов и интервалов, тесты на ранг двоичной матрицы и линейную сложность, тест «модель Изинга» и др. Их можно группировать в наборы (батареи), по умолчанию определены наборы express, brief, default и full, использующие от 64 МиБ до 2 ТиБ данных соответственно. После их прохождения генератору автоматически ставится эвристическая оценка от 0 («очень плохо») до 4 («хорошо»). В работе были выявлены не описанные в литературе дефекты в 64-битных и 128- битных линейных конгруэнтных генераторах (LCG), аддитивных генераторах Фибоначчи с запаздываниями. Тест «парадокс дней рождения» обнаруживает отсутствие повторов в выводе ГПСЧ на основе 64-битных счетчиков (SplitMix, Philox2x32, DES и др.). Также SmokeRand детектирует не выявляемые TestU01 артефакты в младших битах генераторов TinyMT, xoroshiro128+ и др. Примеры качественных ГПСЧ, прошедших все реализованные в программе тесты, включают нелинейные (SFC64, gjrand64) и комбинированные (KISS99, PCG, xoroshiro128++) генераторы, отдельные LCG (RANLUX++), а также ГПСЧ на основе счетчиков (AES, ChaCha12, Speck128, Philox4x64, ThreeFry4x64).
| № | Имя | Описание | Имя файла | Размер | Добавлен |
|---|