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

кандидата технических наук
Стогниенко, Владимир Сергеевич
город
Новосибирск
год
2004
специальность ВАК РФ
05.13.18
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка и экспериментальные исследования алгоритмов тестирования случайных чисел и их приложения к некоторым задачам криптографии»

Автореферат диссертации по теме "Разработка и экспериментальные исследования алгоритмов тестирования случайных чисел и их приложения к некоторым задачам криптографии"

РОССИЙСКАЯ АКАДЕМИЯ НАУК СИБИРСКОЕ ОТДЕЛЕНИЕ ИНСТИТУТ ВЫЧИСЛИТЕЛЬНЫХ ТЕХНОЛОГИЙ

На правах рукописи

СТОГНИЕНКО Владимир Сергеевич

РАЗРАБОТКА И ЭКСПЕРИМЕНТАЛЬНЫЕ ИССЛЕДОВАНИЯ АЛГОРИТМОВ ТЕСТИРОВАНИЯ СЛУЧАЙНЫХ ЧИСЕЛ И ИХ ПРИЛОЖЕНИЯ К НЕКОТОРЫМ ЗАДАЧАМ КРИПТОГРАФИИ

05.13.18 — математическое моделирование, численные методы и^

программ

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Новосибирск - 2004

Работа выполнена в Институте вычислительных технологий Сибирского отделения Российской академии наук

Научный руководитель: доктор технических наук,

профессор Б. Я. Рябко Научный консультант: академик РАН Ю.И.Шокин

Официальные оппоненты: доктор технических наук, профессор Блинов Б.С.

кандидат технических наук, доцент Фионов А.Н.

Ведущая организация: Институт вычислительного моделирования СО РАН (г. Красноярск).

Защита состоится "8" сентября 2004 г. в 16.00 на заседании диссертационного совета Д 003.046.01 при Институте вычислительных технологий СО РАИ по адресу: 630090 Новосибирск, проспект Академика Лаврентьева, 6

С диссертацией можно ознакомиться в специализированном читальном зале вычислительной математики и информатики отделения ГПНТБ.

Автореферат разослан "_2_" августа 2004 г.

Ученый секретарь

диссертационного совета

доктор физико-математических наук

Чубаров Л.Б.

МММ

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы*. Случайные и псевдослучайные числа широко используются в различных областях науки и техники. Они очень важны в математическом моделировании, в разработке численных методов, в программировании, криптографии и т. п. И если раньше ученые, нуждающиеся для своей работы в случайных числах, раскладывали карты, бросали кости или вытаскивали шары из урны, которую предварительно "как следует трясли", то сейчас генератор случайных чисел встроен в любой компилятор и процессор компьютера. Например, Intel использует генератор случайных чисел и процессорах со второго полугодия 1999 года. Однако, такие генераторы, как правило, недостаточно надежны для криптографических приложений. На создание удовлетворительных псевдослучайных последовательностей с помощью численных методов затрачена масса усилий. В литературе можно найти множество работ по генераторам псевдослучайных чисел, а также различные тесты па случайность. Тем не менее, проблема получения псевдослучайных чисел и их тестирования все еще актуальна и поэтому находится в центре внимания многих исследователей.

В научно-технической литературе числа, полученные с помощью компьютера, называются псевдослучайными, мы же, в дальнейшем для краткости, будем называть их просто случайными или случайными последовательностями. Каждую последовательность случайных чисел, перед использованием, необходимо тщательно проверить. Для приложений и задач, в которых требуются действительно "качественные" случайные числа, они проверяются специальным набором тестов. Формально генератор псевдослучайных чисел можно считать эффективным, если он проходит все известные статистические тесты. В связи с этим, статистические тесты важны и необходимы, также как и сами генераторы. Более того, генератор случайных чисел может считаться "идеальным" только до тех пор, пока не появится тест, доказывающий обратное и "время жизни" генератора может на этом остановиться.

Необходимо отметить что, по сравнению с другими задачами, криптографические приложения предъявляют к генераторам случайных последовательностей намного более строгие требования, чем, скажем, вычислительные задачи. "Криптографическая" случайность - это не просто статистическая случайность, хотя и включает ее. Чтобы псевдослучайная последовательность была криптографически стойкой, она должна обладать следующими свойствами: генерируемые последовательности проходят все статистические тесты и их символы должны быть непредсказуемы. В то же время, как и любой криптографический алгоритм, генераторы криптографически стойких случайных последовательностей служат объектами "вскрытия" или "взлома". Поэтому, экспериментальные исследования генераторов криптографически стойких случайных последовательностей, разработка эффективных алгоритмов и методов их тестирования, их устойчивость к "взлому", т. с. проверка качества получаемых последовательностей -важная задача криптографии.

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

