Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
116
Добавлен:
19.02.2016
Размер:
1.1 Mб
Скачать

4.2. Статистическое тестирование псп

С учетом изложенного, будем считать последовательность символов некоторого алфавита псевдослучайной в узком смысле, если никакой алгоритм из некоторого набора полиномиальных алгоритмов не может ее отличить от случайной.

Алгоритмы этого набора будем называть тестами (критериями) на случайность, а процесс проверки последовательности – тестированием.

Если тест не смог отличить последовательность от случайной, то будем говорить, что последовательность проходит или выдерживает, данный тест. В противном случае, будем говорить, что тест отклоняет последовательность.

Итак, вопрос о проверке случайности последовательности сводится к вопросу построения соответствующего набора тестов. Для этого вначале необходимо определить принцип их работы, а именно: каким образом тест должен принимать одни последовательности и отклонять другие?

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

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

Эта последовательность не будет типовой с точки зрения появления в РРСП достаточно большой длины существенного дисбаланса между числом единиц и нулей. В тоже время, предпочтительно считать типовой последовательность, у которой количество единиц и нулей отличаются несущественно, поскольку такие последовательности во множестве преобладают.

В дальнейшем, тесты, построенные на свойствах встречаемости элементов последовательности, будем называть частотными, так как они проверяют распределение частот встречаемости и выявляют его отклонение от равновероятного распределения (в т.ч.: критерии , максимального правдоподобия и максимальной частоты).

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

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

Получив результаты тестирования некоторой последовательности, мы делаем вывод о ее происхождении с достаточно большой (но меньшей единицы) вероятностью, которая зависит от параметров теста. С каждым тестом связаны два параметра.

1. – вероятность ошибки 1-го рода – вероятность напрасно отклонить истинно случайную последовательность, т.е. принять гипотезу, в то время как верна гипотеза(можно сказать, напрасно принять). Величина α также называется уровнем значимости теста.

2. – вероятность ошибки 2-го рода – вероятность напрасно принять неслучайную последовательность за случайную, т.е. принять гипотезупри условии, что верна гипотеза.

Уровень значимости задается до начала работы теста, при этом он определяет относительную часть чисто случайных последовательностей, которые не обладают свойствами, наличие которых проверяет тест. Обычно выбирается из практических соображений. Если вероятность поверяемой гипотеза достаточно высока, то уровень значимости выбирается маленьким:.

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

В ходе работы теста, исходя из тестируемой последовательности, вычисляется некоторая величина , называемаястатистикой. Часто тест построен так, что он принимает последовательность, т.е, не отвергает , если, гденазывается пороговым значением статистики. Тест называется двусторонним, если при его проверке используется неравенство вида.

Значение рассчитывается при условии истинности гипотезы. Если, то последовательность отвергается. Вероятность в этом случае напрасно отвергнуть последовательность должна равняться.

Поэтому величина определяется из соотношения, где– функция распределения вероятностей,– уровень значимости теста.

В этом случае график функции разбивается абсциссойна две части так, что при истинной гипотезевероятность появления значений статистики, не превосходящих, равна.

Соответственно, вероятность появленя значений статистики, превосходящих , равна.

Очень часто функция – монотонно возрастающая, поэтому для проверки неравенстваможно сравниватьи.

В этом случае , откуда.

Удобно ввести значение , которое называется-величи-ной. Поскольку– вероятность появления значений статистики, не превышающего, то– вероятность значений статистики, больших, чем.

Итак, на основании результатов теста последовательность считается случайной, если .

Например, для проверки вида распределения тестируемой последовательности можно воспользоваться статистикой :.

Здесь – частота встречаемости символав последовательности знаков шифрованного текста,– длина тестируемой последовательности,– вектор распределения вероятностей символов, соответствующий гипотезе. Статистикаприимеет т.н. распределениеПирсона сстепенями свободы, где. Это распределение табулировано.

При вместообычно используются различные аппроксимации с помощью нормального распределения.

В случае РРСП имеет место . Пусть величина– квантиль уровняраспределениясстепенью свободы, соответствующая уровню значимости, т.е. аналог:.

Если для выборки выполняется неравенство: , то принимается гипотезао случайном характере последовательности, в противном случае – гипотезаотвергается.

Отметим, что согласие экспериментальных данных с гипотезой о наличии у последовательности определенного свойства не свидетельствует о противоречии этих же данных с другой гипотезой.

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

Рассмотрим основные требования к набору тестов. Ясно, что набор должен содержать некоторое минимально необходимое множество тестов, которое определяется будущим применением тестируемых последовательностей и может быть различным в каждом конкретном случае.

Например, набор тестов, рекомендованный Национальным институтом стандартов США – NIST для тестирования двоичных последовательностей [39], включает 16 тестов (в т.ч. тесты: частотный монобитный; частотный блочный; тесты серий и длинных серий единиц; ранга случайной {0,1}-матрицы и др.).

