Рейтинг:1

Рекомендация размера ввода последовательности для каждого теста в NIST SP 800-22

флаг de

Я использую NIST SP 800-22 для оценки производительности генератора случайных чисел.

Всего NIST SP 800-22 содержит 15 тестов.В каждом тесте есть рекомендация по размеру тестируемой последовательности. Например, в тесте дискретного преобразования Фурье (спектральном): «Рекомендуется, чтобы каждая тестируемая последовательность состояла как минимум из 1000 битов (т. е. n ≤ 1000)». Это означает, что размер каждой тестируемой последовательности должен быть больше 1000.

Итак, я выбрал n = 1,000,000 бит и количество битовых потоков = 100. После запуска теста дискретного преобразования Фурье (спектрального) я получаю неудачный результат (соотношение: 95/100).

Однако, когда я выбрал n = 100,000 бит и количество битовых потоков = 100. После запуска теста дискретного преобразования Фурье (спектрального) я получаю положительный результат (соотношение: 96/100).

Итак, какое значение н я должен выбрать? Чтобы подтвердить, что Генератор случайных чисел проходит тест дискретного преобразования Фурье (спектральный), всегда ли Генератор случайных чисел проходит тест со всеми значениями n ≤ 1000?

Спасибо

флаг de
Извините, не могли бы вы более подробно объяснить свой вопрос?
Paul Uszak avatar
флаг cn
Вы не можете определенно сказать много о неудачном тесте неизвестного ГСЧ. Выполните тест на `/dev/urandom` и посмотрите, являются ли это параметрами теста или реализацией NIST. Они не хорошие кодеры. Какой именно у вас ГСЧ?
флаг de
Я думаю, что NIST SP800-22 не заботится о том, какой ГСЧ используется, он заботится только о случайной последовательности битов, которая вводится для программы NIST SP800-22. Мой генератор случайных чисел - это TRNG.
Paul Uszak avatar
флаг cn
Я хочу сказать, что если RND нехороший (плохой), то тест всегда должен терпеть неудачу. Иначе зачем вы его тестируете? URAND довольно плохо проваливает эти тесты. Это один из встроенных или ваш собственный?
флаг de
Я разрабатываю TRNG и хочу оценить его работу. Я увидел, что NIST SP может это сделать, поэтому я сгенерировал данные из своего TRNG и запустил NIST SP, чтобы проверить производительность.
Paul Uszak avatar
флаг cn
Ах! Хорошо сделано с созданием TRNG. Это проходит `ent`?
флаг de
Простите, а что значит "энт"? И я спрашиваю о NIST SP: «какое значение n я должен выбрать? Чтобы подтвердить, что генератор случайных чисел проходит тест дискретного преобразования Фурье (спектральный), всегда ли генератор случайных чисел проходит со всеми значениями n â ¥ 1000 "
Paul Uszak avatar
флаг cn
Так.............?
Рейтинг:0
флаг cn

1250 бит x 10 потоков работает:

    --------------------------------------------- ----------------------------
РЕЗУЛЬТАТЫ ДЛЯ ОДНОРОДНОСТИ P-ЗНАЧЕНИЙ И ДОЛИ ПРОХОДЯЩИХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
--------------------------------------------- ----------------------------
   генератор <Блюм-Блюм-Шуб>
--------------------------------------------- ----------------------------
 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 ПРОПОРЦИЯ P-ЗНАЧЕНИЯ СТАТИСТИЧЕСКИЙ ТЕСТ
--------------------------------------------- ----------------------------
  0 0 2 2 2 1 1 2 0 0 0,534146 10/10 БПФ


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

как выше очень хороший проход.

Предполагая, что ваш ГСЧ хорош, простое выполнение БПФ не дает окончательного результата. Вы часто получаете отдельные неудачные тесты, поскольку случайность надоедает, особенно когда размер выборки становится меньше.Случайность во многом зависит от размера выборки. Вот почему наборы тестов содержат большое количество очень простых и очень сложных тестов. Так что нет "Генератор случайных чисел всегда проходит (sic) со всеми значениями n ¥ 1000".

Я бы также с осторожностью относился к 100 битовым потокам. Опять же, исходя из опыта, 10 кажется хорошим количеством и позволяет определить приличное значение p. Вы столкнетесь с убывающей отдачей после >> 10 битовых потоков. Итак, сделайте 10 битовых потоков по 1 000 000 бит каждый (всего 1,25 МБ), чтобы запустить все тесты. Вы не получите никаких значений p для тестов RandomExcursions(Variant), но вы получите указание на успех по проценту прохождения.

Но прежде всего, если вы разработали свой собственный TRNG (и, предположительно, экстрактор случайности), запустите энт. Это якобы самый надежный тест на случайность. Используйте 500 КБ. Если ваши образцы не работают энт, то ваш TRNG неисправен.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.