* Работа кыпплнсил при фпнлнсоной исидсрлке i'ot и [nt: кщ ,i фом !.! i|'\ п ;.ик.'п i .ькных мсс'1сл<ж пши (н.> л.| мросктоп: <W-0l-0058i,. 01-01-00Ш п IN l'/\S-<>0-7IS "Чффсмшшгн: колпроч.ишо исгочшшж информации и

СИП 1Л1ШМС ПрООЖ'Мы".

криптографии (см., например, монографию Б. Шнайера "Прикладная криптография", М., 2002 г.). Решение этой задачи позволяет определить сам факт передачи по сетям связи (или хранения в информационных базах данных) зашифрованных текстов и, в силу этого, представляет несомненный интерес для разработчиков и исследователей систем защиты информации. Вместе с тем, трудность заключается в том, что современные шифры должны преобразовывать данные в последовательности, неотличимые от случайных настолько, насколько это возможно. Причем это одно из главных требований, предъявляемых к современным блоковым шифрам, -неотличимость зашифрованной последовательности от случайной, даже тогда, когда шифруемые данные заведомо не случайны. В частности, если на вход алгоритма шифрования подается текст на естественном языке, то на выходе он должен выглядеть как случайная последовательность. Заметим, что это условие предъявлялось Национальным институтом стандартов и технологии США (NIST) к блоковому шифру при организации конкурса на блоковый шифр 21-го века.

Как известно, для создания и хранения текстовой информации используются различные цифровые форматы (такие как "txt", "tex", "html", "doc", rtf, "pdf'). В связи с этим, возникает вопрос о зависимости результата шифрования текста от формата, в котором он был представлен. Решение этой задачи представляет несомненный интерес для практической криптографии, разработчиков и исследователей систем защиты информации. Поэтому исследование влияния исходного формата шифруемых данных на возможность их различения в зашифрованном виде от случайных последовательностей важно с практической точки зрения.

Генерация "истинно" случайных чисел - одна из главных проблем возникающих при реализации любой криптосистемы. Огромное количество приложений уязвимо из-за предсказуемости генерируемых чисел. Дж. Клейнен в 1978 году приходит к выводу, что "все еще нет высококачественного генератора псевдослучайных чисел". Известные специалисты Льюис Кэрролл и Д. Марсалья указывают: "Многие широко распространенные генераторы фактически непригодны". Предостережение о распространенности плохих генераторов делает также И.М.Соболь. Вместе с тем, любое тестирование генераторов криптографически стойких случайных последовательностей остается частичным. Поэтому Ермаков С. М. и Михайлов Г. А. отмечают, что кроме специального статистического тестирования "... чрезвычайно важна проверка с помощью решения типовых задач, допускающих независимую оценку результатов аналитическими или численными методами. Можно сказать, что представление о надежности псевдослучайных чисел создается в процессе их использования с тщательной проверкой результатов всегда, когда это возможно".

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

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

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

3. Экспериментальное исследование влияния формы представления данных на возможность их различения в зашифрованном виде.

Методы исследования. В работе были использованы вычислительные эксперименты на ЭВМ, моделирование, математическая статистика и теория построения эффективных алгоритмов и программ.

Научная попита результатов работы. В диссертации получены следующие новые результаты:

1. Проведены экспериментальные исследования нового статистического критерия — "адаптивный критерий х2". показана целесообразность его применения для статистической проверки случайных последовательностей и даны практические рекомендации по его применению.

2. Предложен эффективный алгоритм статистической проверки "качества" криптографически СГОИКИХ псевдослучайных последовательностей с помощью разработанного комплекса программ.

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

4. Исследовано влияние формата цифровых текстов (txt, rtf, doc, pdf) и их предварительного сжатия на возможность различения в зашифрованном виде на русском, английском и итальянском языках.

Практическая ценность.

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

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

3. Исследовано влияние формата цифровых текстов на естественных языках на возможность их различения в зашифрованном виде.

Связь с государственными программами. Работа выполнена в рамках проектов № 99-01-00586, № 03-01-00495 поддержанных РФФИ и INTAS-00-738 "Эффективное кодирование источников информации и связанные проблемы"»

Апробация работы. Основные результаты диссертации докладывались на международных научных мероприятиях: международная конференция по теории информации ISIT-2003 (Yokohama, Japan, 2003), Китайско-российский форум молодых ученых в Пекине - 2003 г. (Пекин, НаньЦзин, У си, Шан Хай, Китай, 2003), международная конференция Вычислительные технологии и математическое моделирование в науке, технике и образовании ВТММ-2002 (Алматы, Казахстан, 2002), Четвертое международное совещание по электронным публикациям El-Pub-99 (Новосибирск, 1999), а также на объединенных семинарах института вычислительных технологий СО РАН, кафедры математического моделирования НГУ, кафедры вычислительных технологий НГТУ.

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

Публикации. По теме диссертации автором опупликовано 6 paбот.

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

Объем и структура диссертации. Диссертационная работа изложена на 119 страницах и состоит из введения, трех глав и заключения. Иллюстрационный материал включает 10 рисунков. Список литературы состоит из 43 наименований.

СОДЕРЖАНИЕ РАГСОТЫ

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

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

Критерий хи-квадрат (х2) один из наиболее популярных тестов проверки гипотез, который широко применяется в экономике, биологии, криптографии и многих других областях. Например, критерий хи-квадрат используется для проверки генераторов случайных чисел и пригодности блоковых шифров для использования их как генераторов случайных чисел. В таких прикладных программах число категорий (и, следовательно, число степеней свободы у} распределения) очень большое и, таким образом, объем выборки должен быть также большим. Значит, в этом случае, вычисления статистики хи-квадрат требуют много времени. Кроме того, часто практически трудно получить такие большие выборки и не может применяться.

Предлагается новый метод, который назван адаптивный критерий хи-квадрат. Покачано, что новый критерий применим, когда объем выборки намного меньше, чем это требуется для обычного критерия хи-квадрат. Остановимся кратко на основной идее метода. Пусть существует гипотеза Но, которая утверждает, что символы из некоторого алфавита А - {<?!, аг, ..., к > 2, распределены равномерно (т.е.

против альтернативной гипотезы что истинное

распределение неравномерно. Пусть дана выборка, которая может быть использована для проверки. Выборка делится на две части, которые называются обучающей и контрольной (проверочной). Обучающая выборка используется для оценки частоты встречаемости символов (букв). После этого буквы алфавита А объединяются в подмножества (классы) таким способом, что во-первых, в один класс группируются символы с близкими (или равными) частотами встречаемости и, во-вторых, л1 гораздо меньше чем к (скажем. Затем, классы рассматриваются как новый алфавит

и новая гипотеза й, , Р{л2)= \лг\/к.... п {л,) - (л, \/к и альтернативная

гипотеза, которая является отрицанием /70. проверяется на второй (контрольной) части выборки. Очевидно, если На истинно, тогда /?0 также истинно и, если /?, истинно, тогда /Л истинно. Именно поэтому новый тест может быть использован для проверки первоначальных и Ч\. Идея такой схемы довольно проста. Еслиистина, тогда есть символы с относительно большими и относительно малыми вероятностями. Вообще говоря, высоковероятные символы будут иметь относительно большие частоты встречаемости и будут накоплены в некоторых классах тогда как низко вероятные символы будут накоплены в других классах. Именно поэтому, это отличие может быть найдено по проверочной выборке. Важно отметить, что уменьшение числа категорий от до меньшего может существенно увеличить мощность критерия и, поэтому, может

существенно уменьшить задаваемый объем выборки. Более точно, показано, что объем выборки, может быть уменьшен в Л раз, что может быть важно, когда k большое.

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

В 1994 году впервые появилось описание алгоритма шифрования RC5, а в 1998 г. -алгоритма RC6. Параграф 2.1 посвящен исследованию криптографических алгоритмов RC5 и RC6 как датчиков случайных чисел. По сравнению с традиционными алгоритмами датчиков псевдослучайных чисел эти криптографические алгоритмы обладают многими достоинствами, одним из которых является очень высокое быстродействие. Авторы алгоритмов рекомендовали их для генерации последовательностей случайных чисел. Однако на время проведения экспериментальных исследований каких-либо статистических данных по исследованию или применению генераторов псевдослучайных чисел основанных на этих алгоритмах мы не нашли. Таким образом, экспериментальные исследования решали задачу статистического анализа генераторов псевдослучайных чисел, базирующихся на криптографических алгоритмах шифрования RC5, RC6 и разработки рекомендаций по их применению. Для исследований использовался критерий Пирсона являющийся одним из самых распространенных и эффективных тестов.

На основании проведенных экспериментальных исследований был сделан вывод о том, что алгоритмы шифрования RC5 и RC6 можно использовать в качестве генераторов псевдослучайных чисел. Однако, полученные результаты тестирования показали, что для RC5 требуется специальный алгоритм входных данных, при реализации которого значительно улучшаются его статистические свойства. Временные характеристики алгоритма RC5 уступают характеристикам алгоритма RC6. С помощью RC6 можно получить последовательность случайных чисел значительно большей длины, чем с помощью алгоритма RC5 (период последовательности 2т против 2а). Выходная последовательность при одном обращении к алгоритму для RC6 (128 бит) в два раза больше, чем для RC5. Учитывая вышесказанное, мы рекомендовали для получения последовательности случайных чисел в качестве генератора использовать криптографический алгоритм шифрования RC6 (с количеством раундов г = 6 или г = 11).

Для реализации алгоритма шифрования RC6 в качестве генератора псевдослучайных чисел на языке Java предлагается RC6Key.class на hUp://cins.ict.nsc.nl/Class/RC6Kcv.cUiss. Для возможности реализации рассматриваемых криптографических алгоритмов шифрования на других языках программирования, в конце параграфа дано их полное описание, включая алгоритм расширения ключа.

В параграфе 2.2 рассматриваются исследования криптографических алгоритмов, победителя и финалистов.конкурса на блоковый "шифр 21-го века", проведенного NIST (США) в 1999-2001 г.г., AFS, RC6 и MARS с помощью нового статистического метода -адаптивный критерии

Экспериментальные исследования эффективности генераторов псевдослучайных чисел, проведенные с алгоритмами шифрования RC5 и RC6 (см. параграф 2.1), покачали неплохие результаты. Однако эти исследования были ограничены длиной слона (пли блока) в 26 бит, что связано с требованиями, для критерии на длину проверяемой последовательности и доступными вычислительными ресурсами. Новый статистический критерий - адаптивный критерии х" позволяет, довольно существенно, СНИЗИТЬ ограничения на выбранную длину слона и улучшить качество проверки случайной

последовательности. Расчет минимально необходимой длины проверяемой последовательности для адаптивного критерия у} проводится по формуле (1).

ще N - длина проверяемой последовательности в байтах, b -длина выбираемого слона в битах, к - коэффициент отношения обучающей выборки от N. Например, для традиционного критерия х2 ПРИ тридцати двух битной выборки, необходимая минимальная длина проверяемой последовательности 85899345920 байт, а для адаптивного критерия у^ - 1172308 бант (где к = уС^ ).

В данном нарафафе представлены результаты экспериментальных исследовании датчиков псевдослучайных чисел созданных с помощью криптографических алгоритмов A11S, RC6 и MARS. Испытания полученных псевдослучайных последовательностей проводились на длинах слов (буки) b = (8, 16, 24, 32, 40, 48} бит. Па первом, подготовительном этапе, с "CDROM-a случайных чисел" ("The Maisaglia Random Number CDROM"), созданного профессором университета Флориды Д. Марсалья (George Marsaglia), были произвольно выбраны сто 128 битных "случайных" ключей. Подготовленный комплекс программ реализации алгоритмов шифрования ARS, Mars и RC6 использовался для получения последовательностей случайных чисел необходимых в исследовании. Для каждого создаваемого файла использовался один из последовательно выбираемых подготовленных 128 битных "случайных" ключей и на вход, текущего в данный момент алгоритма шифрования, подавались числа у,- = {0, 1, ..., «}. На выходе алгоритма мы получали файл размерностью 460 мегабайт. Таким образом, для исследования было подготовлено 300 файлов или но 100 зашифрованных последовательностей для каждого выбранного алгоритма шифрования.

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

Обучение. По заданной для испытания длине файла N байт (р, к и N являются параметрами программы) определяется, удовлетворяет ли она условию (1). Через заданное M определяем количество слов (здесь, под словом будем понимать битовую последовательность Integer, если 6 <32 и Double, если Ь>32) входящих заданную последовательность L = N/{*>(%), где w = 64 для в ы б о £ ЗсЗЙ и w = 32 для выборки h <32. Затем, через вычисленное количество слов L находим длину обучающей Le и контрольной ¿¿тетей в словах по формуле.

Lc =Z.x(l-/t)

Создаются две одномерные таблицы Т и Ys размерностью / вычисляемой с помощью найденных значений Le и Lc по формуле (2). Величина I будет равна максимально возможному числу букв (здесь и далее в этом параграфе, под (жквой будем понимать битовую последовательность равную H битам из алфавита 2 букв), для заданной размерности бит, из наибольшей заданной обучающей или контрольной последовательное га. ^ ^ ^

В ячейки таблицы T из обучающей части заданного для проверки

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

прохождения mh для оптимизации дальнейшей обработки данных из Г в алгоритме используется сортировка Шелла. >

По результатам обработки обучающей части подготавливается таблица Ку, которая будет использования в контрольной части. Дня этого из таблицы Г последовательно выбирается по одной букве и, если она ранее не встречалось, ее значение заноситься в первую же свободную ячейку Ys. Таким образом, в таблице Ys будут накоплены буквы (буквы в таблице будут располагаться по возрастанию), попавшие в обучающую область т,.

Ппопсрки. Для контрольной части алгоритма используется вторая половина исходной последовательности л, = (v, (1,.v, ,г.—х, }. таблица Ти, подготовленная па этапе обучения, таблица Ys. И ячейки таблицы Т из контрольной части п, = |лЛ ,,,....х, },

заданного для проверки файла, последовательно выбираются буквы заданной размерностью выборки h бит. Дня оптимизации дальнейшей обработки данных в алгоритме используется сортировка Шелла букв в таблице Т .

Дополнительно создаются две таблицы Уи Р с размерностью 2 - равной количеству создаваемых новых классов. Из подготовленной таблицы Г последовательно выбираются буквы, полученные из контрольной части исходной последовательности, и сравниваются с буквами, попавшими в обучающую часп.. Если в таблице Ks будет найдена буква равная выбранной, увеличивается количество попаданий из контрольной выборки во второй класс ('[2]= К[2]+1, в противном случае,увеличивается счетчик K[l] = F[l]+l для первого класса.

Подечитывастся общее количество строк (ячеек) с буквами в таблице Ys и полученный результат ncwlndex заносится в таблицу /'[2] = ncwlndex. Первая ячейка таблицы /'[l] будет содержать разницу между максимально возможным появлением числа букв для выборки h и реально встретившимися в обучающей части (m,) P[ï] = 2h-P[2],

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

■ (3)

t! пР,

где Vi количество элементов, попавших в / класс; я - общее количество букв в выборке щ (Ki Vi); Р/- вероятность попадания в / класс результата испытаний по контрольной части (/', - количество букв, относящихся к "/" классу, деленное на 2Ь), с - количество выбранных классов.

При большой исходной выборке (Л) и малой длине Ь разноси. может

равняться нулю. Это означает, что в обучающей области встретились все возможные значения букв из области {0, 1, .... 2h - 1}. В этом случае используется алгоритм с тремя классами (причем алгоритм с тремя классами может быть использован и для первого варианта, когда Ь большое, а 21' - /'[2] > 0 ). Дне таблицы V и Р создаются с размерностью равной 3 - количеству создаваемых новых классов и дополнительная таблица Yh размерностью ncwhulcx. После обучающей части, алгоритм которой не меняется, ; выполняется дополнительная процедура создания классов - "Dispersion".

11аходнм максимальное Мах н минимальное Min значение выбранных по обучающей области букв из }'v, после чего, вычисляется дисперсия D необходимая для создания адовых классов но формуле, выбранной после многочисленных гжепериментоп. ■}}= Min + (Mtix - Min) }. (Па самом деле алгори тмов определения дисперсии может бы ть

Ч

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

Из созданной на этапе обучения таблицы Ку последовательно выбираются буквы и помечаются, к какому классу они относятся. Если значение в ячейки таблицы Kv меньше или равно найденному значению D, в идентичную ячейку таблицы Yb заносится единица, признак отношения к первому классу, а счетчик отношения для данного класса в таблице /' увеличивается на единицу /J[t] = /'[1] + 1. Все выбранные значения из Kv, удовлетворяющие неравенству D < K\fiJ < D + (Мах - М'л)/3, будут отнесены ко второму классу (в идентичные ячейки таблицы Yb заносится 2 и счетчик для данного класса в таблице Р увеличивается на единицу 1'[2] = />[21 + 1 для каждого события). Значения из Kv, для которых неравенство Ys[i]> D + (Max-Min)/3 является истиной, помечаются как имеющие отношение к третьему классу (в идентичные ячейки Yb заносится 3 и /'[3] = /'[3J + 1 для каждого случая).

После обработки всей таблицы значений Т но полученным результатам (выборки из ni) оцениваются частоты попаданий букв (таблица V) для контрольной части и подсчитывастся величина у? (3) для трех классов. Где V, количество элементов, попавших в / класс; п - общее количество букв в выборке п, (К| + V2 f К3); Pt - вероятность попадания в i класс результата испытаний по контрольной части (/",• - количество букв, относящихся к "(" классу, деленное на 2Ь).

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

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

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

В параграфе 3.1 предлагается и исследуется один из первых результативных вариантов алгоритма, позволяющий достаточно надежно различать зашифрованные тексты иа русском, английском и итальянском языках, в формате данных "txl", от случайных последовательностей для длин выборки N = {512000, 1024000, 2048000} байт. Конструкция предлагаемого алгоритма базируется на двух этапном подходе. Сначала исследуемая последовательность разбивается на (под)слова по 24 бита, что соответствует алфавиту А = {ai, ..., ai), где к = 2м, которая затем делится на две равные части «i, = и и, = i - обучающую и контрольную. По

результатам прохождения всей обучающей выборки m, = \x,,x2,...,xNалфавит из 224 букв разбивается на три класса ((нод)алфавита), содержащих буквы с частотами встречаемости, оцененными но обучающей части. Для этого в таблицу Т размерностью 221 (количество ячеек таблицы равно количеству слов алфави та Л) накапливается счетчик попаданий слова (буквы) из алфавита А, 1\а,(1п,)] = Т[a,(m,)] + 1, другими словами, для каждой встреченной буквы в соответствующей ячейке таблицы счетчик увеличивается на единицу. Затем, по данным, накопленным в таблице Т, определяется максимальное число попаданий А/,„пх = тах(7[«|(ш,)]), т.е. счетчик для слова, которое встретилось наибольшее количество раз в обучающей части, с помощью которого вводится новый коэффициент среднего числа попаданий ДЛЯ ТрСХ классов Afmc;m " Wn,M/3. Используя этот коэффициент.

проводится группировка (или объединения по классам) букв, с близкой частотой встречаемости, в новые "супербуквы" {А\, А% Лз}. На втором этапе используется таблица Т подготовленная на шаге обучения и две новые таблицы V и Р с размерностью равной количеству созданных новых классов. Подсчитывается общее количество строк (ячеек) в таблице У для каждого класса с/ = {1, 2, 3} и результат заносится в таблицу P[cf]. Из

"i = {XNJ2tl'XN,IUl'—XN,

}, аналогично этапу обучения, последовательно выбираются слова по 24 бита J и по содержимому ячейки таблицы Г^/я,)] определяется, к

какому классу относится выбранное слово. В таблице К суммируется количество попаданий в данный класс («,)]]= ("<)]]+'• послс чего оцениваются частоты попаданий

букв (I jO/,)) из алфавита Л для контрольной части, подсчитывается статистика у} для 3 классов и проверяется гипо геза о случайности зашифрованного текстового файла.

В параграфе 3.2 предлагается новый алгоритм, позволяющий достаточно надежно различать зашифрованные тексты на русском, английском и итальянском языках, для четырех наиболее известных форматов данных: "I.vi", "rtf', "doc", "pdf', от случайных последовательностей начиная с длины 100 килобайт. Для этого зашифрованный файл, некоторой длины N байт (исходная выборка), разбивается на слова а по 32 бита, что соответствует алфавиту Л = {аи ..., й;}, где к = 233. Полученная последовательность исследуется "на случайность" по четырем значениям // = {512000, 307200, 204800, 102400} байт. Исходная выборка разбивается, как и в предыдущем варианте, на две части

»', = (v,, -V,..........} - обучающую и контрольную. Затем

подсчитывается частота встречаемости букв из А в обучающей выборке. По результатам обработки обучающей выборки алфавит из 232 букв разбивается на два класса (Ао, Ai), содержащих буквы с частотами встречаемости, соответственно, 0 и 1 оцененными по обучающей части. Затем, по контрольной выборке для полученных двух классов, рассматриваемых как отдельные "супербуквы" Ао, иЛ| проверялась гипотеза

Я„ =

против гипотезы #1, являющейся отрицанием Но. (Здесь х - элемент выборки, или в нашем случае, слово длины 32 двоичных знака из проверочной выборки).

Это задача проверки гипотезы о параметре биноминального распределения. Она хорошо известна в математической статистике [2], и для ее проверки можно применять не только критерий у2, но и другие методы, применимые при малых значениях Р[х е А„} (см. [2]).

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

и обозначим через / количество 32 - битовых слов, а через х количество элементов из контрольной выборки, попавших в множество А\. Пусть а - заданный уровень значимости критерия Определим Р) как наибольшее значение Р, удовлетворяющее неравенству

а /*2 как наименьшее значение /', удовлетворяющее нерапенешу

£(>0 -/•)" I Л<) ' -

Пели я е (/',, /',). то ппкпеп //„нрнннм.югея. в приIинком случае //,,о■ нор| аася.

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

Основные результаты и выводы

1. Разработан метод различения зашифрованных текстов на естественных языках от случайных последовательностей, при небольших объемах данных. Впервые предложен метод позволяющий решить эту задачу при длине исследуемой последовательности от 100 килобайт, тогда как ранее известные методы применимы только при объеме данных в сотни раз большем. Кроме того, исследовано влияние формата цифровых текстов на возможность их различения в зашифрованном виде.

2. Показана целесообразность использования статистического критерия -"адаптивный критерий х"" для статистической проверки случайных и псевдослучайных последовательностей и его эффективность в приложениях, в частности связанных с криптографией, где объем доступной выборки может быть ограничен. На его основе разработаны алгоритмы и программы тестирования случайных и псевдослучайных чисел.

3. Исследованы датчики псевдослучайных чисел созданные на базе современных криптографических алгоритмов шифрования AES, Mars, RC6 и RC5. Показано, что алгоритм шифрования RC5 (без подбора входных данных) нельзя использовать для получения псевдослучайных чисел. Остальные три алгоритма шифрования можно использовать как генераторы псевдослучайных чисел для получения "качественной" криптографически стойкой случайной последовательности.

Содержание диссертации отражено в следующих работах:

1. Рябко Б.Я., Стогниенко B.C., Шокин Ю.И. Экспериментальные исследования эффективности генераторов псевдослучайных чисел, базирующихся на криптографических алгоритмах RC5 и RC6 // Вычислительные технологии. - 2000. - Т. 5, № 6. - С. 70-79.

2. Рябко Б.Я., Стогниенко B.C., Шокин Ю.И. Экспериментальные исследования статистических свойств зашифрованных текстов на естественных языках // Вычислительные технологии. - 2003. - Т. 8. - С. 100-108.

3. Рябко Б.Я., Стогниенко B.C., Шокин Ю.И. Адаптивный критерий ^ для различения близких гипотез при большом числе классов и его применение к некоторым задачам криптографии // Проблемы передачи информации. - М: РАН, 2003. - Т. 39, - Вып. 2. - С. 53-62.

4. Стогниенко B.C. Экспериментальные исследования статистических свойств современных блоковых шифров и их применение к одной из задач криптографии// По материалам Международной конференции ВТММ-2002. - Новосибирск-Алмазы. - 2002 - Т. 5. - С. 182-186

5. Ryabko, Stognienko, Shokin. Adaptive chi-square test and its application to some cryptographic problems, Journal of statistical planning and inference (JSPI). - 2004. - v. 123, n.2.-pp. 365-376.

6. Ryabko B.Ya., Stognienko V.S., Shokin Yu. L. A new testing for random numbers and its application to some cryptographic problems // International Symposium on Information Theory (2003 IEEF.) (Yokohama, Japan. June 29 - July 4, 2003). -Yokohama, 2003. - P. 338.

СТОГНИЕНКО Владимир Сергеевич

РАЗРАБОТКА И ЭКСПЕРИМЕНТАЛЬНЫЕ ИССЛЕДОВАНИЯ АЛГОРИТМОВ ТЕСТИРОВАНИЯ СЛУЧАЙНЫХ ЧИСЕЛ И ИХ ПРИЛОЖЕНИЯ К НЕКОТОРЫМ ЗАДАЧАМ КРИПТОГРАФИИ

05.13.18 —математическое моделирование, численные методы и комплексы программ

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук.

Формат 60x84 1/16 Объем 0,7 п.л. 0,64 уч.-изд. ч.

Тираж 100 экз. Закач № 553

Отпечатано в ЗАО РИЦ «Прайс-курьер» 630090, пр. Ак. Лаврентьева, 6

Р14 3 3 3

РЫБ Русский фонд

2005-4 12249

Оглавление автор диссертации — кандидата технических наук Стогниенко, Владимир Сергеевич

Введение

Глава 1. Основные понятия и методы.

1.1. Основные определения и понятия.

1.2. Описание адаптивного критерия х*.

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

1.4. Адаптивный критерий хи-квадрат. Описание и теоретическое рассмотрение.

Глава 2. Экспериментальные исследования эффективных генераторов криптографически стойких псевдослучайных последовательностей созданных на основе современных алгоритмов шифрования.

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

Ф ЯС5 и ЯС6.

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

Глава 3. Экспериментальные исследования статистических свойств зашифрованных текстов на естественных языках и их применение к одной из задач криптографии

3.1 Алгоритм различения зашифрованных текстов на естественных языках и случайных последовательностей

3.2 Алгоритм различения зашифрованных текстов на естественных языках и случайных последовательностей на длинах выборки от 100 килобайт

Введение 2004 год, диссертация по информатике, вычислительной технике и управлению, Стогниенко, Владимир Сергеевич

Актуальность темы*. Случайные и псевдослучайные числа широко используются в самых различных областях науки и техники. Они очень важны в математическом моделировании, в разработке численных методов, в программировании, криптографии и т. п. И если раньше ученые, нуждающиеся для своей работы в случайных числах, раскладывали карты, бросали кости или вытаскивали шары из урны, которую предварительно "как следует трясли" [10], то сейчас генератор случайных чисел встроен в любой компилятор и процессор компьютера. Например, Intel использует генератор случайных чисел в процессорах со второго полугодия 1999 года [7]. Однако, такие генераторы, как правило, недостаточно надежны для криптографических приложений. На создание удовлетворительных псевдослучайных последовательностей с помощью численных методов затрачена масса усилий. В литературе можно найти множество работ по генераторам псевдослучайных чисел, а также различные тесты на случайность (например [4], [11], [35]). Тем не менее, проблема получения псевдослучайных чисел и их тестирования все еще актуальна, особенно для криптографии [31], и поэтому находится в центре внимания многих исследователей [20], [25], [26].

В научно-технической литературе числа, полученные с помощью компьютера, называются псевдослучайными, мы же, в дальнейшем для краткости, в некоторых случаях будем называть их просто случайными или случайными последовательностями. Каждую последовательность случайных чисел, перед использованием, необходимо тщательно проверить. Для приложений и задач, в которых требуются действительно Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (колы проектов: 99-01-00586, 03-01-00495) и 1МТА5-00-738 "Эффективное кодирование источников информации и связанные проблемы". качественные" случайные числа, они проверяются специальным набором тестов. Формально генератор псевдослучайных чисел можно считать эффективным, если он проходит все известные статистические тесты. В связи с этим, статистические тесты важны и необходимы, также как и сами генераторы. Более того, генератор случайных чисел может считаться "идеальным" только до тех пор, пока не появится тест, доказывающий обратное и "время жизни" генератора может на этом остановиться.

Необходимо отметить что, по сравнению с другими задачами, криптографические приложения предъявляют к генераторам случайных последовательностей намного более строгие требования, чем, скажем, вычислительные задачи. "Криптографическая" случайность — это не просто статистическая случайность, хотя и включает ее. Чтобы псевдослучайная последовательность была криптографически стойкой, она должна обладать следующими свойствами: генерируемые последовательности проходят все статистические тесты и их символы должны быть непредсказуемы. В то же время, как и любой криптографический алгоритм, генераторы криптографически стойких случайных последовательностей служат объектами "вскрытия" или "взлома". Поэтому, экспериментальные исследования генераторов криптографически стойких случайных последовательностей, разработка эффективных алгоритмов и методов их тестирования, их устойчивость к "взлому", т. е. проверка качества получаемых последовательностей - важная задача криптографии [10], [23], [31].

Среди задач тестирования последовательностей "на случайность" особый интерес представляет задача различения статистическими методами зашифрованных текстов и случайных последовательностей. Разработка эффективных алгоритмов и методов распознавания, или различения зашифрованных текстов хорошо известна в криптографии (см., например, [10], [16], [34]). Решение этой задачи позволяет определить сам факт передачи по сетям связи (или хранения в информационных базах данных) зашифрованных текстов и, в силу этого, представляет несомненный интерес для разработчиков и исследователей систем защиты информации. Вместе с тем, трудность заключается в том, что современные шифры должны преобразовывать данные в последовательности, неотличимые от случайных настолько, насколько это возможно. Причем это одно из обязательных требований, предъявляемых к современным блоковым шифрам, — неотличимость зашифрованной последовательности от случайной, даже тогда, когда шифруемые данные заведомо не случайны. В частности, если на вход алгоритма шифрования подается текст на естественном языке, то на выходе он должен выглядеть как случайная последовательность. Заметим, что это условие предъявлялось Национальным институтом стандартов и технологии США (NIST) к блоковому шифру при организации конкурса на блоковый шифр 21-го века.

Как известно, для создания и хранения текстовой информации используются различные цифровые форматы (такие как "txt", "tex", "html", "doc", rtf"pdf'). В связи с этим, возникает вопрос о зависимости результата шифрования текста от формата, в котором он был представлен. Решение этой задачи представляет несомненный интерес для практической криптографии, разработчиков и исследователей систем защиты информации. Поэтому исследование влияния исходного формата шифруемых данных на возможность их различения в зашифрованном виде от случайных последовательностей важно с практической точки зрения.

Генерация "истинно" случайных чисел - одна из главных проблем возникающих при реализации любой криптосистемы. Огромное количество приложений уязвимо из-за предсказуемости генерируемых чисел. Однако уже более двадцати лет назад было опубликовано множество научной литературы по датчикам случайных чисел (например, [И], [17]). Позднее Дж. Клейнен в [12] приходит, однако, к выводу, что "все еще нет высококачественного генератора псевдослучайных чисел". Одновременно с ним известные специалисты Льюис [5] и Марсалья [21] указывают: "Многие широко распространенные генераторы фактически непригодны". Предостережение о распространенности плохих генераторов делает также И.М.Соболь в [6].

Вместе с тем, любое тестирование генераторов криптографически стойких случайных последовательностей остается частичным. Поэтому Ермаков С. М. и Михайлов Г. А. в [1] отмечают, что кроме специального статистического тестирования ". чрезвычайно важна проверка с помощью решения типовых задач, допускающих независимую оценку результатов аналитическими или численными методами. Можно сказать, что представление о надежности псевдослучайных чисел создается в процессе их использования с тщательной проверкой результатов всегда, когда это возможно".

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

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

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

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

3. Экспериментальное исследование влияния формы представления данных на возможность их различения в зашифрованном виде.

Методы исследования. В работе были использованы вычислительные эксперименты на ЭВМ, моделирование, математическая статистика и теория построения эффективных алгоритмов и программ.

Научная новизна результатов работы. В диссертации получены следующие новые результаты:

1. Проведены экспериментальные исследования нового статил стического критерия - "адаптивный критерий % показана целесообразность его применения для статистической проверки случайных последовательностей и даны практические рекомендации по его применению.

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

3. Впервые предложен метод различения зашифрованных текстов на естественных языках от случайных последовательностей, позволяющий, с помощью разработанного комплекса программ, различать зашифрованные тексты при сравнительно небольших объемах данных (от 100 килобайт и выше). Отметим, что для популярного статистического критерия %2 требуется для решения этой задачи в тысячи раз больший объем данных.

4. Исследовано влияние формата цифровых текстов (txt, rtf, doc, pdf) и их предварительного сжатия на возможность различения в зашифрованном виде на русском, английском и итальянском языках.

Практическая ценность.

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

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

3. Исследовано влияние формата цифровых текстов на естественных языках на возможность их различения в зашифрованном виде.

Апробация работы. Основные результаты диссертации докладывались на международных научных мероприятиях: международная конференция по теории информации ISIT-2003 (Yokohama, Japan, 2003), Китайско-российский форум молодых ученых в Пекине - 2003 г. (Пекин, НаиьЦзин, У си, Шан Хай, Китай, 2003), международная конференция Вычислительные технологии и математическое моделирование в науке, технике и образовании ВТММ-2002 (Алматы, Казахстан, 2002), Четвертое международное совещание по электронным публикациям Е1-РиЬ-99 (Новосибирск, 1999), а также на объединенных семинарах института вычислительных технологий СО РАН, кафедры математического моделирования НГУ, кафедры вычислительных технологий НГТУ.

Публикации. По теме диссертации автором опубликованы работы [38] - [43].

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

Объем и структура диссертации. Диссертационная работа изложена на 119 страницах и состоит из введения, трех глав и заключения. Иллюстрационный материал включает 10 рисунков. Список литературы состоит из 43 наименований.

Заключение диссертация на тему "Разработка и экспериментальные исследования алгоритмов тестирования случайных чисел и их приложения к некоторым задачам криптографии"

Заключение

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

Проведенные исследования статистического критерия - "адапл тивный критерий % " показали целесообразность его применения для статистической проверки случайных последовательностей. Показано, что мощность нового метода - адаптивный критерий существенно выше, чем у традиционного критерия Пирсона и, что он более эффективен во многих приложениях, в частности связанных с криптографией, где объем доступной выборки, может быть ограничен.

На основе статистического адаптивного критерия £ разработаны алгоритмы и программы тестирования случайных и псевдослучайных чисел.

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

Исследовано влияние формата цифровых текстов (txt, rtf, doc, pdf) на возможность их различения в зашифрованном виде на русском, английском и итальянском языках.

Исследованы датчики псевдослучайных чисел созданные на базе современных криптографических алгоритмов шифрования AES, Mars, RC6 и RC5. Показано, что алгоритм шифрования RC5 (без подбора входных данных) нельзя использовать для получения псевдослучайных чисел. Остальные три алгоритма шифрования можно использовать как генераторы псевдослучайных чисел для получения "качественной" криптографически стойкой случайной последовательности.

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

Библиография Стогниенко, Владимир Сергеевич, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Ермаков С.М., Михайлов Г.А. Статистическое моделирование. -М.: Наука, 2-е издание, 1982.-290 с.

2. Кендалл М. Дж., Стьюарт А. Статистические выводы и связи. -М.: Наука, 1973.-899 с.

3. Клейнен Дж. Статистические методы в имитационном моделировании. В 2-х т. - М.: Статистика, 1978. — 221 е., 335 с.

4. Кнут Д., Искусство программирования для ЭВМ. М.: Мир, 1977.-Т. 2.-725 с.

5. Льюис Кэрролл, Логическая игра. М.: Наука - 1991

6. Соболь И.М., Численные методы Монте-Карло. М.: Наука, 1973 - гл.7.

7. Спунер Джон (John G. Spooner). Intel выдвигает комплексный план защиты ПК // PC Week Online, 28 января 1999 г.

8. Ферапонтов M. М. Моделирование случайных воздействий на ЭВМ. М.: Изд-во МТУ, 1995.

9. Шеннон К. Математическая теория связи // сб., Работы по теории информации и кибернетики. ИЛ., М:.

10. Шнайр Брюс, Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. М.: Издательство ТРИУМФ, 2002.-816 е.: ил.

11. Beker H., Piper F. Cipher Systems: The Protection of Communications. London Northwood Books, 1982.

12. Cover T. M. and King R. C. A Convergent Gambling Estimate of the Entropy of English // IEEE Transactions on Information Theory. v. IT-24, n. 4.-Jul 1978.-pp. 413-421.

13. Cover T.M., Thomas J.A. Elements of Information Theory. Wiley. -New York, 1991.

14. Devroye L., Gyorfi L., Lugosi G. A probabilistic theory of pattern recognition. — New York : Springer, 1996.

15. Kendall M.G., Stuart A. The advanced theory of statistics; Vol.2: Inference and relationship. London, 1961.

16. Knudsen L. R., Meier W. Correlations in RC6. // 1999. -http://www.ii.uib.no/~larsr/papers/rc6.ps

17. Knuth D.E. The art of computer programming. // Vol.2. — Addison Wesley, 1981.

18. Lehmann E.L. Testing Statistical Hypotheses. Wiley. - New York, 1959.

19. L'Ecuyer P., Simard R. Beware of linear congruential generators with multipliers of the form a = ±28 ± 2r. ACM Trans. Model. Comput. Simul. 25(3), 1999. - pp.367-374.

20. Marsaglia George, The Marsaglia Random Number CDROM // http://stat.fsu.edu/~geo/

21. Marsaglia G., Bray C., On-Line Random Number Generators and their Use in Combinations. Communications of the ACM, v. 11, m 11, 1968-pp. 757-759.

22. Maurer U. A universal statistical test for random bit generators // Journal of Cryptology. v.5, n.2, 1992. - pp. 89-105.

23. Menezes A., P. van Oorshot, Vanstone S. Handbook of Applied Cryptography. CRC Press. - 1997. - P. 780.

24. Nechvatal J. and others. Report on the Development of the Advanced Encryption Standart (AES). 2000. // http://csrc.nist.gov/encryption/aes/round2/r2report.pdf

25. Park S. K., Miller K. W. Random Number Generators: Good Ones Are Hard to Find. // Communications of the ACM. v. 31, n. 10, Oct 1988.-pp. 1192-1201.

26. Peterson I. Monte Carlo Physics: A Cautionary Lesson. // Science News. v. 142, n. 25.- 19 Dec 1992.-p. 422.

27. Rivest R. L. The RC5 Encryption Algorithm. 1998. http://www.rsa.com

28. Rivest R. L. The RC5 encryption algorithm.//Proc. 2nd Workshop on Fast Software Encryption — Springer. 1995. p. 86-96

29. Rivest R. L., Robshaw M. J. B., Sidney R. et al. The RC6™ Block Cipher. Technology Square. 545. Cambridge, MA 02139, USA, 1998.

30. Rogaway Phillip. Software-Optimized Encryption Algorithm// J. CRYPTOLOGY. 1998. - N 11. - p. 273-287.

31. Rukhin A. and other. A statistical test suite for random and pseudorandom number generators for cryptographic applications // NIST Special Publication 800-22 (with revision dated May, 15, 2001) http://csrc.nist.gov/rng/SP800-22b.pdf

32. Schneier B. Applied Cryptography. Wiley, 1996.

33. Shannon C. E. Predication and Entropy in Printed English // Bell System Technical Journal. v. 30. - n. 1, 1951.- pp. 50-64.

34. Shimoyama T., Takeuchi K., Hayakawa J. Correlation Attack to the Block Cipher RC5 and the Simplified Variants of RC6 // Proceeding NIST Conference. 2000.

35. Soto J.,Bassham L. Randomness testing of the advanced encryption standard finalist candidates // In: Proceedings AES3, 2001, New-York. http://csrc.nist.gOv/encryption/aes/round2/conD/papers/3 0-jsoto.pdf

36. Vapnik V.N. The nature of statistical learning theory. New York : Springer, 1995.

37. Wegenkittl S., Matsumoto M. Getting rid of correlations among pseudorandom numbers: Discarding versus tempering. ACM Trails. Model. Comput. SimuL // 9 (3), 1999. pp. 282-294.m