Большинство тестов из набора NIST предназначены для тестирования двоичных последовательностей длиной от , однако некоторые из них могут использоваться для тестирования последовательностей длиной отэлементов (монобитный и блочный частотные тесты, тест серий, тест серий максимальной длины, тест частот-грамм с перекрытием и др.). Можно создать аналоги тестов этого набора для тестирования последовательностей элементов из произвольного алфавита.

Количество тестов в некотором их наборе определяется исходя из так называемой общей ошибки 1-го рода, т.е. той части случайных последовательностей, которые не пройдут хотя бы один из тестов.

Общая ошибка 1-го рода находится для заданных ошибок 1-го рода каждого из тестов при условии их независимости. Если для всех тестов задана одно значение, то вероятность того, что случайная последовательность не пройдет, по крайней мере, один тест из набора равна

, поскольку быстро растет с уменьшением.

Для выбранной величины количество тестов определяется какиз соотношения.

Заметим, что с ростом величинастремится к 1, потому количество тестов не должно быть чрезмерно большим.

Пример. Если в каждом из 16 тестов из набора, рекомендованного NIST, ошибка 1-го рода равна 0.01, то т.е. около 15% чисто случайных последовательностей не пройдет хотя бы один из тестов набора.

Важным фактором «объективного» тестирования, является независимость тестов. Для проверки их независимости используется “эталонных” последовательностей, полученных, например, с использованием физических датчиков случайных чисел. Величинадолжна быть достаточной () для применения критерия независимостивида

, где , а.

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

Необходимо проверить выполнение равенства .

По формуле умножения вероятностей:

.

Итак, для проверки независимости тестов в совокупности нужно проверить независимость -ой пары событий вида.

Для этого на основе «эталонных» последовательностей построим новые 0,1-последовательности,следующим образом.

, ,, гдеравно 1, если последовательностьприходит тест, или нулю, в противном случае.

После этого построим последовательности :

, ,,,,

где операция «» означает умножение элементов последовательностей, расположенных на одинаковых местах.

Далее, применяя раз критерий независимости, проверяем попарную независимость для каждой из следующих пар последовательностей:;; и т.д., до.

По результатам тестирования принимается решение о независимости системы тестов.

Как уже было отмечено, тестированию подлежат:

– криптографические свойства конкретных последовательностей;

– свойства генератора, используемого для создания случайных последова-тельностей.

Для статистики наиболее существенной особенностью любой последовательности является ее длина. На практике отдельно рассматриваются вопросы тестирования последовательностей «большой» и «малой» длины.

Основной причиной дифференцированного подхода к этим двум случаям является тот факт, что свойства случайной последовательности становятся тем более выразительными, чем больше ее длина.

Считается, что минимальная длина последовательности для частотных тестов должна быть в 5-10 раз больше объема алфавита. В таком случае при условии равномерного распределения символов последовательности вероятность того, что каждый символ встретится, по меньшей мере, 1 раз близка к единице.

Действительно, в этих условиях вероятность того, что какой-то символ не встретился ни разу, чрезвычайно мала:

Другие тесты могут предъявлять еще более жесткие требования к длине последовательности.

Поскольку, любая подпоследовательность РРСП также является РРСП, наряду с тестированием всей реализации необходимо тестировать ее разные подпоследовательности.

Эти подпоследовательности должны выбираться с помощью некоторых правил, причем так, чтобы номера мест символов, которые выбираются, не зависели бы от значений самих символов.

Например, не следует выбирать подпоследовательность, которая состоит только из нулей.

Правила выбора подпоследовательностей могут быть следующими:

– каждый -ый элемент исходной последовательности;

– каждый элемент, перед которым встречается некоторая фиксированная комбинация символов;

– элементы, номера мест которых определяются некоторой последо-вательностью, независимой от данной и т.д.

Тестирование генераторов случайных последовательностей (чисел) состоит из двух этапов:

– тестирование достаточного количества () последовательностей с помощью подобранного набора тестов;

– обработка полученных результатов.

Для генератора случайных последовательностей должны выполняться следующие соображения:

– если последовательность испытывается тестом, для которого задан уровень значимости , то с вероятностьюпоследовательность не пройдет этот тест (например, при, в среднем, не пройдет тест 1 из 100 последовательностей);

– выходные последовательности генератора должны иметь равномерное распределение соответствующих им значений .

Методика NIST обработки результатов тестирования генераторов предполагает следующие действия.

1. Вычисление пропорции последовательностей, которые прошли тест.

Пусть было протестировано последовательностей, из нихпрошли тест. Тогда пропорция равняется. Если уровень значимости теста равен, то должно выполняться неравенство:

(4.1)

2. Проверка равномерности распределения - величин.

Подсчитываются числа: – количество- величин, принадлежащих интервалам, где, после чего вычисляется статистика

, определяется значение (4.5, 0,5),

где igams – неполная гамма-функция; вычисляемая по формуле:

, где .

3. Если выполняется неравенство , то- величины считаются равномерно распределенными, а генераторы с указанными свойствами, по терминологии NIST, называютсясанкционированными (approved).

Санкционированный генератор, в зависимости от набора тестов, может быть достаточно хорош для формирования гаммы однократного использования и других криптографических приложений.

Соседние файлы в папке Гулак_по_главам