Вычислительные технологии
Том 11, № 6, 2006
ТЕОРЕТИЧЕСКОЕ ИССЛЕДОВАНИЕ СВОЙСТВ СТАТИСТИЧЕСКОГО ТЕСТА "СТОПКА КНИГ"*
А. И. Пестунов
Институт вычислительных технологий СО РАН, Новосибирск, Россия
e-mail: [email protected]
The theoretical investigation of the "Bookstack" test is carrying out in this paper. It is shown that for the wide class of alternative hypothesizes this test can check samples when their size is O(\/S), where S is the length of the alphabet which produces the sample. The sample size becomes the crucial factor when S is rather large. Many other tests, for example chi-square test, are not applicable in such cases because they require samples of the O(S) size.
Введение
В современной информатике широко используются случайные числа: они применяются в криптографии, методах Монте-Карло, численном моделировании и т.д. Как известно, не существует идеально случайных чисел, поэтому на практике используются псевдослучайные. Это числа, порожденные с помощью некоторого датчика. Однако не все последовательности псевдослучайных чисел обладают удовлетворительными статистическими свойствами. Исследовать качество таких последовательностей призваны различные статистические критерии (тесты). Наиболее распространенной задачей критериев является проверка выборки на предмет равномерности распределения, т. е. порождаются ли буквы алфавита равновероятно и независимо или нет.
В [1] предложен новый статистический тест "Стопка книг", эффективность которого исследовалась экспериментально. В частности, с его помощью проверялись датчики, приведенные в [2]. Они были исследованы автором с помощью мощного спектрального теста [3] и прошли его успешно, но тест "Стопка книг" выявил отклонения от случайности в последовательностях чисел, порожденных этими датчиками. Кроме того, с помощью этого теста впервые удалось найти существенные статистические недостатки у блокового шифра MARS с уменьшенным числом раундов [4], а также генераторов псевдослучайных чисел RANDU [5] и RC4 [6].
В настоящей работе приводится теоретическое исследование свойств теста "Стопка книг" и доказывается, что для достаточно широкого класса альтернативных гипотез он позволяет проверять выборки уже при длине порядка л/S, где S — количество слов в алфавите, из которого сделана выборка. Размер выборки становится решающим фактором, когда S очень велико, например, 232 или 264. Именно с такими алфавитами приходится
* Работа выполнена при финансовой поддержке Президентской программы "Ведущие научные школы РФ" (грант № НШ-2314.203.1) и Фонда содействия отечественной науке "Лучшие аспиранты РАН".
© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2006.
сталкиваться в современной криптографии и защите информации. Многие тесты, в частности критерий хи-квадрат, просто неприменимы в подобных случаях, так как размер тестируемой с их помощью выборки должен быть порядка 5\
1. Проверка выборки с помощью теста "Стопка книг"
Тест "Стопка книг" является критерием согласия, поэтому вначале приведем описание такого типа критериев. Пусть имеется выборка X = (х^ х2,... , хм) из алфавита А = |а1, а2,..., а^}. Рассмотрим гипотезу Н0, которая заключается в том, что элементы выборки независимы и
Р(хп = аг) = р0 = 1/Б, п = 1,...,М, г =1,...,Б.
Другими словами, элементы выборки имеют равномерное распределение, т. е. все буквы алфавита порождаются независимо и с равными вероятностями. Под критерием согласия с гипотезой Н0 понимается некоторая функция от выборки п(Х), такая, что
, , \ Н0, т.е. принимаемН0;
— Н0, т.е. отвергаемН0.
Критерии характеризуются прежде всего ошибками первого и второго рода. Ошибка первого рода — это вероятность отвергнуть гипотезу Н0, если она верна. Ошибка второго рода — это вероятность принять гипотезу Н0, если она неверна. Величина (1 — а) называется уровнем значимости критерия, (1 — в) — мощностью.
Теперь опишем тест "Стопка книг" с теми параметрами, которые будут использоваться в доказательстве. Перед тестированием выборки в алфавите А фиксируется произвольный порядок, который меняется после анализа каждого выборочного элемента хп следующим образом: буква хп получает номер 1; номера тех букв, которые были меньше номера этой буквы, увеличиваются на 1; у остальных букв номера не меняются. Формально эту процедуру можно описать так: пусть шп(а) — это номер буквы а £ А после анализа элементов х1, х2,... , хп-1, тогда
(1, если хп = а;
ип(а) + 1, если ип(а) < ип(хп); шп(а), если шп(а) > ^п(хп).
Такая конструкция похожа на стопку книг, если считать, что номер книги совпадает с ее положением в стопке. Книга извлекается из стопки, после чтения кладется наверх, и ее номер становится первым. Книги, которые первоначально были над ней, двигаются вниз, а остальные остаются на месте.
В отличие от многих других тестов, например критерия хи-квадрат, здесь подсчиты-вается не частота встречаемости букв в выборке, а частота встречаемости номеров букв при описанном упорядочивании. Перед тестированием множество всех номеров {1,... , 5} разбивается на две непересекающиеся части: А1 = {1, 2,... , [л/5]} и А2 = {[л/5] +1,... , 5}. Затем по выборке (х1 ,х2,... , хм) подсчитывается и^ — количество номеров ^п(хп), принадлежащих подмножеству А1 , т. е. количество попаданий букв в "верхнюю часть" "стопки книг". Число (М — Ум), очевидно, равно количеству попаданий в "нижнюю часть". Далее вычисляется статистика
х2 = (у, — МР02 + ((М — ) — N(1 - Р,)2), =
ЖР1 N (1 — Р1) ' 1 1 117 '
и если х2 меньше критического уровня х2 1_а, то гипотеза Н0 принимается, иначе — отвергается. Величина х2 1_а— квантиль распределения хи-квадрат уровня значимости (1 — а) с одной степенью свободы. Таким образом, тест "Стопка книг" будет выглядеть так:
\ Но, если х2 < Х1,1-а;
ПЬз (X ) = < и
I — Но, если иначе.
Если Н0 верна, то Р(^га(хга) € А1) = Р1, а Р(^га(хга) € А2) = 1 — Р1, поэтому х2 с ростом N приближается к распределению хи-квадрат с одной степенью свободы. Отсюда следует, что при достаточном объеме выборки (должно быть NP1 > 8 [7]) уровень значимости критерия пьз составляет (1 — а).
2. Описание критерия хи-квадрат
Критерий хи-квадрат является критерием согласия с гипотезой Н0. Для проверки выборки X нужно определить величины гг, означающие, сколько раз встретилась буква аг в выборке. После этого вычисляется статистика
2
(г —
х ^ '
г=1
и критерий хи-квадрат будет выглядеть следующим образом:
^ (ТГ\ I H0, если X2 < Х5-1,1-а;
Пх2 (X ) = < Л —Н°, если иначе.
Здесь Хя~ 1,1-а — это квантиль распределения хи-квадрат уровня значимости (1 — а) с (Б — 1) степенями свободы. Критерий основан на следующем свойстве статистики х2 — с ростом N она сходится к распределению хи-квадрат с (Б — 1) степенями свободы. Однако есть одно существенное требование — для достижения заданного уровня значимости (1 — а) необходим достаточно большой объем выборки. Точнее, должно выполняться соотношение Np0 > 8 [7]. Другие авторы рекомендуют Np0 > 5 или Np0 > 10. В любом случае это означает, что применять критерий можно, если объем выборки пропорционален длине алфавита, т.е. N = О (Б). При работе с современными алгоритмами, например блочными шифрами, размер алфавита может быть более 232, и в этих условиях использование критерия хи-квадрат становится практически невозможным из-за ограниченности времени и памяти. Нетрудно вычислить, что одна выборка, состоящая из 232 4-битных слов, занимает порядка 20 Гбайт.
3. Теоретический анализ теста "Стопка книг"
В этой части будет показано, что для достаточно широкого класса альтернативных гипотез тест "Стопка книг" позволяет проверять выборки на длине, пропорциональной у/Б. Точнее, для того чтобы обеспечить заданные уровень значимости и мощность, необходима выборка размера
Рассмотрим некоторую перестановку индексов £ {1,... , 5}, и соответствующую
ей простую гипотезу Н^) с параметрами 7 и 5. Она заключается в том, что элементы выборки X независимы и
( 1/5(1 + 5), если 1 < г < 7;
Рг = Р(хп = аст(4)) =< 1/5(1 — 5), если 7^ +1 < г < 27;
[ 1 /5, если 275 +1 < г < .
Гипотеза говорит о том, что некоторые буквы выпадают немного чаще, а другие — немного реже. Подобный вариант альтернативной гипотезы использовался, например, в [8]. Теперь определим сложную гипотезу Н7'5 как множество {Н^} со всевозможными перестановками ст(£). Вместо гипотезы —Н0 возьмем ее сужение Н7'5, однако она достаточно обширна: к такому виду можно привести любую гипотезу, говорящую о независимости, но неравновероятности появления букв. Критерий п^ преобразуется к виду
п^(Х)
Но, если х2 < Х1'1-«; Н7'5, иначе.
Теорема. Для любых а и в из интервала (0,1) существует константа С > 0 такая, что при объеме выборки N = С [л/5] ошибки первого и второго рода критерия п^(Х) асимптотически при 5 ^ то не превосходят а и в соответственно. Введем обозначения:
в = г х л . = , 1, если хп £ Вп,
Вп = ,...,Xn-l}, и = <, 0, если хп £Вп,
п
£ {^л/5] + 1,. . . , N},
N
п=[^]+1
Смысл этих величин состоит в следующем: Вп — множество букв, встретившихся среди последних [\/5] элементов выборки; £п — индикатор попадания очередного выборочного значения хп в Вп; — количество таких попаданий после обработки всей выборки. Для доказательства теоремы нам понадобятся три леммы. Лемма 1. Величины и связаны отношением < . Лемма 2. Если 5 ^ то, С' > 1, N = С'[л/5] и верна гипотеза Н7'5, то
Е/>м = (С' — 1)(1 + 2752) + о(1).
п
Лемма 3. Если выполнены условия леммы 1, то < 10(С' — 1). Доказательство. Положим
_ (^JXhГa + 2
С = ^ 2^52 ) +1
и покажем, что это и будет искомая константа. Прямым вычислением нетрудно установить, что С > 11, поэтому для N = С условие NP1 > 8 выполнено. Отсюда заключаем, что если верна гипотеза Н0, то величина х2 имеет распределение хи-квадрат с одной степенью свободы и ошибка первого рода критерия п^, равна а.
Теперь достаточно показать, что если верна гипотеза Н7'5, то
Р(х2 <х2,1-а) <в + 0(1). (1)
Это будет означать, что при таком объеме выборки ошибка критерия второго рода асимптотически при Б ^ то не превосходит в.
Обозначим ^у^а = С + Л/Сх? 1 а. Величину х2 можно преобразовать к виду х2 = (^ — NP1 )2/(NP1(1 — Р1)). Учитывая, что = С[^Б]2/Б, получим
Р(х2 < х1,1-а) < Р(^ < ^1_а). Воспользуемся леммой 1 и продолжим оценку
Р(х2 < х1'1-а) < Р(*С < *£'1_а). (2)
Обозначим А = Е/с — ^СТ 1_а. Используя очевидные преобразования и затем неравенство Чебышева, можно записать
Р(/С < ^1_а) < Р(|Е/С — /с| > А) < ^. Применяя этот результат к (2), имеем
Р(х2 < х1'1_а) < ^. (3)
Воспользуемся леммой 2, подставив значение С вместо С', и вычислим
А= ^Т" + + 0(1)-
Непосредственной подстановкий вместо А и С их значений легко убедиться в том, что 10(С — 1) = в А2 + о(1), поэтому из леммы 3 получим (подставив С вместо С')
^ < в + 0(1).
Применив этот результат к (3), получим (1). □
4. Доказательства лемм 1—3
Доказательство леммы 1. Обозначим через £п индикатор попадания номера буквы хп в "верхнюю часть" "стопки книг", т. е.
£ = . 1, если ^п(хп) € А1; £п = ' 0, если ^п(хп) € А2.
N
Количество таких попаданий ^ равно, очевидно, сумме индикаторов У] £п. Теперь
п=1
пусть Вп — это множество тех букв, номера которых принадлежат А1 после обработки
(х1,... ,хп_ 1), т.е. Вп — это состояние "верхней части" "стопки книг" после обработки (п — 1) элемента выборки. Тогда £п можно представить так:
£п
1, если хп € Вп; 0, если хп € Вп.
Если п > [\/Б], то множество Вп состоит из всех элементов, встретившихся среди (хп_,... , хп-1), т. е. элементов множества Вп, и (так как среди них возможны повторения) из некоторых элементов, встретившихся ранее. Из этих рассуждений можно заключить, что Вп С Вп и £п < £п. Как это было показано ранее, величина Вп аналогично Вп представляется через сумму £п, поэтому //с < ^ . □
Для краткости обозначим К = [\/Б].
Доказательство леммы 2. Истинность Н7 ' 5 означает истинность одной из Нг^, поэтому необходимо рассматривать всевозможные перестановки а(£). Заметим, однако, что в дальнейших выкладках а(£) влияет только на порядок слагаемых в сумме, что, конечно, не отражается на результате. Рассмотрим п € {К + 1,... , N}, так как именно эти индексы фигурируют в определении //с . Применим формулу полной вероятности к определению Вп:
" к
(
Ь=1
Р(хп € Вп)
5
Е
г=1
РгР(хп € Вп|хп = аг) = ^р*Р
г=1
(хп_ ]
аг)
5
г=1
к
1 — Р ( Р| (хп_ = аг)
Л=1
^>(1 — (1 — Рг)К)
г=1
5
г=1
! — | 1 — кр + К(К—1) р2 — К (К — 1><К — 2> р3 + ...
2
6
Из определения гипотезы Нг^ следует, что рг = о(1/Б), значит, предыдущая формула дает
1
Р(хп € Вп) = К ^]р2 + Подставляем сюда значения рг:
г=1
Р(хп € Вп) = ^(1 + 2752) + о 1
К
у/Б;'
Теперь осталось применить эту формулу к определениям /с и £п, воспользоваться тем, что математическое ожидание суммы равно сумме математических ожиданий, и подставить
N = С' К:
с
с
Е/с Е£п Р(хп € Вп) = (С' —1)(1+2752)+о(1).
~,п / Р (хп € Вп)
п=К+1 п=К+1
□
Доказательство леммы 3. По формуле дисперсии суммы случайных величин
N _1 N
Б/>с = (N — К)Б£к+1 + 2^ ^ Ссу(£т,£п).
т=К п=т+1
5
При |т — п| > К события {хп £ Вп} и {хт £ Вт} независимы, так как порождены независимыми случайными величинами, поэтому Cov(£n,£m) = 0 и
N-1 шт(М'т+К+1)
< (N — К)Б|к+1 + 2^ X) |^(£т,|п)|. (4)
т=К п=т+1
Теперь нужно оценить ковариацию и дисперсию из правой части этой формулы. По определению ковариации получаем
^(£т,£п) = Р(|т = 1,|п =1) — Р(|т = 1)Р(|п = 1),
значит,
|^(£т,£п)| < тах{Р(Ст = 1,£п = 1), Р(|т = 1)Р(|п = 1)}. (5)
Учитывая, что
(п—1 т— 1
У {хп = хг} П У {хт = х,}
г=п—К—1 Л=т— К— 1
(п—1 т—1 \ п—1 т—1
[___] [___] {хт } П {хп хг} I < ^^^ ^ ^ Р(хт , хп ^^
г=п—К—1 Л=т—К —1 / г=п—К—1 л'=т—К—1
получаем
Р(Ст = 1,£п = 1) < К тах{Р(хт = х, ,хп = хг)}. (6)
»Л
Поскольку т < п (см. неравенство (4)) и ^ < т (см. вывод формулы (6)), то ^ < п и для оценки Р(хт = ,хп = хг) достаточно рассмотреть три случая.
1. г = т и г = тогда события {хп = хг} и {хт = } независимы. Они порождены независимыми случайными величинами, поэтому Р(хп = хг ,хт = ) = Р(хп = хг)Р(хт = х^-) и из определения гипотезы Н^'5) следует, что
= = ) (1 + 5)2
Р( хп х х т ) < 5 2 .
2. г = т, тогда Р(хп = хг,хт = ) = Р(хп = хт,= хт). Применяем формулу полной вероятности, рассматривая возможные значения т:
Р(хп xm, хт) ^ ^ Р(хт ак)Р(хп ак, ак).
к=1
Величины хп и независимы, поэтому Р(хп = а^, = а^) = Р(хп = а^)Р(= а^) и
Р( = = ) = V" 3 = 1 + 6^52
Р(хп х m, х т) / J 52 .
к=1
3. Случай г = ] аналогичен предыдущему, поэтому формула (6) и эти случаи приводят к тому, что
Р(|п =1,|т =1) = К2 . (7)
Поскольку |Вп| < К и Р(хп = а») < (1 + 5)/5 (следует из определения гипотезы Н^), то
К
Р(хп £ Вп) < ^(1 + 5), (8)
поэтому
P(fn = 1)P(|m =1) < K2 (1+ ^
52 '
значит, из (5), (7) и этой формулы следует, что
|С^(|т,|п)|< К2. (9)
Таким образом, мы оценили ковариацию из формулы (4), и нам осталось оценить О^К+1. Применим определение дисперсии случайной величины и получим Ю£к+1 = Р(£к+1 = 1)(1 — Р(£к+1 = 1)). Используя (8), продолжаем Ю£к+1 < К(1 + 5)/5. Теперь, с помощью (9) оценку для дисперсии (4) можно записать как
(N — К )К г ч (N — К )К3 < ^-(1 + 5) + 2^-(1 + 5)2.
Так как N = С'К, К2 < 5 и 5 < 1, то
< 10(С' — 1). □
Список литературы
[1] Рявко Б.Я., Пестунов А.И. "Стопка книг" как новый статистический тест для случайных чисел // Пробл. передачи информации. 2004. Т. 40, вып. 1. С. 73-78.
[2] L'EcuYER P. Tables of linear congruential generators of different sizes and good lattice structure // Math. of Comp. 1999. Vol. 68. P. 249-260.
[3] Кнут Д.Э. Искусство программирования. Т. 2: Получисленные алгоритмы. М.: Изд. дом "Вильямс", 2000.
[4] Pestunov A. Statistical Analysis of the MARS Block Cipher // Cryptology ePrint Archive. Report 2006/217. 2006. http://eprint.iacr.org/2006/217.
[5] Ryabko B., Monarev V. Using information theory approach for randomness testing // J. of Statistical Planning and Reference. 2005. Vol. 133, N 1. P. 95-110.
[6] Doroshenko S., Ryabko B. The experimental distinguishing attack on RC4 // Cryptology ePrint Archive. Report 2006/070. 2006. http://eprint.iacr.org/2006/070.
[7] Боровков А.А. Математическая статистика. М.: Наука. Гл. ред. физ.-мат. лит., 1984.
[8] Ryabko B., Stognienko V., Shokin Yu. A new test for randomness and its application to some cryptographic problems // J. of Statistical Planning and Reference. 2004. Vol. 123, N 2. P. 365-376.
Поступила в редакцию 18 сентября 2006 г.