- •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 Испытание варианта случайных отклонений
3.12 Серийный тест
(Обобщенный) серийный тест представляет собой совокупность процедур, основанных на проверке равномерности распределения битовых комбинаций данной длины.
В частности, пусть i1,…im - вектор из 0 и 1 длины т, последовательно принимающий все возможные 2m значений, v i1,…im - частота комбинации ( i1,…im) в
«закольцованной» битовой строке ()-Далее вычисляется
Таким образом, - это статистика типа x2, но считать, что , имеет распределение x2 - это распространенная ошибка. В действительности частоты v i1,…im; , не независимы.
Соответствующие обобщенные серийные статистики для тестирования случайности (Kimberley (1987), Knuth, D. Е. (1998), Menezes, van Oorschot and Vanstone, (1997)) имеют вид
(Здесь =0.) Тогда, имеет распределение x2 с 2m-1 степенями свободы, а имеет распределение x2 с 2m-2 степенями свободы. Следовательно, для малых значений m, m можно найти соответствующие значения P-value по стандартным формулам.
Результат вычисления и подсчета частот неправильно указан в Menezes, van Oorschot and Vanstone (1997) на стр. 181, формула (5.2): +1 следует заменить на -1.
Сходимость к распределению x2 была доказана в Good (1953).
Ссылки по тесту
[11 1.1. Good (1953), "The serial test for sampling numbers and other tests for randomness,"
Proc. Cambridge Philos. Soc.. 47. pp. 276-284,
[21 M. Kimberley (1987), comparison of two statistical tests for keystream sequences,"
Electronics Letters. 23, pp. 365-366.
[31 D. E. Knuth (1998), The Art of Computer Programming. Vol. 2, 3rd ed. Reading; Addison-
Wesley, Inc., pp. 61-80.
[41 A. .1. Menezes, P. C. van Oorschot, and S. A. Vanstone (1997), Handbook of Applied
Cryptography. BocaRaton, FL: CRC Press, p. 181.
2.13 Тест аппроксимация энтропии
2.13.1 Цель теста
Как и в предыдущем тесте Секции 2.12, основой этого теста является частотой всех возможных, перекрывающих m-элементных промежутков формируют целую последовательность. Цель теста сравнить частоту перекрытия блоков двух смежных длин против ожидаемого результата для произвольной последовательности.
2.13.2 Вызов функции
ApproximateEntropy (m,n), где
m длина каждого блока, в выбранном случае в m мы подставим первоначальную длину блока, m+1 начало второго блока, n общая длина последовательности. Дополнительно вводится и используется функция, которая вставляется в код теста.
последовательность элементов сгенерированных для тестирования RNG или PRNG, эта глобальная структура созданная к моменту начала вызова функции.
2.13.3 Тестирование статистического и эталонного распределения.
X2 (obs): По мере того как будет изменяться аргумент АрЕn(m) (шаг в секции 2.13.4) мы получаем оценку ожидаемой величины. Описание распределения для статистики теста является распределение x2.
2.13.4 Описание теста.
Аргументы:
1) N битная последовательность и созданные n возможных m-битных последовательностей, которые начинаются с m-ного элемента и дополняются последующими m-1 элементами, в случае, если достигнут конец последовательности, элементы выбираются с начала последовательности.
Например, если е = 0100110101 и m = 3, тогда n = 10. Добавляем ноль или единицу сначала до конца последовательности. Получаем последовательность для теста 010011010101. (Для каждого значения m.)
2) Частота вхождения п возможных блоков (например, если блок включенный в промежуток от еj до ej+m-i сопоставляется времени j, тогда блок от еj+1 до ej+m-i сопоставляются времени j+1). Пусть счетчик возможных m битных (m+1 битных) последовательностей будет представлен как Сmi, где i значение m бита.
Например для этой последовательности, возможны n блоков (для m=3) 070, 700, 007, 077, 770, 707, 070, 707, 070, и 707, Подсчет вхождений для 2m= 2з =8 возможных m-битных строк определен следующим образом:
#000 = 0, #001 = 7, #010 - 3, #011 = 7, #100 = 7, #101 = 3, #110 - 7, #111 = 0
3) Рассчитаем Cmi=#l/n для каждого значения i. Как пример для этой секции
Для примера в этой секции,
5) Повторим шаги 1-4, поменяем m на m+1.
Шаг 1: Для рассматриваемой секции, m на данный момент 4, последовательность для теста 0100110101010.
Шаг 2: Возможные блоки 0100, 1001, ОО11, О11О, 1101, 1010, 0101, 1010, 0101, 1010. Подсчет вхождений: #0011 = 1, #0100 = 1. #0101 = 2, #0110 =1,#1001 =1, #1010=3, #1101 = 1, и О для всех остальных.
6) Рассчитаем статистику . теста x2 = 2n[log 2 - ApEn(m)], где
ApEn(m)=
Для этой секции
АрЕn(З) = -1.643418-(-1.834372) = 0.190954
X2 - 2-10(0.693147-0.190954) = 0.502193
7) Рассчитаем значение Р = igamc (2m-1,)
Для этой секции значение Р = igamc(22,) = 0.261961.
2.13.5. Правило решения (от 1%)
Если полученное значение Р<0.01, тогда последовательность не случайная, иначе-случайная.
2.13.6. Исследование и интерпретация результатов теста
Значение Р, полученное после выполнения шага 7 из Секции 2.13.4
0,01 (Р= 0.261961), следовательно, последовательность случайна.
Малое значение АрЕп(т) должно подразумевать более сильную
закономерность (смотри шаг 6 с Секции 2.13.4). Большие значения должны
подразумевать (надежные) колебания и нерегулярность.
2.13.7. Рекомендуемая водимая размерность.
Выбор тип рекомендуется m [log2 n] - 2.
2.13.8. Пример.
Введено:
=
1100100100001111110110101010001000100001011010001100001000110100110 001001100011001100010100010111000
m=2; n=100;
вычислено
АрЕn(m) =0.665393
X2(obs) =5.550792
P= 0.235301
Выводы
Так как Р >0.01, допустим что последовательность случайная.
3.13. Тест аппроксимации энтропии.
Характеристики аппроксимации энтропии основываются на повторении образцов строк. Если Yi(m)=(). определим
где Сmi- относительная частота вхождений образцов Yi(m) в строке, и Ф(m)
энтропия эмпирического распределения, возникающего в наборе всех возможных (2m) образцов длины m.
Аппроксимация энтропии АрЕn для порядка m, m 1 определим как
АрЕn (n) = , где АрЕп (0) = -Ф(-1) .
«АрЕn(m) мера логарифм частоты с блоком длинной m тот закрыт вместе оставаться закрыт вместе для блока расширенного на одну позицию. Таким образом, малое значение АрЕn(m) должно подразумевать более сильную закономерность, неизменность последовательности. Напротив, большие значения должны подразумевать (надежные) колебания и нерегулярность. (Pincus and Singer, 1996, p. 2083).
Pincus и Kalman (1997) определили что последовательность будет m-нерегулярна, (m-случайна) если аппроксимация энтропии АрЕn(m) будет больше вероятного(возможного значения). Они оценили качество АрЕn(тm, m=0,1,2 для бинарных и десятичных расширений (наборов ?) для для случайных последовательностей, где демонстрация для более нерегулярна нежели для.
Для фиксированных блоков длинной m, должна существовать достаточно длинная нерегулярная строка, ApEn(m)log2. Предельное распределение для n[log2 - АрЕn(m)] совпадает с x2 -случайным значением с 2m степенями свободы. Этот факт составляет основу статистического теста и был доказан (открыт ?) Rukhin (2000)
Таким образом x2 (obs) = n[log 2 - ApEn(m)], определяет
P=igamc(2m-1,x2(obs)/2).
Актуально что, предельное распределение аппроксимации энтропии может использоваться для модификации определения как
Определим изменение аппроксимации энтропии как
По Jensen's изменение для любых m, принимая во
внимание возможность . Следовательно, наибольшее возможное значение для изменения энтропии log s, достигается при n=sm, и распределение всех m образцов одинаково (равно). Когда рассчитаем аппроксимацию энтропии для нескольких значений m, это будет достаточно для получения суммы всех частот для т-шаблонов равных n.
Когда п велико, тогда АрЕn(m) и измененная версия не очень отличается
Действительно
для постоянных m, ф(m) , должно быть закрыто (сходиться ?) для больших
п. Следовательно, аппроксимация энтропии по Pincus' и измененная версия
должны сходиться (быть закрыты), и их асимптотические распределения
должны совпадать.
Справочная информация для теста.
[1] S. Pincus and В. Н. Singer, VRandomness and degrees of irregularity, "Proc.
Natl. Acad. Sci. USA. Vol. 93, March 1996, pp. 2083-2088.
[2] S. Pincus and R. E. Kalman, \Not all (possibly) \random" sequences are created
equal," Proc. Natl. Acad. Sci. USA. Vol. 94, April 1997, pp. 3513-3518.
[3] A. Rukhin (2000), \Approximate entropy for testing randomness," Journal of
Applied Probability. Vol. 37, 2000.