PractRand (Practially Random) тестирование ГСЧ

1 min


Вчера я писал о своем опыте использования NIST STS для тестирования энтропийного экстрактора, процедуры фильтрации, которая производит несмещенные биты из смещенных источников. В этом посте мы рассмотрим тестирование того же экстрактора энтропии с использованием Practical Random (PractRand) тестирование. На этот раз результаты были намного хуже, что говорит об ограничениях как экстрактора энтропии, так и набора тестов STS.

Сложности с PractRand

Я построил PractRand на Linux без труда. Было несколько предупреждений, но ошибок нет. Но когда я передал файл битов в RNG_test Я получил сообщение «Ошибка чтения стандартного ввода».

Пару лет назад я без проблем запустил PractRand на своем Mac (результаты здесь), поэтому я переключился на компьютер, которым пользовался раньше. Последняя версия PractRand (pre95) выдает ошибки компиляции, но версия, которую я использовал до (93), была успешно скомпилирована.

Трубопроводные биты к RNG_test из командной строки работал когда я пользовался программой RNG_output включен в PractRand, но передача моего собственного файла битов в набор тестов завершилась с той же ошибкой, что и в Linux. Я применил пластырь написал Дэниел Лемир и смог передать мой файл в тестовую программу. Я вернулся в Linux, чтобы посмотреть, смогу ли я получить версию 93 для работы там, но не повезло.

Тестирование битов из файла необычно; быстрее генерировать случайные числа и отправлять их непосредственно на тест, не переходя на диск и обратно, и, естественно, именно это люди будут делать чаще. Но я хотел использовать биты из файла, потому что мне нужно сделать это в другом проекте.

Результаты теста

Извлечение энтропии провалило 47 из 151 теста с использованием 128 МБ данных. Пять других тестов сообщили об отклонениях от «слегка подозрительных» до «очень подозрительных». п-значения 10-16 и меньше. Большинство из п-значения были меньше, чем может быть представлено 64-битным числом с плавающей запятой. PractRand должен использовать расширенную точность, чтобы сообщать, насколько малы некоторые из п-значения

Чтобы убедиться, что тестовые сбои произошли не из-за какой-то аномалии с передачей файла в RNG_test Я повторил свою процедуру, используя вывод генератора PCG Мелиссы О’Нил. Все испытания прошли без аномалий.

Подробнее о генерации случайных чисел


0 Comments

Ваш адрес email не будет опубликован. Обязательные поля помечены *