- •2.1 Частотный тест (на монотонность бит)
- •2.1.1 Назначение теста
- •2.1.2 Исходные данные
- •2.1.3 Тестовая статистика и исходное распределение
- •2.2 Частотный тест в пределах блока
- •2.2.3 Тестовая статистика
- •2.2.7 Рекомендуемый размер входной последовательности
- •2.2.8 Пример
- •3.2 Техническое описание
- •2.3 Тест Прогонов (Runs).
- •2.3.1 Цель теста.
- •2.3.2 Вызов функции.
- •2.3.3 Статистика теста и описание ссылок.
- •2.3.4 Описание теста.
- •2.3.5 Правила решения (на уровне 1%)
- •2.3.6 Вывод и интерпритация результатов теста.
- •2.3.7 Вводные рекомендации размера
- •3.3 Тест прогонов
- •2.4 Тест на самую длинную последовательность единиц в блоке
- •2.4.1 Цели теста
- •2.4.2 Вызов функции
- •2.4.3 Статистика теста и начальное распределение
- •2.4.4 Описание теста
- •2.4.6 Заключение и интерпретация результатов теста
- •2.4.8 Пример
- •3.4 Тест на самую длинную последовательность единиц в блоке
- •2.5 Тест ранга бинарной матрицы
- •2.5.Цели теста
- •2.5.2 Вызов функции Rank(n), где:
- •2.5.4 Описание теста
- •2.5.6 Заключения и интерпретация результатов теста
- •2.5.7 Рекомендации по размерам вводимых последовательностей
- •3.5 Тест ранга бинарной матрицы
- •2.7. Испытание на не перекрывание сравнений с шаблонами
- •2.7.7. Цели испытаний.
- •2.7.2. Функции запроса. NonOverlappmgTemplateMatching (м, п)
- •2 7.3. Статистическая проверка и ссылка на распределение.
- •2.7.4. Описание теста.
- •2.7.5. Правила (на уровне 1 %).
- •2.7.6. Заключения и Интерпретация Испытательных Результатов.
- •2.7.8. Пример.
- •3.7. Испытание на не перекрывание сравнений с шаблонами.
- •2.8 Тест "Накладывающегося шаблона соответствия" (Overlapping Template Matching)
- •2.8.2 Вызов функции
- •2.8.3 Статистика теста и рекомендуемое распределение
- •2.8.4 Описание теста
- •2.8.5 Правило для решения(на 1% уровне)
- •2.8.6 Вывод по результатам теста их интерпретация
- •2.9 "Универсальное Статистическое" Тест Mауpepa
- •2.9.1 Цель теста
- •2.9.2 Запрос Функции
- •2.9.3 Проверить Статистический и Сослаться на Распределение
- •2.9.4 Описание теста
- •2.9.5 Правило Решения (на 1%-ом Уровне)
- •2.9.6 Заключение и интерпретация результатов теста
- •2.9.7 Рекомендация входных размеров
- •3.9 "Универсальный статистический" тест Моурера
- •1. Цели теста
- •2. Вызов функции
- •3. Статистика теста и ссылочное распределение
- •4. Описание теста
- •5. Правило 1%
- •6. Интерпретация результатов теста
- •7. Рекомендации входного размера
- •1. Цел и теста
- •2. Вызов функции
- •3. Тестовая статистика
- •4. Описание теста
- •5. Правила решения
- •6. Заключения и интерпретация результатов тестирования
- •7. Рекомендации размера на входе
- •2.11 Тест линейной сложности
- •2.11.3 Статистика Теста и Распределение
- •2.11.4 Описание Теста
- •2.11.6 Вывод и Интерпретация Результатов Теста
- •2.11.7 Рекомендации По Входным Величинам
- •2.11.8 Пример
- •3.11 Тест линейной сложности
- •2.12 Серийный тест
- •2.12.1 Назначение теста
- •2.12.2 Вызов функций
- •2.12.3 Статистика теста и контрольное распределение
- •2.12.4 Описание теста
- •2.12.5 Решающее правило (при 1% уровне допуска)
- •2.12.6 Вывод и интерпретация результатов теста
- •2.12.7 Рекомендации по входным размерам
- •3.12 Серийный тест
- •2.13 Тест аппроксимация энтропии
- •2.13.1 Цель теста
- •2.13.2 Вызов функции
- •2.13.3 Тестирование статистического и эталонного распределения.
- •2.13.4 Описание теста.
- •2.14 Совокупные cyммы (Cusum) тест.
- •2.14.1 Цель теста
- •2.14.2 Вызов функции
- •2.14.3 Статистический тест и относительное распределение
- •2.14.4 Описание теста
- •2.14.5 Правила принятия решений (at the I % Level)
- •2.14.6 Вывод и интерпретация пункта 2.14.5
- •2.14.7 Рекомендации по размеру входной последовательности
- •2.14.8 Пример
- •3.14 Коммулятивные суммы (Cusum) тест
- •2.15 Тест произвольные отклонения.
- •2.15.1 Цель теста
- •2.15.2 Вызов функции
- •2.15.3 Статический тест и распределение ссылок
- •2.15.4 Описание теста
- •Ссылки для теста
- •2.16 Испытание варианта случайных отклонений
- •2.16.1 Цель испытания
- •2.16.3 Статистика испытаний и контрольное распределение
- •2.16.4 Описание
- •3.16 Испытание варианта случайных отклонений
2.2 Частотный тест в пределах блока
2.2.1 Назначение теста
Данный тест рассматривает пропорциональность единиц в пределах М-битных блоков. Назначение данного теста заключается в определении того, является ли частота единиц в М-битном блоке приблизительно равной М/2, как это должно быть согласно предположению о случайности. Для блоков с размером М=1, этот тест вырождается в тест № 1 (Частотный тест (на монотонность бит).
2.2.2 Исходные данные
• М- длина каждого блока
• n — длина последовательности бит.
• = 1, 2, ..., n - последовательность битов, сгенерированная RNG или PRNG
2.2.3 Тестовая статистика
2(obs): мера, показывающая на сколько хорошо исследованная пропорция единиц в данном М-битном блоке соответствует ожидаемой пропорции (½).
Исходное распределение для тестовой статистики - распределение 2.
2.2.4 Описание теста
1. 1. Разбить входную последовательность на N = [n / М] не пересекающихся блоков. Отбросить все неиспользуемые биты.
2. 2. Определить пропорцию i; единиц в каждом М-битном блоке, используя выражение:
3. 3. Рассчитать статистику 2(obs)
4. 4. Рассчитать P-value = igamc(N/2, 2(obs)/2), где igamc - неполная гамма-функция для Q(a, x):
2.2.5 Правило принятия решения (на 1%-ом уровне)
Если вычисленное значение P-value < 0.01, то следует сделать заключение, что последовательность не является случайной. В противном случае, следует сделать заключение, что последовательность случайная.
2.2.6 Заключение и интерпретация результатов теста
В случае, когда P-value мало (<0.01), это указывает на большое отклонение от равных пропорций единиц и нулей, по крайней мере, в одном из блоков.
2.2.7 Рекомендуемый размер входной последовательности
Рекомендуется, чтобы каждая тестируемая последовательность состояла как минимум из 100 битов (то есть, n 100). Учитывая, что nMN, размер блока М должен быть выбран таким образом, чтобы выполнялись следующие условия: М20, М 20,M>0.01n и N < 100.
2.2.8 Пример
(вход) =11001001000011111101101010100010001000010110100011
000010001101001100010011000110011000101000101110 00
(вход) n = 100
(вход) М=10
(обработка) N=10
(обработка) 2 = 7.2
(результат) P-value = 0.706438
(заключение) Поскольку P-value 0.01, последовательность следует принять как случайную.
3.2 Техническое описание
Тест стремится определить локализованные отклонения от идеальной частоты 5% единиц путём декомпозиции тестовой последовательности на некоторое количес1 непересекающихся участков последовательности и применения 2 -теста на гомогенное совпадение эмпирических частот с идеалом ½. Малые значение P-value говорят о больших отклонениях от равных пропорций единиц и нулей как минимум в одном из блоков. Строка, состоящая из 0 и 1 (или, что тоже самое, из -1 и 1) разбита на некотог количество непересекающихся подстрок. Для каждой подстроки рассчитывав пропорция единиц. Статистика хи-квадрат сравнивает эти пропорции для подстрок идеалом ½. Статистика относится к распределению хи-квадрат с количеством степен свободы равным количеству подстрок.
Параметрами теста являются М и N, такие что n = MN, то есть исходная стро разбивается на N подстрок, длины М каждая. Для каждой из этих подстрок, вероятноcть единиц оценивается по наблюдаемой относительной частоте единиц, i, i = I, ...,N. Сумма:
при гипотезе о случайности, имеет распределение хи-квадрат с количеством степеней свободы N. Соответствующее значение P-value:
Ссылки для теста
[1] Nick Maclaren, \Cryptographic Pseudo-random Numbers in Simulation," Cambridge Security Workshop on Fast Software Encryption. Dec. 1993. Cambridge, U.K.: R. Anderson, pp. 185-190.
[2] Donald E. Knuth, The Art of Computer Programming. Vol 2: Seminumerical Algorithms. 3rd ed. Reading, Mass: Addison-Wesley, 1998 (especially
pp. 42-47).
[3] Milton Abramowitz and Irene Stegun, Handbook of Mathematical Functions:
NBS Applied Mathematics Series 55. Washington, D.C.: U.S. Government Printing 0_ce, 1967.