Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Румбешт_Уч.пос._для печати.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
11.86 Mб
Скачать

Теоретическая часть

Описание принципов построения шифров гаммирования приведено в разделе 2.3.3. В этом же разделе рассматриваются и базовые примитивы, которые могут использоваться для этих целей. К ним относится линейные конгруэнтные генераторы (ЛКГ) и регистры сдвига с линейной обратной связью (РСЛОС). Строго говоря, эти генераторы не являются криптографическими, поскольку их выход предсказуем, но при соблюдении определенных условий случайная последовательность бит на их выходе выглядит случайно, т.е. удовлетворяет статистическим тестам на случайность.

Американский федеральный стандарт FIPS 140-1 определяет четыре статистических теста на случайность: монобитный тест, блочный тест (покер тест), тест серий, тест длин серий. Для этих тестов, задаются границы для удовлетворительных значений статистических параметров. Отдельная битовая последовательность длиной 20000 бит, получаемая из генератора, поддается каждому из четырех приведенных тестов. Если какой-нибудь тест не пройден, то считается, что генератор не прошел весь комплекс проверок.

Монобитный тест (частотный тест). Суть теста состоит в подсчете количества нулей и единиц на отрезке последовательности определенной длины. Пусть n1 и n2 обозначает число нулей и единиц в последовательности x, соответственно. Если последовательность случайная, то значения n1 и n2 должны удовлетворять условию 9654 < n(n2) < 10346.

Блочный тест (покер – тест). Пусть m положительное целое число такое, что и пусть . Последовательность последовательно разбивается на непересекающиеся подпоследовательности длиной m (m = 2,3,…). Пусть ni будет числом появлений i-го типа последовательности длиной m. Блочный тест определяет, действительно ли последовательности длиной m, появляются приблизительно столько же раз в последовательности x, сколько можно ожидать для случайной последовательности (каждая подпоследовательность – примерно равное число раз). Для применения критерия используется расчет параметра , где m – длина подсчитываемых неперекрывающихся подпоследовательностей (для данного стандарта принято m = 4), ni – количество появлений подпоследовательности i – того типа длины m (для m = 4 существует 2m = 24 = 16 типов подпоследовательностей), k – общее количество неперекрывающихся подпоследовательностей длины m (для данного стандарта k = 20 000 / 4 = 5 000).

Этот параметр имеет распределение, близкое к распределению χ2 с 2m – 1 степенями свободы. Статистика должна удовлетворять условию 1,03 < X3 < 57,4.

Тест серий. Под серией понимается последовательность одинаковых символов, то есть последовательно идущие единицы или нули. Суть теста состоит в том, что на заданной длине последовательности, которая тестируется, осуществляется подсчет серий длиной 1, 2, 3, 4, 5, 6 элементов (серии длиной более чем 6 элементов рассматриваются как серии длиной 6). Если последовательность случайная, то количество серий каждой длины должно находится в интервалах представленных в табл. Л2.1 (с увеличением длины серии на 1 – количество серий уменьшается примерно в 2 раза).

Таблица Л2.1

Интервалы для теста серий

Длина серии

Необходимый интервал

1

2267 – 2733

2

1079 –1421

3

502 – 748

4

223 – 402

5

90 – 223

6

90 – 223

Тест длин серий. Суть теста состоит в проверке максимальной длины серии из одинаковых элементов. Если последовательность случайная, то максимальная длина серии не должна превышать значение 34.