Text
                    

Ю. С. Харин В. И. Берник Г. В. Матвеев МАТЕМАТИЧЕСКИЕ ОСНОВЫ КРИПТОЛОГИИ Допущено Министерством образования Республики Беларусь в качестве учебного пособия для студентов математических и инженерно-технических специальностей высших учебных заведений МИНСК БГУ 1999
УДК 681.3.06.004.239.056(075.8) ББК 32.973.26-018.2 я73 Х20 Авторы: Ю. С. Харин, В. И. Берник, Г. В. Матвеев Рецензенты: доктор технических наук, профессор В. Ф. Голиков', доктор физико-математических наук, профессор Л. К. Синицын Харин Ю. С. и др. Х20 Математические основы криптологии: Учеб, пособие / Ю. С. Харин, В. И. Берник, Г. В. Матвеев. — Мн.: БГУ, 1999. - 319 с.: ил. ISBN 985-445-217-4. Данное пособие является первым отечественным учебным пособием по новому актуальному направлению прикладной математики — матема- тические методы защиты информации. Изложены математические основы криптографической защиты ин- формации в компьютерных сетях и системах связи. Исследованы мате- матические модели симметричных и несимметричных криптосистем, а также методы их анализа. Описаны методы генерации и тестирования случайных и псевдослучайных последовательностей. Представлены ма- тематические подходы к решению проблем аутентификации. Изложены протоколы функционирования сетевых криптосистем. Для студентов (бакалаврского и магистерского уровней), аспирантов, обучающихся по математическим и инженерно-техническим специаль- ностям, слушателей факультетов переподготовки и повышения квалифи- кации, а также для специалистов в области прикладной математики, ин- форматики и электроники, желающих познакомиться с математическими методами защиты информации. УДК 681,3.06.004.239.056(075.8) ББК 32.973.26-018.2 я73 © Ю. С. Харин, В. И. Берник, Г. В. Матвеев, 1999 ISBN 985-445-217—4 © БГУ, 1999
Оглавление Предисловие 7 Основные обозначения.............................. 10 Глава 1. Введение в криптологию 11 Задачи и упражнения к главе 1..................... 18 Глава 2. Арифметические основы 19 2.1 Алгоритм деления с остатком................... 19 2.2 Наибольший общий делитель......................20 2.3 Взаимно простые числа..........................21 2.4 Наименьшее общее кратное ......................22 2.5 Простые числа..................................22 2.6 Сравнения.................................... 24 2.7 Классы вычетов.................................25 2.8 Функция Эйлера................................ 26 2.9 Сравнения первой степени ................... 27 2.10 Система сравнений первой степени..............28 2.11 Первообразные корни...........................29 2.12 Существование первообразных корней............31 2.13 Индексы по модулям рк, 2рк....................32 2.14 Символ Лежандра...............................33 2.15 Квадратичный закон взаимности............ . . 34 2.16 Символ Якоби..................................35 Задачи и упражнения к главе 2.................... 37 Глава 3. Алгебраические основы 41 3.1 Понятие группы.................................41
4 Оглавление 3.2 Подгруппы групп....................................43 3.3 Циклические группы.................................45 3.4 Гомоморфизмы групп.................................47 3.5 Группы подстановок ................................48 З.б Действие группы на множестве.......................51 3.7 Кольца и поля......................................52 3.8 Подкольца........................................ 54 3.9 Гомоморфизмы колец.................................56 3.10 Евклидовы кольца..................................57 3.11 Простые и максимальные идеалы..................... 59 3.12 Конечные расширения полей.........................60 3.13 Поле разложения...................................63 3.14 Конечные поля.....................................64 3.15 Порядки неприводимых многочленов..................65 3.16 Линейные рекуррентные последовательности..........66 3.17 Последовательности максимального периода .........68 Задачи и упражнения к главе 3...........................69 Глава 4. Вероятностно-статистические модели сообщений и их энтропийные свойства 77 4.1 Источники дискретных сообщений и их вероятностные модели.........................;................... 77 4.2 Функционал энтропии и его свойства ................79 4.3 Условная энтропия и её свойства................... 83 4.4 Удельная энтропия стационарной символьной последовательности................................... 89 4.5 Энтропийные характеристики марковских последовательностей ...................... . . ........95 4.6 Источники непрерывных сообщений и их энтропийные свойства..............................................100 4.7 Оптимизация функционала энтропии на классе вероятностных распределений............................111 Задачи и упражнения к главе 4..........................116 Глава 5. Методы теории информации в криптологии 119 5.1 Асимптотические свойства стационарного источника дискретных сообщений..................................119 5.2 Энтропийная устойчивость случайных символьных последовательностей ..................................125
Оглавление 5 5.3 Количество информации по Шеннону и его свойства . . . .131 5.4 Шенноновские модели криптосистем..................138 5.5 Теоретико-информационные оценки стойкости симметричных криптосистем.............................144 Задачи и упражнения к главе 5........................ 150 Глава 6. Генерирование случайных и псевдослучайных последовательностей 153 6.1 Принципы генерирования случайных и псевдослучайных последовательностей ..................................153 6.2 Статистические методы тестирования................163 6.3 Классификация методов генерирования псевдослучайных последовательностей ................................ 170 6.4 Конгруэнтные генераторы...........................171 6.5 Генераторы, использующие рекурренту в конечном поле. . 179 6.6 Генераторы, использующие регистр сдвига...........181 6.7 Генераторы Фибоначчи..............................182 6.8 Составные генераторы..............................184 Задачи и упражнения к главе 6.........................188 Глава 7. Математические модели стандартных симметричных криптосистем 193 7.1 Математическая модель криптосистемы DES ..........194 7.2 Математическая модель криптосистемы IDEA..........200 7.3 Математическая модель криптосистемы GOST..........204 Задачи и упражнения к главе 7.........................206 Глава 8. Математические методы криптоанализа 207 8.1 Задачи и принципы криптоанализа...................207 8.2 Метод “опробования” и его вычислительная сложность . .210 8.3 Методы криптоанализа на основе теории статистических решений ...............................214 8.4 Разностный криптоанализ...........................227 8.5 Линейный криптоанализ.............................232 Задачи и упражнения к главе 8.........................241 Глава 9. Криптосистемы с открытым ключом 243 9.1 Описание RSA-криптосистемы .......................243 9.2 Возможные атаки на криптосистему RSA..............246
6 Оглавление 9.3 О стойкости RSA против метода повторного шифрования 247 9.4 О поиске секретного ключа d и факторизации модуля N. . 249 9.5 Биты в RS А-криптосистеме.......................250 9.6 Система Рабина..................................252 9.7 Рюкзачный метод шифрования......................253 9.8 Стойкость рюкзачного шифра......................254 9.9 Тесты на простоту и методы факторизации.........256 9.10 Разделение секрета............................ 259 Задачи и упражнения к главе 9.......................261 Глава 10. Электронная цифровая подпись 263 10.1 Обобщённая модель ЭЦП...../....................264 10.2 Схема ЭЦП Рабина...............................266 10.3 Схема Диффи-Л импорта...... . ................267 10.4 Вероятностная схема подписи Рабина.............268 10.5 Стандарт ЭЦП DSS...............................270 10.6 Схема ЭЦП Эль-Гамаля...........................273 10.7 Арифметические свойства российского стандарта цифровой подписи................................... 274 10.8 Эквивалентность задач фальсификации подписи в DSS и схеме Эль-Гамаля..................................281 10.9 ЭЦП и хэш-функции .............................283 10.10 Алгоритмы генерации простых чисел.............285 Задачи и упражнения к главе 10 . ................. 292 Глава 11. Протоколы управления криптографическими ключами 295 11.1 Протоколы генерации ключей.....................296 11.2 Протоколы взаимной аутентификации..............297 11.3 Протоколы прямого обмена ключами...............300 11.4 Протоколы распределения сеансовых ключей с использованием центра распределения ключей........301 Приложение А. Таблицы 305 Приложение Б. Описание ППП “КриптоЛаборатория” 307 Литература 309
Предисловие На рубеже XX и XXI веков значение Информации в человеческом об- ществе превзошло значение другого крайне важного фактора — Энер- гии, игравшей ключевую роль в XX веке. В современном обществе, имеющем тенденцию к рационализации, Информация все отчетливее становится высокоценным товаром, который, как и любой товар, не- обходимо производить (порождать), хранить (накапливать), обрабаты- вать (анализировать), транспортировать (передавать) и защищать. В последние десять лет в связи с мощным развитием компьютерной ин- дустрии и интенсивным проникновением компьютерных сетей и систем связи во все области человеческой деятельности особенно актуальными стали проблемы криптографической защиты данных. Криптографи- ческая защита информации заключается в специальном функциональ- ном преобразовании информации в целях сокрытия ее содержания, пре- дотвращения видоизменения или несанкционированного использования. Возникла и интенсивно развивается новая наука — криптология — это раздел прикладной математики, изучающий модели и методы, ал- горитмы, программные и аппаратные средства для криптографической защиты информации, а также для оценки эффективности такой за- щиты. За рубежом чтение курсов по криптологии ведётся уже более два- дцати лет для студентов, специализирующихся в области математики, прикладной математики, информатики и электроники. В последние годы эти курсы в обязательном порядке включаются в учебные планы подготовки всех специалистов, деятельность которых связана с инфор- мационными процессами. В России с 1995 года готовят специалистов по двум специальностям: 013200 — Криптография (с квалификацией “математик”) и 220600 — Организация и технология защиты информа- ции (с двумя различными квалификациями: “математик” и “инженер-
8 Предисловие организатор защиты информации”)- В Республике Беларусь в связи с возрастающим спросом на аналитиков-программистов в области за- щиты информации со стороны банков, финансовых и страховых ком- паний, крупных фирм, медицинских учреждений, государственных ор- ганизаций в 1997 году благодаря поддержке Госкомитета по науке и технологиям на базе Белгосуниверситета начата подготовка специали- стов по прикладной математике с новой специализацией II.08.01.14 — Математическое и программное обеспечение криптографии и анализа данных (квалификация “математик-программист”). Хотя за рубежом опубликовано свыше десятка учебных пособий по криптологии, в России такие издания только начинают появляться. Среди них отметим [8] и учебные пособия [7], [20], первое из которых представляет собой базовое учебно-методическое пособие, вводящее в систему общих проблем защиты информации. Учебное пособие [20] является кратким вводным курсом в отдельные проблемы криптологии. В Республике Беларусь учебные пособия по криптологии до сих пор вообще не издавались, хотя регулярно выходит научно-практический журнал “Управление защитой информации”. Данное учебное пособие призвано восполнить имеющийся пробел и посвящено изложению математических основ криптографической за- щиты информации в компьютерных сетях и системах связи. Учебное пособие состоит из одиннадцати глав, приложения и списка литера- туры. Глава 1 является вводной и содержит основные понятия крипто- логии, историю криптологии и описание элементарных криптосистем. В главах 2 и 3 излагаются арифметические и алгебраические основы криптологии. Вероятностно-статистические модели сообщений и их эн- тропийные свойства изучаются в главе 4. Глава 5 посвящена изложе- нию классического теоретике-информационного подхода К. Шеннона к проблемам криптологии. Важным для теории и практики проблемам генерации и статистического тестирования случайных и псевдослучай- ных последовательностей посвящена глава 6. В главе 7 дается описание современных стандартных симметричных криптосистем и анализиру- ются их свойства. Глава 8 посвящена изложению широко применяемых за рубежом методов криптоанализа симметричных криптосистем. Но- вое поколение криптосистем “с открытым ключом” изучается в главе 9. В главе 10 содержится описание существующих систем электронной ци- фровой подписи и хэш-функций. Заключительная глава 11 посвящена анализу протоколов функционирования сетевых криптосистем. Каждая глава завершается серией задач и упражнений, необходимых для само-
Предисловие 9 стоятельной работы или семинарских занятий. Некоторые из упраж- нений выполняются в рамках компьютерного практикума с помощью специально разработанного на кафедре математического моделирова- ния и анализа данных Белгосуниверситета ППП “КриптоЛаборатория”. Учебное пособие снабжено обширным списком литературы, необходи- мой не только для учебной, но и для научно-исследовательской работы студентов и аспирантов. В приложениях А, Б приводятся некоторые вспомогательные таблицы и информация о ППП “КриптоЛ аборатория”. Главы 1, 4—6, 8 написал Ю. С. Харин, главы 1—3, 7, 9 — Г. В. Ма- твеев, главы 9, 10 — В. И. Берник. Главу 11 подготовил В. А. Галин- ский, а §8.4 — С. В. Агиевич. Авторы благодарны заведующему НИЛ статистического анализа и моделирования, кандидату физико-математических наук В. А. Галин- скому за подготовку главы 11, кандидату физико-математических наук С- В. Агиевичу — за подготовку §8.4. Глубокую признательность ав- торы выражают рецензентам за замечания и предложения, способство- вавшие улучшению учебного пособия, а также сотрудникам Государ- ственного центра безопасности информации и НИИ проблем защиты информации за поддержку и советы. Особой благодарности заслужи- вают аспирант А. Ю. Харин и студент Д. В. Зеневич за компьютерную подготовку рукописи данного учебного пособия. Авторы будут признательны всем, кто поделится своими соображе- ниями по совершенствованию данного пособия. Предложения и замечания по учебному пособию, а также заявки на приобретение ППП “КриптоЛаборатория” просим направлять по адресу: Кафедра математического моделирования и анализа данных Факультет прикладной математики и информатики Белорусский государственный университет пр. Ф. Скорины, 4 220050, Минск Республика Беларусь Телефоны: (017) 2265704, 2687057 Факс: (017) 2265548 E-mail: kharin@fpm.bsu.unibel.by
10 Основные обозначения Основные обозначения N — множество натуральных чисел Vn = {0,1,...,ЛГ — 1} — конечное множество мощности N — N-мерное евклидово пространство Z — множество целых чисел |S| — модуль числа 5, или длина вектора S, или мощность множества S, или определитель матрицы S VT — n-мерное векторное пространство над двоичным полем GF(pn), Fpn — поле Галуа из рп элементов [G : Н] — степень расширения долей, индекс подгруппы Н в группе G Н <4 G — нормальная подгруппа Н группы G G/H —- факторгруппа <р(тп) — функция Эйлера indg d (mod m) — индекс (дискретный логарифм) а по основанию g Р {Л} — вероятность случайного события А Е {£} — математическое ожидание случайной величины £ D {£} — дисперсия случайной величины £ Cov {£, г]} ковариация случайных величин £, р 1 л ~ . — индикаторная функция множества А I V, 3? у_ £{£} — закон распределения вероятностей случайной величины £ Sij = | q’ j — символ Кронеккера п.н. —> — сходимость почти наверное Р —> — сходимость по вероятности О(е),о(е) — символы Ландау ф — сложение по модулю два (операция XOR — исключающее ИЛИ) || — конкатенация [ж] — целая часть числа (а, Ь) — наибольший общий делитель двух чисел [a,b] — наибольшее общее кратное двух чисел — конец доказательства Теоремы, леммы, следствия, замечания, свойства, .таблицы, рисунки' и формулы имеют автономную тройную нумерацию (ij.fc), где i — но- мер главы, j — номер параграфа, k — номер математического объекта.
ГЛАВА 1 Введение в криптологию Сформулируем вначале общепринятую терминологию. Защита информации — это всевозможные средства и функ- ции, обеспечивающие конфиденциальность, целостность информации или связи, исключая средства и функции, предохраняющие от неисправ- ностей. Защита информации содержит криптографию, криптоанализ, защиту от собственного излучения, защиту (компьютера) от несанкци- онированного доступа. Крипт,ография — это раздел прикладной математики, изучаю- щий модели, методы, алгоритмы, программные и аппаратные средства преобразования информации (шифрования) в целях сокрытия её содер- жания, предотвращения видоизменения или несанкционированного ис- пользования. Криптосистема — это система, реализованная программно, ап- паратно или программно-аппаратно и осуществляющая криптографи- ческое преобразование информации. Криптоанализ— это раздел прикладной математики, изучающий модели, методы, алгоритмы, программные и аппаратные средства ана- лиза криптосистемы или её входных и выходных сигналов с целью из- влечения конфиденциальных параметров, включая открытый текст. Из данных определений видно, что криптоанализ занимается зада- чами, которые в математическом смысле обратны задачам криптогра- фии. Системы криптографии и криптоанализа образуют новую науку — криптологию. В развитии криптологии принято выделять следующие три этапа.
12 ГЛАВА 1, Введение в криптологию Первый этап (с самых древних времён до 1949 г.) характеризовался весьма частными, узкоспециальными и вычислительно простыми ал- горитмами криптографии и криптоанализа без использования компью- теров. Этот этап часто называют этапом докомпьютерной криптогра- фии. Второй этап (1949 — 1976) принято отсчитывать с момента публикации работы американского математика-прикладника К. Шен- нона “Теория связи в секретных системах”. В этот период активно проводились систематические исследования по криптологии с исполь- зованием ЭВМ. Криптология становится математической наукой. Од- нако потребителями результатов криптологии являлись службы связи и информации в дипломатических и военных организациях, поэтому кри- птология была “закрытой” наукой. Третий этап (1976 г. — насто- ящее время), который можно назвать этапом открытой криптологии, принято отсчитывать с момента публикации работы американских ма- тематиков У. Диффи, М. Хеллмана “Новые направления в криптогра- фии”. В этой работе показано, что “секретная” передача информации возможна (в отличие от результатов К. Шеннона) без предварительной передачи “секретного ключа”. Главной особенностью этого этапа ста- новится массовое применение криптографии в банковском деле, компью- терных сетях, например в Internet, и других приложениях. Во многих странах в развитие криптологии вкладываются значительные государ- ственные средства. Например, в США ежегодные расходы на крипто- логию составляют около 15 млрд долларов. Характерно также, что криптология начинает стимулировать развитие информатики. Современная криптология широко использует теорию вероятностей, математическую статистику, алгебру, теорию чисел, теорию алго- ритмов и сложности вычислений, а сам процесс шифрования осуще- ствляется на мощных специализированных компьютерах, называемых устройствами шифрования. На Западе получили распространение устройства B-CRYPT, IBM-4755, Datacryptor и др. ; Приведём ряд интересных фактов из истории развития криптологии. При раскопках в Месопотамии был найден относящийся к XX в. до н.э. один из самых древних шифротекстов. Он был написан клинописью на глиняной дощечке и содержал коммерческую тайну: рецепт глазури для покрытия гончарных изделий. В XVII в. кардинал Ришелье создал первую в мире шифрослужбу. Отметим, что задачами, имеющими не- посредственное отношение к криптологии, занимались такие известные математики, как Ньютон, Лейбниц, Эйлер, Гаусс, Кардано и др. В криптологии общепринятыми являются следующие основные по-
13 нятия. Пространство сообщений РТ — множество всевозможных со общений pt (plaintext). Для сообщения используется также обозначение т (message). Пространство ключей К. Каждый ключ к € К определяет не- которую подстановку Ek (encryption) на пространстве РТ и обратное преобразование Dk (decryption). Пространство зашифрованных сообщений СТ, состоящее из всех зашифрованных сообщений ct (ciphertext), ct — Ek(pt). Использу- ется также обозначение с. Обычно к криптосистеме предъявляются требования: 1) Ek(pt), Dk(ct) — легко вычислимы; 2) не зная к, невозможно вычислить pt при известном ct. В классических криптосистемах секретный ключ к определяет пре- образования Ek и Dk> причём справедливо тождество Dk(Ek(pt)) - Dk(ct) - pt. Основной задачей специалиста по криптоанализу (криптоанали- тика) является поиск ключа к, при этом ему могут представиться, в частности, следующие возможности для атаки: 1) известен лишь за- шифрованный текст (ciphertext only attack); 2) известны незашифро- ванный и зашифрованный тексты (known plaintext attack); 3) имеется возможность получить пару (pt, Ek(pt)), где pt выбрано криптоанали- тиком (chosen plaintext attack). Криптография и криптоанализ развиваются параллельно. Крипто- графы всегда пытаются создать такую криптосистему, которая была бы стойкой ко всем известным в данный момент методам криптоанализа. Нам остается ещё уточнить понятие текста. При этом обычно фик- сируют некоторую систему символов Е, называемую алфавитом. Это может быть английский, русский или какой-либо другой алфавит. Ча- сто в качестве алфавита используются натуральные числа или символы О, 1. Словом называется упорядоченный набор букв данного алфавита. Множество слов обозначают через Е*. Текстом называют набор слов. Например, всё, что написано далее, представляет собой текст. Одним из самых старых шифров является шифр Юлия Цезаря. При шифровании каждая буква латинского алфавита сдвигается циклически вправо на к — 3 позиций. Таким образом, имеем подстановку (замену): А В С D Е F G Н Т U V W X Y Z D Е F G Н I J К W X Y Z АВС.
14 ГЛАВА 1. Введение в криптологию Шифрование осуществляется в соответствии с этой подстановкой. Например, Е’з(СиТ) = FXW. Понятно, что выбор к — 3 не является единственно возможным. При других ключах k имеем B25(IBM) = HAL, B6(IDMUP) = OJSAV. Нетрудно показать, что Dk = АсВ/с — Ео = а ключ к опре- делён пр модулю 26. Шифр Цезаря является примером шифра подстановки, или за- мены. Его ещё называют шифром простой подстановки. Кри- птоанализ такого шифра очень прост. Дело в том, что для любого современного языка вычислены частотные характеристики букв, т. е. относительные частоты их появления в “нормальных” текстах. При- ведём эти частоты в процентах для английского языка: Высокий Средний Низкий Е 12,31 L 4,03 в 1,62 Т 9,59 D 3,65 G 1,61 А 8,05 С 3,20 V 0,93 О 7,94 и 3,10 К 0,52 N 7,19 Р 2,29 Q 0,20 I 7,18 F 2,28 X 0,20 S 6,59 Н 2,25 j 0,10 R 6,03 W 2,03 Z 0,09 Н 5,14 Y 1,88 Можно сказать, что при шифровании простой заменой буквы тек- ста заменяются буквами этого или другого алфавита в соответствии с некоторой подстановкой. Ещё одним примером шифра простой замены является модулярный шифр. Выберем число а, взаимно простое с модулем т — 26. Пусть р — буква английского алфавита, отождествлённая со своим порядко- вым номером (0,1,..., 25). Тогда Еа(р) = ар+ fc(modm), где к — фик- сировано. В этом случае ключом является пара чисел (а, к). Условие взаимной простоты необходимо для обратимости шифра. Конечно, бу- квы можно заменять и какими-то другими символами. К числу шифров замены относятся шифры гомофонические, полиграммные и многоалфа- витные. Гомофоническое шифрование — один из способов защиты про- тив частотной криптоатаки. Каждая буква текста шифруется несколь-
15 кими символами этого или другого алфавита. Число этих символов про- порционально частотной характеристике шифруемой буквы. Например, Буква Гомофония А 17 19 34 41 56 60 67 83 I 08 22 53 65 88 90 L 03 44 76 N 02 09 15 27 32 40 59 О 01 11 23 42 54 70 80 Р 33 91 Т 05 10 20 29 45 58 64 78 99 Одна из возможностей зашифровать текст PLAIN PILOT есть 91 44 56 65 59 33 08 76 28 78. При полиграммном шифровании заменяются не буквы текста, а их комбинации. Если заменяются пары букв, то имеем биграммное шифрование. Примером биграммного шифрования является шифр Плейфера. Образуем из английского алфавита какой-нибудь квадрат 5 х 5 и будем хранить его, как всякий ключ, в секрете. Например, HARPS I С О D В Е F G К L М N Q Т U V W X Y Z Здесь буква J не употребляется или отождествляется с буквой I. Замена биграмм проводится по правилам: 1) если mi, m2 находятся в одной строке, то биграмма mi m2 шифру- ется диграммой С1С2, где буквы Q, с? являются правыми соседями букв mi, m2 соответственно. Если правого соседа нет, то берётся первая буква строки; 2) если тп\ и m2 — в одном столбце, то берутся нижние соседи с аналогичной оговоркой; 3) если mi = m2, то в незашифрованном тексте между ними вста- вляется незначащая буква (например, X); 4) при нечётном числе букв в незашифрованном тексте к нему допи- сывается незначащая буква; 5) в наиболее вероятном случае, когда mi и т2 расположены в раз-
16 ГЛАВА 1. Введение в криптологию ных столбцах и строках, Ci и С2 выбираются, как показано на схеме mi • • • Cl С2 ' • • Ш2 С1 • • • mi т2 • • • С2 С2 mi • • • ci m2 - • • с2 ci • • • mi Проиллюстрируем это на примере: т = RE NA IS E(m) = HG WC BH SA NC EX HR WF GV Еще одна биграммная криптосхема, принадлежащая Хиллу, осно- вана на линейной алгебре. Осуществим цифровую кодировку букв ан- глийского алфавита: Л = О, В — 1, С = 2, ..Z — 25. Выберем какую- нибудь обратимую по модулю 26 квадратную матрицу М порядка 2. Это — ключ. Пусть, например, M \ 3 3 J ’ M ~ /17 15 \ I 9 20 / ‘ Биграммы будем записывать в виде матриц-столбцов. Например, p _ f H \ _ /7 \ P1 ~ \ E ) ~ \ 4 ) ’ P~ - 1 ( L \ f 11 \ I P J ~ \ 15 J • Шифрование биграмм определим формулой: С — МР, Зашифруем, для примера, слово m — Р1Р2: m — HELP, с = IHUX. К биграммному шифрованию, так же как и к шифру простой под- становки, применима частотная криптоатака. Приведём в связи с этим наиболее частые английские биграммы с указанием процентов их встре- чаемости: TH 6,3 AK 2,0 IN 3,1 EN 2,0 ER 2,7 TI 2,0 RE 2,5 ТЕ 1,9 AN 2,2 AT 1,8 HE 2,2 ON 1,7 HA 1,7 OU 1,4 IT 1,4 ES 1,4 ST 1,4 OR 1,4 При много алфавитном подстановочном шифро- вании задаётся d шифров простой подстановки, опреде- ляемых функциями /1, а сообщение т -
17 md+i, • * • ) ^2d} • • • шифруется по правилу Еь(т) ~ /1(^1)>/2(^2),...,/d(^d)5/1(^+1), К числу таких шифров относится шифр Виженера. Ключ образуется последова- тельностью букв , fcrf, при этом для буквы а г-го алфавита fi(a) = (а + ki)(modт). Например, Ek(m) RENA ISSA NCE BAND BAND BAN SEAD JSFD OCR. BAN OCR. Наряду с подстановочными шифрами известны так называемые пе- ре станов очные [транспозиционные] шифры. При этом буквы со- общения остаются прежними, по меняют своё расположение в тексте. Приведём два примера. Сообщение можно разбить на группы букв, скажем, по 3 буквы в каждой группе, а затем в каждой группе сделать одну и ту же переста- новку. Например, LETUSGOTO LONDON ETLSGUTOOONLOND. То же самое сообщение можно записать в прямоугольнике 3x5: а затем переписать его по столбцам LGOEONTTDUOOSLN, что и будет криптограммой. В заключение отметим ещё один шифр, предложенный Бернамом. В этом случае сообщение т обычно записывают в виде последовательно- сти нулей и единиц. Длина ключа к равна длине сообщения. Шифро- вание состоит в применении к т и к операции XOR, Е^(т) = тф к. Очевидно, DK = так как (т ф fc) ф к = т ф (fc ф к] — т. Шифр Вернама считается практически нераскрываемым, так как данное со- общение с помощью подбора ключа, к сожалению, слишком большого, можно преобразовать в любое другое. Основная проблема состоит в хранении и передаче ключа. В современной компьютерной криптографии используются многие из перечисленных шифров как составные части сложных криптосистем, рассматриваемых в главах 7, 9—И.
18 ГЛАВА 1. Введение в криптологию Задачи и упражнения к главе 1 1. Сколько всего имеется модулярных шифров в английском алфа- вите р ар + k (mod 26)? 2. Показать, что для обратимости модулярного шифра необходимо и достаточно условие взаимной простоты (a,m) — 1. Как найти обратное преобразование? Будет ли оно модулярным шифром? 3. Описать алгоритм D для шифра Плейфера. 4. Описать алгоритм D для шифра Виженера и найти соответству- ющий ключ. 5. Какие из докомпьютерных шифров являются групповыми, т. е. замкнуты относительно операции повторного шифрования, т. е. для любых двух ключей fcj, существует ключ к$, такой, что Б'/е1 о Ек2 = Е^3, 6. Пусть словами являются булевы n-ки, т. е. m £ Vn. Сформулиро- вать условие перестановочности шифров перестановки и Бернама. 7. Покажите, что шифр перестановки является линейным преобразо- ванием в пространстве Vn. 8. Пусть Р — криптопреобразование простой перестановки. При ка- ком условии верно равенство Р2 ~ id? 9. Что означает для криптографии условие Е2 — id? 10. Пусть Р — перестановка, а У — преобразование Бернама. Какая система шифрования, PV или VP, предпочтительнее? 11. При каком условии перестановочное шифрование с помощью пря- моугольника будет тождественным? 12. Сколько всего имеется нелинейных криптопреобразований Е : Уз Уз?
ГЛАВА 2 Арифметические основы 2.1 Алгоритм деления с остатком Множество всех натуральных чисел 1,2,3,... будем обозначать че- рез N, а через 7L будем обозначать множество целых чисел 0, ±1, ±2,.... Пусть а, b — элементы из Z, а 0. Говорят, что а делит b (записы- вают а | 6), если существует такое целое с, что Ъ — ас. Это отношение рефлексивно, транзитивно, но не симметрично. Легко доказываются следующие свойства. Свойство 2.1.1. а | 6, а | с => а | b ± с. Свойство 2.1.2. а | 6 => а | be, с Е Z. Свойство 2.1.3. а | 6, b | а О а — ±6. Теорема 2.1.1. Пусть а — целое, b — натуральное. Тогда суще- ствуют такие однозначно определённые q,r Е 0 < г < Ь, что а = bq + г. Доказательство, Возьмём наибольшее bq, не превосходящее а. По- ложим г = а - bq. Условие b(q + 1) > а влечёт г < Ь. Допустив также, что а = bgi + Г1, 0 < ‘и < fr, получим 0 = b(q — gi) + г — п. Отсюда следует, что г — г i кратно Ъ, Но ввиду того что |r — ri| < &, последнее возможно лишь при r — ri — 0, т. е. при г = п, откуда вытекает также <1-41-
20 ГЛАВА 2. Арифметические основы Теорема остаётся справедливой для любого целого Ь ф 0 при усло- вии, что ограничение г < b заменяется на г < |6|. 2.2 Наибольший общий делитель Всякое целое, делящее два числа а и 6, называется их общим де- лителем, Наибольший из общих делителей для чисел а, Ь называется наибольшим общим делителем (НОД) и обозначается символом (а,/?). Ввиду конечности числа делителей данного числа существова- ние и единственность наибольшего общего делителя очевидны. Если (а, 6) = 1, то числа а и b называются взаимно простыми. Займёмся нахождением НОД двух чисел. Лемма 2.2.1. b | а => (а, 6) = Ь. Доказательство. Легко видеть, что совокупность общих делителей а и b совпадает с совокупностью делителей одного Ь. Лемма 2.2.2. а = bq 4- с => (а, Ь) = (Ь, с). Доказательство. По свойствам делимости из параграфа 2.1 у пары а, Ь те же самые общие делители, что и у пары 6, с. Эти две леммы лежат в основе алгоритма Евклида нахождения наи- большего общего делителя. Выполним следующие деления с остатком: а - bq! + П, b = rrq2 4- г2, П = r2q3 4- г3, 0 < Г1 < 6, 0 < r2 < п, 0 < г3 < г2, (2.2.1) Гп-2 - rn^iqn 4- Гп, 0 < rn < гп-1, T’n —1 — T*nQn+l' Тогда (а, 6) = (6,ri) •= (ri,r2) = ... = (rn_i,rn) = гп. Последнее ра- венство выполняется в силу леммы 2.2.1, а все предыдущие — в силу леммы 2.2.2. Таким образом, НОД двух чисел равен последнему отличному от нуля остатку в алгоритме Евклида.
2'3. Взаимно простые числа 21 Пример. Применим алгоритм Евклида к отысканию (175, 77). 175 - 77 • 2 + 21, 77 = 21 • 3 + 14, 21 = 14 • 1 + 7, 14 = 7 • 2. Последний положительный остаток есть г3 = 7. Значит, (175, 77) —7. Умножая все равенства (2.2.1) на натуральное т, убеждаемся в спра- ведливости свойства (am, Ьтп) — (а, b)m. Пусть теперь <5 —- делитель a и Ь. Тогда a b\ Отсюда получаем a b\ (a,b) / a b \ __ 6’6J (Ml/ = ’ (2.2.2) Понятие наибольшего общего делителя можно ввести и для несколь- ких чисел: ai, a2,..., an- Его обозначают символом (щ, a2,..., an). НОД нескольких чисел можно вычислять последовательно. Например, (а1,а2,аз) = ((«1, a2), a3), (ai, a2, a3, a4) = ((ai, а2, a3), а4) и т. д. 2.3 Взаимно простые числа Теорема 2.3.1 (критерий взаимной простоты чисел). Два це- лых а, 6 будут взаимно простыми тогда и только тогда, когда най- дутся целые и, v такие, что ад 4- bv — 1. Доказательство, Необходимость вытекает из алгоритма Евклида. Из равенства гп„2 — Гп-1Яп + гп находим линейное выражение НОД rn = rn-i^n + Гп-2 через предыдущие остатки. Затем вставляем сюда аналогичное выражение для rn_i и т. д. В итоге получается так на- зываемое линейное разложение НОД d — аи + bv. Достаточность вытекает из свойств делимости: (а, 6) | a, (a, b) | b => (a, b) | аи + bv — 1 => (а, 6) = 1. Из доказанного критерия взаимной простоты вытекают следующие свойства.
22 ГЛАВА 2. Арифметические основы Свойство 2.3.1. (а,6) = 1, (а,с) = 1 =>(а,6с) = L Свойство 2.3.2. а | 6с, (а, 6) = 1 => а | с. Свойство 2.3.3. а \ с, b | с, (а, 6) — 1 => ab | с. Например, первое из них выводится так. Умножим почленно равен- ство аи + bv' = 1 на с. Получим аси + bcv ~ с. Если теперь натуральное d делит а и Ьщ то оно должно делить и с. Поэтому <7=1. 2.4 Наименьшее общее кратное Если а | Му Ъ | М, то число М € N называют общим кратным целых чисел а,Ь Е Z. Наименьшее общее кратное (НОК) чисел а, b принято обозначать [а, Ь]. Теорема 2.4.1. Если М — общее кратное целых а, Ъ, то [а, 6] | М. Доказательство. Разделим с остатком М на [а, Ь] : М — [а, b]q 4- г. Ввиду того что г = М — [а, b]q и а | М, а | [а, Ь], имеем а | г. Аналогично b | г. Поскольку 0 < г < [а, 6], это возможно лишь при г — 0. Теорема 2.4.2. Справедливо соотношение [a,b] ~ аЬ/(а,Ь). Доказательство. Пусть сначала (а, 6) — 1. Тогда по свойству 2.3.3 а | [а,&], Ь | [а, 6] => аЬ | [а, Ь] => [а, 6] = ab. Пусть теперь (а, 6) = d ф 1. В этом случае (a/d,6/c?) = 1. Следовательно, [a/d.b/d] = ab/d2. Если два числа умножить на rf, то их НОК и НОД также приобретут этот множитель. Поэтому [a, b] — dab/d2 = аЬ/(а, 6). Наименьшее общее кратное нескольких чисел можно вычислять по- следовательно: [ai, а2, аз] = [[ai,a2],a3], [а1} n2j а3, а4] = [[а1? а2, а3], а4] и т. д. 2.5 Простые числа Натуральное число р > 1 называется простым, если оно не имеет других натуральных делителей, кроме 1 и р. Простым числом будет наименьший, отличный от 1 делитель целого а, а > 1.
2.5. Простые числа 23 Теорема 2.5.1 (Евклида). Существует бесконечно много простых чисел. Доказательство. Пусть pi,P2, • • - >Рп — различные простые числа. Простой делитель числа pip2 .. .рп + 1 не может совпадать ни с одним из чисел pi,p2j • •. >Рп- Отметим ещё несколько свойств простых чисел (здесь р — простое). Свойство 2.5.1. (р, а) ф 1 => р | а. Действительно, (р, а) будучи делителем р может быть равно или 1, или р. Следовательно, (р, а) = р => р | а. Свойство 2.5.2. р \ ab р \ а либо р | Ь. Если бы имело место равенство (р, а) = (р, 6) = 1, то по свойству 2.3.1 (р, аб) = 1. Поэтому хоть один из множителей делится на р. Свой- ство легко обобщается на случай нескольких чисел а, 6, с,... , Теорема 2.5.2. Всякое целое, большее единицы, разложимо в произ- ведение простых множителей. Это разложение единственно с точ- ностью до порядка следования множителей. Доказательство. Если целое а не простое, то а — piuj, где pi — наименьший простой делитель. Если не простое, то а\ ~ р2а2. В итоге придём к случаю ап = 1. Следовательно, а = р1р2---Рп- (2.5.1) Пусть есть ещё одно разложение а — q±q2 .. .qs. Тогда pip2 .. .рп = q±q2 • • - Qs- По свойству 2.5.2pi делит хоть одно из чисел в правой части. Пусть, например, Pi | Qi- Это значит pi = qi. Сокращая обе части на pi, имеем р2рз •••Рп - $2<1з • • - qs- Аналогичным образом доказывают совпадение р2 с каким-то множителем в правой части. В итоге получим тождественность двух разложений. В разложении (2.5.1) некоторые из множителей могут повторяться. Если объединить повторения, то получается так называемое канони- ческое разложение числа а на простые множители: а = (2.5-2)
24 ГЛАВА 2. Арифметические основы 2.6 Сравнения Будем рассматривать целые числа в связи с остатками от их деления на натуральное тп, называемое модулем. Если два целых а и b имеют одинаковые остатки от деления на т, то они называются сравнимыми по модулю т. Сравнимость чисел а, b записывают в виде а = 6(modm). Отметим следующие легко доказываемые либо очевидные свойства. Свойство 2.6.1. а = 6(modm) О т | а — Ь. Свойство 2.6.2. а ~ b(modm), b = c(modm) а ~ c(modm). Действительно, т | а — 6, т | b — с => т | ((а — b) + (6 — с)) m | а — с. Свойство 2.6.3. Сравнения можно почленно складывать. Пусть 01 ~ fei(modm), а2 = &2(modm). Тогда т | — 61, т | а? — 62. В силу свойства 2.1.1 т | oi — b± + а2 — 62, т. е. т | (ai + а2) — (&1 4- 62). Свойство 2.6.4. Сравнения можно почленно перемножать. Пусть ах - mqr 4- П, bi ~ mg2 4rb а2 = + ^2, 62 - т<14 4- г2. Тогда oio2 = m(rnq2 + qiri + g2ri) + rir2, т. e. oid2 = nr2(modm). Аналогично 6i62 = rir2(modm). Свойство 2.6.5. К обеим частям сравнения можно прибавить одно и то же число. Свойство 2.6.6. Обе части сравнения можно умножить на одно и то же число. Свойство 2.6.7. Обе части сравнения можно разделить на их общий делитель, если он взаимно прост с модулем. Пусть aid = 6id(modm). Тогда т | d(ai — bi). В силу свойства 2.3.2 m | 01 — поскольку (m, d) = 1.
2.7. Классы вычетов 25 Свойство 2.6.8. Обе части сравнения и модуль можно сокращать на их общий делитель. Свойство 2.6.9. а = 6(modmi), а = 6(modm2) а ~ fr(mod[77Z], m2]). Вытекает из теоремы 2.4.1. Свойство 2.6.10, а = 6(modm), d | 6, d | т => d | а. Действительно, m\a~b^d\a — b-=>d\a — b + b^d\a. Свойство 2,6.11. а = 6(modm) => (a,m) — Следует из леммы 2.2.2 ввиду того, что а — b + кт. 2.7 Классы вычетов Числа, сравнимые по модулю т, образуют класс вычетов по мо- дулю т, Все числа из одного класса имеют один и тот же остаток г от деления на т. Любое число а из класса вычетов называется вы- четом по модулю т. Соответствующий класс обозначается через а. Поскольку отношение а = 6(modm) является бинарным отношением эквивалентности, имеем разбиение целых чисел на классы эквива- лентности (классы вычетов). Всего имеется т классов вычетов по модулю т\ б, 1,2,..., т — 1. Очевидны следующие свойства. Свойство 2.7.1. а = &(modm) <=> а = Ь. Свойство 2.7.2. а fr(modm) О а П b ~ 0. Взяв из каждого класса по одному вычету, получим полную си- стему вычетов. Например, наряду с 0,1,2,, т— 1 полной системой вычетов будет 1, 2,..., т. Свойство 2.7.3. Любые т чисел, попарно несравнимые по модулю гп, образуют полную систему вычетов. Свойство 2.7.4. Если (a,m) — 1 их пробегает полную систему вы- четов по модулю т, то ах + b, где b — любое целое, также пробегает полную систему вычетов по модулю т.
26 ГЛАВА 2. Арифметические основы Доказательство. В силу свойства 2.7.3 достаточно проверить, что axi Н- b ах2 + &(modm) при хг ф ^(modm). Допустив, что aa?i + b = ах2 + 6(modm), получим a^i = aa?2(niodm) => z‘i = ^(modm). Согласно свойству 2.6.11, числа одного класса вычетов имеют с мо- дулем т один и тот же общий делитель. Рассмотрим те классы, для которых этот делитель равен 1. Взяв от каждого такого класса по од- ному вычету, получим приведённую систему вычетов. Например, приведённая система по модулю 42 будет 1, 5, 11, 13, 17, 19, 23, 25, 29, 31,37,41. Свойство 2.7.5. Если (а,т) = 1 их пробегает приведённую систему вычетов по модулю т, .то ах также будет пробегать приведённую систему вычетов по модулю т. Достаточно показать, что числа ах попарно несравнимы (свойство 2.7.3) и взаимно просты с модулем т. Второе следует из (т, а) — 1, (т, ж) — 1. 2.8 Функция Эйлера Число классов вычетов в приведённой системе вычетов обозначают через и называют функцией Эйлера. Функция Эйлера опре- делена для всех натуральных чисел и представляет собой число чисел ряда 0,1,..., а — 1 (1,2,..., а), взаимно простых с а. Примеры. <р(1) = 1} <р[2) ~ 1, (/>(3) = 2, <р(4) ~ 2, <р(5) “ 4, <р(6) = 2. Очевидны следующие свойства (р — простое). Свойство 2.8.1. у>(р) = р — 1. Свойство 2.8.2. ф(рк) — pk — pk~11 k £ N. При к — 1 всё ясно. Пусть к > 1. Тогда в ряду i = 1,2,3, ...,pfe условие (i,pk) — 1 нарушается лишь для каждого р-го члена. Их всего имеется рк/р = рк~у. Лемма 2.8.1 (мультипликативность функции Эйлера). (а, &) = !:=> <р(а, Ь) = <р(а)(р[Ь).
2,9. Сравнения первой степени 27 Доказательство. Разместим числа 1,2,..., ab в таблицу 1 2 3 ... b 6+1 6 + 2 6 + 3 ... 26 26+ 1 26 + 2 26 + 3 ... 36 (а -1)6+1 (а -1)6 + 2 (а —1)6 + 3 ... ab Числа, взаимно простые с 6, могут быть лишь в столбцах, номера ко- торых взаимно просты с 6. Все числа такого столбца взаимно просты с 6. Таких столбцов всего <р(6). По свойству 2.7.4 любой такой столбец представляет полную систему вычетов по модулю а. Поэтому он содер- жит чисел, взаимно простых с а. Воспользуемся теперь тем, что (г, аб) (г, а) = (г, 6) = 1 (2.3.1). Поэтому <р(а6) = ^(а)^(6). Используя лемму и каноническое разложение числа на простые мно- жители а — р^р^2 • <Pss, имеем <р(а) = (+ - (р*2 - ?22-1) • • • (+ “ Р/ + ИЛИ <р(а) - pkipk*.. .рк' (1 - —) (1• - —Y .. (1 - — ) , \ Р1/ к Р2/ к рЛ Функция Эйлера используется в теории сравнений. Теорема 2.8.1 (Ферма). ар 1 = l(modp), если (а,р) — 1. Теорема 2.8.2 (Эйлера), = l(modm), если [а}т] = 1. Первая теорема вытекает из второй, которая будет доказана в сле- дующей главе. 2.9 Сравнения первой степени Рассмотрим сначала сравнение ах = 6(modm) (2.9.1)
28 ГЛАВА 2. Арифметические основы 2,11. Первообразные корни 29 при условии (a,m) = 1. Под решением любого сравнения понимают класс вычетов по модулю т, один элемент которого (а значит, и все) удовлетворяет сравнению. В нашем случае найдутся целые u, v,такие, что au + bm = 1. Следовательно, аи ~ l(modm). Будем называть и обратным к а по модулю т. Умножим теперь обе части сравнения (2.9.1) на и. Получим х = 6u(modm). (2.9.2) Следовательно, сравнение имеет единственное решение по модулю т. Пусть теперь (a,m) = d > 1. По свойству 2.6.10 условие d | b явля- ется необходимым условием разрешимости сравнения (2.9.1). Будем считать его выполненным. Пусть а = aid, b — bid, т = mid. Тогда наше сравнение равносильно aiz = bi(modmi). Имеем одно решение х = (modmi). По модулю же т имеем d решений: Ti, #1 + п21, Ж1Ч-2ГП1, ..., #i + (d — l)mi. Теорема 2.9.1. Пусть (а,т) = d. Сравнение ах = 6(modm) разре- шимо тогда и только тогда, когда d \ Ь. В этом случае оно имеет d решений. При небольшом т сравнение ах ~ 6(mod m) решается подбором. Для его решения достаточно найти число и, такое, что аи = l(modm); это можно сделать с помощью алгоритма Евклида. В качестве и можно также взять и — (способ Эйлера). 2.10 Система сравнений первой степени Система сравнений aix = bjmodmi), a2z = bzfaodmz), . апх ~ bn(mod тп), сводится к системе вида я = 6i(modmi), х = 62(modm2), k х = 6n(modmn). (2.10.1) (2.10.2) Для решения последней достаточно уметь решать систему х = bi (mod mi), х = 62(modm2). (2.10.3) Из первого сравнения х = bi + mil. Подставляя х во второе сравнение, получаем mit = b2 — 6i(modm). Поэтому критерием разрешимости (2.10.3) является условие (mi,m2) | &2 — Ь^. В этом случае имеем одно решение по модулю t = t0 (mod (т-^з)). Поэтому / m2 \ 7 77117712 г 1/ X - 61 + ро + 7—= Ьо + 7-------------------------р = &о + [mi, m2]t. \ (mi,m2) / (mi,m2) Таким образом, система (2.10.3) в случае её разрешимости имеет единственное решение по модулю [mi,m2]. Исходная система (2.10.1) в случае её разрешимости имеет единственное решение по модулю .. .,тп]. В случае, когда все модули mi, m2,... ,тп попарно взаимно про- сты, к системе (2.10.2) применим так называемый китайский способ. Определим числа Ж1, ж2,..., хп из условий т2тз • • • = 1 (mod mJ, тхтз .. .mnX2 = 1 (modmj, ..., mim2 .. .mn_ixn = 1 (modmn). То- гда решением системы (2.10.2) будет число х = т2тз .. .mnxibi + т[Гп3 .. .mnx2b2 + •’•• + трт7.2.. .mn_ixnbn. Теорема 2.10.1 (китайская теорема об остатках). Система сра- внений (2.10.2) при попарно взаимно простых модулях имеет един- ственное решение по модулю произведения. 2.11 Первообразные корни Говорят, что число а, взаимно простое с модулем т, принадле- жит показателю 6, если S — такое наименьшее натуральное число, что выполняется сравнение а6 — l(modm). Справедливы следующие свойства. Свойство 2.11.1. Числа а0, а1,..., попарно несравнимы по мо- дулю т.
30 ГЛАВА 2. Арифметические основы Действительно, а1 = ak (modm), I > k => a1 k — 1 (modm), где I - k E N, I - k < 5. Свойство 2.11.2. ад = ad (modm) 7 ~ 7/(mod£). Разделим 7,7' на S с остатками 7 = 3q + г, 7' = 3qf + rf • Тогда a7 = o'1 <=> a§g+r = a6q +r ar ~ ar rf — г. Отсюда вытекает следующее свойство. Свойство 2.11.3. 6 | cp(m). Число, принадлежащее показателю у?(т), называется первообраз- ным корнем по модулю т. Свойство 2.11.4. По любому простому модулю р существует перво- образный корень. Это свойство будет доказано в следующей главе. Гауссом устано- влено существование первообразных корней по модулям рк и 2рк при любом нечётном простом р. Легко убедиться, что при т = 4 перво- образный корень также существует. Таким образом, первообразные корни существуют по модулям 2,4, ра, 2ра, где р — нечётное простое, aeN. Докажем отсутствие первообразных корней по всем остальным мо- дулям. В этих случаях, если т не является степенью 2, т ~ mi m2, mi > 2, m2 > 2; (mi,m2) — 1, <£>(mi) = </?(m2) = 0(mod2). Поэтому av(m)/2 = = l(mOdmi), аналогично a^(w)/2 = 1 (modm2). Следовательно, a^m^2 = l(modm) ввиду свойства 2.6.9. Если m = 2\ то при нечётном а а2 ~ l(mod8). Следовательно, а2 ~ l(mod2l). Следующее свойство упрощает нахождение первообразных корней. Свойство 2.11.5. Пусть с =. ср(т) и 21,22) *•-Л/с — различные про- стые делители числа с. Число а, взаимно простое с модулем т} будет первообразным корнем тогда и только тогда, когда не выполнено ни одно из следующих сравнений: ас/д1 ~ i(modm), ac/Q2 .= l(modm), ..., ac^qk = l(modm). (2.11.1)
2.12. Существование первообразных корней 31 Необходимость следует из того, что ~ l(modm) и сравнение не имеет места при меньших показателях степени. Обратно, допустим, что а не удовлетворяет ни одному из сравнений и а принадлежит показателю £ < с. Из этого следует £ | с => с = 6п. Обозначим через q простой делитель м. Тогда легко получить противоречие: ас/9 = a6u/g = ^<5^/9 = Пример. Пусть m = 41. Имеем с — <р(41) — 40 = 23 • 5. Итак, перво- образный корень не должен удовлетворять двум сравнениям: а8 = 1(тос!41), a20 = l(mod41). Испытываем числа 2,3,4,...: 28 = 10, 220 = 1, З8 = 1, 48 = 18, 420 = 1, 58 = 18, 520 = 1, 68 = 10, б20 = 40. Отсюда видим, что 6 является наименьшим первообразным корнем по модулю 41. 2.12 Существование первообразных корней Теорема 2.12.1. Пусть р — нечётное простое. Тогда по модулям вида рк и 2рк, к > 1, существуют первообразные корни. Доказательство. Пусть а — первообразный корень по модулю р. Покажем, что существует такое целое ж, что а' = а 4- рх будет перво- образным корнем сразу по всем модулям вида рк, к > 1. Поскольку а — первообразный корень по модулю р, то — 1 4- ру при некотором целом у. Применим теперь формулу бинома Ньютона: (а')*”"1 — (а 4- рт)р-1 = 4~ (р - 1)ар~2рх 4- • • = = 1 +рр4- (р - 1)ар~2рх + .. • = 1 + р(р4- (р- 1)ар"2ж +...). В скобке коэффициент при х не делится на р. Поэтому х можно выбрать так, что эта скобка не будет делиться на р. В этом случае (а')р~1 = 14-р#, где (г,р) = 1. Пусть теперь а1 принадлежит показателю d по модулю рк. Тогда d делит pfe”1(p — 1). С другой стороны, р— 1 делит d. Поэтому d = р1 (р—1) при некотором 1< к. Далее, (a')d = (1 4-pz)pi =14- р1+1Щ (и,р) = 1.
32 ГЛАВА 2. Арифметические основы Это означает, что I — к — 1, т. е. d = рк~г(р — 1) = <f>(pk)- Рассмотрим теперь модуль 2рк. Возьмём первообразный корень а по модулю рк. Одно из чисел а или а Е рк нечётное. Оно также является и первообразным корнем по модулю 2рк, так как <р(2рк) — • Таким образом, первообразные корни существуют лишь по модулям 2, 4, рк, 2рк, где р — простое нечётное. 2.13 Индексы по модулям рк,2рк Обозначим через m модуль вида рк или 2рк, а через д — первообраз- ный корень по этому модулю. Положим с = <р(тп). Из свойства 2.11.1 вытекает следующее свойство. Свойство 2.13.1. Если число у принимает последовательно значе- ния 0,1,..., с — I, то пробегает приведенную систему вычетов по модулю т. Для Чисел а, взаимно простых с т, введём понятие об индексе, на- зываемом иногда дискретным логарифмом. Пусть а = д'1 (modт). Число 7(7 > 0) называется индексом числа а по модулю т при основании д. Будем использовать обозначения 7 — ind5 а или 7 = ind а. В силу теоремы Эйлера индекс определён по модулю с. Тем самым было бы правильнее говорить о классе вычетов по модулю с. Свойство 2.13.2. ind ab ~ ind а 4- ind 6(modc). Перемножая сравнения а = ^ind a(modm), 6 = gmd ^(modm), полу- чаем требуемое. Свойство 2.13.3. ind an = nind a(modc). Если воспользоваться таблицами индексов, то можно решать показа- тельные и степенные сравнения путём их индексирования (дискретного логарифмирования). В самом деле, степенное сравнение хп = a(modm) равносильно сравнению п ind х = ind a (mod с), решение которого при наличии таблиц не составляет труда. Положим d = (п, с).
2.14. Символ Лежандра 33 Свойство 2.13.4. Сравнение хп = a(modm) разрешимо тогда и только тогда, когда d делит ind а. В случае разрешимости имеется d решений. 2.14 Символ Лежандра В параграфе 2.9 мы изучали сравнение ах ~ b (modm). Рассмотрим теперь сравнение ах2 4-6ж + с е 0 (modm). Оно легко сводится к сравне- нию (2ах + 6)2 = b2 — 4ас (mod 4am). Полагая у — 2ах 4- b, d = b2 — 4асу имеем сравнение у2 = d (mod 4am). Фактически исходное сравнение сведено к сравнению вида х2 ~ a (modm). Рассмотрим случай, когда т — простое. Пусть р — нечётное простое число, (а,р) = 1. Символ Лежандра определяется равенством = 1, если сравнение х2 = a (modp) разрешимо, и ~ -1 в противном случае. Говорят также, что в первом случае а является квадратичным вычетом по модулю р и квадратичным невычетом — во втором. Таким образом, Пример. Квадратичные вычеты по mod7 — 1,2,4; невычеты — 3,5,6. Если g — первообразный корень по modp, то каждое целое g2k — квадратичный вычет, а каждое — квадратичный невычет. В са- мом деле, сравнение (дь)2 = $2/c+1(modp) влечёт gl2/c+1-2H ~ 1 (modp), а значит, 2k 4-1 — 21 должно делиться на р— 1. Противоречие, так как пер- вое число нечётно, а второе чётно. Следовательно, существует (р — 1)/2 квадратичных вычетов и столько же невычетов по modp. Представле- ние вычетов в форме д2к у а невычетов в форме влечёт следующее важное свойство. Свойство 2.14.1. 0), где (а,р) — (6,р) = 1. Теорема 2.14.1 (критерий Эйлера). Если (а,р) = 1, то (а\ . I - I ~ а 2 (modp).
34 ГЛАВА 2. Арифметические основы 2.16. Символ Якоби 35 Доказательство. ар 1 — 1 — (а^ _ 1)(а^ + 1) = 0 (modp). i = 1,2, ...,Pi, j = 1,2,.. .,71. Все они попарно различны. Образуем ИЗ НИХ S1 пар с условием qi < pj и S2 пар с условием qi > pj. Первое условие означает также, что i < pj/q. Поэтому Множители а^~ — 1 и а1^ 4- 1 различаются на 2. Поэтому только один из них делится на р. Для а = д2к это будет первый множитель. - „ . , Л / Л f 1, p=l(mod4), Свойство 2.14.2. ( —) — < . о \р/ [ —1, p=3(mod4). Аналогично 2.15 Квадратичный закон взаимности Гаусс доказал следующую лемму, упрощающую вычисление символа Лежандра. Лемма 2.15.1. fjQ = (—где pi = В силу леммы Гаусса Перемножая эти равенства, получаем Доказательство. Рассмотрим числа a,2a, ...,pia и их абсолютно наименьшие вычеты Sin, £pirpi> где £j = ±1, = rj' Числа ±a, ±2a,..., ±pia образуют приведённую систему вычетов по modp, среди которых содержатся ri, г2,..., гР1. Последние лишь по- рядком отличаются от чисел l,2,...,pi. Перемножая почленно срав- нения ia ari (modp), i ~ l,2,...,pi?H сокращая произведение на 1,2,. ..,pi силу = П, r2,... ,pi, получаем а * — £i,£2> • • • ,£pi (modp). В 2ia L P J ia 2 — z’a + 2— ”2 LpJ pJ ia IP J + [2- . PJ видно, что ei = 1 при чётном и Ci — — 1 в противном случае. Отсюда легко следует утверждение леммы. Теорема 2.15.1 (квадратичный закон взаимности). Для любых нечётных простых р} q выполнено равенство Доказательство. Для вычисления используем лемму Гаусса. Пусть = ^у^. Рассмотрим теперь pi,gi пар чисел pj и qj, где f 2А __ [-ПМр q) \pJ 2.16 Символ Якоби Символ Якоби является обобщением символа Лежандра и служит для упрощения вычисления последнего. Пусть Р — нечётное натураль- ное число, Р — р\р<2 •. Ps — его разложение на простые множители. Для всякого целого a, (а, Р) = 1, символ Якоби определяется по формуле Отметим следующие свойства. Свойство 2.16.1. а b (modP) — (р)* Доказательство. Поскольку а =z Ь (modP) => а = b (modp^), то te) = fe)'i = I'2..’
36 ГЛАВА 2. Арифметические основы . Задачи и упражнения к главе 2 37 Свойство 2.16.2. = (*1) (£}-) • • (^-). Доказательство. По определению, левая часть равна Теорема 2.16.1. Пусть Р u Q — положительные взаимно простые нечётные. Тогда Доказательство. Во-первых, Первый множитель по свойству 2.14.1 равен @>к Р1 (0\ \р) Г 3 -пп 1-1j-1 Pj) (—1)52* Pj-1 2 2 пп » j РтЛ 4i) ' Применяя это свойство ко всем множителям и группируя их, получаем правую часть. Во-вторых, правую часть легко преобразовать к виду Свойство 2.16.3. (-jl) = (-1)^2-. Осталось заметить, что Доказательство. Заметим сначала, что £^S^(mod2), f С другой стороны, можно многократно воспользоваться легко проверя- емым утверждением. Пусть а и b нечётные. Тогда l(ab-l) = l(a-l) + U-l) (mod2). z z z Свойство 2.16.4. (j?) = 1. Оно очевидным образом вытекает из предыдущих свойств. Заметим, что из равенства не следует, что а является квадратичным вычетом по модулю Р, В дей- ствительности, а является квадратичным вычетом по модулю Р тогда и только тогда, когда a — квадратичный вычет по модулю каждого про- стого pj, г = 1,2,..., s. В то же время из равенства (^) = —1 следует, что а — квадратичный невычет по modP. Задачи и упражнения к главе 2 1. Показать, что б | m(m2 4-5), 30 | m5 — m, 30 | mn(m4 — n4), 42 | т7 — т для любых натуральных т, п. 2. Показать, что при т Е N произведение (m4-l)(m4-2) x*'-x(w+w) делится на 2т. 3. Будут ли целыми числа 1 + | 4- j 4-1 4-1 4-1 4-h гма ’ п > 1? 4. Пусть (a, b) = 1. Покажите, что (а + Ь, а — Ь) < 2. 5. Вычислите НОД: (549, 387), (589, 343), (12606, 6494), (6188, 4709) и найдите их линейные разложения. 6. Докажите, что НОД можно определить как такой общий делитель, который делится на любой другой общий делитель.
38 ГЛАВА 2. Арифметические основы 7. Пусть (а,Ь) = 1, ab = с2. Покажите, что числа а и b оба будут квадратами. 8. Показать, что р2 — q2 кратно 24, где р, q — простые, большие 3. 9. Доказать бесконечность множества простых чисел вида 4m + 3. 10. Доказать бесконечность множества простых чисел вида 6m + 5. И. Пусть к — натуральное. Доказать, что в натуральном ряду име- ется бесконечно много отрезков m, m-|-1,... ,т+&, не содержащих простых чисел. 12. Найти канонические разложения чисел 82798848, 81057226635. 13. Разложить на простые множители числа 10!, 15!, 20!, 30!. 14. Сколькими нулями оканчиваются числа 50!, 100!? 15. Найти функцию Эйлера для чисел 375, 720, 957, 988, 1200, 4320. 16. Сколько чисел в интервале от 1 до 120 не взаимно простых с 30? 17. Дано <р(а) — 120, а — pq, где р, q — простые. Найти а, если р-д = 2. 18. Доказать, что уравнение 15ж2 - 7у2 — 9 не имеет решений в целых числах. 19. Решить в целых числах уравнение х2 + у2 ~ z2. 20. Доказать, что сумма квадратов пяти последовательных целых чи- сел не может быть точным квадратом. 21. Решить в целых числах уравнения 53# 4- 47р ~ 1, 22х 4- 32р = 18. 22. Путём перебора решить сравнения: 1) 5ж2 - 15ж 4-22 ~ 0(mod3), 3) За? = l(mod5), 5) 12ж — l(mod7), 2) ж3 - 12 = 0(mod5), 4) 7х = 31(mod6), 6) 6х + 5 ~ 6(mod7). 23. Решить способом Эйлера сравнения:
Задачи и упражнения к главе 2 39 1) 5х = 0(mod7), 2) 25я == 15(mod7), 3) 5х = 7(mod7), 4) 5а? = 26(modl2). 24. Решить системы сравнений: a? = 3(mod8), х a ll(mod20), х =. l(mod 15), х = 2(mod 17), 5a? = 3(mod9), к 8х = 4(mod 14) 25. Решить системы сравнений китайским способом: х ~ 2(mod7), х = 9(modll), х ~ 3(mod 13), ' х — 3(mod8), < a?^2(mod9), x = 5(mod7). 26. Составить таблицы индексов: 1) no mod 29 с основанием 2; 2) по mod 23 с основанием 5. 27. Путём индексирования решить сравнения, пользуясь таблицами индексов: 1) 2х = (mod 67), 3) 13* = (mod 47), 5) 37ж16 = 62(mod73), 7) 5ж4 = 3(modll), 2) 52* = 38(mod29) 4) 12* = 17(mod31) 6) 2ж3 = 17(rnod41) 8) 27я5 = 2(mod31) 28. Пусть a принадлежит показателю 6, b — показателю 7, (£,7) — 1. Покажите, что ab принадлежит показателю £7. 29. Пусть а принадлежит показателю <5, b — показателю 7. Как по- строить элемент, принадлежащий показателю (6,7)? 30. Пусть а принадлежит показателю 6. Какому показателю принад- лежит а7? 31. Пусть g •— первообразный корень по модулю т. Сколько всего имеется первообразных корней по этому модулю? 32. Вычислить символы Лежандра и Якоби: ( 47 \ /131\ /123\ \125/ ’ \283; ’ \917/
40 ГЛАВА 2. Арифметические основы 33. Найти все квадратичные вычеты по модулю числа р: р — 11, р ~ 13, р = 17. 34. Доказать, что при р = 4k 4- 1 числа а и р — а одновременно ква- дратичные вычеты или невычеты, а при р = 4k + 3 — наоборот. 35. Решить сравнения х2 = 19(шос131), х2 ~ 15(mod53), х2 = 11 (mod 59). 36. Решить сравнения х2+8я—20 = 0(mod45), 5я24-£4-4 ~ 0(mod 10). 37. Пользуясь леммой Гаусса и равенством (j?) — (—р- 1 ~ (“р” )> докажите, что (р)— (—1)~в~. 38. Показать, что для любого целого d и любого нечётного простого р число решений сравнения х2 = d(modp) равно 1 4~ . 39. Найти способ решения сравнений вида х2 = 4(modm). 40. Доказать, что число решений уравнения х2 4- у2 = р, {х,у} = 1, х > 0, у > 0, равно числу решений сравнения z2 4- 1 = 0(modp).
ГЛАВА 3 Алгебраические основы 3.1 Понятие группы Группой называется непустое множество G с алгебраической опе- рацией * на нём, для которой выполняются следующие три аксиомы. 1. Операция * ассоциативна, т. е. для любых а, 6, с Е G а * (& * с) = (а * 6) ♦ с. 2. В G имеется единичный элемент (или единица) е, такой, что для любого а Е G а * е ~ е * а — а. 3. Для каждого а Е G существует обратный элемент Е G, такой, что а * а"1 — а-1 * а ~ е. Если дополнительно группа удовлетворяет условию, что для любых MEG а * b ~ b * а, то она называется абелевой (или коммутативной). Для групповой операции будем использовать мультипликативное обозначение и вместо а * b писать аб, называя этот элемент произве- дением элементов а и Ь. Иногда для групповой операции используют
42 ГЛАВА 3. Алгебраические основы аддитивную запись и пишут а+6. В этом случае вместо единицы пишут ноль, а вместо а""1 пишут —а. Такие обозначения обычно резервируют для абелевых групп. В группе имеется лишь один единичный элемент. Действительно, если — ещё одна единица, то е' = efe = е. Для любого элемента имеется лишь один обратный. Действительно, пусть х и у — обратные элементы для a £ G, Тогда, по ассоциативности, х - хе = х(ау) = (ха)у - еу - у. Примеры. Множество Z целых чисел образует группу относительно операции сложения. То же самое можно сказать относительно рацио- нальных чисел Q вещественных чисел 1R и комплексных чисел С. Обозначим через О, Т, 2,3,4 классы вычетов по модулю 5. Определим их сложение по модулю 5. Например, Т+2 — 3, 2 + 3 — б, 2 + 4 = 1, т. е. осуществляется обычное сложение и при необходимости берётся оста- ток от деления на 5. Эта группа обозначается через Z5 и называется (аддитивной) группой классов вычетов по модулю 5. Аналогич- ным образом строится группа классов вычетов по любому модулю т. Если взять все классы вычетов, взаимно простые с модулем т, и определить их умножение по модулю т, то получается группа, обо- значаемая через Отметим, что существование обратного элемента для a G вытекает из разрешимости сравнения ах = l(modm) при (a, tyi) — 1. Число элементов конечной группы G называется порядком группы и обозначается через |G|. Например, | | = m, | 7L*m | = Мультипликативная группа G называется циклической^ если она порождена одним элементом, т. е. в ней имеется такой элемент а (обра- зующий), что любой другой элемент b представим в виде b = ап, п G Z. Если п — отрицательное, то под ап понимается произведение Циклическими являются группы Z и Zm. Группа 2^ оказывается ци- клической лишь в случае, когда по модулю т существует первообраз- ный корень. В циклической группе, конечной или нет, может быть не- сколько образующих элементов. В аддитивной группе Z образующими будут элементы 1 и -1. Циклическая группа всегда коммутативна. Существует удобный способ задания конечной группы — в виде та- блицы. Она обычно называется таблицей Кэли. Её строки и столбцы помечаются элементами группы, и на пересечении строки, помеченной элементом а, и столбца, помеченного элементом Ь, ставится элемент ab. Например, таблица Кэли группы Z5 имеет вид.
3.2. Подгруппы групп 43 + О 1 2 3 4 б 0 1 2 3 12 3 4 2 3 4 0 3 4 0 1 4 0 12 4 4 О I 2 3 3.2 Подгруппы групп Подмножество Н группы G называется подгруппой этой группы, если Н само образует группу относительно операции группы G. Подгруппы группы G, отличные от тривиальных подгрупп {e},G группы G, называются собственными подгруппами. Теорема 3.2.1. Подмножество Н группы G будет её подгруппой то- гда и только тогда, когда выполняются следующие условия: 1) a,b Е Н ab Е Я' 2) аЕ Н ^а~1 ЕН. Доказательство. Необходимость следует из определения группы. Докажем достаточность. Аксиома 1 в определении группы (ассоциа- тивность) автоматически выполняется и на любом подмножестве. Оста- лось показать, что е Е Н. Возьмём произвольный элемент а Е Н. Тогда а""1 Е Я, а значит, е — да"1 Е Н. Условия 1, 2 в теореме 3.2.1 очевидным образом эквивалентны усло- вию a,bEH=>ab~l ЕН. Легко проверить справедливость следующей теоремы. Теорема 3.2.2. Если Н — подгруппа группы G, то отношение экви- валентности Rh на G, определяемое условием (а, 6) Е Rh а = bh для некоторого h Е Я, является бинарным отношением эквивалентности.
44 ГЛАВА 3. Алгебраические основы Классы эквивалентности по отношению Rh называются левыми смежными классами группы G по подгруппе Н и обозначаются аН — {аЛ|Л G Н}. Смежные классы группы по подгруппе либо совпадают, либо не пе- ресекаются. Аналогичным образом определяются правые смежные классы по подгруппе Я, которые имеют вид На = {Ла|А Е Н]. Для абелевой группы эти два понятия идентичны. Пусть, например, G = Z, Н = 2 Z— подгруппа чётных чисел. Тогда имеем два смежных класса; 2 Z — чётные числа, 1 + 2Z — нечётные числа. Теорема 3.2.3. Если Н — конечная группа, то каждый (левый им правый) смежный класс по ней содержит [Н\ элементов. Доказательство, aih = a^h а\ = так как обе части первого равенства можно умножить на Л'1. Если число смежных классов группы G по подгруппе Н конечно, то число этих классов называется индексом подгруппы Н в группе G и обозначается через [G : И]. В этом случае имеет место так называемое разложение группы по подгруппе; G = Н U giH U g?H U •• -U дрН, где справа все смежные классы попарно не пересекаются, р = (G : Я)—1. Аналогично можно ввести разложение на правые смежные классы по подгруппе. Теорема 3.2.4. Пусть G — конечная группа. Тогда |С| = [С:Я]|Я|. Следствие 3.2.1 (Лагранжа). Порядок конечной группы делится на порядок любой её подгруппы. Пусть а Е G. Положим ап = а < если п — натуральное, ап ~ (а“1)1п1, если п — целое отрицательное, и наконец а0 = е. Таким образом можно рассмотреть подмножество (а) = {ап| п Е Z}. 3.3. Циклические группы 45 ОЯо, как легко показать, является подгруппой группы G. Эта под-, группа называется циклической подгруппой, порождённой элемен- том а. Её порядок называется порядком элемента а. Иными сло- вами, элемент а 6 G называется элементом порядка т Е N, если ат = е, где т — наименьшее натуральное с этим условием. Легко показать, что т ] Ц если а1 = е. Если такого т нет, то элемент а называется эле- ментом бесконечного порядка. Из теоремы Лагранжа вытекает, что порядок конечной группы G делится на порядок любого её элемента а. Поэтому 0*^1 = е. Поскольку |Z^| ~ то в качестве ещё од- ного следствия получается теорема Эйлера о том, что при (а, т) = 1 а^(т) = l(modm). В дальнейшем нам потребуется одно утверждение о порядках эле- ментов в абелевой группе G. Пусть a, b Е G, и пусть их порядки т и п соответственно, причём (m, n) = 1. Покажем, что порядок произведения аЪ равен тп. Обозначим порядок ab через £. Тогда (аб/ — 1, а значит, (ab)6m = 1 => aSmb6m = 1 => b6m = 1 п | 8т => п | 5. Аналогично показывается, что т | 6. Поэтому тп | 8. Последнее, в силу мини- мальности <5, означает 6 = тп. Доказанное является частным случаем следующего утверждения. Теорема 3.2.5. Пусть даны два элемента a,b Е G абелевой группы. Тогда в группе найдётся элемент порядка [т, п]. Доказательство. Случай (m, n) = 1 рассмотрен. Пусть (m,n) = d. Легко построить разбиение d = с/1С?2»такое, что (m/d^n/do) — Е Эле- менты adl и ad2 имеют порядки m/dr и n/d2 соответственно. Их про- изведение имеет порядок (m/di)(n/d<2) = mn/d = [т, п]. 3*3 Циклические группы Пусть (а) есть циклическая группа, порождённая элементом а. Теорема 3.3.1. Каждая подгруппа циклической группы также явля- ется циклической. Доказательство. Пусть И — подгруппа циклической группы (а), такая, что Н {е}. Если ап Е Ну то а~п Е Н. Поэтому Н содер- жит степень а с натуральным показателем. Пусть d — наименьший натуральный показатель, для которого ad Е И. Пусть теперь as Е Н.
46 ГЛАВА 3. Алгебраические основы Положим s = dq + г, 0 < г < </, </, г 6 Z. Тогда ar = as (a d)q € Н, что противоречит минимальности d, если г ф 0. Поэтому Я = (ad). Теорема 3.3.2. В конечной циклической группе (а) порядка т эле- мент ак порождает подгруппу порядка т^к^т)^1. Доказательство. Пусть d = (к,т). Порядок группы (ак} — наи- меньшее натуральное п, такое, что акп ~ е. Условие акп = е справед- ливо лишь тогда, когда т | кп, т. е. тогда и только тогда, когда (m/d) | п. Наименьшее натуральное п с таким свойством есть m/d. Теорема 3.3.3. Если d — положительный делитель т, то G содер- жит единственную подгруппу индекса d. Доказательство. Если d задано, то является подгруппой по- рядка m/d, и потому она имеет индекс d. Если (а*) — другая под- группа индекса 3, то её порядок равен m/d. Поэтому в силу теоремы 3.3.2 у = => d — (к,т) => d | к. Следовательно, ак G (ad). Но так как обе группы одного порядка, то они совпадают. Теорема 3.3.4. Для любого положительного делителя I числа т группа (а} содержит в точности одну подгруппу порядка I. Доказательство. В силу предыдущей теоремы подгруппами по- рядка / являются только подгруппы, индексы которых равны т/1. Теорема 3.3.5. Пусть I — положительный делитель порядка конеч- ной циклической группы {а}. Тогда (а) содержит (р(1) элементов по- рядка I. Доказательство. Пусть \{а)\ = т = dl. В силу теоремы 3.3.2 эле- мент ак имеет порядок I лишь в случае, если (к, т) = d. Поэтому число элементов порядка I равно количеству целых к, 1 < к < т, для которых (к,т) = d. Поэтому к ~ dn, где 1 < п < I. Теперь условие (fc,m) = d равносильно условию (fc, /) = 1. Количество таких чисел равно Попутно нами доказана следующая теорема. Теорема 3.3.6. Конечная циклическая группа (а) порядка т содер- жит <р(т} образующих. Элемент а1 является образующим лишь при условии (Цт) = 1.
$4. Гомоморфизмы групп 47 а.4 Гомоморфизмы групп Отображение / : G —> Gf группы G в группу G1 называется гомо- морфизмом, если оно согласовано с операциями на группах G и G', т. е. f(ab) = f(a)f(b) для любых двух элементов a,b Е G. Если это отображение сюръективно, то оно называется эпиморфизмом, В этом случае группа Н называется гомоморфным образом группы G. При- ставка “моно” употребляется в случае, когда гомоморфизм инъективен. Биективный гомоморфизм называется изоморфизмом. Для изоморф- ных групп употребляется обозначение G = Н. Изоморфизм группы G на себя называется автоморфизмом. Примеры. Обозначим через GL(n, R) группу по умножению всех невы- рожденных матриц п-го порядка с вещественными элементами. Тогда отображение А det A, At GL(n, R) будет эпиморфизмом на мульти- пликативную группу поля вещественных чисел IR*. Еще один пример эпиморфизма даёт отображение : Z —> при котором <£>(а) = ау т. е. элемент а Е Z отображается в соответствующий класс вычетов по модулю т. Ядром гомоморфизма f : G —> Н называется множество кет — {а Е G | /(а) = е'}, где е1 — единичный элемент группы Н. В случае гомоморфизма GL(n,M) —> Ж* ядром будет подгруппа ма- триц с единичным определителем. Ядром во втором примере является группа чисел m2, кратных модулю т. Сохранив для аддитивной группы поля вещественных чисел обо- значение Ж и обозначив через Ж+ мультипликативную группу положи- тельных вещественных чисел, имеем изоморфизм Ж+ = /?, заданный функцией у = 1пх. Легко показать, что ядро любого гомоморфизма является подгруп- пой Н группы G с важным дополнительным условием: g~xHg — Н для любого элемента g Е G. Такие подгруппы называются нормальными подгруппами (нормальными делителями). Используется обозна- чение Н < G. Условие нормальности, как нетрудно видеть, можно пе- реписать в виде дН = Ид или дНд~х — Н. В абелевой группе все подгруппы являются нормальными. Если Н — нормальная подгруппа группы G, то множество смежный классов группы G по подгруппе Н можно наделить групповой структу' рой. Соответствующая группа называется факторгруппой групшД
48 ГЛАВА 3. Алгебраические основы G по подгруппе Н и обозначается G/Н. Определим композицию смеж- ных классов по формуле = д^дъН. Докажем корректность. Пусть g^hi и ^2^2 — другие представители смежных классов. Тогда 9x^192^2 можно представить в виде так как в силу дН — Нд произведение h i$2 можно представить в виде g^h}. Поэтому (gihig2h2)H = (ршМ^Аг)#) = д^Н. Теорема 3.4.1 (о гомоморфизме). Пусть f : G -> Gi — эпимор- физм. Тогда ker f о G, причём группа Gi изоморфна факторгруппе G/k&tf. Если Н — нормальная подгруппа группы G, то f : G -> G/Н, определяемое условием f(a) = аН, является эпиморфизмом, причём кет / = Н. Доказательство. Первое утверждение уже доказано. Покажем, что Gi = G/ker/. Легко убедиться, что гомоморфизм f : G -> Gy постоянен на смежных классах. В самом деле, если /(5) = д', то f(gh) — f(g)f(h) = f(g) — д', где h 6 ker f. Поэтому есть сюръек- ция f группы G/ker / на группу Gi- Докажем её инъективность. Если /(51) = fM, то отсюда следует, что /(^i)/^)-1 = Ф(д19р) = е, а значит, 5i G 52кет/. Таким образом, нами построена биекция с усло- вием f(5 ker /) = f(g). Условие j(5i ker 752 ker f) = /(51 ker f)7(g2 ker /) следует из условия /(5152) = /(51)7(52)- Аналогично проверяется тре- тье утверждение. 3.5 Группы подстановок Пусть X — конечное множество. Его элементы обозначим через 1,2,.. .,п. Рассмотрим все биекции (подстановки) cr : X —> X. Легко видеть, что они образуют группу относительно операции композиции отображений. Эта группа называется симметрической группой п-й степени и обозначается через Sn или через S(X). Нетрудно показать, что |Sn| = п\. Например, группа S3 состоит из шести подстановок: 1 2 3 А ( 1 2 3 \ ( 1 2 3 \ 1237’\132j’\213y 1 2 3 \ / 1 2 3 \ Л1 2 3 А 2 3 1 J ’ \ 3 1 2 у ’ у 3 s 2 1 J 35, Группы подстановок 49 В нижней строке указаны образы элементов 1, 2, 3, расположенных в верхней строке. Условимся при вычислении произведения подстановок выполнять отображения справа налево, т. е. сначала отображение <72, а затем tri. Например, /123\/123\/123\ У 3 2 Д 3 1 2 J" у 1 3 / Подгруппы симметрической группы называются группами под- становок. Подстановку вида 1—>2~>3—>1 назовём циклом длины k и обозначим (1,2, Два цикла называются независимыми, если перемещаемые ими элементы попарно различны. Независимые ци- клы коммутируют, т. е. для них выполнено условие ~ cr2<Ti. Цикл длины 2 называется транспозицией. Теорема 3.5.1. Каждая подстановка единственным образом разло- жима в произведение независимых циклов. Доказательство. Пусть тг — произвольная подстановка, i — любой элемент из X. Рассмотрим последовательность г, тг(т), тг1 2(г),.... При некотором k в силу конечности множества X nk(i) — i- Таким образом, имеем цикл длины k: i —> тг(г) —> тг2(г) тг3 (г) -4- • • • -4 ftk(i) г. Если к < п, то берём один из оставшихся элементов и поступаем точно так же. В итоге получаем разложение в произведение независимых циклов тг = aiCT2 ... сг5. Пусть тг = аг02 • • .ог — ещё одно разложение, i — элемент, не оста- ющийся на месте под действием тг. Тогда найдутся по одному из ци- клов, например Tj и«1, обладающих тем же свойством, что и тг. Для них имеем тгк (О = <г*(») = aj(i). Но цикл определяется действием своих степеней на любой элемент, который не остается на месте. Поэтому (71 = Qi. Далее применима индукция по г или s. Теорема 3.5.2. Каждая подстановка т 6 Sn является произведе- нием транспозиций. Доказательство. В силу предыдущей теоремы достаточно рассмо- треть случай цикла. Но это можно сделать, например, так: (1,2,3,..fc) = (l,fc)(l,fc- 1)...(13)(12).
50 ГЛАВА 3. Алгебраические основы Ни о какой единственности не может быть и речи хотя бы потому, что для любой транспозиции г и подстановки ст имеем ar2 = а. Тем не менее характер четности числа к в разложении подстановки в произве- дении транспозиций тг = и т2 ... тА определяется подстановкой тг одно- значно. В самом деле, рассмотрим очевидное равенство 1 Я1 2 «2 1 2 &2 П О’П которое доказывает, что умножение подстановки на транспозицию ме- няет характер чётности перестановки aj,.. ,yan на противоположный. Поэтому, если транспозиции п,..., 7> приводят перестановку ai,..., an к виду 1,8..,п, то тг = Tk . ..71, и наоборот, поэтому характер чёт- ности подстановки тг совпадает с характером чётности перестановки ai,..., ап. Подстановка называется четной или нечётной в зависи- мости от чётности числа к. Теорема 3.5.3. При п > 1 число чётных подстановок равно числу нечётных подстановок и равно п!/2. Доказательство, Утверждение вытекает из аналогичного свойства перестановок. Нетрудно показать, что все чётные перестановки образуют под- группу группы 5П. Эта подгруппа называется знакопеременной группой и обозначается через Ап. При п > 1 имеем разложение Sn = Ап U (1,2)Ап. Поэтому [5П : Ап] = 2. Для любой подстановки тг Е Sn смежные классы 7гЛп и Аптг состоят из всех чётных или всех нечётных подстановок в зависимости от чётно- сти подстановки тг. Поэтому Ап <Sn. Теорема 3.5.4 (Кэли). Всякая конечная группа G изоморфна под- группе симметрической группы Sn} где п — |G|. Доказательство, Обозначим через e,#i,... ygn-i элементы группы G. Рассмотрим отображение та(д) — ад, где а — фиксированный эле- мент а Е G. Имеем подстановку г - ( е 91 9п~1 \ Та — I I • \ а а>91 ’ ‘ * а9п-1 /
3*6. Действие группы на множестве 51 Вместе с тем получаем отображение G —> Sn, при котором а-Ута: Убе- димся , что это — искомый мономорфизм. Во-первых, это отображение инъективно, поскольку различным элементам а и b отвечают различ- ные подстановки та и ть. В первом случае е а, а во втором е —> Ь. Осталось проверить условие таь = тать. Убедиться в равенстве двух подстановок можно, проверив их действие на произвольном элементе группы: таь(ж) = abxy (тать)х = га(тъ(х)) = abx. 3.6 Действие группы на множестве Пусть G — произвольная конечная группа, X — конечное множе- ство из п элементов. Будем говорить, что G действует на X, если задан любой гомоморфизм G —> S(X). Тем самым задано отображение декартова произведения G х X в множество X. Если g —> тг Е S(X), то (#,ж) —» 7г(ж). Вместо (д,х) будем писать дх — тг(ж). При этом выполняются очевидные свойства: . е(ж) = ж, хЕХ; (gh)x = g(h(x))y g, h Е G. Два элемента хух' Е X называются эквивалентными относи- тельно группы G, действующей на X, если х' = дх. Легко проверя- ются свойства рефлексивности, транзитивности и симметричности. Со- ответствующие классы эквивалентности называются орбитами. Ор- биту, содержащую элемент жо, удобно обозначать символом С?(жо), т. е. С?(жо) “ {дхо | 9 С G}. Например, Sn(l) = {1,2,.. ,,п}. Пусть ж о — элемент из X. Рассмотрим множество Stfa) = {д Е G | дхо = ж0}. Легко убедиться, что 5/(жр) — подгруппа в G. Она называется ста- билизатором элемента xq. Для рассмотренного выше примера St(l) есть множество всех подстановок, оставляющих элемент 1 на месте. Очевидно, что 52(1) Sn-i, т. е. это фактически симметрическая группа на множестве 2,3,..., п. Теорема 3,6.1. СагсЮ(жо) = [G : Si(xo)]*
52 ГЛАВА 3. Алгебраические основы Доказательство, дхо — pia?o & х$ = д~191 £ St(xo) gi Е gSt(xo). Поэтому левые смежные классы находятся во взаимно однозначном соответствии с элементами орбиты G(xq). в Из теоремы 3.6.1 и теоремы Лагранжа следует, что длина любой орбиты конечной группы является делителем порядка группы. Группа перестановок G С Sn, действующая на множестве вида X = {1,2,..., п}, называется транзитивной, если орбита некоторой (а значит, и любой точки) совпадает со всем множеством X. Транзи- тивной будет вся группа Sn и, как нетрудно убедиться, знакопеременная группа Ап. Определим действие группы G на левых смежных классах по подгруппе Н по правилу g(giH) - (gig2)H. В этом случае также имеем дело с транзитивностью. В самом деле, если giH и д%Н — 2 смежных класса, то дъд^д^Н = д2Н. 3.7 Кольца и поля Кольцом называется множество R с двумя бинарными операциями, обозначаемыми символами + и •, такими, что 1) Я — абелева группа относительно операции +; 2) операция умножения ассоциативна, т. е. для всех a, b, с Е R (а6)с = а(6с); 3) выполняются законы дистрибутивности, т. е. для всех а, 6, с Е R а(Ъ + с) = ab + ас и (6 + с)а = Ьа + са. Условимся нейтральный элемент аддитивной группы кольца назы- вать нулём и обозначать символом 0. Противоположный элемент к элементу а обозначают через —а. Вместо а 4- (—6) обычно пишут а ~ Ь. Легко доказываются свойства аО — 0а = 0 для всех а Е R* Из этого следует, что (—а)Ь = а(—6) = для всех a,b Е Я. Простейшими примерами колец являются кольца целых чисел Z и многочленов R[x] с вещественными коэффициентами. Кольцо называется кольцом с единицей, если оно имеет мульти- пликативную единицу, т. е. такой элемент е, что ае ~ еа — а для любого а Е R* $.7. Кольца и поля 53 Кольцо называется коммутативным, если операция умножения коммутативна. Два элемента кольца а 0, 6 0 называются делителями нуля, если ab = 0. Приведём пример делителей нуля. Рассмотрим кольцо классов вычетов Zm по модулю т. Оно состоит из элементов 6,1, 2,..., т — 1. Операция сложения над этими элементами была опре- делена ранее. Аналогично определяется умножение. Выполняем обыч- ное умножение чисел и при необходимости берём остаток от деления на rri. Если т —• составное, т = ab, то делителями нуля будут а, Ь. Кольцо называется областью целостности, если оно является коммутативным кольцом с единицей и без делителей нуля. Коммутативное кольцо называется полем, если его ненулевые эле- менты образуют группу относительно операции умножения. Отметим простейшие свойства полей. Свойство 3.7.1. В поле нет делителей нуля. Равенство ab = 0 при а 0 влечёт a~rab — а~х0, а значит, 6 ~ 0. Свойство 3.7.2. В поле второй закон дистрибутивности вытекает из первого. Теорема 3.7.1. Конечная область целостности является полем. Доказательство. Обозначим через а\,а2^^уап элементы нашего кольца R. Фиксируем ненулевой элемент а Е R и рассмотрим после- довательность элементов асц, ав2,..., аап. Все они попарно различны, ибо аа^ = аа% путём умножения на а-1 влечёт си = а2. Поэтому в нашей последовательности имеется единичный элемент е = аа2. Тем самым доказана обратимость любого элемента. Теорема 3.7.2. Кольцо классов вычетов Zm будет областью це- лостности, а значит, и полем лишь при простом т. Доказательство. Если т — составное, то в кольце Z7n есть дели- тели нуля, а значит, оно не может являться полем. Обратно, если т — = р — простое, то для любого ненулевого элемента а Е можно указать обратный, что легко следует из разрешимости сравнения ах ~ S l(modp), так как а Е {1,2,.. .,р — 1}, т. е. (а,р) = 1. Поле Zp называется полем Галуа порядка р и обозначается GF(py
54 ГЛАВА 3. Алгебраические основы 3.8 Подкольца Подмножество S кольца R называется подкольцом этого кольца, если оно замкнуто относительно имеющихся операций сложения и умно- жения и само образует кольцо относительно этих операций. Подкольцо Н кольца R называется идеалом (двусторонним иде- алом) этого кольца, если для всех а Е Я, г Е R имеет место аг Е Я, га^Д. Примеры. Множество целых чисел Z является подкольцом поля раци- ональных чисел Q, но не идеалом. Легко подобрать одно целое и одно рациональное число, произведение которых не будет целым. Пусть Я - коммутативное кольцо а ЕЙ. Положим Я ~ {ar | г Е Я}. Тогда Я — идеал кольца Я. В частности, числа, кратные данному модулю т, в кольце Z образуют идеал ml. Пусть Я — коммутативное кольцо. Идеал Я кольца Я называется главным идеалом кольца Я, если существует элемент а Е Я такой, что Я = {аг | г Е Я}. В этом случае Я называют также главным идеалом, порождённым элементом а. Пусть теперь кольцо Я содержит 1. Рассмотрим циклическую под- группу аддитивной группы кольца, порождённую единицей. Она авто- матически будет подкольцом, так как (14—• + 1Н1 + + 1) = (1 + — + 1). т п тп Она автоматически будет изоморфна либо аддитивной группе кольца Z, либо аддитивной группе одного из колец вычетов Z™. В первом случае говорят, что характеристика кольца Я равна нулю, char Я = 0. Во втором случае полагают char Я = т. Теорема 3-8.1. Характеристика области целостности либо равна нулю, либо — простое число. Доказательство. Пусть циклическая группа, порождаемая едини- цей кольца Я, есть Z^. Если бы m было составным, т = гщт^ то в силу очевидного равенства (1 + ’ ~Ь + * —I-1) = (1 Н-h 1) = 0 mi т2 т это кольцо имеет делители нуля.
&& Подкольца 55 Центром кольца R называется множество всех его элементов а € Ry для которых ах — ха при всех х Е R- Центр коммутативного кольца R совпадает с R. Теорема 3.8.2. Центр любого кольца является его подкольцом. Доказательство. Действительно, если ах ~ xa^bx — xb при всех ж, то (а ± Ь)х = ах ± bx =. ха ± xb = х(а ± 6), (ab)x = a(bx) — a(xb) = (ах)Ь = = x(ab). При наличии единицы е верно ех = хе. Если Н — идеал кольца Я, то факторгруппа R/Н также наделя- ется структурой кольца. Определим умножение смежных классов по формуле (а + Я)(6 + Я) = ab+H. Убедимся в корректности определения. Пусть а + hi и b + h2 — другие представители смежных классов. Тогда (а + hi)(6 + hz) = ab + ah2 + bhi 4- hih2. Три последних слагаемых принадлежат иде- алу, поэтому имеем тот же самый смежный класс. Смежные классы по идеалу называют также классами вычетов по модулю идеала. При таком определении классы вычетов наследуют аксиомы кольца, и поэтому они образуют кольцо, называемое факторколъцом кольца R по идеалу Я. Оно обозначается символом R/Н. Фактически мы уже имели дело с факторкольцом Z/mZ. Эти фак- торкольца можно задавать с помощью таблиц Кэли. В случае р ~ 3 имеем таблицы умножения и сложения поля Галуа GF(3). 0 12 + 0 1 2 0 1 2 ООО б 0 12 1 0 2 1 2 0 1 2 1 2 0 2 0 1 Следует отметить, что факторкольцо наследует не все свойства кольца. Например, в кольце Z/6Z есть делители нуля 2-3 = 0, хотя в самом кольце Z их нет.
56 ГЛАВА 3. Алгебраические основы 3.9 Гомоморфизмы колец В дальнейшем мы чаще всего будем рассматривать кольца с едини- цами. Пусть R и S — кольца. Гомоморфизмом <р : R —> S называется отображение, для которого р(а + 6) = + <p(b), <p(ab) = <р(е) = е( при всех а,Ь £ R. Термины ядро, образ, эпиморфизм, мономорфизм, изоморфизм, ав- томорфизм и эндоморфизм имеют тот же смысл, что и для групп. Теорема 3.9.1. Если ср — гомоморфизм кольца R на кольцо S', то ker^ — идеал кольца Rf причём кольцо S изоморфно факторколъцу R/kexcp. Обратно, если Н — идеал кольца R, то отображение 1р : R —> R/Н, определяемое условием = а + Н, является эпи- морфизмом R на R/Н с ядром Н. Доказательство этой теоремы аналогично доказательству соответ- ствующей теоремы для групп. По этой причине оно опускается. Теорема 3.9.2. В любой области целостности R положительной характеристики р отображение х —> хр является мономорфизмом ср : R —> Я. Доказательство. Воспользуемся формулой бинома: + Ь) = (а + Ь)р = а? + С^Ь + • • + С?Ь?. Нетрудно показать, что все биномиальные коэффициенты, кроме край- них, делятся на р. Поэтому соответствующие им члены в разложении вообще отсутствуют. 'Итак, <р(а + Ь) ~ ар + № = <р(а) + <£>(6). Далее <p[ab) = (ab)p = арЪр • = р(а)(р(Ь), у?(е) — ев любом коммутативном кольце. В заключение отметим, что в кольце Z любой идеал главный, так как является аддитивной подгруппой бесконечной циклической группы.
340- Евклидовы кольца 57 3.10 Евклидовы кольца Теория делимости целых чисел может быть значительно обобщена. В частности, ее можно развить для колец многочленов над произволь- ными полями. Евклидовым кольцом называется область целостности R вместе с нормой 1/ : R* -> NU{0} (/?* — множество ненулевых элементов кольца, NU{0} — неотрицательные целые числа), которая удовлетворяет сле- дующим условиям: y(ab) > v(a) для любых х, у Е R*, для любых a Е -R, b G R* существуют элементы q и г, такие, что a = bq + г, где либо г = 0, либо i/(r) < у(Ь). Евклидовым кольцом является кольцо Z вместе с нормой, являю- щейся обычным модулем. Кольцо многочленов F[#] над любым полем F также является евклидовым. В качестве нормы следует взять сте- пень многочлена. Менее очевидно, что евклидово кольцо образуют це- лые гауссовские числа, т. е. числа вида a + Ц a, b G Z. Здесь в качестве нормы следует взять квадрат модуля и (а + Ы) = а2 + Ь2. Эти числа обозначают символом Z[i]. Теорема 3.10.1. В евклидовом кольце R для любых a,b Е R* y(ab) — у (а), если b — обратим, и y(ab) > у(а) в противном случае. Доказательство. Если b обратим, то у(а) = y[abb~1) > y(ab) i/(afc) = />(а), так как z/(ai) > г/(а). Пусть теперь b необратим. В этом случае ab /а. В самом деле, ab | а => а = (ab)q. После сокращения на а имеем bq = е. Поэтому а ~ (ab)q 4- г, где г / 0, у[г) < y(ab). Кроме того, г = a—(ab)q = a(e—qb). Поэтому y(r) > z/(a). Окончательно y(ab) > у (г) > у(а).
58 ГЛАВА 3. Алгебраические основы Следствие 3.10.1. В евклидовом кольце элемент а обратим тогда и только тогда, когда z/(a) = и(е). Например, обратимые элементы кольца Z — это il. В кольце целых гауссовских чисел обратимыми будут четыре элемента: ±1, ±г. Теорема 3.10.2. В евклидовом кольце все идеалы главные. Доказательство. Доказательство этой теоремы аналогично доказа- тельству теоремы о том, что каждая подгруппа циклической группы циклическая. Если Н — идеал, то он будет порождён элементом а с наименьшим значением нормы z/(a), а € Н. В силу наличия в евклидовом кольце алгоритма деления с остатком для него можно построить теорию делимости, аналогичную теории де- лимости для кольца целых чисел. В частности, можно ввести понятия НОК и НОД двух элементов. Для нахождения НОД может использо- ваться алгоритм Евклида. В евклидовом кольце любой элемент раз- ложим в произведение простых элементов. Однако это разложение ме- нее определённое, чем каноническое разложение целого числа, из-за на- личия в произвольном евклидовом кольце обратимых элементов. Отме- тим в связи с этим, что все обратимые элементы евклидова кольца обра- зуют группу по умножению. Она называется группой единиц кольца и обозначается через (/(/?). Например, J7(Z) = ±1, U(Z[i]) — {±l,±i}, U(Д[а?]) = Д*. Назовём элемент р € Д* простым, если он необратим и не раскладывается в произведение двух необратимых множителей. Два простых элемента называются ассоциированными, если они отлича- ются обратимым множителем, т. е. р ~ uq, где и 6 U(R). Например, 5 и “5 — простые ассоциированные элементы в кольце Z. Отноше- ние ассоциированности является бинарным отношением эквивалентно- сти. Поэтому имеем разбиение простых элементов на непересекающиеся классы ассоциированных. Теорема 3.10.3. В евклидовом кольце всякий ненулевой необрати- мый элемент можно представить в виде произведения степеней по- парно неассоциированных простых элементов. В этом разложении классы простых элементов и их степени определены однозначно. Доказательство этой теоремы аналогично доказательству теоремы о каноническом разложении натурального числа.
Простые и максимальные идеалы 59 1.11 Простые и максимальные идеалы Идеал Я кольца Я называется простым, если ab £ Я => a Е Н Лйбо b Я. Идеал Я кольца R называется максимальным, если он ge содержится ни в каком большем идеале, кроме самого кольца Я. Теорема 3.11.1. Пусть R — коммутативное кольцо с единицей, fl — идеал кольца R. 1. Идеал Я прост тогда и только тогда, когда факторкольцо R/H является областью целостности. 2. Идеал Н максимален тогда и только тогда, когда факторкольцо R/Н является полем. Доказательство. Пусть идеал Я — простой. Необходимо доказать отсутствие делителей нуля в факторкольце. Их наличие означало бы существование элементов a, b Е Н, таких, что (а + h)(b ф Я) — Я, где а Я, b Я. Поскольку (а + Н)(Ь + Я) = ab 4- И => ab £ Я, полу- чено противоречие с простотой идеала Я. Аналогично доказывается обратное утверждение. ; Пусть теперь Я максимален в кольце R. Докажем обратимость лю- бого ненулевого элемента факторкольца а + h,a Я. С этой целью рассмотрим множество элементов S = {h + ах | h £ II, х £ Я}, ко- торое, как легко убедиться, является идеалом, большим.чем идеал Я, поскольку а £ S, а Я. Поэтому S = Я. Следовательно, е = h + ах для некоторых h £ Я, х £ Я. Поэтому еН — h + ах -I Н = ах + Н ~ (а + Н)(х + Я), т. е. в факторкольце (а 4-Я)'1 — (ж 4-Я). Обратно, пусть R/H — поле. Обозначим через S строго больший идеал, чем Я. Пусть а £ М, а £ Я. В силу того что R/H — поле, уравнение (а + Я)(^+Я) =Ь+Н разрешимо для любого b £ Я, поскольку Я а + Я. Поэтому ах:4- Я = b + Я. Но ах + Я С М, так как Я С S. Следовательно, ах £ Я, т. е. S = ь + S для любого Ь. Но это возможно лишь при Я — Я. Поэтому Я является максимальным идеалом. ®
60 ГЛАВА 3. Алгебраические основы Следствие 3.11.1. Всякий максимальный идеал прост. Доказанная теорема позволяет строить новые конечные поля, отлич - ные от полей типа GF(p). Теорема 3.11.2. В евклидовом кольце идеал Н — aR, являющийся автоматически главным, максимален тогда и только тогда, когда а — простой элемент. Доказательство. Пусть идеал М = aR максимален. Если бы при этом элемент а допускал разложение а = агаъ, то имело бы место стро- гое включение aR С aiR. Обратно, пусть А — простой элемент. Если при этом Н = &R содержится в строго большем собственном идеале bR, то имеем делимость b | а. Пример. Многочлен х2 + х +1 является простым элементом кольца мно- гочленов над полем GF(T), поскольку его приводимость означает на- личие корней в этом поле. Здесь, конечно, мы используем то обсто- ятельство, что он может разлагаться лишь на два множителя первой степени. Представителями классов вычетов являются элементы 0, 1, а?, ж + 1. Над ними можно производить сложение и умножение по модулю х^ А- х + 1. Тем самым построено поле GF(4). Ниже указаны таблицы умножения и сложения в этом поле. 0 1 X X + 1 __±— 0 1 X х + 1 0 0 0 0 0 0 0 1 X X + 1 1 0 1 X х + 1 1 1 0 X + 1 X X 0 X х + 1 1 X X х + 1 0 1 х + 1 0 х + 1 1 X х +1 х 4-1 X 1 0 3.12 Конечные расширения полей Пусть F и Р — два поля, причём F С Р. Тогда F называется под- полем ноля Р, которое в свою очередь называется надполем поля F или его расширением. Каждое поле содержит так называемое про- стое подполе, т. е. поле, порождённое единицей. Если характе- ристика поля положительна, т. е. равна р, то простое подполе изо- морфно GF(р). Если характеристика равна нулю, то простое подполе изоморфно полю рациональных чисел. Таким образом, каждое поле является расширением своего простого подполя.
t«2. Конечные расширения'полей 61 Поле Р можно рассматривать как векторное пространство над полем F. Размерность этого пространства называется степенью расшире- нья F С Р и обозначается символом [Р : F], Например, [С : К] = 2, [R:Q] = oo, (GF(4) : GF(2)] == 2. Теорема 3.12.1. Пусть даны два расширения F Q Р, Р С К конеч- ной степени. Тогда [К : F] = [Р : F][K : Р]. Доказательство. Пусть элементы Pi,P2, •••>£« образуют базис Р над F, а элементы — базис К над Р. Покажем, что rs элементов вида pikj образуют базис К над F. Любой элемент к 6 К можно записать в виде к = 52 G F. B свою очередь, о* = 52 AjPj, i j откуда к = 52flijPjki- Поэтому элементы pikj являются системой обра- зующих пространства К над полем F. Осталось доказать их линейную независимость. Пусть 52a»jP^i ~ О при некоторых G F. Тогда ° - 52°^^ = 52(5252=° ^ °4j = °- i,j j i i Элемент a E P называется алгебраическим над полем F, если он является корнем многочлена /(«) 6 F[x], f(a) = 0. Многочлен /(ж) называется аннулирующим многочленом элемента о. Среди всех аннулирующих многочленов можно выбрать многочлен наимень- шей степени со старшим коэффициентом, равным единице. Такой мно- гочлен называется минимальным многочленом элемента о. Мини- мальный многочлен очевидно неприводим, т. е. не разлагается в про- изведение многочленов меньшей степени. Покажем, что минимальный многочлен определён однозначно. Пусть mi (я) и тз(х) — два раз- личных минимальных многочлена. Поскольку их старшие коэффици- енты одинаковы (оба равны единице), а их степени равны, их разность <р(х) = mi (ат) — т2(х) будет ненулевым многочленом меньшей степени. Вместе с тем <р(а) = mi (а) — m2 (а) — 0, что противоречит условию. Теорема 3.12.2. Всякое расширение F С Р конечной степени алге- браично, т. е. все элементы поля Р алгебраичны над полем F.
62 ГЛАВА 3. Алгебраические основы Доказательство. Для произвольного элемента а Е Р рассмотрим его степени 1, а, о2,..., где п = [Р : F]. Поскольку их число превы- шает размерность пространства, они линейно зависимы, т. е. найдутся скаляры /о, Л,..., fn е F, такие, что /о + + f2«2 Ч-{- fnotn - О, тем самым найден аннулирующий многочлен. Теорема 3.12.3. Все аннулирующие многочлены для данного элемен- та а Е Р образуют главный идеал в кольце F[®]. Он порождён мини- мальным многочленом т(ж), т. е. имеет вид т(ж)Р[ж]. Доказательство. Для доказательства достаточно показать, что лю- бой аннулирующий многочлен делится на минимальный. Положим /(а) = 0. Разделим f(x) с остатком на т(я). Пусть f(x) = m(x)g(x) + г(х). Тогда f(o) = m(o)^(o) + r(o) = 0. Поэтому r(o) = 0, что воз- можно лишь при г(я) = 0. Пусть теперь F С Р — произвольное расширение а 6 Р. Обозна- чим через Р[о] наименьшее подкольцо поля Р, содержащее элемент а и поле F, а через F(a) обозначим наименьшее подполе с аналогичным условием. Очевидно, что •Р[а] = {/(«) I Я*) € FИ). Л«) = IЯ*),Я*) е + °} • Теорема 3.12.4. Если элемент а алгебраичен над F, то F[o] = F(o) ~ F[a?]/m(a?)F[a?], где т(х) ~ минимальный многочлен для о. Доказательство. Рассмотрим эпиморфизм колец Р[ж] -4 F[a], опре- делённый подстановкой х а. Его ядро, очевидно, является идеалом m(a?)F[s]. Осталось применить теорему о гомоморфизме кольца на фак- торкольцо, а поскольку идеал m(«)F[a?] максимален в силу неприводимо- сти многочлена т(ж), то кольцо F[a] является полем и поэтому обязано совпасть с F(о). Расширение F С F[a] называется просшыж алгебраическим расширением. Элемент а называется примитивным элементом расширения. Степень этого расширения равна степени минимального многочлена. В самом деле, пусть т(х) = ао + <*1^ + • • • + оспхп, То- гда п элементов 1,а,а2,.. образуют базис расширения. Дей- ствительно, они линейно независимы, так как их меньше, чем степень
&13. Поле разложения 63 минимального многочлена. Пусть теперь f (а) — произвольный эле- мент поля F[a]. Разделим многочлен f(x) с остатком на т(ж). Имеем Дх) = тп(х)д(х) + г(ж). Поэтому /(а) = г(а), что линейно выражается через 1, о, о2,..., J . 3.13 Поле разложения Пусть f(x) — неприводимый многочлен над полем F. Покажем, что для него существует конечное расширение поля F, содержащее все корни многочлена f(x). Такое расширение принято называть полем разложения. Более точно расширение Р поля F называют полем раз- ложения многочлена f(x), если: 1) /(#) разлагается на линейные множители в Р[ж]; 2) Р порождено как поле корнями многочлена /(ж) и полем F. Поле разложения — это наименьшее поле, в котором f(x) разлагается на линейные множители. Теорема 3.13.1. Пусть многочлен т(х) неприводим над полем F. Тогда над расширением Р — Р[ж]/т(ж)Р[ж] многочлен т(х) имеет ко- рень х — где — канонический эпиморфизм на факторкольцо (р : Г[ж] —> F[x]/m(x)F[xJ. Доказательство. Достаточно применить канонический эпиморфизм к уравнению т(ж) — 0. И Теорема 3.13.2. Пусть F — поле, /(ж) — произвольный многочлен /(ж) € F[x]. Тогда его поле разложения существует и имеет степень не больше, чем п\ над F. Доказательство. Разложим /(ж) = Р1(ж)р2(я) • • -Рг(х) на неприво- димые множители. Построим поле Pi — Р[ж]/р1(ж)Р[ж] для первого множителя. Мы получим поле, которое содержит корень «1 многочлена Р1(ж), а значит, и /(ж). Пусть над этим полем /(ж) — (ж — ах)/1(ж). Применим теперь тот же прием к многочлену /1(ж) над полем Pi и т.д. Степени построенных полей не будут превышать соответственно п,п — 1,.. .,2,1.
64 ГЛАВА 3. Алгебраические основы Теорема 3.13.3. Поле разложения данного многочлена над полем F определяется с точностью до изоморфизма. Доказательство, Поскольку многочлен f(x) разлагается на непри- водимые множители, достаточно рассмотреть случай, когда f(x) — не- приводим. Пусть и и v — корни неприводимого многочлена в полях G и Я. Тогда отображение ао + aiu + ... + —> а0 + аги + ... + определяет изоморфизм F(u) —> F(v): F(u) ~ F[x]/f(x) ~ F(v), где F(u) и F(v) являются подполями Си Я. Применяя это рассуждение несколько раз, устанавливаем изоморфизм G = Я. 3.14 Конечные поля Всякое конечное поле Р содержит простое подполе Fp = GF(p). Поскольку поле Р конечное, оно имеет конечную, степень п над про- стым подполем. Обозначим через pi,P2, • •• >Рп базис Р над полем Fp. Тогда любой элемент р Е Р можно однозначно записать в виде Р — fiPi + fzPz 4-Ь fnPn, fi € Fp. Для каждого из коэффициентов fi имеется р возможностей выбора. Поэтому порядок поля р необхо- димо равен рп. Однако мы не знаем, для каких п поле GF(pn) действи- тельно существует. Наша ближайшая цель — доказать существование поля Галуа GF(pn) для любого простого р и натурального п. Поло- жим q = рп. Лемма 3.14.1. Многочлен f(x) — xg — х не имеет кратных корней в любом поле характеристики р, в котором он разлагается на линейные множители. Доказательство, Вычислим производную данного многочлена: (xq - ж)7 = qx^1 - 1 = pnxg~1 - 1 = -I. Поэтому (/(я),/'(я)) = 1. Заметим, что для любого ненулевого корня многочлена xq — х верно aq~r = 1.
3il5* Порядки неприводимых многочленов 65 Теорема 3.14.1. Поле разложения многочлена хя — х содержит в точности рп элементов. Доказательство. Достаточно показать, что рп корней многочлена Xя — х сами образуют поле. Пусть а,/? — ненулевые корни этого мно- гочлена, а значит, и многочлена xq~l — 1. Тогда (о/?)9“х = = 1.1= 1. Вместе с тем в силу доказанной ранее формулы бинома в ха- рактеристике р имеем (о 4- (J)p — ар 4- (Зр. Следовательно, (а 4- /?)9 = 4- /3я = а 4- т. е. а 4- /? также является корнем хя — х. Следствие 3.14.1. Существует лишь одно с точностью до изомор- физма поле GF(pn). Теорема 3.14.2. Мультипликативная группа любого конечного поля Р циклично. Доказательство. Эта группа — абелева порядка q — 1; допустим, что она не циклична, тогда по теореме 3.2.5 НОК порядков её элементов т будет собственным делителем q — 1. Поэтому ж? = 1 для всех Xi G Р*. Следовательно, П(х—Ж;) I Но это невозможно, ибо произведение i имеет большую степень, чем г. Образующий элемент циклической группы GF[pny называется примитивным элементом этого поля. Его можно взять в качестве примитивного элемента расширения GF(p) С GF(pn). Поэтому верна следующая теорема. Теорема 3.14.3. Всякое конечное поле характеристики р является простым алгебраическим расширением поля GF(p). Минимальный многочлен примитивного элемента поля GF(pn) име- ет степень п. Поэтому можно сказать, что это поле изоморфно фактор- кольцу Рр[ж]/т(ж)Ер[ж] для некоторого неприводимого многочлена т(х) степени п. При этом т(х) | (х*3'"1 — 1). 3.15 Порядки неприводимых Многочленов Теорема 3.15.1. Поле GF(pn) является полем разложения всякого неприводимого многочлена f(x) степени п над полем Fp.
66 ГЛАВА 3. Алгебраические основы Доказательство. Пусть а — корень f(x). Тогда [Fp(a) : Fp] = п. Поэтому Fp(a) = GF(pn). Применяя формулу бинома в характеристике р, получаем Дар) = (аоап + ак»"'1 + ... + а0)р = (/(а))₽ = 0. Следовательно, элементы а, ар, ар\ ..ар" 1 являются корнями много- члена f(x). Остаётся показать, что все они различны. Пусть = ар , где 0<j<k<n— 1. Возводя это равенство в степень рп~к, получаем Поэтому неприводимый многочлен f(x) делит xn~k+i — х. Это означает, что поле GF(pn) является подполем поля GF(pl)y где I = n — k + j < п. Противоречие. 9 Следствие 3.15.1. Порядки всех корней неприводимого многочлена равны. Доказательство. Корни многочлена а, ар, ..., арП 1 имеют одина- ковый порядок в мультипликативной группе поля GF(pn) в силу тео- ремы 3.3.2. 9 Назовём порядком многочлена f(x) £ -FpW, /(0) / 0 наименьшее натуральное е, при котором многочлен f(x) делит хе — 1. Порядок обо- значается ord(f(x)). Следствие 3.15.2. Пусть f(x) — неприводимый многочлен степени п над полем Fp. Порядок этого многочлена совпадает с порядком любого его корня в мультипликативной группе поля разложения. 3.16 Линейные рекуррентные последовательности Последовательность элементов во, (Ц,... поля GF(^), удовлетворяю- щих условию an+fc = Sk-lQn+k-l + + • • + SoUk, (3.16.1)
Линейные рекуррентные последовательности 67 ЦЮ s/c-2, • • •, «о — фиксированные элементы поля, называется ли- фейной рекуррентной (ЛРП) k-го порядка над полем GF(q), Эта по- следовательность вполне определяется вектором начального состояния Ao = (ао, «1, • • •, «л-i) и коэффициентами sjfe-i, Sfc-2, • •., $о- С линейной рекуррентой можно связать матрицу / 0 0 ... О $о \ 1 0 ... О £ 0 1 ... О $2 \ 0 0 ... 1 Sfc_i / Рассмотрим последующие состояния ЛРП Ai = (ai, аг, • • •, «л), Аг = («2, «з, • • •, ал+1), .... Определение (3.16.1) теперь можно перепи- сать в виде Ai = Ai-rS, i = 1,2,.... (3.16.2) Далее рассматриваются лишь ЛРП с условием $о Ф 0. В этом случае матрица S является элементом группы 6?£(fc,Fg) всех невырожденных матриц fc-ro порядка с элементами из поля C?F (<?). Поскольку эта группа конечна, то матрица А имеет конечный порядок как элемент группы. Теорема 3.16.1. Любая линейная рекуррента при sq 0 является чисто периодической последовательностью. Доказательство, Существует натуральное /, такое, что А1 = F, где Е — единичная матрица. Следовательно, А,+/ = AiS1 — А±Е = А,. Это означает, что период ЛРП не превосходит I. Линейные рекурренты можно генерировать с помощью регистров сдвига с обратной связью. Особенно просто такой регистр сдвига устроен в случае двоичного поля. Например, для рекурренты а»-}-5 ~ вп+2 4" ап_щ 4- ап, п = 0,1,2,..., над полем GF(2) соответствующий регистр имеет вид
68 ГЛАВА 3. Алгебраические основы Заполнением триггеров после г-го такта является вектор г-го состояния Aj ~ (а/, Лг'4-l ? • • • > — 1) • 3.17 Последовательности максимального периода Будем понимать под периодом ЛРП её минимальный период. Рассмотрим характеристический многочлен f(x) = \хЕ — S| ма- трицы S. Легко подсчитать, что f(x) — xk ~ + ... + + so- Можно показать (см. задачи), что он будет также и минимальным мно- гочленом матрицы S, Этот многочлен называется характеристическим многочленом ЛРП (3.16.1). Теорема 3.17,1. Пусть многочлен f(x) — |жЕ—А| неприводим. Тогда его порядок совпадает с порядком матрицы S как элемента группы GL^k.Fq). Доказательство. Корни многочлена /(ж) являются характеристи- ческими числами матрицы S. Если I — порядок матрицы, то Sl — Е и, значит, для любого корня а многочлена выполняется а1 =: 1. Поэтому ord/(ж) < I. С другой стороны, у матрицы все собственные значения равны 1. Поэтому — Е I < ord/(ж). Теорема 3.17.2. Минимальный период линейной рекурренты с непри- водимым характеристическим многочленом /(ж) при ненулевом на- чальном состоянии /(0) / 0 равен порядку многочлена /(ж). Доказательство. Пусть I = ord /(ж) = ord S. По теореме 3.16.1 I есть период. Необходимо лишь установить его минимальность. Пусть, например, А, = Aj, i < j,j - i < l. Это означает, что A,oS* = AqS^, t. e. AqS^~1 = Ao. Противоречие, так как у матрицы не может быть единичного собственного значения. Данная теорема показывает, как для генерации последовательностей максимального периода можно использовать примитивные многочлены.
Д^пачи и упражнения к главе 3 69 Задачи и упражнения к главе 3 1. Выяснить, обладают ли свойствами ассоциативности и коммута- тивности операции * на множестве Л,если А = N, х * у = х Ч- 2г/; А = 2V; х * у — ху; A = N, х * у — Зху, А — N; х * у = НОД (а?, г/); A — Z, х *у = х — у; А = Z\ х * у — х2 + у2; A = R, х * у = sin х cos у] А — /?, X * у = 2. Какие из указанных числовых множеств являются группами от- носительно заданных операций: а) множество степеней данного вещественного числа с целыми показателями относительно умножения; б) множество комплексных с фиксированным модулем чисел от- носительно операции умножения; в) множество положительных действительных чисел относи- тельно операции умножения; г) отрезок [0,1] относительно операции умножения; д) отрезок [0,1] относительно операции a * /3 ~ {о + /?}; е) корни всех степеней из единицы относительно умножения? 3. Какие из указанных множеств квадратных матриц фиксирован- ного порядка образуют группу относительно операции умножения: а) множество симметрических матриц с вещественными элемен- тами; б) множество невырожденных матриц с вещественными элемен- тами; в) множество целочисленных матриц с определителем, равным ±1; г) множество верхних треугольных матриц с вещественными элементами; д) множество ортогональных матриц; е) множество диагональных матриц?
70 ГЛАВА 3. Алгебраические основы 4. Доказать, что множество функций вида г/ — (аж 4-6)(сжЧ- d)-1, где а, 6, с, d 6 R, ad — be / 0, является группой относительно операции композиции функций. 5. Доказать, что если в группе G выполнено условие х2 = е,х Е G, то группа G коммутативна. 6. Доказать, что для любой группы выполняется (аб)”1 ~ 6”1а”1 и вообще (aia2 • • -Яп)-1 ” «п • • -а?1- 7. Доказать, что множество всех квадратных матриц данного по- рядка, в каждой строке и каждом столбце которых один элемент равен 1, а остальные нули, образует группу. 8. Составить таблицу Кэли для циклической группы пятого порядка. 9. Найти все с точностью до изоморфизма группы порядков 3,4,6. Со- ставить их таблицы Кэли. 10. Доказать, что в конечной группе любое подмножество Я, замкну- тое по умножению (/ц, Л2 € Н => Е Я), будет подгруппой. 11. Докажите, что для нетривиального смежного класса дН(е дН) выполнено условие Лх, Л2 € дН => /ii/i2 Я. 12. Доказать, что пересечение двух подгрупп будет подгруппой. 13. Доказать, что в любой группе подстановок, содержащей хотя бы одну нечётную подстановку, число чётных подстановок равно чи- слу чётных. 14. Найти все подгруппы групп S3, Ze, Z24- 15. Разложить группы по подгруппам: а) аддитивную группу вещественных чисел по подгруппе целых чисел; б) аддитивную группу комплексных чисел по подгруппе целых гауссовских чисел; в) симметрическую группу Sn по подгруппе подстановок, оста- вляющую элемент 1 на месте; г) группу Zq по всем своим подгруппам;
Задачи и упражнения к главе 3 71 д) группу S3 по всем своим подгруппам. 16. Пусть a Е G. Доказать, что множество элементов {ж; ха = ах, х Е G}, называемое централизатором элемента а, является под- группой. 17. Доказать, что множество элементов | ха — ах У а Е G}, назы- ваемое центром группы, является нормальной подгруппой. 18. Найти централизаторы элементов /1 0\ /4 3\ (-1 0\ ^0 2у ? ^5 4/ ’ у 0 1/ в группе GL(2, R). 19. Найдите центр группы GL(2, R), 20. Показать, что порядки элементов о и а"1 равны. 21. Показать, что порядки элементов ab и Ъа равны. 22. Докажите, что аддитивные группы вещественных и рациональ- ных чисел не являются циклическими. 23. Пусть А и В нормальны в G, А П В = е, тогда каждый элемент а Е А перестановочен с каждым элементом b Е В. 24. Подгруппа, порождённая элементами вида аЬа~хЬ~х (коммутато- рами), называется коммутантом. Доказать, что a) aba~1b~1 = е <=> ab = Ьа; б) K<1G; в) фактор — группа G/К — абелева; г) если К/Н — абелева, то К С Я. 25. Определить, с точностью до изоморфизма, все абелевы группы по- рядка 8. 26. Пусть Н — подмножество группы G с условием ^1,^2 € Н => Я. Докажите, что |Я| < 0.5|G|. 27. Вычислите следующие произведения подстановок:
72 ГЛАВА 3. Алгебраические основы а) (1,2)(1,3)(1,4)(2,3)(3,5); б) (125)(124)(129); а яоо ,< 1 2 3 4 5 6 7 8 9 10 \ в)/ , где f - 3 5 4 6 9 7 j 10 8 2 J - 28. Найдите подстановку X, если АХ В2 = С и /1234567\ ^7321654^’ / 1 2 3 4 5 6 7 Л г_/ 1 2 3 4 5 6 7 Л ^"\ 3 1 2 7 4 5 б/’ GV513 6472/ 29. Докажите, что две подстановки сопряжены тогда и только тогда, когда имеют одинаковое число циклов каждой длины. 30. Доказать, что в булевом кольце (я2 — г) умножение коммута- тивно, х И- х = 0, и что оно не может быть областью целостности. 31. Доказать, что в определении кольца не обязательно требовать, чтобы операция “+” была коммутативной. 32. Доказать, что следующие подмножества являются подкольцами в кольце Mn(R): а) диагональные матрицы; б) верхнетреугольные матрицы. 33. Найдите все подкольца колец вычетов Zy, Zio, Z12. 34. Может ли в кольце, не являющемся полем, содержаться некоторое поле? 35. Показать, что эндоморфизмы абелевой группы образуют кольцо. 36. Показать, что биекция a + Ьл/2 <—> a + t>V3 не является изомор- физмом полей Q(a/2), <Э(д/3) и что эти поля вообщее неизоморфны. 37. Докажите, что Q(V2 + л/3) = - л/З) = \/3). 38. Установить, что I — идеал кольца К. Является ли факторкольцо полем?
и упражнения к главе 3 73 а) К == {а + Ы\ а, b Е Z}, I = {а + Ы\ а, b € 3Z}; б) К = {а + 6>/21 а, b € Z}, I = {а + 6л/2| а, b £ 3Z}; в) К - Z3[x), I ~ (х2 4-1); г) К — ZsM, I — (х2 + х); д) К =R[x], 1 - (я2 4~1). 39. Найдите идеал, порожденный множеством М, если а) М ~ {3,5} в кольце Z; б) М ~ {4,10} в кольце Z; в) М — {ж6 — 1, х4 — 1} в кольце R[я]; г) М = {х, х 4-1} в кольце Ж [ж]. 40. Доказать, что факторкольцо Я[х]/(х44~ х3 4- х 4-1) не может быть полем ни для какого коммутативного кольца R. 41. Вычислить образ (2а? 4-1)-1 в факторкольце Г[ж]/(х3 — 2), где a) F = Q; б) F - Z5; в) Г = Гт- 42. Доказать, что (хт — 1)|(хп — 1) <=> т\п (над любым полем коэф- фициентов) . 43. Является ли с[0,1] областью целостности? Покажите, что отобра- жение > /(а) является эпиморфизмом, а ядро — максимальным идеалом. 44. Покажите, что если р(х) приводим, то идеал (р(х)) немаксимален. 45. Показать, что ж2 4- х 4-1, х3 4- х 4-1, х4 4~ х 4-1 неприводимы над Г 2 и что нет других неприводимых многочленов 2-й и 3-й степени. 46. Написать таблицы умножения для колец Ж2[ж]/(ж2 4- х + 1), 22М/(я3 4- х + 1), Ж2[х]/(ж3 + ат2 + 1)- 47. Применяя алгоритм Евклида, найти наибольшие общие делители многочленов с коэффициентами из поля F: a) F = F2,x7 + 1, ж5 4- х3 + 1; б) F = F2, ж5 4- х 4- 1,ж6 4- х5 4- х4 4-1;
74 ГЛАВА 3. Алгебраические основы в) F = F3,x& + 2x5 + x3 + x2 + l,2x6 + x5 + 2x3 + 2x2 + 2. 48. Вычислить /(3), если f(x) — х214 + Зя152 + 2а:47 + 2 G Fs[®]- 49. Решить, если возможно, сравнения: а) (ж2 -F 1)/(я) = l(mod(z3 4* 1))в^3[аг]; б) (ж4 4- х3 + х2 4- !)/(#) — х2 4~ l(mod(&3 4- 1))в^[ж]. 50. Пусть f(x) е Тогда (/(а?))р ” Доказать. 51. Доказать, что в коммутативном кольце характеристики р (a + b/n =о?п +Ь?\ 52. Доказать неприводимость многочленов х2 4-1, х2 + х + 4 над полем Fa и построить изоморфизм факторколец Fn[a:]/(x2 4- 1) — ГцИ/(ж2 4- ж 4-4). 53. Найти порядки многочленов: £104-£94-£34-£2 € /Ъ[ж], ж84-£74-#3+ ж + 1 € х7+х6 + хл~х2 + х 6 Гз[ж], (а?24-я4-1)5(ж34-#4-1) £ КгМ- Какие из них неприводимы? 54. Найти примитивный многочлен степени 6 над полем F%. 55. Найти примитивный элемент а в Z[x]/(x2 — 2), представить все степени а2,..., а8 в виде а 4- by/2, a,b Е F3. Однозначно ли такое представление? 56. Можно ли вложить F4 в F&? 57. При каком условии поле Fpn можно изоморфно вложить в поле Fpm? 58. Найти все примитивные элементы полей F^F^Fn. 59. Найти базис поля F25 над простым подполем. Разложить все эле- менты по этому базису. Найти о примитивный элемент этого поля и для любого элемента /? Е F25 найти п такое, что а — [Зп, 60. Показать, что каждый элемент конечного поля Fpn имеет в этом поле только один корень р-й степени.
Задачи и упражнения к главе 3 75 61. Докажите, что если I есть идеал кольца К, то /[ж] есть идеал кольца К [ж]. 62. Покажите, что элемент \/2 4- i имеет степень 4 над Q и степень 2 над R. Найти его минимальные многочлены. 63. Докажите, что если многочлен F(x) неприводим в Fg[x], то и мно- гочлен F(ax 4- Ь) также неприводим, где a,b € Fq,a 0. 64. Разложить многочлены на неприводимые множители: х9 4- х 4- 1 над 7*2, х7 4- х6 4- ж5 — х3 4- х2 — х — 1 над F$. 65. Дать представление с помощью матриц для элементов поля Fe, используя для этого многочлен х3 4~ х 4-1. Дать аналогичное пред- ставление для Fi6? F9. 66. Доказать неприводимость х4 4- х 4- 1 над F% и построить таблицы операций для его поля корня. 67. Показать, что поле корня х3 4- х 4-1 над F2 есть поле разложения. 68. Найти поля разложения (х2 — З)(х3 4-1) над Q, (х2 - 3)(х2 — 2х — 2) над Q, х3 4- х 4-1 над F2. 69. Найти изоморфизм полей разложения х3 4- 2х 4-1 и х3 4- 2х 4- 2 над полем F3. 70. Найти степени неприводимых множителей многочлена х17 — 1 над F2 и его поле разложения. 71. Установить примитивность многочленов х6 4- х5 4- х2 + х 4- 1 над F2, х5 - х 4-1 над F3. 72. Найти хотя бы один примитивный многочлен степени 3 над F$. 73. Установить неприводимость, примитивность и порядок много- члена х4 4- х3 4- х2 — х - 1 над полем F3. 74. Пусть А — любое множество автоморфизмов поля F. Показать, что элементы, инвариантные относительно всех от € А, образуют подполе S(A) С F. 75. Над полем F2 рассматривается рекуррентное уравнение Si — Sj_2 4- Sj_3 = 0. Вычислить периоды всех 8 последовательностей и их внутрипериодные значения.
76 ГЛАВА 3. Алгебраические основы 76. Построить регистр сдвига с обратной связью, реализующий соот- ношение из предыдущей задачи. 77. Вычислить порядки матриц /О 1 \0 над полями F% и F%. 78. Вычислить характеристический и минимальный многочлены ма- трицы S из §3.16 79. Нарисовать регистр сдвига, отвечающий многочлену х3 И- ж2 4- 1. Определить последовательные состояния регистра с начальным состоянием 0 10 вплоть до возвращения в начальное состояние. 80. Построить последовательность максимального периода над полем F3 с периодом не менее 50. 81. Найти примитивный многочлен четвёртой степени над F?. По- строить соответствующий регистр сдвига и последовательность периода 15.
ГЛАВА 4 Вероятностно- статистические модели сообщений и их энтропийные свойства 4.1 Источники дискретных сообщений и их вероятностные модели Пусть рассматривается произвольный источник сообщений; каждое сообщение представляет собой некоторую последовательность символов (например, букв белорусского языка; точек и тире в телеграфии; нулей и единиц в компьютере и т. д.). Отдельный символ сообщения бу- дем обозначать £ и предполагать числовой величиной, принимающей всевозможные значения из некоторого множества А С Ж: £ € А. Множество А всевозможных значений символа сообщения £ принято называть алфавитом сообщений. Если алфавит А является конеч- ным множеством мощности 2 < N < оо: то принято говорить, что имеет место источник дискретных сооб-
78 ГЛАВА 4. Вероятностно-статистические модели функционал энтропии и его свойства 79 щений (ИДС). В противном случае говорят об источнике непре- рывных сообщений (ИНС). В этом разделе мы будем рассматривать модели ИДС, которые наи- более часто используются в современных криптосистемах, а модели ИНС будут изучены позже в разделе 4.6. Величины дС1),..., принято называть символами алфавита, а число N — мощностью алфавита. Появление в сообщении лю- бого символа алфавита характеризуется высокой степенью неопределён- ности. Для математического описания этой неопределённости будем использовать дискретную вероятностную модель. Пусть (Q, 5е7, Р) — основное вероятностное пространствоi описывающее случайный “экс- перимент” по появлению (регистрации) символа %. Тогда каждому эле- ментарному исходу (л Е этого эксперимента ставится в соответствие значение символа £ — £(w) Е А. Таким образом, символ £ — £(сД — дискретная случайная величина, полностью определяемая дискретным распределением вероятностей: символов: Sn = (6,..-,£n) е Ап. ntf этом полное вероятностное описание ИДС задаётся вероятностной ийЙМЫо случайного временного ряда (случайного процесса) Sn с дис- крртным временем f Е N и дискретным пространством состояний А 1,2,...): (An,pn(ai,... ,ап)), pn(ai,.. .,а„) = Р {£i = ai,.. . ,£та = an},ai,.. .,ап Е А, (4.1.3) гДВ pn(ai,.. , ап) — n-мерное дискретное распределение вероятностей посимвольного сообщения. Отметим, что n-мерные распределения веро- ятностей (4.1.3) удовлетворяют следующему условию самосогласован- ности (!<&!< • • • < km < п, 1 < m < п). pm(akl,...,akn) = Pn(ai,--,an). (4.1.4) Р {£ - а} - р(а), а Е А, (4.1.1) причём N О <р(а) < 1, ~ (4.1.2) i=i В таблице в качестве примера представлено распределение вероятно- стей символов русского текста (упорядоченных в порядке убывания р(а(,))): Символ пробел о е,е а и т н с Вер-ть 0,175 0,090 0,072 0,062 0,062 0,053 0,053 0,045 Символ Р в л к м Д п У Вер-ть 0,040 0,038 0,035 0,028 0,026 0,025 0,023 0,021 Символ я ы 3 ь,ъ 6 г ч й Вер-ть 0,018 0,016 0,016 0,014 0,014 0,013 0,012 0,010 Символ X ж ю ш ц щ э ф Вер-ть 0,009 0,007 0,006 0,006 | 0,004 0,003 0,003 0,002 Таким образом, ИДС в случае односимвольного сообщения описыва- ется дискретной вероятностной моделью (А,р(а)). Эта модель харак- теризует лишь одиночный случайный символ сообщения. Сообщение, порождаемое ИДС, — это в общем случае последовательность n > 1 ИДС называется стационарным, если случайный процесс явля- ется стационарным (в узком смысле), т. е. если конечномерные рас- пределения (4.1.3) инвариантны относительно сдвига начала отсчёта времени. Стационарный ИДС называется источником без памяти, если для любых ai,..., ап Е А справедлива факторизация n-мерного распре- деления вероятностей: п pn(ai,...,an) = JJp(a,), (4.1.5) i=l т. е. порождаемые ИДС случайные символы независимы в совокупности и одинаково распределены. 4.2 Функционал энтропии и его свойства Пусть ИДС описывается некоторой дискретной вероятностной мо- делью (А,р(а)). Тогда энтропией ИДС (или энтропией случайного символа £) называется величина, определяемая функционалом: Н{0 = h (р(о(1)) ,...,p(a(7V))) Е{-logbp(£)} =
80 ГЛАВА 4. Вероятностно-статистическйе модели N - _52р(а(,))1о^р(а(,)) ’ (4-21) »=1 где Е{} — символ математического ожидания. Если в (4.2.1) лога- рифм берётся по основанию b = 2, то энтропия измеряется в битах (bit=binary digit), а если в (4.2.1) используется натуральный логарифм по основанию b = е, то энтропия измеряется в нотах (nat^ natural digit). Заметим, что встречающаяся в (4.2.1) неопределённость 0 • logO раз- решается следующим образом: OlogO ::= 0. Мы в дальнейшем будем пользоваться логарифмом по основанию b = 2 и, следовательно, изме- рять энтропию в битах. Сформулируем и докажем основные свойства функционала энтро- пии. Свойство 4.2.1, Функционал энтропии принимает неотрицатель- ные значения: Н {£} > 0; он обращается в нуль только для вырожден- ного распределения: Эа/ е A, p(af) = 1, р(а) — 0, аф а(. (4.2.2) Доказательство. Так как 0 < р(£) < 1, то tj = —logp(£) > 0. Со- гласно свойству математического ожидания, из (4.2.1) имеем НЮ = ЕМ>0, причём Н{£} — 0 тогда и только тогда, когда у П=' 0. Последнее соотношение, очевидно, выполняется лишь в случае (4.2.2). Заметим, что вырожденное распределение (4.2.2) соответствует слу- чаю, когда символ ( не является случайным: £ — а( с вероятностью 1 (£ П“* const). Свойство 4.2.2. Энтропия ИДС с алфавитом мощности N < оо имеет максимальное значение maxH {С} = log IV, (4.2.3) Р V/ которое достигается, если дискретное распределение вероятностей р(*) — равномерное, т. е. все N значений символов равновероятны: (4.2.4)
4^ Функционал энтропии и его свойства 81 Доказательство. Воспользуемся неравенством Йенсена: Е {/(£)}</(Е {£}), (4.2.5) которое справедливо для любой случайной величины С и произвольной выпуклой (вверх) функции у = /(ж). Положим в (4.2.5) С = /(®) = l°g2 ж, (4.2.6) причём < 0» так что Д’) — выпукла вверх. Используя (4.2.1), (4.2.6), имеем: Е Ю = Е Р (а«) = N, {<}) - log2 N; г N Е {/(0} = Е Р (а(<)) log2 = Н {£}. Подставляя эти выражения в (4.2.5), получаем (4.2.3). Подставляя (4.2.4) в (4.2.1), находим , f 1 1 \ 1 1 1 1 ЛТ h [ —— у — log — — log N. \N' N' N Отметим, что впервые энтропия была введена в 1928 г. Хартли в виде H{£} = IogW (4.2.7) для случайного символа £ с N равновероятными значениями, и поэтому (4.2.7) иногда и теперь называется энтропией Хартли. Энтропия в общем виде (4.2.1) называется энтропией Шеннона. Следствие 4.2.1. Чем больше мощность алфавита N, тем больше энтропия Хартли (максимально возможная энтропия). Свойство 4.2.3 (свойство аддитивности). Если случайные сим- волы^у 6 А1, ^2 € А2 сообщения независимы, то совместная энтропия равна сумме энтропий: H{6,6} = H{6} + H{&}. (4-2.8)
82 ГЛАВА 4. Вероятностностатис7ические модели Доказательство. Построим на Р ) случайный вектор S2 = (£1,^2) € Ai х А2 с дискретным распределением вероятностей: Р2(«1> &2) = Р {6 = «1,^2 ~ «2} , У2 5L Рз(а1>а2) = 1- В силу независимости &, (д (ИДС без памяти) имеем р2(а1,а2) = p(«i)p(a2), е Ai, а2 Е А2. (4.2.9) Тогда из (4.2.1), (4.2.9) следует (с учётом условия нормировки) Н{£1,£2} = - £ £ P2(ai,a2)logp2(ai,a2) = (Л2ЕА2 = - £ Р(«1) £ Р(«г) (logp(ai) +logp(a2)) = = - £ P(ai)bgp(ai)- £ p(a2)logp(a2) - aiEAi asEAs = H{6} + H{&}, что совпадает с (4.2.8). Следствие 4.2,2. Если независимы в совокупности п > 2 случайных символов £1 Е Ai,... ,£n Е АП} то их совместная энтропия аддитивна: Н{6,...,е„} = Н{б} + --- + Н{^}. (4.2.10) Доказательство. Оно состоит в (п —1)-кратном применении только что доказанного свойства 4.2.3. Свойство 4,2.4. Добавление к алфавиту символов одного символа с нулевой вероятностью, а следовательно, и любого числа таких сим- волов не изменяет энтропии ИДС. Доказательство. Пусть произведено расширение алфавита А, как указано в условии: A={a(1))...,aW}, А' = Аи{а("+1>), p{e = a<N+1)} = 0. Тогда, согласно (4.2.1), N+l N Н {£'} = - р logp logp = н {£} . i=i i=i
Условная энтропия и ее свойства 83 4.3 Условная энтропия и ее свойства Чтобы изучить новые важные свойства энтропии, используемые в криптосистемах, нам понадобится новое понятие условной энтропии. Пусть определён случайный n-вектор символов £ — (£?•) £ Ai х • • • х Ап с некоторым n-мерным дискретным распределением вероятностей pn(ai,...,an) -Р{6 = = «n}, cti С Ai,..., an еАп. (4.3.1) Пусть задано натуральное число 2 < k < п и определено (п — к + 1)-мерное условное распределение вероятностей подвектора £' = £п) 6 Ak х •• х Ап при условии, что фиксирован подвектор = (£1, • • •,Ck-1) € Ai х • • • х Ak-i: / j \ ___ J • ‘ • ) Gn) / Л Q Pn~~Л4-1 \®k j • • *) I Hi,. . ., d/f-i) — ; - -. (4.3.2) Pfc-l(al, . . . , 1) Здесь использована формула умножения вероятностей. Условной энтропией подвектора g при условии, что фиксиро- ван подвектор называется функционал Н{6,.. 16 = ai, . . . ,6-1 = ak-l} — — ~ 52 12 Pn~fc+i (^fc,..., ап | ai,..., ak-i) х (4.3.3) X logpn—fc-f-i (<3fc, . . • , Un | Ui, . . ., Uk — 1) - Условной энтропией случайного подвектора символов g = (&, ..., £п) относительно случайного подвектора символов £" = (£1} ..., 6с-1) называется функционал, получающийся усреднением функцио- нала (4.3.3): H{f |f"}= 52 ••• Е Pfe-i(ai,...,aft-i)x <216^1 ак — — X хН . . . ,£п | £1 = П1, . . . j&c-l = &&-1} = (4 3 4) = - £ ••• Е Pn(ai,...,an)x v ‘ ' aiCAi ап&Ап х logpn_A:+i (ал,. • .,ап | ai,. > 0. Продолжим исследование свойств энтропии и условной энтропии с учётом новых введённых понятий. Теорема 4.3.1. Если подвекторы случайных символов незави- симы, то условная энтропия совпадает с безусловной: Н{С|Г} = Н{П- (4.3.5)
g4 ГЛАВА 4. Вероятностно-статистические модели Доказательство. В силу независимости £, £ условное распределе- ние вероятностей совпадает с безусловным: Pn-k+1 (flfcr'ufln I аь • • ‘ = Рп-*+1(а*>.. • ,ап)‘ Подставляя это выражение в (4.3-4) и используя свойство самосогласо- ванное™ распределений: ’ У? Рп (аЬ • • • ’ Яп) ~ Рп-Л?+1(а/г 5 • • • > an)i ai^Ai ak-iEAk-i получаем (4.3.5). Теорема 4.3.2. Для любой последовательности случайных символов сообщения£i,... ,£я энтропия обладает свойством иерархической аддитивности: H{6,...^n} = H{6} + H{6l6}+ ,4W +Н {£з I (6>^)} Н-----h H{fn | (6> • • -1£п-1)} • Доказательство. Воспользуемся обобщённой формулой умножения вероятностей (свойством иерархической мультипликативности вероят- ностей) : pn(ai,.. .,ап) = pi(ai)pi(«2 | “1) х ’ ’ ’ х Pi(an I (а1> • • • ,«n-i))- Тогда по определению энтропии с учётом свойств вероятности имеем H{6,- -4n} = - Е Pi(“i)log2Pi(ai)- - Е Е P2(ai,«2)iog2pi(a2 |ai)- ------Е " Е Pn(ai,---,«n)log2Pi(an I (ai,...,an-i)). aiCAi an€-An Учитывая теперь (4.3.4), приходим к (4.3.6). Следствие 4.3.1. Если случайные символы £i,... ,£п сообщения неза- висимы в совокупности, то выполняется доказанное в предыдущем параграфе свойство аддитивности (4-2.10): п н{6,-.-М = Ен{б}. 1=1
4*3- Условная энтропия и ее свойства 85 Доказательство. Согласно теореме 4.3.1, условные энтропии совпа- дают с безусловными: Используя с учётом этого факта теорему 4.3.2, приходим к доказывае- мому. Следует заметить, что свойство иерархической аддитивности (4.3.6) к его следствие порождаются наличием логарифмической функции в определении энтропии; это свойство является ключевым свойством функционала энтропии. Теорема 4.3.3. Пусть £ = (£г) £ А — произвольный случайный вектор символов с дискретным распределением вероятностей рп(а), в = (nJ 6 A, a qn(a), a G А — некоторое дискретное распределение вероятностей. Тогда справедливо неравенство: J(pn : qn) = ^2p„(a)log2^^- > 0, (4.3.7) а€А qnW причём равенство нулю в (4-3.7) имеет место тогда и только тогда, когда распределение qn(>) совпадает срп(): qn(a) - Рп(а), а е А. (4.3.8) Доказательство. Воспользуемся известным неравенством Йенсена, справедливым для произвольных случайной величины £ и выпуклой вверх функции /(ж): Е{/«)}< f(EК}). (4.3.9) Положим в (4.3.9) Тогда, используя условие нормировки, имеем ЕЮ абА 7 а£А
86 ГЛАВА 4. Вероятностно-статистические модели Е {/(С)} = ^}pn (a) log2^y = -J(pn:g„). Подставляя эти выражения в (4.3.9), получаем неравенство: J(Рп • Qn) > 0. Как известно, равенство в неравенстве Йенсена имеет место тогда и только тогда, когда ( = const = с, В силу условия нормировки эта константа с может быть равна только единице: = <?»(«) _ , Рп(а) что и означает дп(-) = рп(-). Теорема 4.3.4. Условная энтропия не может превосходить без- условную: HR' in < НК'}. (4.3.10) Доказательство» Воспользуемся теоремой 4.3.3 и положим в (4.3.7) р(а) Р {£' = а | f' = b} , q(a) Р {£' - «} , а € Д b 6 В. Тогда получим - а К = 6} -log2-----------------> 0 или, что эквивалентно, -£PK' = a|C":=b}log2pK' = a|r = H< a£A <-Ер{С = а|Г = 6}log2PK' = a}. Умножим обе части этого неравенства на Р {£” = 6} > 0 и просумми- руем по всевозможным b 6 В (с учётом формулы умножения вероятно- стей) : - Е Е р U' = а I Г = b} log2 Р К' = а | С = Ь} < а£АЬЕВ < - Е Е Р {С = а Л" = Ь} iog2 Р К' = а} = а£АЬ€В = -EPR/=a}log2PK' = a},
Условная энтропия и ее свойства 87 ^совпадает с (4.3.10). Следствие 4.3.2. При добавлении условий условная энтропия не уве- личивается: Н{е | (77,0} < Н{£ I п}. (4.3.11) Доказательство. Неравенство (4.3.11) доказывается аналогично те- ореме 4.3.4. Следствие 4.3.3. Энтропия посимвольной последовательности £1? ,.& случайных символов сообщения не превосходит суммы энтро- пий всех этих символов, рассматриваемых по отдельности: п Н{6,-.-,£п} <£>{&}. (4.3.12) 1=1 Доказательство. Согласно теореме 4.3.4, справедливы неравенства: н{&| (<!,...£_1)}<Н{£} (i = 2“Н). Подставляя эти неравенства в (4.3.6), получаем (4.3.12). В криптологии часто дискретные сообщения (ЕЛ подверга- ются некоторому дискретному функциональному преобразова- нию (ДФП): (4.3.13) где А, В — некоторые конечные множества. Исследуем, как изменяется энтропия сообщения при таком функциональном преобразовании. Теорема 4.3.5. При дискретном функциональном преобразовании ви- да (4.3.13) энтропия не возрастает: Н{7?}<Н{0, (4.3.14) причём равенство в (4-3.14) достигается тогда и только тогда, ко- гда ДФП (4-3.13) есть биекция. Доказательство. Рассмотрим “составное” сообщение ( s ) € Ах В. Из теоремы 4.3.2 имеем н U, т?} = Н {О + Н {т/ | о = н {77} + Н {£ | т,} . (4.3.15)
88 ГЛАВА 4. Вероятностно-статистические модели В силу функциональной зависимости (4.3.13) условное распределение у при условии, что £ = а фиксировано, является вырожденным: Р {п = b | а} = Р {/(а) = Ъ | е - а} = 5/(а)Л, b G В. где — символ Кронеккера. Согласно свойству 4.2.1, энтропия для вырожденного распределения обращается в нуль: н {7/10 = 0. Тогда из последнего равенства (4.3.15) имеем HR} = HR}-HR 17/} . Поскольку Н {£ | т?} > 0 по свойству энтропии, то отсюда следует (4.3.13). Равенство в (4.3.14) будет иметь место тогда и только то- гда, когда HR |О = 0. Это возможно лишь в случае функциональной зависимости £ от тр £ = /~1(р), т. е. когда (4.3.13) — биекция. Введённый и исследованный в разделах 4.2 и 4.3 функционал энтро- пии Шеннона HR} = hN(p!,...,pN) = -£>logPi (4.3.16) для ИДС pi = P {£ — aW}, i — 1,JV, обладает всеми свой- ствами, которые необходимо требовать от количественной меры неопре- делённости. Поэтому энтропию Шеннона Н{£} и используют в кри- птологии как количественную меру неопределённости сообщения £ Л. Однако является ли функционал (4.3.16) единственным функционалом, обладающим изученными свойствами? Положительный ответ на этот вопрос даёт следующая теорема единственности, которую здесь при- ведём без доказательства [26]. Теорема 4.3.6. Пусть для любого натурального числа N функция N переменных N h-hN(pi,...,pN'),p1,...,pN>0,'^2lPi = ^ i=l непрерывна по совокупности своих аргументов и обладает следую- щими тремя свойствами:
4,4. Удельная энтропия 89 а) максимальное значение функции достигается при равномерном распределении: Ьн(р1,. ,Pn) < hNl j> б) выполняется иерархическая аддитивность: Н{^л} = НШ + Н{, 10; в) добавление к алфавиту, состоящему из N символов, одного сим- вола с нулевой вероятностью (pn+i — 0) не изменяет значения энтропии: hN+i(pi,. •. ,Pn,0) = . .,pn). Тогда эта функция /г/у(-) необходимо имеет шенноновский вид: N hrdPl,...,PN) - -А 52 Pi 1о£ Pi еде А — произвольная положительная константа. 4.4 Удельная энтропия стационарной символьной последовательности Пусть рассматривается стационарный ИДС с некоторым алфавитом А = порождающий (генерирующий) п-символьные случайные сообщения 5n ~ (£i,...,£n) € Ап. Каково асимптотиче- ское поведение энтропии Н{ЕП} при п -> оо? Это основной вопрос, исследуемый в данном разделе. В силу свойства стационарности (в узком смысле) n-мерное дискрет- ное распределение вероятностей Рп (^1, • ’ * ,^n) ““ Р {Ci “ > • • • ~ } i «1,... ,ап С А ? (4.4.1) не меняется при сдвиге r > 1 начала отсчёта времени: Р{6-+1 = «1, Ст+п = an} = Pn(ai,...,an) = invar. (4.4.2)
90 ГЛАВА 4. Вероятностно-статистические модели В силу (4.4.1), (4.4.2) энтропия n-символьного “сдвинутого” сообщения Еп,т — (бч-Ь • • • £т+п) € Ап не зависит от г: H^En>r| - H{En} = invar. (4.4.3) Поэтому в дальнейшем при исследовании энтропии мы можем не делать различий между случайными сообщениями Еп и ЕП)Г- Удельной энтропией (плотностью энтропии) стационарного ИДС называется предел h = lim S&L, (4.4.4) п—Юо П если он существует. Согласно определению (4.4.4), h представляет собой энтропию, при- ходящуюся на один символ и вычисленную по бесконечно длинному слу- чайному сообщению. Если h > 0, то с ростом длины сообщения п -> ос энтропия растёт линейно: H{3n]'~hn. (4.4.5) (Знак — означает, что H{Sn}/(7m) -> 1.) Выясним условия суще- ствования предела в (4.4.4), т. е. условия асимптотического поведения (4.4.5) энтропии. Пусть Sn_i е Л””1 и = (Sn_i||£n) G Ап — два случайных сооб- щения длины п — 1 и п соответственно (здесь || — символ конкатенации (присоединения)). Обозначим условную энтропию символа относи- тельно случайного сообщения Hn-i, состоящего из п — 1 предыдущих символов (п — 1,2,...): Н{£п | En_x} = - Pn(<H,---,an)logPi(an | «ь • • Аг-1)« (4.4.6) При этом в случае п = 1 полагается Н {G | So} ::= Н {&}. Теорема 4.4.1. Для произвольного стационарного ИДС числовая по- следовательность условных энтропий Н {£п | En_i}, п— 1,2,... ,опре- деляемых (4-4.6), имеет конечный предел: Н {£ | Еоо} ::= lim Н {£„ | Н^} . (4.4.7)
4Л’ Удельная энтропия 91 Доказательство. Докажем, что исследуемая последовательность не возрастает и ограничена снизу. Действительно, в силу свойства стаци- онарности (4.4.3) Vi, j е N: н Uj I tj-i,... = н । . Лп-о. Поэтому исследуемая последовательность совпадает с последовательно- стью В силу свойств условной энтропии Как известно, любая невозрастающая ограниченная снизу числовая последовательность имеет предел, который обозначим согласно (4.4.7). Теорема 4.4.2. Для произвольного стационарного ИДС удельная эн- тропия (4-4-4) существует и совпадает с предельным значением (44-1); ft = HR|STO}. (4.4.8) Доказательство, Во-первых, докажем^ что числовая последователь- ность hn ::= n^-, п = 1,2,..., (4.4.9) п из определения удельной энтропии (4.4.4) ih lim hn 1 является не- возрастающей и ограниченной снизу. Для (п 4-1)-символьного сообще- ния 5n+i = (Sn||£n+i) € Лп+1 в силу свойства иерархической аддитив- ности энтропии имеем Н {Sn+1} = Н {Sn} + Н {£n+1 I Sn} . (4,4.10) В силу свойства условной энтропии (следствие 4.3.2) и свойства стаци- онарности (4.4.3) имеем оценку для второго слагаемого в (4.4.10): Н {<n+1 I S„) = Н к„+1 Н {£„+1 16,... 4„} = = нкп |Sn-i}-
92 ГЛАВА 4. Вероятностно-статистические модели Подставляя это в (4.4.10), получаем неравенство: H{Sn+1}<H{Sn} + H{en |E„-i}. (4.4.11) В силу свойства иерархической аддитивности энтропии (теорема 4.4.2) и уже упомянутых выше свойств условной энтропии имеем п 1-1 так что Н{£„ |S„-1}<-Н{5П} = Л„. (4.4.12) п Подставляя (4.4.12) в (4.4.11), получаем 0<Н{Нп+1}< (1 + -)н{Нп} = ^1н{5„}. \ п у п Разделив обе части этого неравенства на п+1 и использовав обозначение (4.4.9), находим 0 < Лп + 1 < т. е. {hn} — невозрастающая числовая последовательность, ограничен- ная снизу. Следовательно, её предел (4.4.4) — удельная энтропия h — существует. Во-вторых, покажем справедливость равенства (4.4.8) для этого пре- дела. Для произвольного 1 < k < п имеем по свойствам энтропии с учётом (4.4.9): п к = !£,_!} = 1£Н{&[5,_1} + ,:=1 ’-1 (4.4.13) +j Г H{6|Si_1}<*H{6} + ^H{&+1|S*}. i—/с + 1 Воспользуемся произволом к и выберем к = й(е) таким, чтобы для лю- бого наперёд заданного е > 0 выполнялось неравенство: H{£fc+1|Sfc}-HR|H«}<t (4.4.14) Л Это всегда можно сделать, так как по теореме 4.4.1 Н{&+1|Sfe}^HR iSooj + O.
*»• Удельная энтропия 93 Цо выбранному таким образом к определим n = n(fc,s) так, чтобы при любом n > п выполнялось неравенство к F -Н{6}<2- (4.4.15) ТогДа из (4.4.13), (4.4.14), (4.4.15). следует, что W > О ЗЙ! = ni(e), такое, что для всех n > hi справедлива оценка сверху: hn < HR | Soo} 4-6. (4.4.16) С другой стороны, имеем оценку снизу: 1 п hn = - V Н {6- | S«~i} > Н | Sn-J > Н R | Soo} . (4.4.17) n i=i Объединяя (4.4.16), (4.4.17), имеем ни I Soo} <ЛП< HU I Soo}+ 6. Так как e — произвольное положительное число, то из этих неравенств следует, что h = lim Лп-HU I Soo}, n->co t. e. выполняется (4.4.8). Из теорем 4.4.1, 4.4.2 следует асимптотическое разложение энтропии n-символьного сообщения: Н{Еп} = пЛ + о(п). (4.4.18) Уточним остаточный член в (4.4.17). Теорема 4.4.3. Для энтропии произвольной дискретной стационар- ной случайной последовательности Нп € Ап при увеличении числа сим- волов п —> оо справедлива асимптотика: Н{5П} = nh 4- 26 4-о(1), (4.4.19) где Ь=У- lim (H{Sm} + H{S„}-H{Sm+n})>0. (4.4.20) 2 m,n->oo *
94 ГЛАВА 4. Вероятностно-статистические модем Доказательство. Обозначим величину, входящую в (4.4.20): Втп = Н {Sm} + Н {En} - Н {Em+n} , m, п £ N. (4.4.21) Во-первых, заметим, что Втп — симметричная функция относи- тельно т, п. Во-вторых, по свойству иерархической аддитивности и свойству ста- ционарности из (4.4.7) имеем Втп = Н Н {Ст-|-1 , • • • £т-рп,} -(Н + н {£т+1,...,6n+n} I Sm) - (4.4.22) — Н ? • • ’ } — Н {£т+1 , • • » | } • В силу известного свойства энтропии ДЛЯ Т] — (&п+1, • • • £т+п) нм >Н{'П |б} > ... >Н{7/16,.. • ,64, при фиксированном п и растущем т энтропия Н {бп-н,«• • £т+п | не возрастает. Следовательно, согласно (4.4.22), при фиксированном п последовательность Втп — неубывающая последовательность по т = 1,2,.... Аналогичное свойство монотонности выполняется для Втп по п, так как Втп симметрична относительно т, п. В силу установленного свойства монотонности существует предел (Jl.4.20) — конечный или бесконечный. Чтобы доказать (4.4.19), применим (4.4.20), (4.4.22) и свойство ста- ционарности: 2b= lim (H{Sn}-HRw+1,...,em+n (4.4.23) m,n-4oo Воспользуемся ещё раз свойством иерархической аддитивности энтро- пии: Н {6п+1, • • • £т+п | 6 , • • ~ ® {’sm+i | 6, • • • — 1} • (4.4.24) г-1 Устремим т оо в выражении (4.4.24) и воспользуемся теоремой 4.4.2 (г=Т^): H{U+i I ->Л, m->oo. В результате из (4.4.24) получаем lim Н {6п-н, • • - ,Ст+п | 6, • • • >£m} — (4.4.25)
4-5 Энтропия марковских последовательностей 95 Переходя в (4.4.23) к пределу при m 90 и используя (4.4.25), по- лучаем lim (Н {5П} — nh) — 26, П-ЧОО что эквивалентно (4.4.19). Асимптотическое разложение энтропии (4.4.19) имеет следующую содержательную интерпретацию. Главный член разложения nh — это я-кратная удельная энтропия. Второй член разложения 26 — это энтро- пия, обусловленная краевыми (граничными) эффектами. Третий член ^•1) — это остаточный член разложения. Следствие 4.4.1. Для стационарного ИДС без памяти соотношение fy.J. 19) обращается в точное равенство: Н {Sn} = nh, (4.4.26) где h - H{<1} ~ pi(ai)logpi(ai) является энтропией единичного случайного символа. Доказательство. Соотношение (4.4.26) следует из свойств условной энтропии. Кроме того, H{5m+n} ~ H{Sm} + H{Sn}, поэтому, со- гласно (4.4.20), граничные эффекты отсутствуют: 6 = 0. 4.5 Энтропийные характеристики марковских последовательностей В системах обработки и защиты информации символы, образующие сообщение Еп — (£1, . • £п) С Ап, обычно стохастически зависимы. Од- ной из распространённых моделей стохастической зависимости симво- лов печатных текстов, речевых сообщений и изображений является од- нородная цепь Маркова (ОЦМ) с дискретным временем и конеч- ным пространством состояний А = . >a(N) }, N < оо. Пусть случайная символьная последовательность, порождённая ис- точником дискретных сообщений: £1,... • € А, является однород- ной цепью Маркова. Это, как известно, означает, что распределение
96 ГЛАВА 4. Вероятностно-статистические модели вероятностей будущих значений (состояний) при фиксированных насто- ящих и прошлых значениях не зависит от прошлых значений: P{6+1 =Oi+l 16 = =61} =Ра4>а,+1, (4.5.1) ai,... 6 Л, 2 = 1, 2,... . Известно также, что все конечномерные распределения и все вероятностные характеристики ОЦМ полностью выражаются лишь через вектор-столбец начальных вероятностей (%1 > KN / л» = Р {е = а«} , i = 1, N, (4.5.2) и через (N х AQ-матрицу вероятностей одношаговых переходов: р = (p.j), PH = Р {б+i = а(П I 6 = a(i)} , i, j = 1 ,N (t ~ 1,2,...). (4.5.3) Вероятности (4.5.2), (4.5.3) удовлетворяют условиям нормировки: N N ^2^ = 1, = 1 (i =xn). i-l j-1 (4.5.4) Для получения дальнейших результатов введём ещё в рассмотре- ние N--вектор-столбец стационарных вероятностей тг* = (тг*), i = 1,ЛГ, являющийся решением системы линейных алгебраических уравнений: ( = (.-П?); (46 5) ч 7Г1+ • • -+7FN = 1. Обозначим: N н* {6} = -5>n°g< - энтропия стационарного распределения вероятностей; h = - У2 < 52 • <4-5 -6) t=l j=l
4/5- Энтропия марковских последовательностей 97 ^Теорема 4.5.1. Если случайная символьная последовательность Является ОЦМ со стационарным начальным распределением тг* и ма- трицей вероятностей одношаговых переходов Р, то энтропия п- символъного сообщения Еп H{S„} = H* {6}+ («-!)/>; (4.5.7) при этом величина h, определяемая (4-5.6), является удельной энтро- пией. Доказательство. В силу марковского свойства (4.5.1) имеем следу- ющее представление для п-мерного дискретного распределения вероят- ностей: рп (а(г1\ ... — Р {£]. — х х ДР{^+1 =а(‘‘+,) 16 = =a(il)} = (4 5 8) П-1 - Л-»! П (Й,е t=l Тогда с учётом (4.5.8) энтропия n-символьного сообщения = (£1,.. - >£п) будет иметь вид N , / п-1 \ Н{Еп} = - рп(а(,1),...,а(’п)) Ilogтг^logpil)i(+1 I. = l X t=l / В силу свойства согласованности многомерных вероятностных распре- делений имеем N Н {Еп} = — £ 7Ttl log7Ttl- п — 1 N -.Е Е Р {6 = a(!f),6+i = а(г,+1)} 1оёР‘<.’«+1 - (4.5.9) t = l it — l N n-1 N = - E TTilogTT.- - E E P {6 = a(!<)}p.t,it+i Iogp«<,i<+1- По условию теоремы начальное распределение ОЦМ совпадает с её стационарным распределением: тг; = тг* (i = 1, TV). Тогда из (4.5.5) легко показать, что одномерное распределение ОЦМ не меняется с те- чением времени: =a(f)} = <, t = 1,2,... (i = 1JV).
98 ГЛАВА 4. Вероятностно-статистические модели Учитывая это в (4.5.9) и используя обозначения (4.5.6), получаем н {s„} = н* {6} + "е Е I -< Е PH logрц) = t = l 1 — 1 \ j = l / = н*{шм)л> что совпадает с (4.5.7). Найдём теперь удельную энтропию, используя её определение и (4.5.7): H{En} г А 1\ . hm 1 — |1т-----------------1_ д . |1т 1--I = Л, п->оо п п—юо Т1 п->сю у nJ что и требовалось доказать. Отметим, что если нарушено условие теоремы о стационарности ОЦМ: 7Г; — %* (г — 1, N), то формула (4.5.9) примет следующий вид: н {sn} = н {6} + Е Е (-^ри {о&Ри}, t=iij=i4 ' тгР = Р {6 = а«} . Из теории цепей Маркова известно, что при t —> оо и выполнении не- которых ограничений на Р имеет место экспоненциальная сходимость распределения вероятностей я*0) = к стационарному распределе- нию тг* — (яг*):' где 0 < р < 1. Поэтому из соотношения (4.5.10) имеем н {-п} _ н{во +1Л _ у tA _^h п п п\ v 7 / \ / Таким образом, удельная энтропия ОЦМ даже при нарушении усло- вия стационарности определяется (4.5.6), хотя соотношение (4.5.7) при этом не выполняется. Следствие 4.5.1. В условиях теоремы 1.5.1 соотношение (J.J.19) из предыдущего параграфа обращается в точное равенство: (4.5.11)
Энтропия марковских последовательностей 99 26= 52 <PuIog^ <j=i (4.5.12) Доказательство. Представляя (4.5.7) в виде (4.5.11), имеем 26 = Н* {£1}-Л. Тогда из (4.5.6) следует: W N N N N = log к*+< 52 Pv los ph = 52 52 ph l°s ~r • i = l 2 = 1 j = l i~l j=l ^3 Используя (4.5.5), можно показать, что это выражение совпадает с пра- вой частью (4.5.12). Пример. Рассмотрим двоичную (бинарную) ОЦМ £1,£г> • • • 6 Л = {0,1}, т. е. N = 2, t?1) — 0, а(2) = 1. Вероятностные характеристики ОЦМ: (7Г1A D (1 — а а \ где а,/3 Е [0,1]. Заметим, что при а + /? ~ 1, tti = 1 — о, тгз = а имеем схему независимых испытаний. Для отыскания стационарного распределения тг*, согласно (4.5.5), имеем систему: Г 7Г*(1-а)4-7Г2/? = 7Г*, Решение этой системы единственно: 7Г* = f . \ а+/3 / Тогда по формулам (4.5.6) находим Н* = "a + ^1Og а + /? " а + /3 10g а + 0’ h = - log'“ + d ~ <*) 1°S (1 ~ “))“ -4^(/?log^+(l-^) log (1-/3)).
100 ГЛАВА 4. Вероятностно-статистические модели ^уИсточники непрерывных сообщений 101 По формуле (4.5.12) получаем 26 - + i°g (1 + f) + “ aH°s С1 “ а)+ + ^(1-/?) log (1--/?). В частности, при (3 = а (симметричная ОЦМ) находим тг* = 1/2; Н* {£г} = log2 = 1, h ~ —((1 — a) log(1 — а) -h а log а), 26 = log 2 + (1 - a) log (1 - a) + a log a = 1 — h. При a = 1/2 имеем схему независимых испытаний. При этом удельная энтропия максимальна. При & —> 0 или a -> 1 удельная энтропия h —> 0, что согласуется с фактом уменьшения неопределённости двоичных сообщений. 4.6 Источники непрерывных сообщений и их энтропийные свойства До сих пор мы предполагали, что источник сообщений порождает дискретные символьные последовательности со значениями в дискрет- ном алфавите. В приложениях, однако, часто встречаются источники непрерывных сообщений £ £ Л, где А С Ж — некоторое подмножество мощности континуум. Например, речевой сигнал в каждый момент вре- мени можно рассматривать как величину звукового давления £ в задан- ной точке пространства (в данном случае Л — [0,6], где 6 — некоторая максимально допустимая величина давления). Другой пример — опти- ческие сигналы. Для того чтобы рассмотреть эти более сложные слу- чаи, построим обобщённую математическую модель и обобщим понятие энтропии. Пусть (для фиксированного момента времени) сообщение принимает значение, описываемое случайной величиной £ £ Л, заданной на веро- ятностном пространстве (S^T^P ) и имеющей распределение вероят- ностей (индуцированную вероятностную меру): Ре(В) Р {£(a>) G В} , В £ В, (4.6.1) где В — борелевская сг-алгебра на числовой прямой; при этом Р^(Л) — 1. Для обобщения понятия энтропии мы потребуем, чтобы на измери- мом пространстве (Ж, В), кроме Р$(-), была бы определена ещё одна ^деяйогательная мера v = р(В), В € В, такая, что мера Р^( ) аб- д^уугно непрерывна относительно i/( ). Напомним, что мера Р((*) абсолютно непрерывной относительно г/( ), если VB G В ^5) = о Р$(В) = о. Согласно известной теореме Радона-Никодима, из условия абсолют- ной непрерывности меры Р$(-) относительно меры z/( ) вытекает суще- ствование борелевской функции /(ж), х G Л, обозначаемой -^(х) и на- даваемой производной Радона-Никодима. Она определена всюду В л, за исключением подмножества Ло, где г<(Ло) = 0, а значит, и Р{(Л°) = °- При этом справедливо интегральное представление р«(в) = у f(x)v(dx), Be в. в Энтропией случайного сообщения £ с распределением Р^.(-) назы- вается величина интеграла Лебега: НЮ = - / log^(z)Pf(<fc)- (4.6.2) А В частности, если Л — дискретное множество, а !/(•) — “считающая мера” (например, при |Л| < оо, р(В) = |В| — мощность множества В), то (4.6.2) превращается в ранее рассмотренное определение Шеннона: н Ю = - 52 (loSPe (а))рс(«), (4-6-3) а£Д где р^(а) Р {£ = a}, а £ Л — дискретное распределение вероятно- стей случайного символа. Рассмотрим теперь другой частный случай (4.6.2), когда случайное сообщение £ имеет абсолютно непрерывное распределение вероятностей (относительно меры Лебега): Ре(В) = У Pt(x)dx, Be В, (4.6.4) В с плотностью распределения р^(х) > 0, удовлетворяющей условию нор- мировки: У Pt(x)dx — 1. А
102 ГЛАВА 4. Вероятностно-статистические модели НИ0--I Учитывая (4.6.4), в качестве меры !/(•) в (4.6.2) примем меру Лебега: = В С л- (4.6.5) mes(^) 7 здесь предполагается, что шез(Л) < оо. Тогда из (4.6.4) и (4.6.5) следует — р^(т)теб(Л), а интеграл Лебега (4.6.2) выражается через интеграл Римана: Н {£} = — logmes(>() - J р^(х) \ogp{(x)dx. (4.6.6) А Дифференциальной (относительной) энтропией случайного сообщения £ Е А с плотностью распределения р$(х) называется значение функционала Pt(x) \ogpt(x)dx. (4.6.7) А Замечание 4.6.1. Термин Относительная” показывает, что эта энтропия вычислена относительно меры Лебега (4-6.5). Замечание 4.6.2. Если “доопределить” функцию плотности на всей числовой прямой: Pt(x) = 0, х Е М\Л, то в определении (4-6.7) всегда будем полагать интегрирование на (—оо, оо). Замечание 4.6.3. Аналогично (4-6.7) определяется энтропия и в случае, когда случайный символ £ Е — N-мерный и описывается N-мерной плотностью распределения р%(х), х Ей^\ Отметим, что функционалы (4.6.6), (4.6.7) отличаются на кон- станту: Н {£} = Щ {С} - logmes^). Пользоваться функционалом (4.6.6) менее удобно, чем (4.6.7), так как при А = Ж получаем тез(Л) ~ Н-оо и Н {£} — —оо для любой плотности
Источники непрерывных сообщений 103 |^*), в то время как дифференциальная энтропия (4.6.7) конечна. По- свойства обобщённой энтропии будем выражать через свойства ||рфференциальной энтропии. ^дрйство 4.6.1. Дифференциальная энтропия не изменяется при сдвиге распределения вероятностей, “зеркальных отражениях” и “пе- рестановках фрагментов”. Доказательство. Проиллюстрируем схему доказательства для пре- образований типа “сдвиг”: ре(®) = р«(а'-с), где с G Ж — некоторая константа, определяющая величину сдвига. То- еда из (4.6.7), делая замену переменных у — х — с, имеем Hd{4} = - f р((х - c)logp?(a: - c)dx = — ОО = ~ f Pf(p)l°gpf(y)dp= Hd{G • -00 Для других преобразований доказательство предлагается провести са- мостоятельно. Условной дифференциальной энтропией случайного символа | € К относительно случайного символа т/ G R называется величина двойного интеграла: оо оо РСч(х’ У) logPe|4(x I y)dxdy, (4.6.8) — оо — оо где р^7?(ж, у) — совместная плотность распределения вероятностей слу- чайных символов (С,т/)> а р^(х [ у) = р^х, y)/pri(y) — условная плот- ность распределения ( при условии ц — у. Определение (4.6.8) похоже на определение (4.3.4), справедливое для ИДС. Свойство 4.6.2. Справедливо свойство иерархической аддитив- ности дифференциальной энтропии для произвольной системы слу- чайных символов G В2.' На {с, Т)} = На {т?} 4- На {£ | v} = На {О + На {т? I О . (4.6.9)
104 ГЛАВА 4. Вероятностно-статистические модели Доказательство. Оно проводится аналогично доказательству по- добного свойства в дискретном случае с использованием формулы умно- жения плотностей и условия нормировки. Лемма 4.6.1. Для любых плотностей распределения вероятностей р(х), q(x), х Е выполняется неравенство: Лр(-) ?(•)) = У P(»)bg^yd®>0. (4.6.10) Доказательство. Оно проводится с использованием неравенства Йенсена по аналогии с дискретным случаем (см. теорему 4.3.3). Пусть рх(я), х Е К — произвольная плотность распределения веро- ятностей, а а{х,у), х,у — произвольная весовая функция, удовле- творяющая следующим условиям: ОО 00 а(ж,т/)>0, У a(x,y)dx~ j a(x,y)dy—l. (4.6.11) — ОО -со Тогда интегральное преобразование рх(-) ->$(•): ОО <](у) = У a(x,y)px(x)dx, у G Ж, (4.6.12) — ОО принято называть преобразованием линейного сглаживания (усреднения) или преобразованием линейной фильтрации. Замечание Дирака, то ?(•) =Рх(-). 4.6.4. Если а(х,у) = S(y — х) — обобщённая 6-функция преобразование (4-6,12) становится тождественным: Замечание 4.6.5. Легко убедиться, что функция q(y), определяемая (4-6.12), с учётом (4-6.11) удовлетворяет всем свойствам плотности распределения вероятностей. Свойство 4.6.3. При линейном сглаживании плотности распределе- ния вероятностей дифференциальная энтропия не убывает.
Источники непрерывных сообщений 105 $рказателъство. Пусть случайный символ £ Е й имеет исходную даотность рх( ), а случайный символ ту Е 1R имеет сглаженную плот- ность q(). Вычислим разность их дифференциальных энтропий с учётом (4.6.12), (4.6.11): ДЯ "= Hd {7?} - Hd {0 = - У q(y) logg(y)th/+ у px(x)\ogpx(x)dx = — OO —OO OO OO OO OO = У px(x)logpx(x)dx' У a(x,y)dy- J j a(x,y)px(x)logq(y)dxdy = OO 00 В силу (4.6.11) функции pi(x,y) = а(х,у)рх(х) > 0, qi(x,y) b(x)y)q(у) > 0 удовлетворяют условиям нормировки: OO OO OO У У Pi(x,y)dxdy = У -OO —OO —OO = 1, 1, и, следовательно, являются двумерными плотностями некоторых рас- пределений вероятностей. Тогда в силу предыдущей леммы имеем до- казываемое неравенство: АН - [ Р1(х, у) log - ^X,y^dxdy > 0. J qi{x,y) R2 Свойство 4.6.4. Пусть £ Е — случайный символ с плотностью распределения р$(ж), х Е имеющий дифференциальную энтропию наа а у = № : — взаимно однозначное непрерывно
106 ГЛАВА 4. Вероятностно-статистические модели дифференцируемое функциональное преобразование. Тогда случайный символ у = /(£) имеет дифференциальную энтропию: Hd {»/} = HdR} + Е {log IJ J (01} , (4.6.13) где Jf(x) — — якобиан преобразования у = Доказательство. Обозначим х = J”1 (г/) — обратное функциональ- ное преобразование, a J^-i(y) = — его якобиан. По правилам функционального преобразования многомерных случайных величин Му) = МТ1(у))|<Л-1(у)|- (4.6.14) Тогда из (4.6.14) по формуле (4.6.7) имеем HdW = E{-log^(?j)} = E{-logpe(/-1(0)} — В {log р/-» (»7){} . Воспользовавшись свойством математического ожидания (матема- тическое ожидание функции от случайных величин) и свойством якоби- ана прямого у = f(x) и обратного х ~ f“1(t/) преобразований, получим 1м» (у) Um = i-wr1- Hd {г)} = Е {- logP<«)} - Е {log |У/(€)Г1} = Hd {О + Е {log | J;(£)|} , что совпадает с (4.6.13). Следствие 4.6.1. При взаимно однозначном функциональном пре- образовании у = /(я) : 1!^ —> дифференциальная энтропия может возрастать, убывать и оставаться неизменной. Она остаётся неиз- менной тогда и только тогда, когда плотность распределения р^) и якобиан преобразования Jj(x) обладают специальным свойством: E{log|Jj(C)|} = У р<(ат) log |Jy(a:)|daT = 0. (4.6.15) R” Следствие 4.6.2. Если функциональное преобразование /(•) — линей- ное: у = f (х) - Ах+ Ь,
м Источники непрерывных сообщений 107 $е b € — произвольный вектор, а А = — произвольная не- оррожденная (N х N )-матрица, то {77} = + log|yt|. (4.6.16) Доказательство. Согласно (4.6.13), имеем E{log|7/{f)|)=E{logH|} = log|4|. Замечание 4.6.6. Свойство 4-6.4 существенно различает энтропию ИДС и дифференциальную энтропию. Как известно, при взаимно однозначных функциональных преобразованиях энтропия ИДС неиз- менна. Это различие — результат определения дифференциальной бнтропии относительно меры Лебега. Следствие 4.6.3. В условиях следствия 4-6.2 дифференциальная эн- тропия неизменна лишь в том случае, если преобразование имеет еди- ничный якобиан: |А|— 1. Следствие 4.6.4. При ортогональном преобразовании случайного со- общения £ Е : Т] = А£, ААТ — IN, дифференциальная энтропия не изменяется: н.ы-нае}. (4.6.17) Доказательство. Для ортогонального преобразования |А| = 1. По- этому, согласно следствию 4.6.3, из (4.6.16) получаем (4.6.17). Пример 1. Если случайный символ £ имеет равномерное на [а, 6] распре- деление: £ {£} = R[a, 6], то дифференциальная энтропия Hd{£} = log(b-a). Пример 2. Если случайный символ £ имеет гауссовское распределение ZTR} = (м,<т2) со средним р и дисперсией ст2 > 0, то Hd{0 = log>/2 7Гв<Т2.
108 ГЛАВА 4. Вероятностно-статистические модели Пример 3. Если случайное N-символьное (N > 1) сообщение имеет N- мерное гауссовское распределение £ {£} — Адг (^, Е) с вектором мате- матического ожидания /1 = и ковариационной (N х Л^-матрицей Е = то ________ НЛО = ИУ(2™)"|Е|. В заключение рассмотрим ситуацию, когда имеется стационарный источник непрерывных сообщений, порождающий случайный процесс с дискретным временем: 6,6,-.. еж. Йсследуем дифференциальную энтропию отрезка этого случайного про- цесса длительностью п (п — 1,2,...): Нп = 4п)еГ\ Будем предполагать, что исследуемый случайный процесс является стационарным гауссовским процессом. Условие гауссовости означает, что для любого п распределение вероятностей случайного п- вектора Sn,является n-мерным гауссовским с плотностью р„(ж) = (27г)_”/2|£пГ1/2ехр ^-1(х-а)ТЕп1(ж-а)), х = (х,-) ей", (4.6.18) где а = (а*) Е — n-вектор-столбец математических ожиданий: Е{&} = а -n - — ковариационная (л х п)-матрица; = Cov {&,£/} — E{(£t- — ai)(£j — о?)} — ковариация случайных величин £i,£j Согласно рассмотренному примеру 3, в случае (4.6.18) имеем Hd{S„} = log д/(2тге)п |Sn j, поэтому = 7-Цп1°ё(2тге) +log|S„|) = logx/27re+ -^-log|E„|. (4.6.19) Tl //il ATI Свойство стационарности гауссовского случайного процесса про- является в специальных свойствах ковариационной матрицы Еп: а) дисперсия случайного процесса & не зависит от времени t, т. е. D {<t} = Cov {&,&} = = сг0 = invar;
Источники непрерывных сообщений 109 6) ковариация значений случайного процесса & зависит лишь от разности моментов времени: = Cov {&,&,} = В силу указанных двух следствий стационарности исследуемого слу- чайного процесса имеем Cl C2 • • ob—i Cl Co Cl • • Cn-2 Dn — jEn| — C2 Cl c0 • • Cn~3 , (4.6.20) ^n-l Cn~2 Cn-3 . .. Co рде Еп — так называемая симметричная тёплицева матрица, Математиками Пойа (1915), Сегё (1921) было установлено следующее асимптотическое поведение обобщённой дисперсии (4.6.20) при п —> оо: тг lim log(Pn)1/n = [ logSe(A)dA, (4.6.21) n—1-00 Z7T J ' — 7Г где S$(A) = 52 aT cos(At), A E (—^г, тг] (4.6.22) T=: —OO есть так называемая спектральная плотность случайного процесса определяемая как косинус-преобразование Фурье ковариационной функции аТ = а~т = Cov {&, £i+r}, т Е Z. Введём ещё в рассмотрение нормированную корреляционную функцию: рт = — = Согг{6,6+т}, г GZ, (4.6.23) CQ и нормир о ванную спектральную плотность: (А) = —— “ 52 Рт cos(Ar), А Е [-7Г, тг]. (4.6.24) (То T — — CQ Используя (4.6.21) — (4.6.24), найдём удельную энтропию гауссов- ского стационарного случайного процесса. Из (4.6.19) с помощью экви- валентных преобразований имеем Hd - logv/2^ + -L log —Ert.
110 ГЛАВА 4. Вероятностно-статистические модели Согласно (4.6.20), (4.6.23), элементами матрицы являются значе- ния нормированной корреляционной функции: Ро Р1 Pl Рп-1 Р1 Ро Р1 • • Рп-2 Р2 Р1 РЬ • Рп-3 > ро — 1 Рп — 1 Рп-2 Рп-3 • • Ро Тогда в силу (4.6.21), (4.6.24) 7Г lim log(rfn)1/n = Т 1 logsf (X)dX. n-i-oc 27Г J — ?r Поэтому получаем следующее выражение удельной энтропии: h = lira = logV2Tre<T0 + £ f log s^(A)dA - П—hOQ — 7Г 7Г = H{6} + £ f 10gSc(A)dA, (4.6.25) где H {£i} = log У2тгесго — энтропия единичного гауссовского случай- ного символа с дисперсией oq. В (4.6.25) первое слагаемое характеризует энтропию единичного (от- дельного, изолированного) символа, а второе слагаемое характеризует зависимость символов в последовательности и выражается через норми- рованную спектральную плотность $^(А) или, что эквивалентно, через нормированную корреляционную функцию. Пример 4. Последовательность независимых гауссовских символов: Cov{&,&/} = При этом рт = ^(А) = 1 ~ const, А Е [-тг, тг]. Тогда в силу (4.6.22) второе слагаемое равно нулю, и получается уста- новленный выше результат: Пример 5. Пусть имеет место “марковская” корреляционная зависи- мость: сгг = о-0е'а1т1, а > 0. Тогда Dn = <Tq(1 - р2)п”х, где р — e~a. Поэтому из (4.6.25) имеем h = Н {£i} + log \/1 -р2 = Н {£1} + log \/1 - е~2а.
Оптимизация функционала энтропии 111 4,Т Оптимизация функционала энтропии на классе вероятностных распределений Для криптологических применений крайне важно исследовать слу- чаи экстремальных значений функционала энтропии. Как видно из при- меров 1—3 предыдущего параграфа, дифференциальная энтропия изме- няется от — оо до +оо. Для ИДС £ Е Л, как было установлено в раз- деле 4.2, минимальное значение энтропии, равное нулю (Hmin — 0), до- стигалось для вырожденного дискретного распределения вероятностей, а максимальное значение энтропии, равное Нтах = log |Л|, достига- лось для дискретного равномерного распределения вероятностей. Как видим, имеются существенные различия дискретного и непрерывного случаев. Чтобы максимальные значения дифференциальной энтропии были конечны, будем осуществлять её максимизацию на заданном огра- ниченном классе вероятностных распределений Р: оо Hd {£} = - j p(z) logp(x)dx -> max . (4.7.1) — оо Исследуем три наиболее часто встречающихся в приложениях класса абсолютно непрерывных вероятностных распределений. Класс Р1(а, Ь): Л(М) = p(x)dx = 1, р(ж) — 0, х [а, 6] > — (4-7-2) семейство одномерных плотностей распределения с конечным носителем [а, Ь], —оо < a < b < оо. Класс Р2(а, &2У оо р{х).х Е R : р(х) > 0, f p(x)dx = 1 , — оо оо оо f xp(x)dx — а, / (х — a)2p(x)dx < ст2 — со ~оо (4.7.3)
112 ГЛАВА 4. Вероятностно-статистические модели семейство одномерных плотностей с конечными моментами первого и второго порядков: заданным математическим ожиданием (средник/ Е {£} = а и ограниченной дисперсией D {£} < <т2. Класс Рз(п,/1, Е): Рз(п, д, Е) — < а? 6 F : р(х) > 0, f p(x)dx = 1 ; ( ИГ J xp(x)dx = py f (x — p)(x — p)Tp(x)dx = E > - Жп ]Rn J (4.7.4) семейство n-мерных плотностей распределения с фиксированным п- вектором математического ожидания р = (р^ и невырожденной (п х п)- ковариационной матрицей Е — (crjj), |Е| 0. Теорема 4.7.1. Для любого случайного символа ЕЖ с плотностью распределения р(-) € Pi(a,b) дифференциальная энтропия удовлетво- ряет неравенству: НД£} < log(i-a), (4.7.5) причём верхняя граница в (4-7.5), т.е. максимум дифференциальной энтропии по классу Р1(а,6)7 достигается в случае равномерного на [а, Ь] распределения вероятностей с плотностью Р*(ж) “ Х € (4.7.6) где 1л(я) — индикаторная функция множества А. Доказательство. Будем решать экстремальную задачу (4.7.1), (4.7.2) при Р — Pi(a,yb). Без учёта условия неотрицательности р(-) > О в (4.7.2) эта задача эквивалентна следующей задаче вариационного ис- числения с ограничением типа равенства: ь На {О = - J р(х) logp(a;)da? -> max, а р(-) ’ ь J p(x)dx = 1. а (4.7.7)
^Оптимизация функционала энтропии 113 Для решения задачи (4.7.7). применим метод неопределённых мно- дрелей Лагранжа. Для этого составим функционал Лагранжа: ь ' ' Ь(р( ),А) = У (-p(ai)logp(a:) + Xp(x))dx, a fa$X — неопределённый множитель Лагранжа, и запишем необходимое рэтовие максимума: {ь 6L = f (—1 — logp(x) + X)6p(x)dx = О, ь ° . (4-7.8) fp(x)dx = 1, а где <fp(x) — вариация функции р(-), a 8L — первая вариация функцио- нала £(•). Так как &р(х) — произвольная вариация, система уравнений (4.7.8) примет эквивалентный вид: -1 - logp(x) Ч- А = О, ьг , . . . (4.7.9) J p(x)dx = 1. < a Решим первое уравнение в (4.7.9): р(ж) = 2л~г — const — р, х 6 [а, Ь], и, подставив это решение во второе уравнение (4.7.9), получим един- ственное решение задачи (4.7.7) в виде (4.7.6). Заметим, что найденное решение удовлетворяет ранее снятому ограничению р( ) > 0. Подставляя (4.7.6) в целевую функцию (4.7.7), получим тахН^ {£} = log(b ~ а), Я) что и означает (4.7.5). Теорема 4.7.2. Для любого случайного символа £ G К с плотностью распределения р( ) 6 ^(а, сг2) дифференциальная энтропия удовлетво- ряет неравенству: НД£} < logV27re<T2, (4.7.10)
114 ГЛАВА 4. Вероятностно-статистические модели причём верхняя граница в (4*7-10), т. е. максимум дифференциалу ной энтропии на классе Р%(а,сг2)-) достигается в случае гауссовского (нормального) распределения вероятностей Л/i (п,<т2) с плотностью р*(я) = «1 (х | а, а2) ~ е~ , х 6 Ж. (4.7.11) Доказательство. Имеются два способа доказательства. Первый из них основан на решении задачи вариационного исчисления (4.7,1) при Р = р2(а)(У2) методом неопределённых множителей Лагранжа подобно доказательству предыдущей теоремы. Второй метод менее громоздок и излагается ниже. Получим сначала вспомогательное неравенство — оценку сверху для интеграла: со - / p(x)log -===е = J \V2iva2 / — оо 00 = log д/2то2 + [ (ж - a)2p(x)dx. — оо В силу (4.7.3) последний интеграл равен дисперсии D {£} < <т2, по- этому оо — У р(х) logni(® | a, a2)dx < logSAhrea2, р(-) £ ^(а, ст2)- — оо Из этого неравенства имеем оценку разности левой и правой частей (4.7.10): 00 Hd {О - logл/2тгесг2 < - у рх(т) logpx(»)a:</a:+ — оо оо + J рх(я) lognifx | a, <r2)dx = — оо оо = ~ I Px(x)log- = - ЛИ ) : П1(-))- J 111 «ъ | (1, и j —оо Оптимизация функционала энтропии П5 д еулу леммы 4.6.1 имеем J(p(-) : ^i(-)) > 0, следовательно, HdR}-logV2 тгесг2 < О, эквивалентно (4.7.10). Как установлено в разделе 4.6, для гауссовского распределения 1) энтропия равна Hd{f} = Iogx/2тгесг2, Ше. (4.7.10) обращается в равенство. Горема 4.7.3. Для любой случайной п-символьной последовательно- му Еп ~ (&) Е с п-мерной плотностью распределения вероят- ностей р( ) 6 Рз(п,р, Е) дифференциальная энтропия удовлетворяет неравенству: Hrf {2„} < log y/(2?re)”|S|, (4.7.12) 1фичём верхняя граница в (4*7*12), т. е. максимум дифференциальной щтропии по классу Рз(п,/1,Е), достигается в случае п-мерного гаус- срвскаго (нормального) распределения вероятностей Мп (р,Е) с плот- ностъю рЧ*) = Пп(ж I р,Е) = (2тг)-"/2|ЕГ1/2ехр (-1(з: - р)ТЕ~1(ж - р)). (4.7.13) Доказательство. Воспользуемся тем же методом доказательства, Что и в теореме 4.7.2. Вначале получим вспомогательное равенство для n-кратного интеграла, использовав свойства семейства Рз(п,р,1Д) Ж формулу (4.7.13): Q = - У Рх(a?) log Р* (x)dx = log У(2тг)”|Е|+ R" +~2~ У (x-fJ’)T’s~l(x~^Px(x^ = = log У(21Г)”|Е| + {tr - р)(х - pf) } =
116 ГЛАВА 4. Вероятностно-статистические модели = log yW’N + “Р tr (s-xE {(z - p)(x - M)T}) = log ^/(2тге)п|Ё|. С учётом этого равенства оценим разность между левой и правой частями (4.7.12): Hd {О - log ч/(2тге)п|Ё| = НДО - Q = - / Рх(Х) log ^-dx < 0. v J р (TJ nr Здесь использована лемма 4.6.1. Как установлено в разделе 4.6, для мно- гомерного гауссовского распределения (4.7.13) дифференциальная эн- тропия ________ _ Hrf {s*} = bg\/(Mn|si> т. е. (4.7.12) обращается в равенство. Задачи и упражнения к главе 4 1. Пусть £ Е {0,1} — двоичный случайный символ с распределе- нием вероятностей Бернулли: Р {£ — 1} ~ р, Р {£ — 0} = 1 — р. Построить график зависимости энтропии Н{£} от элементарной вероятности р Е [0,1]; исследовать эту функцию на экстремум. 2. Пусть £ Е {0,1,..., TV — 1} — случайный символ, причём элемен- тарная вероятность ро — Р {£ = 0} = в фиксирована. Доказать, что при произвольных pi = Р {£ — i] (i — 1, N — 1) 1 — s H R} < -E log e - (1 - e) log p причём равенство достигается тогда и только тогда, когда рх- = (1 - e)/(N - 1) (г = 1Л- 1). 3. Доказать, что энтропия Н {£} = “ Silt А’А' — выпуклая (вверх) функция в области D всех вероятностных векторов р — (pi,... ,Pn), задающих дискретные распределения вероятностей. 4. Пусть £ Е {0,1,..., 7V — 1} — случайный символ с биномиаль- ным распределением вероятностей (£{£} = ВЦ# ™ 1,р)): Pi ~ Р {£ “ 0 — С,дГ_1Р*(1 — р)77”1”1 (i = 0, N — 1). Вычислить энтро- пию Н {£} и исследовать на экстремум её зависимость от элемен- тарной вероятности р.
Вжата и упражнения к главе 4 117 5. Пусть £ 6 {0,1,2,...} — случайный символ с распределением ве- роятностей Пуассона (£{£} = П(А)): pi = Р {£ = г} = е~лАг/г?. Вычислить энтропию Н{£} и исследовать на экстремум её зави- симость от параметра Л > 0. 6. Пусть 4 G {0,1,2,...} •— случайный символ с геометрическим распределением вероятностей (£{£} = G(p)): Pi ~ Р {£ — г} — р(1 — р)г. Вычислить энтропию HR) и исследовать на экстремум её зависимость от параметра р € [0,1]. 7. Пусть £ > 0 — случайная величина с экспоненциальным рас- пределением (£{£} = _£7(А)), плотность распределения которого ~ Ae~Aj\ х > 0. Вычислить дифференциальную энтропию {£} и исследовать на экстремум её зависимость от параметра А >0. 8. Исследовать семейство одномерных абсолютно непрерывных рас- пределений вероятностей, заданных на полупрямой: •р4(Л) - < рх(х),к > 0 : рх(к) > 0, f px(x)dx - 1, I о оо f xpx(x)dx = A >, A > 0. о J Найти максимум дифференциальной энтропии на классе Р4(А). Показать, что этот максимум достигается для плотности экспо- ненциального распределения вероятностей Е(А): = Хе~Хх, х >0. 9. Случайные символы £i, & в сообщении зависимы. Известно, что И {6} — 8 бит, Н {£2} — 12 бит. Какие значения может прини- мать условная энтропия Н{£2 | £1}, если H{£i | £2} изменяется в максимально возможных пределах? 10. Пусть стационарный источник дискретных сообщений порождает случайную символьную последовательность Sn — (£i>••*,£«) С Ап, обладающую марковским свойством s-го порядка ($ > 0): Р {£гс ~~ ап|£п — 1 — ап —11 • • • j ~' ^1} — — Р {£п — an {£П — 1 — &п — 1, . . . , — 3 — — s } , «1, • • • , «п Е А, П > S.
118 ГЛАВА 4. Вероятностно-статистические модели Доказать, что условная энтропия Н {£»iSn-i} = Н {616-!, •. •, ео, П > S, и удельная энтропия h = ..,6} • И. Пусть /1(^),/2(^) — плотности распределения двух случайных символов сообщений отличающиеся только параметром сдвига. Доказать, что дифференциальные энтропии символов со- впадают: HdRi} = Hd{£2}. 12. Пусть £ — случайный символ сообщения с плотностью распре- деления вероятностей /(х), а т] = + 6, где а, b — фиксиро- ванные неслучайные величины, причём а 0. Доказать, что Hd {т]} - На {£} + log |а|.
ГЛАВА 5 Методы теории информации в криптологии 5.1 Асимптотические свойства стационарного источника дискретных сообщений Пусть рассматривается стационарный ИДС без памяти с алфавитом А = У2 = {0,1}, порождающий случайную последовательность незави- симых в совокупности, одинаково распределённых двоичных символов: Еп “ (£1,... ,Cn), л — 1,2,, где & е {0,1} — двоичный случайный символ с распределением вероятностей Бернулли (i = 1, п): (5.1.1) здесь 0 < р < 1/2 — вероятность появления “1” (случай р > 1/2 сво- дится к этому случаю простым переобозначением символов Он 1). Очевидно, что число различных реализаций Sn равно 2П. В силу имеющей место схемы независимых испытаний порождения символов
120 ГЛАВА 5. Методы теории информации в криптологии распределение вероятностей Sn задаётся соотношением: п п а» п — at pn(a) = pn(ai,.. .,an) ::=Р {E.n = a] = р'=' q •=> , (5.1.2) или n logp„(a) = nlogq - 'Va. log- = nlogg - Hog-, Ы p p n где a " (at) G V2n, a = Z2 ai — суммарное число “1” в двоичном i—i n-векторе а или, иначе, значение случайной величины п 7/п — — l^n | • (5.1.3) i-1 Значения вероятностей (5.1.2) существенно изменяются при изменении величины Ь. Отношение наибольшей из этих вероятностей к наимень- шей вероятности шах рп (а) п кп = а = — minpn(a) рп а и эта величина экспоненциально растёт с ростом п. С учётом (5.1.1), (5.1.3) вычислим моменты первого и второго по- рядка для случайной величины т]п: Е{г/П} = пЕ{С1} = пр< п/2, . } В силу (5.1.3) уклонение случайного числа единиц в Еп от его среднего значения Сп = т}п-пр (5.1.6) имеет нулевое среднее и среднеквадратическое отклонение ^Cn = VD Kn} = а для относительного уклонения — Сп/п (5.1.7)
Асимптотические свойства стационарного источника 121 вддеем E{(Jn} = О, <4 (5.1.8) видно из (5.1.8), среднеквадратическое отклонение для случайной Дичины Sn при п —> оо убывает как 1/л/п. Если |6„ — пр| = c^npq, с > В различие наибольшей и наименьшей вероятностей на этом подмно- ве значений Sn по-прежнему достаточно велико: кп = ко эта величина растёт при п —> оо значительно медленнее, чем да)cVnP«. Следовательно, справедливо неравенство bg Pn(q) Pn(q') Cy/npq , 1 « log-----Т-Г. Pn(a) ^формулируем это свойство в виде теоремы. jfeopeMa 5.1.1 (о высоковероятном подмножестве). Множест- во всех 2П реализаций вышеопределённого двоичного случайного ректора Sn £ V£ можно представить в виде суммы двух непересека- &щихся подмножеств: V2n — An U Вп, Ап П Вп = 9. (5.1.9) Вак что при п —> оо выполняются два свойства: а) множество Ап имеет исчезающе малую вероятность: Р {Sn G AJ = р„(а) -> 0; (5.1.10) а£Ап б) реализации из множества Вп становятся относительно равно- вероятными: ^о,„]0'ев„. (5.1.11) log Рп(а) Доказательство. Воспользуемся неравенством Чебышёва (относи- тельно дисперсий) для случайной величины т}п, определяемой (5.1.3) с учётом (5.1.5): Ve > 0 : Р {|т?п - пр\ > е} < Dfa} _ npq е2 s2
122 ГЛАВА 5. Методы теории информации в криптологии Полагая е = п3/4, получим Р (|Рп - Пр| > П3/4} < I J x/П (5.1.12) Построим разбиение множества V™ следующим образом: Ап = а = (а,) € V2n п Y^ai-np з=1 >п3/4 Bn = v2n \ Ап = а = (а,) Е V2" п Еа» - пр 3 = 1 (5.1.13) <п3/4 Тогда из (5.1.12), (5.1.13) имеем Р(АП) — Р {Еп Е4}< 0, п -> оо. (5.1.14) Следовательно, выполняется (5.1.10). В силу (5.1.13), если а Е ВГ1, то пр — п3^4 < ai < пр + n3^4, з = 1 поэтому в силу (5.1.2) п log q - log - (пр + n3/4) < logpn (a) < n log q - log - (np - n3^4 или, что эквивалентно: ng log $ +log p- n3/4log(g/p) < logp„(a) < < nq log q + np log p + n3/4 log (q/p) ,a£Bn, ra(glogg +plogp) - n3/4log(g/p) < logp„(a) < < n (q log q + p log p) + n3/4 log (g/p). Отсюда имеем Va,a'GBn : |logpn(a) - logp„(a')| < 2n3/4log(5.1.16) P -logPn(a) = |logp„(a)| > -n(plogp4-glogg) - n3/4log-. (5.1.17)
Асимптотические свойства стационарного источника 123 ТогД^из неравенств (5.1.16), (5.1.17) следует: 2n3/4 log (q/p) logPn(a) -bgpn(az) __________________________________ -n(plogp + glogg) - n3/4log(g/p) log?n(«) 2n“1/4log^/p) ~~Р log р - q log q - n~ V4 log (q/p) WTO совпадает c (5.1.11). Теорема 5.1.2. Пусть Bn C Vg — “высоковероятное” подмноже- реализаций, описанное в теореме 5.1.L Тогда мощность этого ^дмножества Мп = \Вп\ при п ос удовлетворяет асимптотике 10gnMn Н{6} = -(plogp + glogg). (5.1.18) ^казательство. Согласно (5.1.2), (5.1.13), p {sn e sn} -1 - p {s g A»} = 52 ?«(“) G одной стороны, в силу (5.1.14) имеем из (5.1.19) 1>р{~„ ев„} > 1- ^=. у/П (5.1.19) (5.1 20) Сдругой стороны, с учётом (5.1.15) pn(a) < 2n^logp+9l°s^+n3/41og^p) = 2_nH^^+n3/41os^?,\ Поэтому, используя второе равенство в (5.1.19), находим рГ? CR VM 9-nH{6}+n3/4log(9/p) (5.1.21) Из (5.1.20), (5.1.21) имеем Mn2~nH^1^+n3/4 log > 1 — ~- n x/n Следовательно, рд 12nHKi}~n3/4 Jn J (5.1.22)
124 ГЛАВА 5. Методы теории информации в криптологии Получим теперь аналогично (5.1.22) оценку снизу для Мп. Восполь- зуемся в (5.1.15) и (5.1.20) левыми неравенствами: 1 > Mn2~nH^^“n3/41og^p\ Отсюда имеем Mn < 2«H{fiH"3/4108(9/p). (5.1.23) Логарифмируя (5.1.22), (5.1.23), нормируя на п и объединяя в со- вместное неравенство, получаем двухстороннюю оценку для log Мп/п: н {6} - n-1/4log(ff/p) < I°s — < И {6} + «_1/4log(?/p). n Устремляя в этом двухстороннем неравенстве п Ч ос. приходим к (5.1.1§)'. Доказанные теоремы 5.1.1, 5.1.2 легко обобщаются для стационар- ного ИДС без памяти, у которого мощность алфавита N — |А| > 2. При этом Srt 6 Ап принимает одно из Nn возможных различных зна- чений. Согласно теоремам 5.1.1, 5.1.2, внимания заслуживают лишь Мп ~ 2пН^1^ реализаций, которые можно считать равновероятными. Если распределение вероятностей pi(ai), ai € А, является равномер- ным: pi(«i) — Р {£i = <и} “ 1/TV, € Д то Н {£1} = logTV (формула Хартли) и — N*\ т. е. Мп — |А|П. Однако если распределе- ние вероятностей отлично от равномерного, то H{£i} < log TV и доля заслуживающих внимания реализаций неограниченно уменьшается с ростом п. Следовательно, подавляю- щее большинство реализаций при этом является несущественным, и их можно отбросить. Отметим, что этот факт лежит в основе теории ко- дирования сообщений и широко используется в криптологии. Пример. Пусть рассматривается стационарный ИДС без памяти с дво- ичным алфавитом А ~ V2 (TV = 2) и вероятностью появления единич- ного символа 0 < р < 1/2. Тогда, согласно теореме 5.1.1, “высоковеро- ятное множество” двоичных последовательностей имеет вид:
Энтропийная уёТойчивдё¥1>Последовательностей 125 ЯйрИМвр, При п = 104 множество Вп состоит из тех двоичных по- Ввательностей, для которых доля единиц заключена в следующих #ах: р — 0,1 < ~ 52 Г-1 ai < Р + 0,1- В частности, при р — 0,1 чи- единиц в таких двоичных последовательностях 0 < 52?= i а* — 2000. Дитя этих “заслуживающих внимания” (по теореме 5.1.1) двоичных по- ^^рдаательностей составляет, согласно (5.1.24), величину /o-(pi<>gp+(i~p)iog(i-p)) \ п Wn = (-----------------------) - (F(?))n, 2 F(p) ~ 2“(plogp+(1“p)1°s(1~p)+1). Приведём таблицу значений этой кции: р 0,1 0,2 0,3 0,4 0,5 F(p) 0,692 0,825 0,921 0,980 1,000 Например, при р — 0,1 и п — 100 доля “заслуживающих внимания1 |И»®лизаций составляет un ~ 2-0,531n w 10“1е. Ж2 Энтропийная устойчивость случайных символьных последовательностей Установленные в предыдущем параграфе асимптотические свойства {Избиения множества реализаций для стационарных ИДС без памяти Ьюгут быть распространены на значительно более общий класс зависи- 1шх случайных символьных последовательностей Sn. При этом обоб- щении нам понадобится понятие энтропийной устойчивости слу- чайной последовательности. Случайная n-символьная последовательность Sn = (£i,... ,£n) 6 Ап С n-мерным дискретным распределением вероятностей рп(а) = Р {Sn = а} , а - (^) € Ап, (5.2.1) и неубывающей по п энтропией 0<Н{Х}<оо: H {X} - Е{-logpn(Sn)} - - 52 Рп^ 1о§Р"(а) ’ (5.2.2) а£Ап называется энтропийно устойчивой, если при увеличении числа символов (п оо) имеет место сходимость по вероятности: -Iogj>n(Bn) р Н{Х} (5.2.3)
126 ГЛАВА 5. Методы теории информации в криптологии т. е. Vs > 0 Зтг — п(е) такое, что при любом п > п(е) выполняется неравенство: — logPn(En) Н{Х} (5.2.4) при этом функция n(s) — монотонно убывающая. Отметим, что для реальных прикладных задач криптологии энтро- пия увеличивается с ростом n: Н {X} -> оо. Сформулируем важнейший результат, полученный в 1967 г. Р. П. Стратоновичем. Теорема 5.2.1 (обобщённая теорема Стратоновича). Если En € Vy — произвольная случайная n-символьная последователь- ность, удовлетворяющая свойству энтропийной устойчивости, то её множество Nn реализаций Ап можно разбить на два непересс- кающихся подмножества Ап и Вп таким образом, что при п —> оо вМдлня1отся следующие асимптотические свойства: а) суммарная вероятность реализаций подмножества Ап исчеза- юще мала: Р{Е„ е Ап} = £ р„(а) -> 0; (5.2.5) б) реализации высоковероятного подмножества Вп становятся асимптотически относительно равновероятными в следующем смысле: logPn(q) - logPn(q') logpn(a) -> 0, a, a' G Вп; (5.2.6) в) число Мп — |ВП | реализаций (мощность) множества Вп связано с энтропией (последовательности) Н{Х} асимптотическим со- отношением: logM„ Н{Х}~ (5.2.7) Доказательство. Оно состоит из трёх частей. 1. В силу свойства энтропийной устойчивости (5.2.3) имеем неравен- ство (5.2.4), в котором для некоторого натурального т положим е = 1/т. Тогда для любых т = 1,2,.. ,,n, п > п(1/пг), из (5.2.4) имеем — logPn(Sn) Н{Х) 1 " т т (5.2.8)
Энтропийная устойчивость последовательностей 127 В силу вышеуказанного свойства монотонности й(б) выберем m = mn 6 N так, чтобы n(l/mn, l/mn) < n < n(l/(mn + l), l/(mn4-l)), и определим подмножества Ап, ВП1 используя (5.2.8): An = {a = (а<) е V$ : |-logpn(S„)/H {X} - 1| > l/m„}, Bn = V£\An. (5.2.9) Тогда с учётом (5.2.8), (5.2.9) получаем (5.2.5): Р {-п е Ап} < — -А О, Р {Еп € вп} > 1 - — _> 1, mn mn так как очевидно, что mn -4 оо при п -4 оо. 2. В силу (5.2.9) Vn € Вп имеем неравенство: (1- —^Н{Х} < -logp„(a) < (1 + — )н{Х} (5.2.10) \ / \ J или, что эквивалентно, 1^_L<Zb^)<i + J_ (5.2.11) mn Н {Л ] mn В силу (5.2.10) Va,a' 6 Вп, имеем logpn(a) - logpn(a') — log pn (a) 2Н {X} /mn “ - log pn (a) Согласно (5.2.11), -H {X}/-logpn(a) < 1/(1 - l/mn), поэтому получаем неравенство: log Pn (a) - log pn (a') 2/mn _ 2 > Q — logPn(g) l-1/тПп mn - 1 что доказывает (5.2.5). 3. Для доказательства (5.2.7) запишем (5.2.10) Va € Вп в эквивалент- ном виде: 2-(l+l/m„)H{X} <pn(a) < (5.2.12)
128 ГЛАВА 5. Методы теории информации в криптологии 1 j2(l-l/m„)H{X} < Mn < 2(1+1/т„)Н{Х} Так как по предыдущему 1 > Р {Нп е Вп} = Pn(a) > 1 ——, лЕ -В n то с учётом (5.2.12) (как при доказательстве теоремы 5.1.2) О " Поэтому, проводя логарифмирование и деление частей этого нера- венства на Н{Х}, получаем . _ 1 log(1 - 1/mn) logAf» 1 H{X} H{X} Так как Н{Х} с ростом п не убывает, то из этих неравенств при п —> оо заключаем (5.2.7). Заметим, что проверка основного условия теоремы 5.2.1 — условия энтропийной устойчивости (5.2.3) — на практике затруднительна. В связи с этим сформулируем ряд легко проверяемых на практике доста- точных условий, влекущих выполнение свойства (5.2.3). Теорема 5.2.2. Если существует равный нулю предел: lim DJloSP„(S )} (Н{Х})2 (5.2.13) то случайная символьная последовательность является энтро- пийно устойчивой. Доказательство, Воспользуемся неравенством Чебышёва (относи- тельно дисперсий) для произвольной случайной величины £ € IR1 и про- извольного е > 0: Р{К-ЕЮ1>О<^Я Полагая здесь £ = -logpn(Sn)/H {X} и используя (5.2.13) и Е{£} = 1, получаем при п -> оо: -logpn(S„) _ Н{Х} ><Ч ->0, что по определению сходимости по вероятности и означает (5.2.3).
ft, 2. Энтропийная устойчивость последовательностей 129 Замечание 5.2.1. Фигурирующая в (5.2.13) величина 2 D{logpn(Sn)} D {—logpn(Sn)} Or. = -------5-- “ --------------~ > и (Н{Х))2 (E{-logPn(S„)})2 ~ есть квадрат коэффициента вариации случайной величины -logpn (Sn). Таким образом, условие (5,2.13) означает стремление к нулю коэффици- ента вариации: <5П —> 0. Теорема 5.2.3. Если энтропия случайной символьной последова- тельности при п —> оо бесконечно возрастает: Н{Х} —> оо и су- ществует ограниченный верхний предел: Tto < С <+оо, (5.2.14) п->оо Н{Л} то такая символьная последовательность Еп энтропийно устойчива. Доказательство. Из (5.2.14) следует, что Уе > 0 найдётся такой Номер п => n(s), что Vn > п справедлива оценка сверху: D{logpn(En)} < С + г (Н{Х})2 “ Н{Х)* Так как по условию Н{Х} —> оо, то при п оо правая часть этого неравенства стремится к нулю, так что выполняется (5.2.13). Применяя теорему 5.2.1, получаем доказываемое. Теорема 5.2.4. Если случайная символьная последовательность Sn такова, что для неё существует положительная удельная энтропия h = lim —1 > 0 (5.2.15) П-+ОО П и вдобавок существует так называемая удельная дисперсия d lim —L ~ > 0, d < оо, (5.2.1b) 71—Юо n то эта символьная последовательность Sn энтропийно устойчива.
130 ГЛАВА 5. Методы теории информации в криптологии Доказательство, Из (5.2.15), (5.2.16) следуют асимптотические со- отношения: Н {X} = hn 4- o(n), D {logpn(2n)} = dn 4- о(п). Поэтому при п -э ос существует конечный предел: D{logpn(Sn)} __ d+ о(1) d Н{Х} " А + о(1) h “ ’ В силу (5.2.14) и теоремы 5.2.3 получаем доказываемое. Следствие 5.2.1. Если последовательность состоит из п неза- висимых в совокупности одинаково распределённых невырожденных случайных символов (т. е, порождается стационарным ИДС без па- мяти), то она является энтропийно устойчивой. Доказательство, Проверим третье достаточное условие энтропий- ной устойчивости, выражаемое теоремой 5.2.4. По условию следствия имеем _ п logp„(a) = ^logpi(af), 1=1 поэтому н {X} = Е {- 10gp„(Sn)} = пН {6} , о < Н {6} < оо, D {logp„(S„)} = «D {logpi(&)}, 0 < D {logpi^i)} < оо. В результате, согласно (5.2.15), (5.2.16), h = Н {6} > 0, d = D {logpt (Ci)} < оо. Замечание 5.2.2. Понятие энтропийной устойчивости можно вве- сти и для отдельной случайной величины если Vs > О Р -logpi (О ню < е > > 1 - 6.
§ 3. Количество информации по Шеннону и его свойства 131 5.3 Количество информации по Шеннону и его свойства Рассмотрим простейшую схему передачи дискретной информации, изображенную на рис. 5.3.1. Пусть источник дискретных сообщений порождает случайную символьную последовательность — входной сиг- нал: где Л — конечный “входной алфавит” символов, |Л| = N < ос, п —- число входных символов. Канал связи, находящийся под воздействием Ру]х(У|Х) Рис. 5.3.1. Простейшая схема передачи информации “помех”, преобразует входной сигнал X в выходную последовательность (выходной сигнал): где В — конечный “выходной алфавит” символов, |В| = TV7 < оо, nf — число выходных символов. Это преобразование может быть как детер- минированным, так и стохастическим. Обозначим: рх(Х) —дискретное n-мерное распределение вероятно- стей входного сигнала; ру(У) — дискретное п'-мерное распределение вероятностей выходного сигнала; py\x(Y I — условное распределе- ние вероятностей выходного сигнала Y при условии, что входной сигнал был X; |У) = _ (5.3.1) условное распределение вероятностей входного сигнала X при условии, что выходной сигнал оказался Y.
132 ГЛАВА 5. Методы теории информации в криптологии Количеством информации по Шеннону, содержащейся в слу- чайной символьной последовательности У Е Вп относительно входного сообщения X Е Ап, называется разность безусловной и условной энтро- пий: I {X, У} = Н {X} - Н {X | У} , (5.3.2) где Н{Х} = - У px(X)logpx(A) - (5.3.3) безусловная энтропия входного сообщения; H{X|Y} = - L Px,Y(.X,Y)logpx]Y(X \ Y) - (5.3.4) хелп> YGBn> условная энтропия входного сообщения X относительно выходного со- общения У. Данное определение количества информации как приращения энтро- пии было введено К. Шенноном в 1948 году. Исследуем свойства шен- ноновского количества информации. Свойство 5.3.1. Справедливы следующие эквивалентные выражения количества информации через энтропию: I {X, У} = Н {X} + Н {У} - Н {X, У} = Н {У} - Н {У | X} . (5.3.5) Доказательство. Воспользуемся ранее установленным свойством иерархической аддитивности энтропии составной последовательности Х||У = (^1,...^,^,...,^) еЛп*вп>: Н {X, У} = Н {У} + Н {X I У} =3 н {X} + Н {У I X} . (5.3.6) Из (5.3.6) имеем Н {X |У} — Н{Х,У} — Н{У}. Подставляя это в (5.3.2), получаем первое равенство в (5.3.4). Второе равенство в (5.3.5) получается подстановкой в его первую часть второго представления для Н{Х,У} из (5.3.6). Свойство 5.3.2. Функционал шенноновского количества информации обладает свойством симметричности: 1{Х,У} =1{У, X}.
5.3. Количество информации по Шеннону и его свойства 133 Доказательство. Согласно (5.3.5), имеем симметричное выражение: I {X, У} = Н {X} + И {У} - Н {X, У} = I {У, X} . Замечание 5.3.1. Это свойство показывает, что сигнал У о сооб- щении X содержит такое же количество информации, как и X об Y. Свойство 5.3.3. Справедлива следующая формула для вычисления шенноновского количества информации: I {*, У} = Е PX.Y (X, У) log (5.3.7) Рх(Х)ру(У) У£вп' Доказательство, Вычислим правую часть (5.3.7), используя усло- вие нормировки, свойство согласованности вероятностных распределе- ний и (5.3.3), (5.3.4): В = -Н{Х,У}- Е ( Е Px,y(X,y)logpx(X))- хелп \уевп/ / - Е ( Е Рх,у(Х,У)1о8ру(У)) = YtBn' \хеЛп / —-Н {X, У} У Н {X} 4-Н {У}, что, согласно (5.3.5), совпадает с левой частью (5.3.7). Свойство 5.3.4. Количество информации, содержащейся в сообще- нии X о нём самом, равно энтропии сообщения X: 1{Х,Х} = Н{Х] = - Е Px(X)\ogpx(X). (5.3.8) Х€ЛП Доказательство. Очевидно, что условное распределение X относи- тельно X является вырожденным: Р {X — х | X = у} ~ $ху. Поэтому Н {X | У} = 0, и из (5.3.2) следует (5.3.8).
134 ГЛАВА 5, Методы теории информации в криптологии Замечание 5.3.2. Соотношение (5.3.8) означает, что энтропия, свойства которой исследованы в главе 5, может рассматриваться как частный случай функционала количества информации. Энтро- пию сообщения X поэтому иногда называют собственной инфор- мацией об X. Свойство 5.3.5. Количество информации удовлетворяет неравен- ству О < I {X, У} < min {Н {X}, Н {У}}. (5.3.9) Доказательство. По свойствам условной энтропии 0<Н{Х |У}<Н{Х}, поэтому из (5.3.2) и свойства 5.3.2 следует неравенство (5.3.9). Свойство 5.3.6. Количество информации по Шеннону I {X, У} обра- щается в нуль тогда и только тогда, когда сообщения X, У стати- стически независимы. Доказательство. По свойству условной энтропии Н{Х|У} — Н {X} тогда и только тогда, когда сообщения X, У статистически не- зависимы. Тогда из (5.3.2) получаем доказываемый результат. Другой способ доказательства основан на использовании представле- ния (5.3.8) и леммы 4.6.1. Свойство 5.3.7. При функциональных преобразованиях сообщений X — 9?(Х) илп ¥ " V’OO количество информации не может возра- сти: 1{Х,У}>1{^(Х),У), (5.3.10) 1{Х,У}>1{Х^(У)}, (5.3.11) причём равенства в (5.3.10), (5.3.11) имеют место тогда и только тогда, когда <£>(•), V’(’) — биекции. Доказательство. По определению (5.3.2) имеем 1{х,у} = Н{У}-н(у
5.3. Количество информации по Шеннону и его свойства 135 По свойству условной энтропии Н{У |у>(Х)} > Н{У | X}, которое обращается в равенство лишь в случае, когда </?(•) — взаимно однознач- ное функциональное преобразование. Поэтому справедливо неравенство (5.3.10). Неравенство (5.3.11) доказывается аналогично. Свойство 5.3.8. Если сообщения У1, У2 — независимы, то выполня- ется свойство аддитивности количества информации: I {X, (У1, У2)} - I {X, У1} + I {X, У2} . (5.3.12) Доказательство. Воспользуемся формулами (5.3.5), (5.3.2) и свой- ством аддитивности энтропии: I {X, (У1; У2)} = Н {X, (У1, У2)} - Н {X} - Н {Xi, У2} = = Н {X, Ух} + Н {X, У2} - Н {X} - Н {Ух} - Н {У2} = = 1{Х,У1} + 1{Х,У2}, что совпадает с (5.3.12). Свойство 5.3.9. Справедливо неравенство I {X, (Ух, У2)} > max {I {X, У }, I {X, У2}}. Доказательство. В силу (5.3.5) и свойств энтропии I {X, (У , У2)} - Н {X} - Н {X I Уь У2} > I {X, у } , i - 1,2. Пример. Пусть двоичное сообщение описывается однородной цепью Маркова с дискретным временем . Е {0,1} с начальным распре- /1/2\ делением тг = I . I и матрицей вероятностей одношаговых переходов \ / Пусть для некоторого момента времени t — 1,2,... определены два со- седних символа: X &+i (будущий символ, рассматриваемый как “пропущенный” символ), У & (соседний наблюдаемый символ). Оценить количество информации о ^4.1, содержащееся в &.
136 ГЛАВА 5. Методы теории информации в криптологии Решение. По свойствам ОЦМ с дискретным временем имеем ** = *=( ’рх(х} = py(Y) = I’х’Y G {0’ W 1 если V" — X, Px,y(X,Y) = -если у Поэтому I {6+1,6} “ ~ + Л(1 ~ ^у,х)) 1°б(2((1 “ ^)^у,х+ +а(1 - <5у,х))) — 1 + о logo + (1 - о) log(l - а) = 1 + h(a), где Л (а) = • — а log а — (1 — а) log(l — а) — функция, исследованная в примере из §4.5. Рассмотрим теперь систему передачи информации, в которой дей- ствует источник непрерывных сообщений X = (®i,. •. ,хп) G Вп, а при- нимаемое сообщение Y — (?ц,... ,г/п/) Е Кп также непрерывно. Примем обозначения: рх(Х) — плотность распределения вероятно- стей входного сообщения X; Py(Y) — плотность распределения веро- ятностей выходного сообщения У; Ру|х(У | X) — условная плотность распределения выходного сообщения У при условии, что входное сооб- щение есть X; / у I _ Px(X)py]x(Y I А-) |У( ) f Px(X')pyix(Y |%W J Ж" условная плотность распределения входного сообщения X при условии, что выходное сообщение есть У; px,Y (^6 У) '— совместная плотность распределения; Hd{X} = -j Px(X)l^Px(X)dX - (5.3.14) Rn безусловная дифференциальная энтропия входного случайного сообще- ния; НДХ |У} = - [ I рх,у(Х,У)1оёрХ|у(Х\Y)dXdY - (5.3.15)
fj.3. Количество информации по Шеннону и его свойства 137 условная дифференциальная энтропия входного сигнала X отнрси- «гельно выходного сообщения Y. Понятие количества информации при этом вводится аналогично дис- кретному случаю, рассмотренному выше. Количеств ом информации по Шеннону, содержащейся в слу- чайном выходном сигнале У 6 относительно случайного входного сообщения X G Rn, называется разность безусловной и условной диф- ференциальных энтропий (5.3.14), (5.3.15): 1{Х,У>На{Х}-1МХ|У}. (5.3.16) Все свойства шенноновского количества информации (5.3.16), дока- занные выше для дискретного случая, сохраняют свою силу и в рассма- триваемом здесь случае источника непрерывных сообщений. В частно- сти, аналогично свойству 5.3.3 удобна следующая формула для вычи- слений шенноновского количества информации: У1 РХ ''(хл)|оеЙт#Й"''1'г0- (5317) Пример. Пусть X 6 К, У 6 ® — одномерные непрерывные сооб- щения (входной и выходной сигналы), имеющие совместное двумер- ное нормальное (гауссовское) распределение-вероятностей: £{Х, У} — ЛЛ2 (д, У), где р = ) £ ®2 — вектор-столбец математических ожи- даний, а s ~ f ахх axY - <туу J ковариационная матрица входного и выходного сигналов. Проводя вычисления согласно (5.3.17), получаем I{X,y} = -logV/l-pl.yI (5-3.18) где px,Y — cxy />/(Тхх(Туу — коэффициент корреляции входного и вы- ходного сообщений. Рассмотрим в заключение ситуацию, когда одно из сообщений X, У непрерывно, а другое — дискретно. Пусть, например, имеется источник непрерывных сообщений X с плотностью распределения рх(Х), а
138 ГЛАВА 5. Методы теории информации в криптологии канал связи является цифровым, так что Y Е В — дискретное выход- ное сообщение с дискретным распределением вероятностей ру(У), где В — дискретное множество. Обозначим через р%|у.(Х | У) условную плотность распределения случайного входного сигнала X при условии, что выходное сообщение есть У. Тогда аналогично (5.3.17) получаем формулу для вычисления шенноновского количества информации: I {X, У} = £ ру (У) [ Px[Y (X I У) log y)rfX. (5.3.19) V/-K J Г X \ J Свойства функционала (5.3.19) также совпадают со свойствами, до- казанными ранее. 5.4 Шенноновские модели криптосистем В двух заключительных параграфах данной главы рассмотрим при- менение шенноновской теории информации к построению математиче- ских моделей криптосистем и оцениванию стойкости простейших сим- метричных криптосистем. В настоящее время все существующие криптосистемы принято раз- делять на два класса: симметричные (одноключевые) и асимметричные (двухключевые). Общая схема симметричной криптосистемы изобра- жена на рис. 5.4f 1. Рис. 5.4Л. Общая схема криптосистемы Здесь приняты следующие обозначения: X = (ffi,.. .,жп) — исход- ное сообщение (plaintext, message), генерируемое источником сообщений
S.4. Шенноновские модели криптосистем 139 и представляющее собой последовательность п символов из алфавита мощности v > 2: Xi е 14 = {0,1], г = М,ХеК"; 0° = (0?Х---Л)€Г/ - истинное значение ключа (key), L символов которого принимают значе- ния из алфавита ц> 2; У — (i/i, у?,..., yn) Е VJ1 —- криптограмма (выходная последовательность, зашифрованное сообщение, ciphertext), получаемая применением к X криптографического дискретного функци- онального преобразования (операции шифрования, cipher, encryption): Y = f(X; 0°) : Kn x -> V”, (5.4.1) или покомпонентно: yi = i = l,n. Функция /(•) в (5.4.1) такова, что при любом фиксированном значении ключа она является взаимооднозначным функциональным преобразо- ванием (биекцией), и обратное преобразование (расшифрование, деши- фрование, decryption) единственно и восстанавливает исходный текст: Х^/'^У;^). (5.4.2) Особенностью симметричных (одноключевых) систем является сим- метричное использование одного и того же ключа 0° отправителем и по- лучателем. (Этот ключ является “секретным” и поставляется абонен- там специальным конфиденциальным способом.) Отсюда и происходит название данного класса криптосистем — одноключевые системы. Приведем математические модели элементарных криптосистем, ко- торые потребуются в дальнейшем при оценке их стойкости, а также при решении задач криптоанализа и построения стандартных крипто- систем. 1. Подстановка символов алфавита Пусть определена некоторая подстановка (substitution) на множестве {1,2,...,р}: ( 1 2 •• " ) (5.4.3) \ Si $2 . . . Sp )
140 ГЛАВА 5. Методы теории информации в криптологии и определен //-вектор (L — у — р)ч е° = = 8,-1, i = 1^, задающий перестановку символов алфавита V„. Тогда шифр простой подстановки — это криптографическое пре- образование вида (5.4.1), осуществляемое поэлементно: ?/г=Л(г{;^)::=^+1> « = 1,2,... . (5.4.4) Обратное преобразование (5.4.2) при этом будет иметь вид ^ = ^+1~:/ГЧу*Л (5.4.5) где 0® ~ Si - 1, а f 1 2 у \ $1 $2 • • • ) подстановка, обратная к (5.4.3). 2. Перестановка (permutation) символов с периодом Т Пусть TEN — некоторый заданный период и определена некоторая подстановка на множестве {1,2,..., Т}: fl 2 ... Т \ \ $1 8'2 ... ST ) ‘ Как и в предыдущем преобразовании, с помощью этой подстановки определяется ключ: 0° = (#1,..., #£), #г°’ ~ 82-, г = 1,Т. Криптопреобразование (5.4.1) осуществляется следующим образом. Исходное сообщение X разбивается на “блоки символов ” длиной Т, и внутри каждого блока производится перестановка символов в соот- ветствии с заданным ключом 0°. Для произвольного номера символа t ~ (i — 1)Т + т, где i Е {1,2,...}, т С {1,2,...,Т}, такое преобразование запишется в виде Ш = Я(;-.1)Т+0О. (5.4.6) Например, если Т = 5,а#°~(2315 4),то сообщение X - (Ж1,Ж2,Жз,а?4}Ж5|жб,Ж7,Ж8,Ж9,Ж10|...) переходит в криптограмму У ” (х2, ЯЗ) «5, ^4|х7, Я8з ®6, Хю, Я9| • • .)•
5'4. Шенноновские модели криптосистем 141 Легко убедиться, что обратное преобразование по отношению к (5.4.6) имеет вид xt ~ У(г_\уг+е(^ (5.4.7) где /о /о ’ ’ ’ ) — подстановка, обратная к . Для “усиления” стойкости криптопреобразования (5.4.6) к крипто- анализу используют композицию нескольких перестановок с различ- ными периодами. Если сделано L > 2 перестановок типа (5.4.6) с пе- риодами Ti,.. .,7Y, то составная перестановка, очевидно, будет иметь период , Т==НОК(Т1,Т2,...,Т£). Следовательно, если периоды {Т1?... ,71} — взаимно простые числа, то достигается максимальный период — Ту ... -Тт. 3. Шифр Виженера и его модификации Как и в предыдущей криптосистеме, исходный текст X разбивается на блоки длиной Т. Ключ 0° представляет собой фиксированный набор символов исходного алфавита Vu (// = !/): 0° (0?,...,0£), 0? ек, ?*^Т7т. Криптофункция для произвольного номера t — (i — T)T + т, г G {1,2,...}, тЕ {1, 2,..., Г}, задаётся с помощью вычетов по модулю v (см. §2.6): yt ~ + 0°) modi/, (5.4.8) Это криптопреобразование иногда называется преобразованием цикли- ческого сдвига с периодом Т. Обратное преобразование по отношению к (5.4.8): xt ~ (yt + у - 0°) modi/. (5.4.9) Пример криптограммы, построенной с помощью шифра Виженера с пе- риодом Т = б и ключом 0° — (4,3,2,5,1,3), можно найти на с. 228 в романе Ж. Верна ”Жангада” (Мн.: Университетское, 1992). Приведём ряд частных случаев криптопреобразования Виженера, из- вестных с древних времен. Шифр Цезаря — это частный случай преобразования Виженера с периодом Т = 1 и ключом 0° 6 yt — (^е 4- 0°) modi/, t = 1,2,.... (5.4.10)
142 ГЛАВА 5. Методы теории информации в криптологии При этом, согласно (5.4.10), каждый символ (буква) исходного текста заменяется символом, циклически сдвинутым на фиксированное число мест 0® по алфавиту V„. В качестве примера приведём криптограмму длиной п — 41: У = PELCGBYBTLVFPELCGBTENCULNAQPELCGBNANYLFVF, полученную с помощью криптопреобразования Цезаря (5.4.10) при v — 26, 0° = 13 из исходного отрывка английского текста: X = CRYPTOLOGYISCRYPTOGRAPHYANDCRYPTOANALYSIS. Иногда рассматривают обратный шифр Цезаря: yt ~ (0° + у " xt) modp. (5.4.11) Шифр Бофора — это модификация Т-периодического шифра Ви- женера (5.4.8): yt — + v - zt) modp, Z — 1,2,.... (5.4.12) Повторное применение L > 2 шифров Виженера называется со- ставным шифром Виженера. Пусть есть L шифров Виженера, кото- рые имеют периоды Ti,... /Д и ключи 0® — (6^,..., 0?Т1), ..., 0^ ~ ($£Р .. ., Если через : t — 1,2,...} обозначить ключ 0®, много- кратно периодически повторяемый с периодом 7}, то L-составной шифр Виженера имеет вид yt = (xt + e°t+ ... +elt) modv, <=1,2,... (5.4.13) Легко показать, что L-составной шифр Виженера можно рассматривать как обычный шифр Виженера с периодом Т = НОК{Т1?..., ТУ}. 4» Криптопреобраэование Бернама (поточный шифр) Криптопреобразование Вернама есть специальный частный случай криптопреобразования Виженера (5.4.8), когда длина используемого ключа равна длине передаваемого сообщения п: yt = (%t + О*) modi/, t = (5.4.14) Обратное криптопреобразование имеет вид xt — (yt + — 0?) modi/, t = 1,n.
5.4. Шенноновские модели криптосистем 143 В качестве ключа 0Q = (^i> • • •>#«) € используется реализация по- следовательности п независимых, одинаково распределенных на слу- чайных величин либо некоторая реализация текста. Ключ 0Q такого типа (используемого всего один раз) называется в литературе “бегущей строкой”, “одноразовым блокнотом” (one-time pad) или гаммой. Иногда в качестве {0°} используется псевдослучайная последовательность, по- рождаемая специальным программным датчиком (см. главу 6). Более подробно модель поточного шифра рассмотрена в главе 7. 5. Биграммная (N-граммная) подстановка Это криптопреобразование использует тот же принцип, что и ранее рассмотренная простая подстановка (5.4.4). Однако в отличие от (5.4.4) в данном случае вместо подстановки одного символа: V» О V„ осуще- ствляется подстановка пар символов (биграмм): Vy , либо набора N соседних символов (Д'-грамм): о . Ключ в биграммной подстановке представляет собой (i/ х г/)~матрицу, (г, })-й элемент кото- рой представляет собой биграмму (/,/), заменяющую биграмму (г, j). В заключение отметим, что если имеются две произвольные крипто- системы Т и Л, то их часто можно комбинировать для получения новой криптосистемы S: S-/(T, Л). Наиболее часто используются следующие два типа оператора комбини- рования /(•). Произведение криптосистем: S = Л(Т, /?) = TR, S = f2(T.R) = RT, причём, вообще говоря, TR / RT. В существующих стандартных кри- птосистемах (см. главу 7) произведение шифров используется весьма часто. Например, после подстановки применяют транспозицию или по- сле транспозиции — код Виженера. Взвешенная сумма криптосистем: S^pT+(l-p)R> р G [0,1]. Выбор преобразования Т осуществляется с вероятностью р, а преобра- зования R — с вероятностью 1 — р. Эта функция комбинирования пояс- няется схемой на рис. 5.4,2.
144 ГЛАВА 5. Методы теории информации в криптологии Рис. 54-2. Взвешенная сумма криптосистем 5.5 Теоретико-информационные оценки стойкости симметричных криптосистем В этом параграфе исследуем общие вопросы устойчивости сим- метричных криптосистем к криптоанализу, используя теоретико- информационный подход Шеннона. Свойство устойчивости криптоси- стемы к криптоанализу принято называть криптостойкостью. Рассмотрим, прежде всего, вопросы, связанные с потенциальной (т. е. максимально возможной) криптостойкостью. Насколько устой- чива криптосистема, если криптоаналитик не ограничен временем и вычислительными средствами для анализа криптограмм? Имеет ли криптограмма Y единственное решение (т. е. однозначно ли опреде- ляет ключ 0°)? Какой должна быть минимальная длина криптограммы дт1п, чтобы решение стало единственным? Существуют ли крипто- системы, в которых вообще нельзя найти единственное решение неза- висимо от того, какова длина п исследуемой криптограммы? Суще- ствуют ли криптосистемы, в которых криптоаналитик не получает ни- какой информации, сколько бы он ни перехватил криптограмм? Для решения этих проблем К. Шеннон применил аппарат математической теории информации. Будем рассматривать симметричные криптоси- стемы, описанные в §5.4. Основное модельное предположение К. Шеннона об исходном сообще- нии X состоит в том, что “язык источника сообщений может рассматри- ваться как некоторый вероятностный процесс, порождающий дискрет- ную последовательность символов в соответствии с некоторой системой вероятностей” (модели сообщений были рассмотрены ранее в главе 4). Поэтому исходное сообщение X К. Шеннон предполагал случайным п-
^5. Оценки стойкости симметричных криптосистем 145 ректором с дискретным распределением вероятностей: Р{Л = ^>)=„, i = (551) <71 + <?2 + • - • + q„n — Д; где Х^ € V™ — г-й возможный вариант исходного n-символьного со- общения из алфавита V». Ключ 0° = (0J,..., 0^) также предполагается (генерируется) случайным вектором, не зависящим отХ, с дискретным распределением вероятностей: ph° = 0^\ = Pj, у = = (5.5.2) J-1 где 0^ 6 — J-й возможный вариант ключевой m-символьной по- следовательности в алфавите величина pj называется априорной вероятностью ключа (№. Симметричная криптосистема называется совершенно крипто- стойкой. если апостериорное распределение вероятностей исходного случайного сообщения X при регистрации случайной криптограммы Y — /(Х]0°) совпадает с априорным распределением вероятностей: Р (х = I У = = Р (х = Х<°} = qi, i,l = Т^. (5.5.3) Содержательный смысл условия (5.5.3) состоит в том, что хотя кри- птоаналитик и имеет криптограмму, она не добавляет ему информации о переданном сообщении. Теорема 5.5.1. Необходимое и достаточное условие совершенной криптостойкости состоит в том, что условное распределение ве- роятностей криптограммы У Е V™ при условии, что фиксировано сообщение X Е V™, не зависит от X: Р^У = у(‘>| X = Xw} - р(у = У(,)), г,/ = ТТ”. (5.5.4) Доказательство. По формуле Байеса
146 ГЛАВА 5. Методы теории информации в криптологии Видно, что (5.5.3) выполняется тогда и только тогда, когда Р{У = Y(0|Х = %(’)} _ р{у = у(')} “ 11 что совпадает с (5.5.4). Следствие 5.5.1. Если выполняется условие совершенной крипто- стойкости, то количество информации по Шеннону, содержащейся в криптограмме Y об исходном сообщении X, равно нулю: I {X, У} ~ I {У, X} = 0. (5.5.5) Доказательство. Вычислим энтропию исходного сообщения X и условную энтропию X относительно криптограммы У с учётом (5.5.3): р-п Н{Х} = ~У ftlogfc, 1=1 Vn isn Н{Х|У} = - УУ р{* = Х(0,У = у(')} X 1=1 /=1 х log Р {X = Х«> } = - у qi log qi = Н {X} . 1=1 Тогда по определению количества информации I {X, У} = Н {X} - Н {Х(У} = 0. Второе равенство в (5.5.5) вытекает из свойства симметричности функ- ционала количества информации. Следствие 5.5.2. Пусть {У^ : I = 1,ЪП} = V™ — множество все- возможных криптограмм, порождаемых криптофункцией У = /(Х;0), а Ju = {j: /(Х«!^)) = у(')}су _ (5.5.6)
5,5. Оценки стойкости симметричных криптосистем 147 подмножество номеров ключей, переводящих исходный текст Х^ в одну и ту же криптограмму У^\ Для того чтобы f(-) удовлетворяла свойству совершенной криптостойкости, необходимо и достаточно выполнения свойства = = (5.5.7) j Доказательство. Прежде всего отметим, что множество индексов Ди не пусто в силу биективности /(•). Вычислим и сравним левую и правую части (5.5.4) с учётом (5.5.6) и свойства независимости 0Q,X: Р {у = У (О I X - Х^> } = Р ; 0°) = УI X - Х^> } = = У Р {0° = 0(Л1 X = ^0)} = У Р {0° = 0(Л} = У Pj\ (5.5.8) jedu jeJtt jeJu P{y = yW}==P{/(X;0°b=yW} = = ?«Pj^/(x(O;9b)),y(O — Si=i H Pj- Из сравнения (5.5.8),(5.5.9) заключаем справедливость (5.5.7). Теорема 5.5.2, Необходимым условием выполнения свойства совер- шенной криптостойкости является справедливость следующих нера- венств энтропий: Н{00} > Н{Х}, (5.5.10) Н{00} > Н{У}. (5.5.11) Доказательство. Как было установлено при доказательстве тео- ремы 5.5.1, справедливо равенство: Н{Х} = Н{Х|У}. (5.5.12) Воспользуемся свойством иерархической аддитивности энтропии (см. главу 4): Н{У,ХХ} = Н{У} + Н{Х|У} + Н{НХ,У}= = Н {У, 0°,X} = Н {У} + н {0°|У} 4- Н {Х|0°, У} . ' Так как при фиксированной криптограмме У и ключе 0° исходный текст X = /”1(У;0°) не случаен, то Н {Х|0°,У} = 0. Поэтому из уравнения
148 ГЛАВА 5. Методы теории информации в криптологии (5.5.13) находим Н{Х|У} = Н{#°[У} — Н{0°|Х,У}. По свойствам энтропии отсюда следует, что Н{Х|У}<Н{0°|У} <Н{00}. Используя это в (5.5.12), приходим к (5.5.10). Неравенство (5.5.11) до- казывается аналогично. Эту теорему в криптологии называют “пессимистическим утвержде- нием К. Шеннона”, так как она требует, чтобы энтропия (неопределён- ность) ключа 0° была не ниже, чем энтропия исходного текста X (или криптограммы У). Поскольку распределение {(^} исходного текста X может быть произвольным, a max^.jHfX} = logyn, то неравенство (5.5.10) примет вид Н{00} >logz/n. Для его выполнения в случае р — у требуется, чтобы длина ключа m была бы не меньше длины шифруемого текста: m > п. Для практики наиболее интересен случай самых коротких ключей: m — п. Теорема 5.5.3. Если р — у, m — п и Vi,I G {1, 2,.. уравнение /(Х«;0^) = У<'> (5.5.14) имеет единственное решение j — ju (т. е. Ju — {ju} — одноточечное множество), то необходимым и достаточным условием совершенной криптостойкости является равновероятность используемых ключей: Pj = const — j ~ 1,уп. (5.5.15) Доказательство, Согласно (5.5.7), Pju = ai (5.5.16) Очевидно (в силу биекции), что ju зависит от i и I так, что при изме- нении i 6 {1,2,.;., уп} индекс ju пробегает уп всевозможных значений. Поэтому (5.5.16) невозможно без выполнения (5.5.15). Следствие 5.5.3. Криптопреобразование Вернама (5.4-14) пРи усло- ; вии равновероятности ключей (5.5.12) обладает свойством совершен- ной криптостойкости.
5.5. Оценки стойкости симметричных криптосистем 149 Доказательство, В силу (5.4.14) уравнение (5.5.11) имеет един- ственное решение для любых — (У +v—Х^) modi/, где вычеты вычисляются покомпонентно. Поэтому из (5.5.12) и следствия 5.5.2 получаем доказываемый результат. Следствие 5.5.3 и объясняет, почему для передачи и защиты наи- более важной информации широко используются поточные криптоси- стемы, базирующиеся на криптопреобразовании Вернама. Следствие объясняет также, почему к качеству генерации ключевой последова- тельности 0Q =: (0®, #2,... , 0°) (гаммы) предъявляются столь высокие Требования (см. главу 6). В заключение рассмотрим ещё одну важную характеристику кри- птосистем (связанную с криптостойкостью), введённую К. Шенноном — расстояние единственности U. Для этого воспользуемся следующими соотношениями: Н{0°,Х} = Н{00} + Н {X} (по условию независимости 0°, X); Н {0°|Х} = Н {У|Х} (по свойствам криптосистемы); Н { 0°, X } = Н {У, X} (вытекает из предыдущего); Н {У|Х} — Н {У} + Н {Х|У} (по свойству энтропии). Из этих соотношений получаем выражение для условной энтропии ис- ходного текста X относительно наблюдаемой криптограммы У: Н {Х|У } = Н {X} - (Н {У} - Н {0°}), и, так как условная энтропия неотрицательна, получаем неравенство Н {Х|У} = Н {X} - (Н {У} - Н {0°}) > 0. (5.5.17) Расстояние единственности — это такая минимальная длина криптограммы У (и исходного текста), при которой исчезает неопре- делённость в исходном тексте X при наблюдении криптограммы У: /7 = min {п : Н{Х|У} = 0}. (5.5.18) Следуя М. Хеллману (см. также § 5.1, § 5.2), построим оценки эн- тропий, входящих в (5.5.17) и (5.5.18): H{X} = nlogi/x, Н {У} = nlogz/y, Н {0°} — log |0|, (5.5.19) где Рх (^г) — число, подбираемое так, что приближённо Ре- ализаций исходных текстов X (криптограмм У) имеют вероятности,
150 ГЛАВА 5. Методы теории информации в криптологии значимо отличающиеся от нуля, а остальные реализации имеют прене- брежимо малую вероятность; |0| — мощность пространства использу- емых ключей; их < vy < Подставляя (5.5.19) в (5.5.17),(5.5.18), находим приближённое выра- жение для расстояния единственности: log |0| log^y/Px)' (5.5.20) Для реальных криптосистем обычно оказывается, что криптограмма Y имеет распределение, близкое к равномерному, поэтому z/y « z/. Тогда формула (5.5.20) примет следующий вид: С/=Ц®, fc = log— >0, к гх где к — коэффициент, характеризующий избыточность языка. Напри- мер, для текстов на английском, немецком и французском языках этот коэффициент приближённо одинаков и равен к 0, 53. Задачи и упражнения к главе 5 1. Для трёх дискретных случайных символов энтропии одинаковы: H{£i} = Н{^} = Н {£3} = h. Вычислить коли- чество информации 1{С1,^2Лз}, если: а) Н{41> 62,^3} = 3/г; б) Н{б,656}-/г. 2. Алфавит состоит из 8 согласных и 8 гласных букв. В сообщении все буквы алфавита равновероятны и независимы. После прохо- ждения через канал связи согласные принимаются всегда безо- шибочно, а гласные — только в половине случаев; в другой по- ловине имеют место ошибки “чисто случайного перепутывания гласных букв”. Каково количество информации по Шеннону, со- держащейся в принятом символе о переданном символе? 3. ИДС генерирует независимую последовательность из алфавита в 16 равновероятных символов. При передаче по каналу связи сим- волы искажаются так, что четверть всех символов алфавита при- нимается неправильно, причём все ошибки равновероятны. Вычи- слить шенноновское количество информации в принятом символе о переданном символе.
Задачи и упражнения к главе 5 151 4. Студент может получить зачёт с вероятностью 0,3, не прорабо- тав весь учебный материал, и с вероятностью 0,9, проработав его полностью. Какое количество информации о степени проработки учебного материала студентом можно получить по сообщению о результате сдачи зачёта, если в среднем 90 % студентов полно- стью проработали необходимый учебный материал? 5. Имеется случайная последовательность двоичных символов £1,... ,£п € {0,1}. Известно, что возможно появление только та- ких реализаций, для которых £i + • • • + = 0, причём все такие реализации равновероятны. Вычислить: I {(€1 >€2), 6. Статистика прогнозирования дождя в бюро прогнозов в некотором городе характеризуется следующей таблицей вероятностей собы- тий (С»?): Прогноз л Истинное состояние £ Дождь Нет дождя Дождь 2/16 3/16 Нет дождя 1/16 10/16 Студент ФПМИ заметил, что бюро прогнозов не ошибается лишь в 12/16 случаев. Если всегда выносить неизменное решение “нет дождя”, то доля правильных решений окажется больше: 13/16. Студент предложил этот способ прогнозирования в бюро прогно- зов с просьбой о гонораре. Однако начальник бюро прогнозов, который, разумеется, был специалистом по теории информации, посчитал проект студента необоснованным. Почему? 7. Доказать, что I {£,/(?/)} < I {£,//}, каково бы ни было функцио- нальное преобразование /(•). 8. Известно, что энтропия, приходящаяся на одну букву русскоязыч- ного текста, составляет приблизительно 1,2 бита. Каково мини- мальное среднее количество десятичных символов, необходимых для передачи информации, содержащейся в телеграмме из 100 букв? 9. На входе канала связи имеется последовательность двоичных неза- висимых равновероятных символов. Ошибки в канале приводят к
152 ГЛАВА 5. Методы теории информации в криптологии изменению значений некоторых символов на обратные, причём ве- роятность ошибки в k-м символе зависит лишь от наличия ошибки в предыдущем {к — 1)-м символе, а именно, она равна 0,2 при на- личии ошибки в (к — 1)-м символе и равна 0,05 при её отсутствии. Найти среднюю величину передаваемой информации в расчёте на символ. 10. Пусть ^т] Е — два независимых случайных вектора, при- чем т] — случайный вектор с независимыми компонентами: Cov {?/, т)} = diag{Ai,..., Адг}. Пусть далее ( ~ £ -F т]. Доказать, что количество информаций по Шеннону удовлетворяет неравен- ству < lf>g (1 + , i=l ' 2 ' которое обращается в равенство, если £i,.. .,£дг — независимые гауссовские случайные величины. 11. Пусть £i,.. мбп — максимальная невырожденная подсистема си- стемы n > m случайных символов £1;... ,£п. Доказать, что 1{6> • • • ,М} ~ 12. Используя понятия энтропии и информации по Шеннону, оценить, сколько вопросов надо задать, чтобы отгадать задуманное собе- седником натуральное число, не превосходящее N, если опраши- ваемый на все вопросы даёт лишь двоичные ответы: “да” или “нет”. 13. Имеется N монет одного достоинства; одна из этих монет — фаль- шивая: более легкая или более тяжёлая, чем остальные. Исполь- зуя понятия энтропии и информации по Шеннону, оценить наи- меньшее число k взвешиваний на чашечных весах без гирь, кото- рые позволяют найти фальшивую монету, и определить, легче ли она или тяжелее, чем остальные.
ГЛАВА 6 Генерирование случайных и псевдослучайных последовательностей 6.1 Принципы генерирования случайных и псевдослучайных последовательностей Генерирование случайных последовательностей с заданным вероят- ностным законом и проверка их адекватности — одни из важнейших проблем современной криптологии. Генераторы случайных последова- тельностей используются в существующих криптосистемах для генера- ции ключевой информации и задания ряда параметров криптосистем. Научная и практическая значимость этой проблемы настолько велика, что ей посвящены отдельные монографии в области криптологии, орга- низуются разделы в научных журналах “Journal of Cryptology”, “Cryp- tologia” и специальные заседания на международных научных конфе- ренциях “Eurocrypt”, “Asiacrypt”, “Crypto” и др. В начале XX века случайные последовательности имитировались с помощью простейших случайных экспериментов: бросание монеты или игральной кости, извлечение шаров из урны, раскладывание карт, ру-
154 ГЛАВА 6. Генерирование последовательностей летка и т. д. В 1927 г. Л. Типпетом впервые были опубликованы та- блицы, содержащие свыше 40 000 случайных цифр, “произвольно из- влечённых из отчётов о переписи населения”. В 1939 г. с помощью специально сконструированного механического устройства — генера- тора случайных чисел, М. Дж. Кендалл и Б. Бэбингтон-Смит создали таблицу, включающую 105 случайных цифр. В 1946 г. американский математик Джон фон Нейман впервые предложил компьютерный алго- ритм генерации случайных чисел. В 1955 г. компания RAND Corpora- tion опубликовала получившие широкую популярность таблицы, содер- жащие 106 случайных цифр, сгенерированных на ЭВМ. В настоящее время спрос на генераторы случайных последователь- ностей с заданными вероятностными распределениями, а также на сами случайные последовательности настолько возрос, что за рубежом появи- лись научно-производственные фирмы, занимающиеся производством и продажей больших массивов случайных чисел. Например, с 1.996 г. в мире распространяется компакт-диск “The Marsaglia random number CDROM”, который содержит 4,8 млрд “истинно случайных” бит. Прежде всего отметим, что проблема генерации случайной после- довательности с произвольным вероятностным законом распределения сводится с помощью известных методов обратной функции, исключе- ния и композиции (см., например, [32]) к генерации так называемой базовой случайной последовагпелъности — равномерно распре- делённой на дискретном множестве Vn — {0,1,..., N — 1} или отрезке [0,1) случайной последовательности (РРСП). РРСП — это случайная последовательность ху, х%,.. •, xt, ж^1, .. •, определённая на вероятност- ном пространстве (О, Т7, Р) и удовлетворяющая двум требованиям — Ci и С2. С1: Для любого п Е N и произвольных значений индексов 1 < . < tn случайные величины ..., х*п независимы в совокупности. С2: Для любого номера t € N случайная величина xt имеет равномерное распределение вероятностей: • дискретное: Р {xt = г} = » е Vn, (6.1.1) или
g,l. Принципы генерирования 155 • непрерывное со стандартной равномерной плотностью рас- пределения: Pxt(®) = 1, «е[о, 1), о, х 0,1). (6.1.2) Из этих двух базовых свойств-требований следует ряд других свойств РРСП. Свойство 6.1.1. Если {^} — РРСП, то для любого n G N и любой фиксированной последовательности моментов времени 1 < Ц < ... < tn справедливы утверждения: • в дискретном случае (6.1.1) п-мерное дискретное распределение вероятностей случайных элементов xtiy...yxtn — равномерное на У£: P{xtl = ily...yxtn = in}=l/Nny и,-Е VN; (6.1.3) Pxt-L ->х1п ' “ • в непрерывном случае (6.1.2) п-мерная плотность распределения вероятностей случайных элементов :ctl,... yxtn — равномерная в единичном гиперкубе [О,1)п: 1, 2Г1,... ,zn Е [0,1), (6 14) О, в противном случае. V * • / Доказательство. В силу Ci, Сз и критерия независимости случай- ных величин в дискретном случае (6.1.1) имеем п Р {Жъ = П,..., = /„} = П Р = ir} = Ж Т=1 что совпадает с (6.1.3). Соотношение (6.1.4) доказывается аналогично. Примем следующие обозначения: = Е {х^} — начальный момент fc-ro порядка; = Е |(xt - <*1)*} —центральный момент fc-ro порядка; {Bi} — числа Бернулли [12]: = 1, Bi = “1/2, В3 — В5 = ... — О, В2 ~ 1/6, В4 — -1/30, Вв = 1/42, .... Заметим, что щ = £{#*} — это математическое ожидание (среднее), а pz — Е^(х* — ai)2j> > 0 — дисперсия.
156 ГЛАВА 6. Генерирование последовательностей Свойство 6.1.2- Если xt — элемент РРСП, то справедливы следую- щие выражения его моментов: • в непрерывном случае (6.1.2) ак = 1/(к + 1), Рк ~ О, ((* + 1)2*)-1, • в дискретном случае (6.1.1) к (6.1.5) (6.1.6) к - нечётное, k - чётное; 1 ак ~ N(k + 1) Nk+l~l, (6.1.7) 1=0 Bt 'TV ТУ’"1 Lyr 2^ si (-(ТУ - 1)/2)*+1~' (6.1.8) 1=0 Доказательство, В непрерывном случае (6.1.2) по определению на- чального момента к-ro порядка имеем 1 Г kj 1 ак - / х dx = 7-—) J к + 1 о что совпадает с (6.1.5). Центральный момент fc-ro порядка как из- вестно, выражается через ... ,ак [25]: рк = ^C[a;(-a1)fc-/. (6.1.9) 1=0 Подставляя (6.1.5) в (6.1.9) и учитывая, что oi = 1/2, получаем i * 1 W^gcW-2)'. В силу известного комбинаторного тождества 4.2.3.22 [24]: V -1—С1 х‘ - (1 + iC)<i+1~1 2-/ + 1 к (k + i)x ’
6.1. Принципы генерирования 157 полагая х = —2, приходим к (6.1.6). В дискретном случае (6.1.1) доказательство проводится аналогично с использованием комбинаторного тождества 4.1.1.1 [24]: п . т Е'” = ЙГТ7Ес-«в-(" + 1)”“+1 и соотношения (6.1.9). Следствие 6.1.1. Математическое ожидание (среднее значение) «1 = Е{а^} и дисперсия = D{#t} удовлетворяют следующим выра- жениям: • в непрерывном случае (6.1.2) «1 = 1, № = (6.1.10) £ 1 • в дискретном случае (6.1.1) Обозначим: Sij — символ Кронеккера, г(т) = Е{(а;( - ai)(a!t+r-«1)}, r£Z,- (6.1.12) ковариационная функция временного ряда {^t}; 1 fen 1 со S(X) = у- 52 ’(t)cos(At) = Г-~ + -£r(r)c°s(AT), А € [-7г,+тг],- Z7T Z7T 7Г *—* Т=-ОО Т —1 (6.1.13) спектральная плотность временного ряда {х/}. Свойство 6.1.3. Если {а^} — РРСП, то справедливы следующие вы- ражения для ковариационной функции и спектральной плотности: г(т) = а2йТ)о, г € Z; (6.1.14) 5(A) = ^-, А е [-7Г,4-7Г]. (6.1.15) Z7T
158 ГЛАВА 6. Генерирование последовательностей Доказательство. В силу Ci случайные величины xt> xt+T не зави- симы, поэтому из (6.1.12) и следствия 6.1.1 имеем r(0) = D {zt} = <т2; г(г) - Е {(xt - c*i)} Е {(a?t+T - at)} = 0 (г / 0). Тогда из (6,1.13), (6.1.14) получаем (6.1.15). Свойство 6.1.4 (воспроизводимость при “прореживании”). Для любой фиксированной последовательности моментов времени: 1 < ti < ... < tn < < ... при “прореживании” РРСП {.Tf} возникает подпоследовательность Уп =xtn, уп+1 =Xtn+1, (6.1.16) которая также является РРСП. Доказательство. Согласно (6.1.16) и свойству 6.1.1, для произволь- ного п Е N найдём тг-мерное распределение вероятностей для {т/т : т — 1,...,п}: Р {ш — й) • • • ^Уп — } — 1/Н , г*1,... ,гп G Vjv• Отсюда следуют независимость в совокупности {yt} и равномерная рас пределённость случайного элемента ут на Уя, т. е. {yt} — РРСП. Для непрерывного случая (6.1.2) доказательство проводится аналогично. Свойство 6.1.5 (воспроизводимость при суммировании). Если {xt} — РРСП; а {&} — произвольная неслучайная последо- вательность либо произвольная случайная последовательность; не зависящая от {х^}, то случайная последовательность получаемая суммированием: • в дискретном случае (6.1.1) 2/t = (^t+6) modN, (6.1.17) • в непрерывном случае (6.1.2) yt~(xt+&) modi, (6.1.18) также является РРСП.
fi;l. Принципы генерирования 159 Доказательство. Рассмотрим дискретный случай (6.1.1). Полагая вначале, что {&} — произвольная фиксированная неслучайная последо- вательность в VJv, из (6.1.17) с учётом (6.1.1) имеем P{yt = i} - P{(^t + 6) mod# = г} = = Р {xt = (i - 6) mod JV} = 1/#, i e VN. Если же {&} — произвольная случайная последовательность в V/v, не зависящая от {ж*}, то равномерное распределение yt снова имеет место: Лг-1 Р {yt - Q - 52 Р {6 ~ Д xi - 0’ “ Я mod#} = J=o ДГ-1 1 N-1 . = р = Я р & = (j~ Я modA3 = У? p {6 = Л = 77- j-0 Из (6.1.17) аналогично доказывается выполнение свойства С2. Следо- дательно, {г/t} — РРСП. Непрерывный случай (6.1.18) исследуется аналогично. Отметим, что предположение о независимости {&} от весьма существенно. Действительно, пусть это условие нарушено, например: mod#, t = l, 2,..., где {ry} — некоторая случайная последовательность, не зависящая от {#t},c распределением вероятностей, которое является 5-близким к вы- рожденному (0 < 6 <$С 1): р{^ = о} = i-е, рto = 0 = утл’ *е 0’ >Л'- П- Тогда из (6.1.17) имеем yt = (zt -xt + ry) mod# - ry, так что для этого процесса свойство равномерности Ci нарушено. Свойство 6.1.5 часто используется на практике для “улучшения ка- чества” случайных чисел при суммировании двух или более последо- вательностей. Как видим, при несоблюдении свойства независимости суммируемых последовательностей {xt}, {&} “качество генератора” мо- жет существенно ухудшиться.
160 ГЛАВА 6. Генерирование последовательностей Свойство 6.1.6. Если {a?t} — произвольная РРСП, то для произ- вольного п G’ N количество информации по Шеннону, содержащейся в Хп = (х\,..> ,хп) о “будущем элементе’’ равно нулю: I {®п+1, Хп} = 0. Доказательство. Проведём его для непрерывного случая (6.1.2). В силу свойства С 2 Pxi^.^Xn+l (^1 5 • • • )Zn + l ) — РхX* (Z1 i • ♦ • Аг) Рхп + 1 Поэтому по определению шенноновского количества информации 1 1 I {з^п+Ь ^n} — f * * ’ f Pxi,...,xn+1 (<L, . . . A-f-l) X о о Следствие 6.1.2. Если {a?t} — РРСП, то прогнозирование (предска- зание) Жп+1 «о Хп невозможно. Свойство 6.1.7. Если {г*} — РРСП, то для любого к 6 N и про- извольной интегрируемой борелевской функции к переменных у ~ f(zi,... ,Zk), z\,...,zk 6 при п -> сю имеет место сходимость по- чти наверное: ♦ в дискретном случае (6.1.1) п 52/(х(т-1>+ь • • —> ^к. 52 Дп> • •-5^); Т=1 (6.1.19) • в непрерывном случае (6.1.2) ^’^f(3:(T-i)k+i>--->xTk) У f(z1,...,zk)dz1---dzk. Т~1 о о (6.1.20)
g.l. Принципы генерирования 161 Доказательство. В силу Ci, С2 и свойства 6.1.1 случайные векторы = (#(т-1)л+1> • • •> xrk) (г == 1,2,...) независимы в совокупности и одинаково распределены по равномерному закону на в случае (6.1.1) д в гиперкубе [0, l)fc — в случае (6.1.2). По условию интегрируемо- сти для функции /( ) существует конечное математическое ожидание |}{/(Хт)}. Поэтому в силу теоремы Колмогорова выполняется усилен- мкй закон больших чисел: 1 п - Е{/(Хх)}, п 1 Т = 1 адо эквивалентно (6.1.19), (6.1.20). Вследствие 6.1.3. Если U С [0,1)к есть произвольная фиксированная Класть, объём которой равен и — mestA то при п —> оо имеет место Сходимость частоты попадания случайных векторов ... ,Хп в эту Сбластъ: доказательство. Достаточно в (6.1.20) выбрать в качестве /( ) ин- якаторную функцию области U: - lir(z1,...,Zk). С целью имитации РРСП введём по аналогии с предельным свой- ством (6.1.21) понятие fc-равномерно распределённой последовательно- сти (для определённости рассмотрим случай непрерывного равномер- ного распределения). Последовательность {я*}С [0,1) называется к-равномерно рас- пределённой последовательностью (&-РРП) для некоторого фик- сированного к Е N в смысле Г. Вейля, если для любой фиксированной fc-мерной области U С [0, l)fc объёма и — mest/ при п —> оо имеет место Сходимость частоты попадания [11], [10]: n-fc-H - 52 ly(a:t,-..,a:t+fc-i) ->«• (6.1.22) n Справедлив следующий критерий fc-РРП [11], [10], связанный со свойством 6.1.7.
162 ГЛАВА (?. Генерирование последовательностей Теорема 6.1.1. Для того чтобы последовательность {^}С [0,1) была бы к-РРП> необходимо и достаточно, чтобы для любой непре- рывной функции /(-) к переменных, определённой на гиперкубе [0, 1]\ при п —> оо выполнялось предельное соотношение: • 5 £t+k — 1) • -,yk)dyi • --dyk- (6.1.23) В [11] предлагается называть РРСП любую оо-распределённую РРП, т. е. такую последовательность {#*}, которая равномерно распределена при любом k Е N. Рассмотренные выше понятия РРСП, fc-РРП и оо-РРП позволяют ввести понятие генератора случайной последовательности и провести классификацию различных типов генераторов. Генератор РРСП — это устройство, позволяющее по запросу по- лучить реализацию равномерно распределённой случайной последова- тельности #1,..., хп длиной п Е N. Элементы ат,..., хп этой реализа- ции иногда называют случайными числами. Существуют три типа генераторов РРСП: 1) табличный; 2) физический; 3) программный. Табличный генератор РРСП — это таблица случайных чисел, представляющая собой экспериментально полученную выборку реали- заций из распределений (6.1.1) или (6.1.2). Примеры табличных гене- раторов РРСП были приведены в начале данного параграфа. Отметим три основных недостатка табличных генераторов РРСП: 1) нехватка табличных случайных чисел (в криптосистемах часто требуются мас- сивы в сотни миллионов случайных чисел); 2) большой расход опера- тивной компьютерной памяти для хранения таблицы случайных чисел; 3) трудности в обеспечении криптозащиты больших массивов числовых данных в компьютере. Физический генератор РРСП — это специальное электронное устройство (аппаратная приставка к ЭВМ, чип), выходной сигнал ко- торого по своей физической природе является случайным процессом; последовательность отсчётов этого случайного процесса и имитирует РРСП. Недостатки физического генератора РРСП: 1) невозможность по вторения некоторой ранее полученной реализации {#t}; 2) схемная не- стабильность электронного устройства (сбои, помехи, отключения, сме- щение режима и т. п.), приводящая к необходимости контроля каждой реализации {^}.
6.2 Статистические методы тестирования 163 Программный генератор РРСП — это программа, служащая для имитации на ЭВМ реализации РРСП с помощью РРП эта имитируемая последовательность называется псевдослучайной, так ^йк: 1) она вычисляется на ЭВМ по известному детерминированному рекуррентному соотношению; 2) она обладает свойствами РРП Ar-го по- рядка и при k —> сю по своим свойствам “становится неотличимой” от РРСП. 6.2 Статистические методы тестирования [5.2.1 Общий подход к построению статистических тестов Случайные и псевдослучайные последовательности {хд}, порожда- емые различными генераторами (см. § 6.1), для криптологиче- Еких применений подлежат обязательному тестированию вероятностно- гатистическими методами. Вероятностно-статистические тесты пред- азначены для проверки гипотезы о том, что наблюдаемая последова- тельность {яд} является РРСП, и представляют собой статистические решающие правила, которые на основе выходной последовательности Генератора проверяют гипотезы о справедливости основных требова- ний Ci, С2 или свойств 6.1.1 — 6.1.7 РРСП. Обозначим: НОп — пу- довая (основная) гипотеза о том, что наблюдаемая последовательность Е Рдг длиной п Е N является РРСП (для определённости Вдесь рассматриваем случай дискретного распределения вероятностей |б.1.1)) и имеет распределение вероятностей (6.1.3); Hjn — альтерна- |гива, утверждающая, что {яд} не является РРСП. Отметим, что гипо- теза Ноп — простая гипотеза, а альтернатива Hin — сложная, так как ^однозначно задает распределение вероятностей (6.1.3). Прежде всего отметим, что любая борелевская функция от наблюде- ний t = t(xi,..., хп) Е может использоваться в качестве тестовой статистики для проверки гипотез Ндп, Hin при выполнении лишь двух условий: Ai) найдено дискретное распределение вероятностей POj = РнОп{*(®1> ••>*«) = «j}, j ~TL, статистики t = t(xi,.. .,хп) при верной гипотезе Ноп, где U =
164 ГЛАВА 6. Генерирование последовательностей {«1,..., ul} С — конечное множество L упорядоченных по возрастанию значений статистики £(•); Аз) при верной альтернативе Hin дискретное распределение вероятно- стей Ри = Ря1„{«(®1).-,а:п) = иД1 J = статистики t ~ /(#i,..., хп) отличается от распределения при ис- тинности нулевой гипотезы Но«; это означает, что имеет место неравенство: Р1 = (Р11,Р12,---,Ри) /РО — (РО1>РО2> • • • >POl)- В силу условий Ai, Аз проверка гипотез НоП; может быть осу- ществлена с помощью известного у2 -критерия согласия Пирсона [4], [1]. При этом алгоритм тестирования выходной последовательности состоит из пяти этапов. 1. Генерируем последовательность длительностью п+ = Мп: А — {#1 7 . • • ) %П 7 7 - • •. ) ^2п ) • • • ) - {^1 } ^2 7 ' • • 7 XМ } 1 где Xi - е ~ г‘й фрагмент (г G {1,2,..., М}) последовательности длиной n; М — число фраг- ментов. 2. Для г-го фрагмента Xi (i = 1, М) вычисляем значение статистики ti — ? «£(г-1)п+2? • • • > 3. По выборке й? * • 7^М объёма вычисляем частоты встречаемости возможных значений статистики t (•) : м которые удовлетворяют условию нормировки: = м- J=1
$.2. Статистические методы тестирования 165 4. Вычисляем у2-статистику Пирсона: ~~ Mpyj)2 MPoj характеризующую уклонение “эмпирических относительных ча- стот” {vj/M} от соответствующих “теоретических частот” {poj}- 5. Выносим решение с помощью решающего правила: принимается гипотеза НОп, Н1П, если X2 < Д^ если у2 > Де, (6.2.1) где критическое значение Д£ ~ С£11(1 — е) есть квантиль уровня 1—5 стандартного х2-распределения с L — 1 степенями свободы, а 6 (0,1) — задаваемый пользователем уровень значимости. Таблицы значений квантилей Дс можно найти в [3]. Решающее правило может быть представлено в эквивалентном виде с помощью так называемого P-значения Р — 1 — Gl-i(x2)’ принимается гипотеза Ноп, Ны, если Р > 5, если Р < 5. (6.2.2) При увеличении числа фрагментов М —> оо тесты (6.2.1) и (6.2.2) обладают следующими асимптотическими свойствами. Асимптотиче- ский размер (т. е. вероятность ошибки первого рода) каждого из этих ^тестов совпадает с заданным уровнем значимости е: lim РнОп{ принимается Hin} — с. (6.2.3) М—Нзо При этом тест является состоятельным, то есть его мощность стре- мится к единице (а вероятность ошибки второго рода стремится к нулю): lim Рнщ{ принимается Hln} = 1. (6.2.4) Л/—>ос В заключение отметим, что если некоторые из элементов вероятно- стей {роу} достаточно малы (на практике, если Mpoj < 5), то целесо- образно проводить группировку соответствующих значений Uj 6 U."
166 ГЛАВА 6. Генерирование последовательностей 6.2.2 Классические тесты Кнута При построении таблиц случайных чисел в 1939 году были разрабо- таны простейшие тесты проверки гипотез Ноп> при п — 1. В 1965 году М. Д. Макларен и Дж. Марсалья предложили еще ряд тестов при n > 1. В 1969 году Д. Кнут сформулировал стандартный набор тестов. В этот стандартный набор тестов Кнута входят следующие 8 тестов [11], [31], [32]. -критерий согласия одномерной равномерности Это частный случай описанного в п. 6.2.1 общего теста при п ~ т- 1, L - N, 1(хг) ^xuU VN) pQj = 1/N (j = О Л - 1). Критерий согласия Колмогорова-Смирнова Этот тест применяется, когда xt Е К1 имеет абсолютно непрерыв- ное распределение вероятностей [32]. Таким распределением можно ап- проксимировать псевдослучайные числа, получаемые преобразованием отрезков jV-значной последовательности в десятичную форму. Тест серий для двумерной равномерности Это частный случай описанного выше общего теста при п = т ~ 2, L N\ Цхъх2) = х2),U V2, poj = 1/N2 (j = О, N2- 1). Тест интервалов В этом тесте проводится анализ случайных событий, состоящих в попадании элементов {ад} в заданный интервал [а,/3), где а,(3 Е Vn, а < (3. При этом оценивается длина серии t непопаданий в [а, /3) до первого попадания в [а, {3). Данный тест является специальным част- ным случаем описанного выше общего теста при следующих значениях определяющих характеристик: п — оо, m == 1, U = No = {0,1,2,..L ~ оо, (О, ж, €[<*,/?), 1, xi £ [а,(3), х2 € [а,(3), ...................... t, ан £ [а,/3), .... xt & [а,/3), Xt+i G [а,/?), Poj = Р(1 - рУ, j € No, р = (/3 - а)/АГ. Отличительной особенностью данного теста является отсутствие зара- нее фиксированного числа серий М: серии формируются в ходе после- довательного анализа {яд}.
$.2. Статистические методы тестирования 167 Покер-тест (проверка частот встречаемости комбинаций) В классическом покер-тесте исследуются частоты встречаемости комбинаций различных символов a7b,c, d, е G V/v, (а < b < с < < е) в последовательности п = 5 подряд идущих символов х = |рС1, ^2, #4j £5) G V*. Данный тест является частным случаем описан- ного выше общего теста при следующих значениях определяющих его характеристик: n = 5,m=l,Z/ = 7,a функция t(x) определяет семь Гипов комбинаций, встречающихся в одноименной карточной игре: ' 1, 2, 3, 4, 5, 6, 7, если упорядоченная комбинация х имеет вид (a,b,c,d, е), если упорядоченная комбинация х имеет вид (а, а, i>, с, d), если упорядоченная комбинация х имеет вид (а, а, 6, 6, с), если упорядоченная комбинация х имеет вид (а, а, а, 6, с), если упорядоченная комбинация х имеет вид (а, а, а, 6,6), если упорядоченная комбинация х имеет вид (а, а, а, а, 6), если упорядоченная комбинация х имеет вид (а, а, а, а, а), •Де упорядочение комбинации х осуществляется в порядке возрастания fe элементов. Распределение вероятностей {ро;} можно найти в [30]. Обобщённый покер-тест В этом тесте исследуются частоты встречаемости комбинаций раз- личных символов в последовательности п подряд идущих символов ! — (a?i,... ,®п) € V$, а значение функции t ~ 1(х) определяется как Ьтсло несовпадающих символов в х. При этом г гг г л л ШАГ- 1)' ••(jV-j-F 1) fnl I = П, и = {1,2,..., n}, poj = ------—-----------1J J ’ j eu, 'де | J- — число Стирлинга (коэффициент при zn J в многочлене z(z— [) • • • (г — n -Ь 1)), определяемое с помощью рекуррентного соотношения: Тест собирателя купонов В этом тесте по наблюдаемой реализации {я*} последовательно (как в тесте 4) оцениваются минимальные длины фрагментов /1,^2,••• , со- держащих “полный набор” N символов из Удг. Название данного теста йроисходит из следующей “прикладной” задачи. Для получения приза Мальчик собирает N купонов, по одному из которых содержится в ка- ждой упаковке с кашей для завтрака, причём купоны распределены по
168 ГЛАВА 6. Генерирование последовательностей упаковкам совершенно случайно. Мальчику приходится есть кашу t раз, пока не соберёт полный комплект из N купонов. Данный тест является специальным частным случаем описанного выше общего теста при следующих значениях определяющих его ха- рактеристик: п = оо, m = 1, U =• {N, N + 1,..L = оо, £(ж1,ж2> •. — rnin{r е No : Vw С {#1,... , жг}}, Тест перестановок Этот тест можно рассматривать как развитие покер-теста; в нём исследуются частоты встречаемости различных перестановок символов в последовательности п подряд идущих символов х — (#i,..., #n) 6 при п < N, Обозначим: о < ®(1) < ®(2) < < ®(n) < N - 1 - вариационный ряд исходной последовательности х. Если все элементы вариационного ряда различны то исходная последовательность х есть некоторая (одна из п\ возможных) перестановка элементов вариацион- ного ряда. В этой ситуации значения функции t — t(x) определяются следующим образом: t = t(x)-j (l<j<n^, где j — номер перестановки, преобразующей вариационный ряд в ис- ходную последовательность х. Если последовательность х содержит к одинаковых и п—к различных элементов, то при этом t = t(x) — n! + к - 1 (2 < к < п). Для всех остальных возможных' случаев полагаем t — /(ж) = и! + п. Таким образом, L — n! + n, U = {1,2,..п!4- п}.
$.2. Статистические методы тестирования 169 Используя комбинаторные методы, легко найти распределение ста- тистики t(x) при гипотезе Ноп' Poj = л^тП^оЧ1-#)- j^nl+k-l, *«={2,3, 1 - п?="о а - £) - A шч (1 - £) , •>”}> j ~ nl 4- п. Отметим, что если п « N, то значения /-статистики, t 6 {д! + 1,п! + 2,...,п! + д}, Целесообразно объединить в одно состояние. При этом П-1 / . ч L = п! + 1, U = {1,2,...,п! + 1}, Ро,ь = 1 - П (1 ~ ' Заметим ещё, что для увеличения мощности алфавита N можно в [сходной последовательности рассматривать цепочки соседних симво- |Ьв (биграммы, s-граммы). 1*2.3 О новых направлениях в разработке статистических тестов При разработке статистических методов тестирования случайных и Всевдослучайных последовательностей на современном этапе можно вы- рлить три основных направления: 1) повышение мощности теста при фиксированной длине последовательности, т. е. при фиксированном М; R построение тестов для альтернатив Hin специального вида, в том |исле для альтернатив Hin, сближающихся с Ноп при М —> оо в спе- |йальной асимптотике; 3) разработка алгоритмов принятия решения, КЬнованного на решениях I > 1 тестов, применённых к одной и той же ксследуемой последовательности {яч}. L В качестве примера теста, разработанного сравнительно недавно Йж. Марсалья [107], [108], приведём описание теста “пересекающихся В-грамм” для проверки вышеопределённых гипотез Ноп, Н1п. Прежде всего, подвергаемая тестированию последовательность • -5#n+) € Vn+ длиной п+ (п+ > д) “зацикливается” добавле- нием в конце п — 1 её начальных символов: -X — (*^1 , ^2 > • • ‘ > &*П — 1) %П J • • • ) ^П+ ) , #2 5 • • J —1) •
6.4. Конгруэнтные генераторы 171 ГЛАВА 6. Генерирование последовательностей 170 Затем анализируются п± “пересекающихся n-грамм 7: • • • ,#п), Е Ру и вычисляются частоты встречаемости Nn всевозможных n-грамм: И, • • • yin Е Vn- Vi Hon t=l Аналогичным образом вычисляются частоты встречаемости Я77'1 все- возможных (п - 1)-грамм С использованием вычисленных частот строится статистика Q- V 4 . n+N~n ii r--»»n€Vjv _ V (vii,...,ia-i ~ n+^ n+1)2 n+7V~"+1 - ' Доказано [107], [108], что при n+ —> ос для истинной гипотезы распределение статистики Q сходится к у2-распределению с f = Nn - jVn~x — 1) степенями свободы: £{Q\HOn}^Xr Данный факт позволяет аналогично п. 6.2.1 построить решающее правило, основанное на P-значении Р = 1 — G/(Q): f Hon, если Р > в, принимается гипотеза < тт . [ Hin, если Р < 5, где е 6 (0,1) — заданный уровень значимости теста; G/(•) — стан- дартная функция ^-распределения с f степенями свободы. Отметим, что данный тест “пересекающихся n-грамм’7 включён в “батарею тестов DIEHARD”, разработанную под руководством Дж. Марсалья [109]. - стан- 6.3 Классификация методов генерирования псевдослучайных последовательностей Как уже отмечалось в § 6.1, существуют три типа генераторов РРСП: табличные, физические и программные. В силу известных не- достатков табличных и физических генераторов в настоящее время для .криптологических применений наибольшее распространение получили программные генераторы, позволяющие имитировать РРСП с помощью псевдослучайных последовательностей. Степень адекватности генери- руемой псевдослучайной последовательности {xt} модели РРСП оцени- вается с помощью статистических тестов, рассмотренных в § 6.2. В данном параграфе осуществим классификацию основных методов гене- рирования псевдослучайных последовательностей {xt}. Все существующие программные генераторы псевдослучайных по- следовательностей принято классифицировать в два класса: 1) простые (элементарные) генераторы, использующие единственную псевдослу- чайную последовательность для построения {#*}; 2) составные (ком- бинированные) генераторы, использующие две или более “простейшие” псевдослучайные последовательности для построения {#*}. Класс про- стых генераторов псевдослучайных последовательностей, в свою оче- Бедь, состоит из четырёх подклассов: конгруэнтные генераторы, гене- раторы с рекуррентой в конечном поле, генераторы с регистром сдвига, генераторы Фибоначчи. В последующих параграфах изучается каждый из этих типов гене- раторов. |>.4 Конгруэнтные генераторы Пусть жо, а, с 6 Vn — произвольные фиксированные элементы. При- нято говорить, что последовательность #i, ж2, •.. £ V/v порождается ли- ыейным конгруэнтным генератором с параметрами (хд, а, с, АГ), |сли эта последовательность удовлетворяет рекуррентному соотноше- нию: — (axt + с) modjV, t = 0,1,2,...; (6.4.1) Параметр х0 G Vn называется начальным значением, параметр а 0 — Множителем, параметр с — приращением, параметр Я (мощность алфа- вита) — модулем. В случае с — 0 соотношение (6.4.1) определяет муль- типликативный конгруэнтный генератор, а в случае с ф 0 — ^метанный конгруэнтный генератор. Отметим, что впервые Мультипликативный конгруэнтный генератор псевдослучайных после- довательностей был предложен Д. Лемером в 1948 г., а смешанный кон- груэнтный генератор — У. Томсоном в 1958 г. Исследуем свойства линейной смешанной конгруэнтной псевдослу- чайной последовательности (6.4.1).
172 ГЛАВА 6. Генерирование последовательностей Теорема 6.4.1. Для любых k > 1, t > 0 общий член конгруэнтной последовательности (6.4-1) удовлетворяет соотношению: | (xt + кс) mod TV, если а = 1, Xt+k — s (akxt 4- mod TV, если а > 1; (6.4.2) при этом найдётся такой номер 0 < г < N — 1, что последователь- ность (6.4Л)) начиная с этого номера г, “зацикливается” с периодом 1 < Т < TV, таким, что т-рТ < N: xq, Xi,..., xr,..., Xr-j-T-i ~ различны, xt+T-xt, t>T. (6.4.3) Доказательство. Соотношение (6.4.2) получается ^-кратным рекур- сивным использованием соотношения (6.4.1) с учетом известного равен- ства: . 2 k-i 1 4-а 4-а2 4--.. 4-п ----г. а — 1 Факт “зацикливания” последовательности {#*} непосредственно вы- текает из вида рекуррентного соотношения (6.4.1). Действительно, мно- жество допустимых значений х* не может содержать других элементов, кроме элементов множества {0,1,..., N — 1} мощности TV. При этом, если для некоторого наименьшего значения индекса Г совпали элементы последовательности — xtn, где t" — t' — Т, то это соотношение со- хранится и для всех последующих значений индексов: xt = #t+T, t = + Г 4- 2,... . Отметим, что, как видно из (6.4.2), случай а — 1 нецелесообразно использовать для имитации РРСП. Следствие 6.4.1. Для любого k > 1 при а > 1 подпоследователь- ность XQ,XkyX2k^3ki • • полученная из конгруэнтной последователь- ности (6.4Л) удалением всех членов с номерами, не кратными к, явля- ется линейной смешанной конгруэнтной последовательностью с пара- метрами (хо,а,с, N), где а = ak mod N,. с = (~гс) mod TV.
S.4. Конгруэнтные генераторы 173 Доказательство. Обозначим исследуемую подпоследовательность i = 0,1,2,... . Тогда (6.4.2) примет вид = («£,• + с) mod TV, i — 0,1,2,... , что и определяет, согласно (6.4.1), конгруэнтную последовательность с “новыми” параметрами (#о, а, с, 7V). Следствие 6.4.2. Для общего члена линейной смешанной конгруэнт- ной последовательности (6ДД) при а > 1 справедлива формула (а* — 1 \ akXQ 4----—с] modTV, к — 1,2,... . (6.4.4) а — 1 / Доказательство. Полагая в (6.4.2) I = 0, получаем (6.4.4). Следствие 6.4.3. Максимально возможный период конгруэнтной по- следовательности (6.4.4) не превосходит мощности используемого Алфавита: Ттах < N. Доказательство. По теореме 6.4.1 Т < N — т, где 0 < т < N — 1. Ьоэтому Дпах < TV . И Одной из важнейших задач при построении конгруэнтных генера- торов является отыскание таких значений х^а^с, для которых период |&остигает максимально возможного значения Ттах. Особенности про- граммной реализации конгруэнтного генератора (6.4.1) приводят к трём ^аиболее часто используемым вариантам задания модуля N\ 1) N ~ Где q + 1 — число двоичных разрядов ЭВМ, используемых для цело- численной арифметики; 2) N -- 10q, q > 1; 3) N — простое число. Приведём результаты исследований для этих трёх вариантов [11]. Теорема 6.4.2. Для линейной конгруэнтной последовательности (6.4-1) максимальное значение периода Ттах = N достигается тогда и только тогда, когда выполнены следующие три условия: I) с и N — взаимно простые числа; Й) число Ь ~ а —1 кратно р для любого простого числа р, являющегося делителем N;
174 ГЛАВА 6. Генерирование последовательностей 3) число b кратно 4? если N кратно 4< Обозначим Л(ЛГ) — максимально возможный порядок по модулю N (см. главу 2); для его вычисления удобно пользоваться следующими известными соотношениями: А(2) = 1, А(4) = 2, А(29) = 2«~2, если q > 3; А(р9) = р?-1(р - 1), если р > 3 - простое число, q > 1; А(р? рГ) = НОК(А(рГА(р?'))> если t > 2, pi,... ,pt — простые числа, qi,..., qt > 1. Теорема 6.4.3. Если с — 0, то максимально возможный период мультипликативной конгруэнтной последовательности равен Ттах ~ A(N) и достигается, если xq и N — взаимно простые числа и а — первообразный элемент по модулю N (при этом = 1 (modJV)J. Следствие 6.4.4. Если N = 2я, q > 4, то максимальное значение периода Ттах = 29~2 = N/4 достигается, если xq > 1 — нечётное число и a (mod8) Е {3,5}. Теорема 6.4.4. Если с — О, N — 107, q > 5 и xq не кратно двум или пяти, то максимально возможное значение периода Ттах — 5- 10д”2 ~ N/20 достигается тогда и только тогда, когда вычет a (mod 200) принимает одно из следующих 32 “магических” значений: 3,11,13,19,21,27,29,37,53,59,61,67,69,77,83,91,109,117, 123,131,133,139,141,147,163,171,173,179,181,187,189,197. Теорема 6.4.5. Если с ~ 0, жо 0 и N — простое число, то макси- мально возможное значение периода Ттах ~ N — 1 достигается, если a (modN) / 0 и a(w-i)/Pi _ i ф 0 (modJV), j = где pi,..., ps — простые числа, определяющие каноническое разложе- ние числа N — 1: N — 1 = р™1 • ... * p™s, a mi,... ,ms — некоторые натуральные числа.
6.4. Конгруэнтные генераторы .175 Например, при N ~ 25 — 1 — 31 имеем N - 1 ~ 2 • 3 • 5, так что $ — 3, pi = 2, р2 = 3, рз — 5. Тогда, согласно теореме 6.4.5, получаем следующие ограничения на выбор множителя а: а ф 0 (mod31), а15 — 1^0 (mod31), а10 - 1 ф 0 (mod 31), ае* — 1 0 (mod 31). Отметим, что в мультипликативных конгруэнтных генераторах РРСП для персональных компьютеров Pentium часто используется мо- дуль N ~ 231 — 1 — 2147483647. При этом рекомендуемыми значениями множителя а являются следующие “магические” числа: 16807, 630360016, 1078318381, 1203248318, 397204094, 2027812808, 1323257245, 764261123, 112817. При этом достигается максимальное значение периода Tmax = N — 1 2.14 ♦ 109. Отметим также, что численные эксперименты на ЭВМ пока- зали, что прохождение статистических тестов из § 6.2 облегчается при (X* = 397204094. Линейные конгруэнтные генераторы псевдослучайных последова- Ягельностей имеют “слабость”, которая может быть положена в основу крипто атак и которая выражается следующим характерным свойством линейных конгруэнтных последовательностей {х£}. .Если рассматри- вать последовательные биграммы (21,23) : = xt, z^ ~ то в дилу (6.4.1) на плоскости R2 точки (2^, 23) будут лежать на прямых из семейства г2 ” az\ + с — kN, к G {0,1,2,.. Если бы являлась РРСП, то точки (21,23) были бы распределены равномерно. На рис. 6.4.1 изображена диаграмма рассеяния для простейшего сме- шанного конгруэнтного генератора (для 64 последовательных значе- ний): a?t+1 — (9ж£ + 13) (mod 64), ~ 0, а на рис. 6.4.2 — для генератора (500 последовательных значений): xt+i = (16807ж{ + 13) (mod(231 - 1)), х0 = 0. На рис. 6.4.1 помечено также семейство прямых: z2 = 9Z1 + 13 - 64fc, к е {0,1,2,..., 9},
176 ГЛАВА 6. Генерирование последовательностей Рис. 6-4 Р Диаграмма рассеяния для М — 64 на которых лежат точки {(^t, диаграммы рассеяния. Для преодоления этого недостатка используют нелинейные кон- груэнтные генераторы. Опишем четыре наиболее часто используе- мые нелинейные модификации линейного конгруэнтного метода (6.4.1). 1. Квадратичный конгруэнтный метод: 2?t+1 = (cfcj + axt 4- с) modNj t = 0,1,2,... . (6.4.5) Параметры (xQ,a,c,d,N) 6 V$xN квадратичной конгруэнтной после- довательности (6.4.5), обеспечивающие максимально возможный период Tmar, определяются теоремой 6.4.6 [11]. Теорема 6.4.6. Квадратичная конгруэнтная последовательность (64-5) имеет наибольший период Ттах — N тогда и только тогда, когда выполнены следующие четыре условия: 1) с и N — взаимно про- стые числа; 2) d и а — 1 кратны р, где р — любой нечётный про- стой делитель для N; 3) d — чётное число, причём d~ а — 1 (111044), если N кратно четырём, и d = а — 1 (mod2), если N кратно двум; 4) если N кратно девяти, то либо d (mod 9) — 0, либо d (mod 9) = 1 и cd (mod 9) = 6. Особую практическую ценность представляет случай = 29.
6.4. Конгруэнтные генераторы 177 Рис. 64.2. Диаграмма рассеяния для М = 231 — 1 Следствие 6.4.5. Если N — 2g, q >2, mo наибольший период Ттах = Й*7 для квадратичной конгруэнтной последовательности (64.5) до- стигается тогда и только тогда, когда с нечётно, d чётно, а а — Нечётное число, удовлетворяющее соотношению а — (d -j- 1) mod 4. 2. Квадратичный метод Ковэю: xt+i = (xt(xt 4- 1)) mod29, t - 0,1,2,(6.4.6) Где модуль N — 2q, q >2, а начальное значение выбирается так, что to (mod4) = 2. При этом оказывается, что достигается максимальное ^Начение периода Ттах ~ 2q~2 — N/4. Для повышения компьютерного Быстродействия этого нелинейного генератора целесообразно выбирать § равным числу двоичных разрядов, используемых для записи целого кисла в ЭВМ (например, q — 31). 3. Метод “середины квадрата”: - (^ (mod23g)”^ (mod2^))/2q, t = 0,1,2,(6.4.7) Где q,xo — параметры этого нелинейного генератора псевдослучай- ной последовательности. Начальное значение xQ 1 выбирается
178 ГЛАВА 6. Генерирование последовательностей среди натуральных чисел, не превосходящих числа 22g - 1, так, чтобы Xq (mod29) ф 0. Из (6.4.7) видно, что ж*+1 — число, образованное сред- ними 2g битами 4д-разрядного числа я2; отсюда и происходит название данного метода. Отметим, что метод “середины квадрата” — истори- чески первый метод генерации псевдослучайных последовательностей, предложенный в 1946 году Джоном фон Нейманом. 4. Генераторы, использующие умножение с переносом: — (axt + ct) modTV, t~ 0,1,2,(6.4.8) где приращение ct = c(xt_i, xt-2^ - ,^o) зависит от своих аргументов нелинейно в силу рекуррентного соотношения: ct - [(шг4_з + Ct-i)/N\ - (6.4.9) наименьшая целая часть числа (axt-i + ct-i)/N, используемого при формировании xt< Параметрами нелинейного генератора (6.4.8), (6.4.9) псевдослучайной последовательности являются xq, со, N. Оказыва- ется, что период псевдослучайной последовательности (6.4.8), (6.4.9) за- висит от начальной пары (х0) со) и равен порядку элемента А в группе вычетов взаимно простых с одним из делителей числа aN — 1 [108], [109]. Для иллюстрации приведём пример последовательности (6.4.8), (6.4.9) при а — 6, N = 10, xq — 4, со = 4: 4, 8, 0, 5, 0, 3, 8, 9, 8, 3, 3, 0, 2, 2, 3, .... Период этой последовательности Т ~ 58, так как A58 — 1 (mod 59). Заметим, что, согласно теореме 6.4.1, в случае линейной конгруэнтной последовательности (6.4.1) (когда ct = const) период для этого случая не превосходит Т' — N — 10. В практических приложениях для упрощения программной реали- зации (6.4.8), (6.4.9) обычно полагается N — 2g (q — 8; 16; 32; 64) и множитель а выбирается так, чтобы числа aN - 1 и aN/2 — 1 были простыми. При этом для представления чисел xt,a,ct используется q бит, а для вычисления yt = axt + ct используется 2q бит. Новое зна- чение определяется тогда q старшими битами числа yt (т. е. ре- зультатом переноса при вычислении ж^1), а новое значение опре- деляется q младшими битами числа. Отсюда и происходит название данного метода генерирования псевдослучайных последовательностей. Если («о,Со) {(0,0), (a — 1,N— 1)}, то последовательность (6.4.8), (6.4.9) имеет максимальный период Tmax — aN/2 - 1, являющийся про- стым числом. В работе [109] отмечается, что генератор рассматривае- мого типа при q = 32 “прошёл все тесты из батареи тестов DIEHARD”
Генераторы на основе рекурренты 179 £.5 Генераторы, использующие * рекурреНту в конечном поле Пусть N — простое число, к > 2, a ai,..., аьУ #-1, • - •, Е — произвольные фиксированные числа. В качестве псевдослучай- ной последовательности часто используют линейную рекурренту по- рядка к над конечным полем GF(N) (см. главу 3): = (airrt + + • • • + modTV, t ~ 0,1, 2,..., (6.5.1) где ai,...,Ofc — коэффициенты рекурренты, а жо, &-ь • • • > ж-Л+1 — на- кальные значения рекурренты. Параметрами генератора псевдослучай- ной последовательности являются АГ; fc; си,, a a-; xq, x_i, ..., . Начальные значения жо, £-1, • • • > Е Vn выбираются произвольно, Д'ак, чтобы не обращались в нуль одновременно. Коэффициенты рекур- £>енты ai,..., 6 Vn выбираются таким образом, чтобы полином /(ж) = хк - - ... - аь-ix - ak (6.5.2) валялся примитивным многочленом по модулю N, т. е. многочлен 16.5.2) имел корень ж*, являющийся первообразным элементом поля из элементов. При этом достигается максимально возможный период ~ Nk - 1 [И]. Отметим, что число примитивных многочленов вреди всевозможных Nk многочленов вида (6.5.2) равно ip(Nk — l)/fc, И ^(•) — функция Эйлера (см. главу 2). В [11] приводится вычисли- |рельно эффективный критерий проверки примитивности многочлена, ртметим ещё, что при к — 1 линейная рекуррента (6.5.1) превращается I мультипликативную конгруэнтную последовательность, исследован- ную в предыдущем параграфе. Приведём четыре примера линейных рекуррентных генераторов Псевдослучайных чисел, “проходящих тесты батареи тестов DIEHARD” [11]: ‘ xt+1 = (1176®t + 1476xt_i + 1776Kt_2) mod(232 - 5), (6.5.3) ®t+i = (213(a?t + xf-i + X4-2)) mod(232 - 5), (6.5.4) xt+i = (1995^4 + 1998art_ 1 + 20012:4-2) mod(235 - 849), (6.5.5) xt+i = (219(xrt + xt_i + Xt-2)) mod(235 - 1629). (6.5.6) Генераторы (6.5.4) и (6.5.6) допускают эффективную компьютерную ре- ализацию без использования операции умножения. Генератор (6.5.4)
180 ГЛАВА 6. Генерирование последовательностей удобно реализуется в 32-битовой арифметике целых чисел. При этом ассемблеровская версия алгоритма (6.5.2) требует всего 90 наносекунд на процессоре Pentium-200. Это один из самых быстрых генераторов, для которого период Tmax « 296. Как и в случае конгруэнтных последовательностей, “для повышения качества псевдослучайных чисел” в уравнение линейной рекурренты вводится приращение-перенос ct: = (.aixt + a2xt_1 +.. .-Fa/cTt-Zc+i 4-cj) modjV, *-0,1,..., (6.5.7) где приращение-перенос ct — xt-2> • •, xo, x-i> • • •, x-k+i) € зависит от своих аргументов нелинейно в силу рекуррентного соотно- шения: ct - L(aixt + . + akxt-k+i + ct-i)/N\ - (6.5.8) наименьшая целая часть числа («i^ 4-a2#t-i + • • + Q-i) используемого при формировании Генератор псевдослучайной последовательности (6.5.7), (6.5.8) был впервые предложен К. Коцем и назван рекуррентным генератором с переносам. В отличие от рассмотренного в предыдущем параграфе конгруэнтного генератора, использующего умножение с переносом, ре- куррентный генератор с переносом порождает псевдослучайные после- довательности так называемого p-типа (по форме греческой буквы р с “хвостом”, ведущим к “петле”), которые не являются строго стационар- ными. Однако длина “хвоста” не превосходит /г, а длина “петли” или, что эквивалентно, период Ттах есть порядок элемента N для модуля s = akNk +ak-iNk~1 + ... + aiN - 1. В качестве примера рекуррентного генератора с переносом, “прохо- дящего все тесты из батареи тестов DIEHARD”, приведём генератор, который получил название “Мать всех генераторов псевдослучайных последовательностей” [108], [109]: xt+1 - (5115яг + 1776a:t_i + 1492xt_2 + 2111111111жг_з +сг) mod232. Период для порождаемых им последовательностей Ттах т 2158.
fi.f). Генераторы на основе регистра сдвига 181 6.6 Генераторы, использующие регистр сдвига В этих генераторах биты текущего генерируемого (компьютерного) $лова рассматриваются как элементы двоичного п-вектора. Для гене- рации последовательности двоичных п-векторов #1, • • 6 V2n ис- пользуются итерации линейных преобразований: xq—P, xi=pA, х2 = рА2, £3 =/?А3, , (6.6.1) где р — некоторая начальная (ненулевая) двоичная (1 х п)-вектор- строка; А — двоичная (п х п)-матрица, а все арифметические операции Донимаются по модулю 2. Генераторы псевдослучайных последовательностей вида (6.6.1) ино- гда называют генераторами Таусворта. Двоичная матрица А обычно выбирается так, чтобы вычисление произведения рА легко реализовывалось бы с помощью простых (бы- стрых) компьютерных операций. Обычно выбирают (ln + 7?s)(/n+LT), (6.6.2) Где 1п — единичная (п х п)-матрица; R — матрица, задающая следую- щее преобразование сдвига компонент вправо на одну позицию: (/?1; ,б2) А)/? = (о, л,/?2) a L — матрица, определяющая сдвиг компонент влево на одну позицию: (/?1,/?2,...,/?п-1,^п)Ь- (/?2,/?з,...Х,0). При этом R состоит из нулей, исключая все единицы, которые стоят над главной диагональю. Аналогично устроена матрица L: все еди- ницы у неё стоят под главной диагональю (матрицы L и R отличаются Транспонированием). Тогда преобразование, задаваемое матрицей А, реализуется в виде цепочки преобразований: р -> р' ~ р е pRs р" = р' е pfLr = ра, Каждое из которых выполняется только с помощью двух (очень бы- стрых) компьютерных операций: сдвиги регистра вправо-влево и сло- жение по модулю 2 (операция XOR). Выбор параметров Р, А этого генератора осуществляется с исполь- зованием следующего утверждения [108].
182 ГЛАВА 6. Генерирование последовательностей Теорема 6.6.1. Пусть А — произвольная невырожденная двоич- ная (п х п)-матрица, а 0 — произвольный ненулевой двоич- ный п-вектор. Чтобы последовательность двоичных п-вскторов /?, /ЗА, /ЗА\... € V? имела максимально возможный период Ттах — 2п — 1, необходимо и достаточно, чтобы матрица А имела порядок 2П — 1 в группе невырожденных (п х п) -матриц. В заключение приведем примеры матриц А, обеспечивающих дости- жение максимального периода: а) при п ~ 32 А = (1з2 + ^15)(^з2 4- £17)> или А = (/32 4- Я17)(/з2 4- Г15); б) при п ~ 31 А — (/з1 4- L18)(Z3i 4- /?13)> или А = (/з1 4- £13)(1з1 4- Я18)- 6.7 Генераторы Фибоначчи Генераторы этого типа используют некоторый начальный набор целых чисел #i,х%, хг, определяющий “стартовое слово” а ~ (#1, Х2,. •, шг) и два лага (запаздывания) г, s € N, причём г > s. Алгоритм генерации похож на алгоритм генерации чисел Фибо- наччи: xt = xt~r oxt-s (t = г, г 4-1,г4-2,...), (6.7.1) где символ о — символ бинарной операции, в качестве которой может использоваться одна из следующих операций: (ХОТ?). В случае “4-” или {#*} могут быть целыми числами (mod2Ar) или вещественными числами одинарной или двойной точности (mod 1). Для операции {#t} — нечётные числа (mod2/c). Такой генератор (6.74)
&7.- Генераторы Фибоначчи , 183 дазевдослучайных последовательностей принято обозначать F(r, s, о) и называть генератором Фибоначчи. Дадим краткий анализ генератора Фибоначчи (6.71) для каждого из типов используемой бинарной операции о € {+, —, *, Ф} [108]. Случаи F(r, s,±), когда xt = (xt-r ± zt-J mod 2*, t — г + 1, r -J- 2,... , (6.7.2) являются частными случаями генераторов, использующих рекурренту В конечном поле, которые были рассмотрены в § 6.5. Однако более про- сто для исследования (6.7.2) использовать метод матричных преобразо- ваний из § 6.6. Как и в § 6.6, представим последовательность (6.7.2) в Виде последовательности г-векторов: а, аА, аА2, аЯ3, ... (mod2fe), (6.7.3) Где А — (г х г)-матрица, все элементы которой равны нулю,за исключе- нием двух диагоналей, состоящих из единиц: главной диагонали и ниж- Йей поддиагонали, начинающейся с элемента (г — s + 1,1). В?еорема 6.7.1. Пусть А — произвольная (г х г)-матрица с элемен- тами из V2k, имеющая нечётный определитель. Для того чтобы последовательность г-векторов (6.7.3) имела максимальный период Ттах — (2Г — 1)2/с”1 для любого ненулевого начального вектора а = (•Х1,..., хг)? не все элементы которого чётны, необходимо и доста- точно, чтобы матрица А имела порядок j = 2Г — 1 в группе невыро- жденных матриц по mod2, порядок 2j по mod4 и порядок 4j по mod8. Примерами генераторов Фибоначчи (6.7.2) максимального периода на множестве V2k являются генераторы F(17,5, +), F(17, 5, —). Со- гласно теореме 6.7.1, для них достигается максимальный период Ттах — (217- 1)2/г“1. Случай генератора Фибоначчи F(r, s, *), когда xt = (xt-r * xt-5) mod2\ t = г + I,г + 2,... , (6.7.4) Исследуется с использованием следующей теоремы [108]. Теорема 6.7.2. Если генератор Е(гуз,ф) обеспечивает достижение Максимального периода Ттах — (2Г — 1)2/г“1 на множестве целых чи- сел по модулю 2\ то генератор Фибоначчи F(r,sy*) на множестве
184 ГЛАВА б. Генерирование последовательностей нечётных чисел по модулю 2k (когда Xi,.. .,xr Е Vp* — нечётные чи- сла) обеспечивает достижение периода Т — (2Г — 1)2^~3. Примером генератора Фибоначчи (6.7.4) на множестве нечётных чи- сел по mod232 является генератор F(17,5, *) с периодом Т = (217 —1)229. В случае генератора F(r,s,&) порождаемая псевдослучайная после- довательность представляет собой последовательность двоичных n-векторов (компьютерных n-битовых слов): , 6 У?, Xt = Xt-r Ф Xt-s, / = г ф 1, г + 2,..., (6.7.5) причём операция ф выполняется с двоичными векторами по- компонентно. Последовательность (6.7.5) иногда называют последова- тельностью, порождённой обобщённым регистром сдвига с обратной связью. Максимально возможный период последовательности (6.7.5) не пре- восходит Tmax = 2Г — 1 и не зависит от пу например для генератора •К(47,5,ф) период Ттах — 217 - 1 = 131071. Как отмечается в [109], ге- нераторы F(r, $,ф) этого типа “начинают проходить батарею тестов DIEHARD” лишь для достаточно больших значений лага г > 600; при меньших значениях г использовать генераторы F(ry $,ф) нецеле- сообразно. 6.8 Составные генераторы Как уже отмечалось в § 6.3, составные (комбинированные) генера- торы псевдослучайных последовательностей для построения выходных последовательностей используют две или более “простейшие” псевдо- случайные последовательности, генерируемые ^методами из § 6.4 — 6.7. Идея построения составного генератора базируется на том факте, что комбинация двух или более простых генераторов случайных чисел с помощью одной из следующих операций комбинирования о: Ф, — , * , Ф, приводит к генератору с “лучшими свойствами случайности”. Суще- ствует интересное теоретическое объяснение этому факту.
Составные генераторы 185 Пусть ж.Е 5 = {1,2,..., #} — произвольная дискретная случайная величина со значениями в конечном множестве Stмощности N = |S|, имеющая дискретное распределение вероятностей: Pi - Р {т - i} , i € S'; Pi -Н.. + Pn - 1- (6.8.1) Нашей целью является построение генератора, у которого имеется рав- номерное распределение вероятностей на S: = i £S. (6.8.2) Поэтому введём в рассмотрение расстояние между распределением р — (Р1,...,рлг) ир* = (1/7V, лл = ||р-р*|| = J2lPi -Pil € [0,1]. (6.8.3) Пусть далее у £ S — некоторая другая случайная величина с распре- лением q — (gi,..., ?дг), не зависящая от х. Зададим на S бинарную [ерацию , определяемую специальной таблицей — латинским ква- >атом. Например, при N ~ 3: 4 1 2 3 1 3 1 2 2 1 2 3 3 2 3 1 ^Теорема 6.8.1. Если бинарная операция задаётся латинским квадратом, то для комбинации zn — хп • уп (п — 1,2,...) независи- мых между собой случайных последовательностей хп, уп выполняется Соотношение <5{^} = у} < min( <5{ж}Л{р} ). (6.8.4) Доказательство. Найдём распределение вероятностей комбиниро- ванной последовательности zn: ТГ,- = Р {zn = г} - Р {^п • уп = г} , i&S. (6.8.5)
186 ГЛАВА 6. Генерирование последовательностей Используя формулу полной вероятности, (6.8.1) и условие независимо- сти случайных величин хп, уПу из (6.8.5) имеем N N Ъ = = O = «eS, (6.8.6) J-l j=l где /(г, j) € S есть единственное решение (относительно у) уравнения 3*У = г. По построению при любом фиксированном i 6 S {f(«,J) : j € 5} есть некоторая перестановка элементов S. Пусть теперь зафиксировано некоторое натуральное число г и за- даны некоторые уклонения распределений р, q от распределения р*, за- даваемого (6.8.2): p-p*+dp, IIM = ZX1 fel G [0,1], P = P*+h, IlM = SX l^.l € [0,1]. (6.8.7) Отметим, что в силу условия нормировки выполняются соотношения £Тр, = £<Уд< = 0. (6.8.8) г = 1 i=1 Подставляя (6.8.7), (6.8.2) в (6.8.6) и учитывая (6.8.8) и свойство функции /(’), находим искомое распределение вероятностей: 1 N Ъ = w ieS' (6.8.9) j = l С учётом (6.8.9) оценим расстояние между распределением тг — (тг;) и распределением р*: N ik-p*n=52 52 г=1 j-1 < 52521^нйдм)| = 1=1j=l N N = EfeiEi^i = ни нм- j=i k=i (6.8.Ю)
g.8. Составные генераторы 187 Здесь учтено свойство функции k = /(г, j), заключающееся в том, что ЙСЛИ i пробегает все значения из 5, то и k пробегает все значения из S. Из (6.8.10) с учётом (6.8.7) получаем доказываемое. Для исследования периодичности комбинированных последователь- ностей целесообразно использовать следующий результат. ^еорема 6.8.2. Если в условиях теоремы 6.8.1 последовательности Рп м Уп строго периодичны с периодами Тх и Ту соответственно, причём Тх, Ту — взаимно простые числа, то комбинированная по- следовательность zn — хп • уп имеет период TZ=TX-Ty. (6.8.11) Доказательство. По построению составного генератора его период &сть наименьшее общее кратное: tz -ноксад). Так как Тх, Ту — взаимно простые числа, то получаем (6.8.11). Приведём примеры достаточно эффективных составных генераторов псевдослучайных последовательностей, предложенных в [109]. Генератор COMBO: zn = (^n + Уп) mod232, хп = (^n-i * ^n-2) mod232, yn — (30903?/n_ 1 4- cn) mod216, n = 0,1,2,... . Последовательность xn порождается генератором Фибоначчи F(l,2,*) ha множестве 32-битовых нечётных чисел (см. § 6.7). Последователь- ность уп порождается мультипликативным конгруэнтным генератором ^переносом (см. § 6.4). Последовательность zn периодична с периодом х, 2бо_ Генератор KISS: - = («П + Уп + Wn) mod232, хп = (69069in_i 4-1) mod232, Уп — Уп-1(^32 + -£13)(-^32 + Л17)(-7з2 + £5)i ип = (2un_i + ип_2 + сп) mod232, п = 0,1,2,... .
188 ГЛАВА 6. Генерирование последовательностей Здесь последовательность хп порождается линейным когруэнтным ге- нератором (см. § 6.4), уп — генератором, использующим 3 регистра сдвига (см. § 6.6), ип — рекуррентным генератором с переносом (см. §6.5). Последовательность zn периодична с периодом Т « 2127. Генератор Макларена-Марсалъи. Пусть имеются два простей- ших генератора псевдослучайных последовательностей: генератор порождает последовательность {xt’ Е Цу : i — 0,12,...}, а генератор G2 порождает последовательность {yi 6 Vk : i = 0,1,2,...}. Пусть далее V — {У(0),..., V(K — 1)} — вспомогательная таблица К целых чисел. Вначале V-таблица заполняется К первыми членами последова- тельности {жг}: V(j) = ^, J = Элемент Zj Е V комбинированной последовательности вычисляется сле- дующим образом: s::~yi, Zi = V(s), V(s) ::= хк+i, г = 0,1,2,..., Отсюда видно, что генератор G2 осуществляет случайный выбор из V-таблицы, а также её случайное заполнение числами, порождаемыми генератором G\. Этот метод позволяет существенно ослабить зависи- мость между членами {^} и получать “невероятно большие” периоды, если периоды Тх, Ту последовательностей {#;}, {yi} являются взаимно простыми числами. Задачи и упражнения к главе 6 1. Пусть для генерации псевдослучайной последовательности #о, xij $2 • • • € Vn используется рекуррентное соотношение: xt+i = f(xt), t ~ 0,1,2,.. где /(•) : Vn Vn - некоторая заданная функция. Пока- зать, что последовательность {#*} является последовательностью p-типа, т. е. существуют числа г, Г, такие, что все значения .. .,а?Т4-дг_1 Е Vn различны, но xt±T = $t при t > т. Найти минимальные и максимальные возможные значения для т,Т. 2. Предположим, что в упражнении 1 начальное значение я о и функ- ция /(•) случайны и независимы: xq равномерно распределено
Задачи и упражнения к главе 6 189 на множестве Им, a f (-) равномерно распределена на множестве Nn всевозможных различных функций /(•). Такой генератор иногда называют случайным генератором псевдослучайной последовательности (его можно реализовать на ЭВМ как со- ставной генератор). Вычислить вероятность Р {Т = 1} того, что случайная последовательность вырождается, т. е. после некото- рого числа т значений превращается в последовательность, состо- ящую из одинаковых элементов. 3. В условиях упражнения 2 вычислить среднее значение периода Е{Г} и среднее значение фазы Е{т}. 4. Обобщить результаты выполнения упражнений 1—3 для случай- ного генератора с глубиной рекурсии m > 1: «р£4-1 “ —1, • • • у % t — m+1) j — 0 > 1 у 2, . . . . 5. Доказать соотношение (6.4.2) для k < 0. 6. Показать, что если нарушено условие взаимной простоты с и N в линейном конгруэнтном генераторе (см. теорему 6.4.2), то после- довательность {a?t} приобретает свойства, затрудняющие прохо- ждение тестов из § 6.2. 7. Найти период линейной конгруэнтной последовательности (6.4.1) с параметрами: х0 = 5772156648, а = 3141592621, с = 2718281829, N = Ю10. 8. Найти все допустимые множители а линейного конгруэнтного ге- нератора, удовлетворяющие теореме 6.4.2, если N = 235 + 1. (Та- блица разложения чисел вида 2д+1 на простые множители имеется в [И].) 9. Выполнить упражнение 8 при JV — 10б — 1. 10. Мультипликативный конгруэнтный генератор xt+1 = ((2174-3)х<) mod235, #о — 1, t ~ 0,1,2,... , подвергли следующему тесту. Пусть у^ = [10#t/235J, тогда в случае “иде- альности” генератора yt должна быть случайной цифрой от 0 до 9, а триады (ум, yst+i, З/згч-г) .€ Vi3 должны принимать лщбое из
190 ГЛАВА 6. Генерирование последовательностей 103 возможных значений с одной и той же вероятностью р = 10~3. Но в 30 000 идущих подряд чисел {yt} некоторые триады встреча- лись очень редко, а некоторые появлялись гораздо чаще других. Сможете ли вы объяснить этот странный результат? 11. Реализовать на ЭВМ мультипликативный конгруэнтный генера- тор (6.4.2) при N — 64, a = 5, с — 0, xq = 11. По вы- борке {жОз Xi,..., £999} построить гистограмму с числом ячеек К = 2; 4; 8; 16; 32; 64; построить диаграмму рассеяния биграмм (ж0}^1), (Я23#з), ••• > (^998, £999) • 12. Реализовать с наивысшим быстродействием на ЭВМ мультипли- кативный конгруэнтный генератор (6.4.2) при N = 231, a — ж0 = 29 + 3, с — 0, q — 4; 8; 12; 16; 20; 24; 28 (при q = 16 получается из- вестный стандартный генератор псевдослучайных последователь- ностей RANDU [32]). Сравнить эти семь генераторов по точноети имитации РРСП, используя тесты из § 6.2. Найти оптимальное значение параметра q*. 13. Реализовать с наивысшим быстродействием на ЭВМ мультипли- кативный конгруэнтный генератор (6.4.2) при N — 231 — 1, с ~ 0, ж о = а, выбирая в качестве множителя а “магические” числа, указанные в § 6.4 после теоремы 6.4.5. Используя тесты из § 6.2, убедиться, что наивысшая точность имитации РРСП достигается при а* = 397204094. 14. При N = 29 найти параметры жо, Ж1, а, 6, с Е Vn, такие, что после- довательность — (axt + bxt-i + с) mod AT, t — 1,2,..., имеет наибольший допустимый период для всех последовательно- стей этого типа. 15 15. Реализовать на ЭВМ линейный рекуррентный генератор (6.5.1) при N = 64, dj = 1 (j “ l,fc), k = 2;4;6; 8; 10. При помощи тестов из § 6.2 исследовать точность имитации РРСП в зависи- мости от начальных значений жо,ж~1,.. . ,ж„/;+1 Е Vn и порядка рекурренты fc. Исследования проиллюстрировать гистограммой и диаграммой рассеяния биграмм, как и в упражнении 11.
Задачи и упражнения к главе 6 191 16. Реализовать на ЭВМ нелинейные конгруэнтные генераторы (6.4.5), (6,4.6),(6.4.7), выбирая их параметры из условия достиже- ния максимального периода. При помощи тестов из § 6.2 сравнить эти генераторы по точности имитации РРСП. 17. Реализовать на ЭВМ нелинейные конгруэнтный и рекуррентный генераторы (6.4.8),(6.5.8) при N = 64, выбирая их параметры из условия достижения максимального периода. При помощи тестов из § 6.2 оценить точность имитации РРСП. Исследования про- иллюстрировать гистограммой и диаграммой рассеяния биграмм, как и в упражнении 11. 18. Реализовать на ЭВМ и исследовать по точности с помощью тестов из § 6.2 генератор (6.6.1) при п = 32, использующий два регистра сдвига: з ~ 15, т = 17. 19. Реализовать на ЭВМ и исследовать по точности с помощью тестов из § 6.2 генераторы Фибоначчи 7^(17,5,4-), F(17,5, *), F(17,5,ф) при п — 32. Действительно ли статистические свойства генера- тора F(17,5, ф) значимо хуже? 20. Рассмотреть обобщение теоремы 6.8.1 на случай /г-метрики: Цр-р*н = {52 ipi- р**1г- N £=1 21. Реализовать на ЭВМ и исследовать по точности методами из § 6.2 составные генераторы псевдослучайных последовательностей COMBO и KISS, приведённые в § 6.8. 22. Реализовать на ЭВМ и исследовать по точности методами из § 6.2 линейные конгруэнтные генераторы <?2 и основанный на них (см. § 6.8) составной генератор Макларена-Марсальи при К = 64, используя Gi : Gi : xt — 4* 19) mod 256, xq = 0, у ~ 1,2,..., G2 : yt - (33?/t_i + 7) mod64, yQ - 0, у - 1,2,.. Оценить периоды Tx,Ty,Tz. Сравнить точность имитации РРСП для этих трёх генераторов.
192 ГЛАВА 6. Генерирование последовательностей 23. (Задача Гирингера.) Анализ частот появления различных цифр в десятичном представлении числа е = 2,71828... даёт для пер- вых 2 000 цифр значение х2~статистйки, равное у2 = 1,06. Это указывает, что частоты лежат значительно ближе к средним зна- чениям, равным 200, чем можно было бы ожидать при равномер ном распределении цифр (Р{у2 > 1,15} = 0,999). Если приме- нить тот же тест к первым 10 000 цифрам, получается “разумное” значение у2 = 8,61; но факт столь “правильного распределения” первых 2 000 цифр остаётся удивительным. Произойдёт ли то же самое при представлении числа е в системе счисления с другим основанием b 10?
ГЛАВА 7 Математические модели стандартных симметричных криптосистем В настоящее время разработано большое количество симметрии- Ыых криптосистем, многие из которых являются национальными ли ведомственными стандартами. Наибольшую известность при- обрели системы DES, GOST, IDEA и некоторые другие. Они находятся бод пристальным вниманием современных криптологов, основной зада- чей которых является поиск различных “слабостей” этих и других кри- Цтосистем, а также изучение их свойств. Этим вопросам посвящены ||ногие журнальные публикации и книги (см. список литературы, при- Цедённый в конце данной книги). Ниже дано достаточно полное математическое описание перечислен- tax стандартов, обоснована корректность их работы, в том числе про- цедуры дешифрования; представлены математические свойства стан- дартных криптоалгоритмов и проанализирована их вычислительная Сложность.
194 ГЛАВА 7. Математические модели стандартных криптосистем 7.1 Математическая модель криптосистемы DES Стандарт DES был впервые опубликован в США в 1975 г. Он был разработан в корпорации IBM путём модификации более ранней вер- сии, известной под названием LUCIFER. В настоящее время появились дальнейшие его модификации. Это объясняется тем, что, как никакой другой стандарт, DES не изучался столь пристально криптоаналити- ками. 7.1.1 Описание стандарта DES В криптосистеме DES используется блочный принцип шифрования двоичного текста. Длина блока шифрования составляет 64 бита. Раз- мер ключа составляет также 64 бита. При этом каждый восьмой бит является служебным и в шифровании не участвует. Каждый такой бит является двоичной суммой семи предыдущих и служит лишь для обна- ружения ошибок при передаче ключа по каналу связи. Процесс криптопреобразования включает следующие три основных этапа. 1. Биты исходного сообщения х подвергаются начальной подста- новке IP в соответствии с табл. 7.1.1. Таблица 7.1.1 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 IP 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 Это значит, что 58-й бит становится первым, 50-й — вторым и т. д. Затем полученный вектор ж о “ 1Р(х) представляется в виде а? о = Lo^O) где Lq — левая половина из 32 бит, a Ro — правая половина из 32 бит. 2. Сообщение LqRq преобразуется далее 16 раз по так называемой схеме Фейстеля, приведённой на рис. 7.1.1: Li = Ri-ъ Ri = ф f (Ri_i,Ki)y i = l,2,..., 16, где функция f и расписание ключей A'i, /<2, • •, будут описаны от- дельно.
7.1. Математическая модель криптосистемы и ее свойства 195 Рис. 7.1.1. Криптопреобразование Фейстеля 3. Сообщение LiqRiq перемешивается подстановкой IP y = IP~\Ri6Ll6) есть зашифрованное сообщение. Шифрование осуществляется по схеме, приведённой на рис. 7.1.2. Функция f Эта функция имеет два аргумента Л, В. Первый из них состоит из 32 бит, а второй из 48 бит. Результат имеет 32 бита. 1. Первый аргумент А, имеющий 32 бита, преобразуется в 48- битовый вектор В (А) путём перестановки с повторениями исходного вектора А. Эта процедура одна и та же для всех раундов. Она задаётся табл. 7.1.2. Таблица 7.1.2 Р1 32 1234545678989 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 30 1 2. Далее вычисляется сумма Р(А) ф В и записывается в виде конка- тенации восьми 6-битовых слов: Р(А) ф В ~ В^ВзBsBiBsBqBtBs. 3. На этом этапе каждое слово В, поступает на соответствующий S-блок Si. Блок Si преобразует 6-битовый вход Bt в 4-битовый выход Ci. S-блок есть 4 х 16 матрица с целыми элементами в диапазоне от 0
196 ГЛАВА 7. Математические модели стандартных криптосистем Рис. 7.1.2. Схема криптопреобразования DES до 16. Два первых бита слова Д, если их рассматривать как двоич- ную запись числа, определяют номер строки матрицы S-блока. Четыре
7.1. Математическая модель криптосистемы и ее свойства 197 последних бита определяют некоторый столбец. Тем самым найден не- который элемент матрицы. Его двоичная запись и является выходом. В табл. 7.1.3 — 7.1.10 представлены все 8 блоков DES. Таблица 7.1.3 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 Si 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 И 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 Таблица 7.1.4 13 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 52 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 .9 Таблица 7.1.5 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 53 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 . 2 12 Таблица 7.1.6 54 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14 Таблица 7.1.7 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 4 2 1 11 10 13 7 8 15 9 12 5 б 3 0 14 И 8 12 7 1 14 2 13 б 15 0 9 10 4 5 3 Таблица 7.1.8 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 И 56 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6 4 3 2 12 9 5 15 10 И 14 1 7 6 0 8 13 Таблица 7.1.9 57 4 И 2 14 15 0 8 13 3 12 9 7 5 10 6 1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2 б И 13 8 1 4 10 7 9 5 0 15 14 2 3 12
198 ГЛАВА 7. Математические модели стандартных криптосистем Таблица 7.1.10 13 2 8 4 б 15 И 1 10 9 3 14 5 0 12 7 Ss 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 И 4. Выход С = СуСъ .. .Cs перемешивается фиксированной подста- новкой Pg: Таблица 7.1.11 Р2 16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 Расписание ключей 1. В 64-битовом ключе К устраняются биты 8,16,..64. Оставши- еся биты перемешиваются подстановкой Рз. Таблица 7.1.12 57 49 41 33 25 17 9 1 58 50 42 34 26 18 Рз 10 2 59 51 43 35 27 19 11 3 60 52 44 36 53 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4 Выход Р3(К) представляется в виде Рз(/<) = CqDq, где Со — левая половина, Dq — правая половина. 2. Очередные значения C^Di вычисляются по схеме Ci — Li[Ci—i)i Di — Li[Di—i), где Ц — циклический сдвиг влево на одну позицию, если i ~ 1,2,9,16. В остальных случаях Li — сдвиг влево на две позиции. 3. На этом этапе выход перемешивается подстановкой Р4. Таблица 7.1.13 14 17 11 24 1 5 3 28 15 6 21 10 Ра 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32
7.1. Математическая модель криптосистемы и ее свойства 199 7-1.2 Дешифрование в стандарте DES В процессе шифрования последовательно используются преобразо- вания IP, Ф1, Ф2,..., Ф1б, Т, 1Р~г. Каждое из преобразований Фейстеля является композицией двух преобразований. Первое из них — транспо- зиция L и R: T(L,R) ~ (R,L)- Второе фактически является преобра- зованием Вернама 32-битовых слов, т. е. V(L,R) — (^,Яф С), где С зависит от ключа и L. Таким образом, для любого i Ф; = ViT. Кроме того, легко убедиться, что V2 — Т2 ~ id — тождественное пре- образование. Такие преобразования (элементы группы) принято назы- вать инволюциями. Для них, в частности, верно Ц”1 = И, Т~} — Т. По правилу обращения произведения элементов неабелевой группы имеем D = E~l = ((IP^^TVreTV^T • ••Vi7(/P))“1 = (IP^TVm V16T(JP). Это означает, что дешифрование осуществляется теми же алгоритмом И ключом, но в расписание ключей надо внести некоторое изменение: поменять на обратный порядок генерации ключей. *7.1.3 Применение алгоритма DES для поточного шифрования Поточное шифрование осуществляется побитовым суммирова- нием сообщения М произвольной длины с ключом К такой же длины. Дешифрование производится аналогично, так как (М ф К) ф К = Мф(/<фК) = М. Для генерации ключа К применяются различные датчики псевдо- случайных чисел (см. главу 6). Алгоритм DES также используется для этой цели двумя способами. Пусть, например, надо зашифровать сообщение X = х^х2хз,... , где i > 1 — 64-битовый блок. Выберем вектор инициализации IV и ключ к стандарта DES. Построим ключ К = • • • нужной длины: к. EK(IV), к2 = ^(h), кз - EK(k2), ....
200 ГЛАВА 7. Математические модели стандартных криптосистем Шифрование и дешифрование будем производить по правилам У = X ф К, X = У ф к. При таком подходе поточный ключ зависит лишь от ключа К и вектора инициализации. Второй способ состоит в следующем. Генерация поточного ключа К = kikzks • • - производится по правилу fci = Ek(JV), &2 = Ек(х1 + &1)> — Ек(%2 + &з), .... Если к зашифрованной последовательности у\ = • применить то же правило, то получим исходную последовательность 7.2 Математическая модель криптосистемы IDEA 7.2.1 Модель IDEA Как и DES, стандарт IDEA шифрует 64-битовые блоки. Для деши- фрования применяется прежний алгоритм. Меняется лишь расписание ключей. Шифрование состоит из 8 раундов. Исходное сообщение X разбивается на четыре 16-битовых блока Х1,Х2,Хз,Х4. В шифровании используются следующие операции: XOR (обозначается знаком ф); сло- жение по модулю 216 (обозначается ЕН); умножение по модулю простого числа 216 + 1 (обозначается ф). В каждом раунде выполняются следующие операции: 1. Хг умножается на первый подключ. 2. %2 складывается (ЕВ) со вторым подключом. 3. Хз складывается (ЕН) с третьим подключом. 4. Х< умножается на четвёртый подключ. 5. СклЁадываются (ф) результаты (1) и (3). 6. Складываются (ф) результаты (2) и (4), 7. Умножается результат (5) с пятым подключом.
7.2. Математическая модель криптосистемы IDEA 201 8. Складываются (ЕВ) результаты (6) и (7). 9. Результат (8) умножается на шестой подключ. 10. Складываются (ЕВ) результаты (7) и (9). 11. Складываются (ф) результаты (1) и (9). 12. Складываются (ф) результаты (3) и (9). 13. Складываются (ф) результаты (2) и (10). 14. Складываются (ф) результаты (4) и (10). 15. Результаты (11), (13), (12), (14) подаются на вход следующего раунда. 16. После восьми раундов на вход финального преобразования пода- ются результаты (11), (12), (13), (14). Финальное преобразование (FT): 1. Xi умножается на первый подключ. 2. Х% складывается (ЕВ) со вторым подключом. 3. Хз складывается (ЕВ) с третьим подключом. 4. Х4 умножается на четвёртый подключ. Конкатенация результатов этих четырёх преобразований и есть за- шифрованный текст. \2.2 Расписание ключей и дешифрование * Алгоритм содержит 52 подключа, так как в каждом из 8 раундов Гспользуются по 6 ключей и еще четыре необходимы для финального феобразования. Эти ключи генерируются следующим образом. Сначала исходный 128-битовый ключ делится на восемь 16-битовых Юдключей. Первые шесть из них используются в первом раунде, а два остальных — во втором. Затем исходный ключ сдвигается циклически итево на 25 позиций и опять делится на 8 подключей. Первые четыре из шх предназначаются для второго раунда, а остальные четыре — для Третьего. Этот процесс продолжается до окончания алгоритма.
202 ГЛАВА 7. Математические модели стандартных криптосистем Дешифрование осуществляется аналогично. Обращается порядок использования ключей, а сами они мультипликативно или аддитивно обратны ключам шифрования (см. табл. 7.2.1,7.2.2). При мультипликативном обращении нулевого ключа по модулю 216 4-1 его полагают равным 216 = -1 и, таким образом, О”1 = 0. Таблица 7.2.1. Ключи для шифрования Раунд Ключи 1 у(1) у(1) у(1) yt1) z2 z3 z4 z5 z6 2 y(2) 7(2) 7(2) y(2) y(2) 7(2) Z/l Z2 //3 ^4 Z'g Zg 3 7(3) y(3) y(3) y(3) 7(2) 7(2) z2 z3 z4 z5 z6 4 /(4) y(4) y(4) /7(4) /7(4) 7(4) ^1 z3 ^4 Z5 ^6 5 y(5) y(5) y(5) y(5) у (5) y(5) Z1 Z2 Z3 Z4 Z5 Z6 6 7(6) 7(6) 7(6) /(6) 7I6) 7Z6) z2 z3 z4 z5 z6 7 y(7) y(7) /7) ^(7) y(7) y(7) zx z2 z3 z4 z5 z6 8 z^ z^ z^ z^ FT 7(9) y(9) y(9) /(9) ^2 ^3 ^4 Таблица 7.2.2. Ключи для дешифрования Раунд Ключи 1 z(9)-l 7(9) 7(9) z(9)~l 7(8) 7(1) Z1 Z2 Z3 Z4 Z6 2 7(8)-l z(8) z(8) z(8)-1 z(7) y(7) Zi z3 z2 z4 z5 z6 3 z^-1 z^ z<7) zf-1 z^ z^ 4 7(6)-l 7(6) 7(6) 7(6) —1 7(5) 7(5.) Zi z3 z2 z4 z5 z6 5 7(5)-l 7(5) 7(5) 7(5)~1 7(4) 7(4) Z1 Z3 Z2 Z4 Z5 ^6 6 Zp)_1 Z^4) Z^4) zi4)-1 z^3) z^3) 7 7(3)-l 7(3) 7(3) 7(3)-l 7(2) 7(2) z3 z2 z4 z5 z6 8 7(2) —1 7(2) 7(2) 7(2)-l 7(1) 7(1) Zi z3 z2 z4 z5 z6 FT Z^'1 z^ z{4}~4 7.2.3 Корректность дешифрования Процесс шифрования можно описать следующим образом. Рассмо- трим преобразования пространства У64: Н(Х) = (ХЛ, Ш Х2, Z3 ЕВ Х3, Z4X4), F(X) - (У1} У2, У3, У4),
7.2. Математическая модель криптосистемы IDEA 203 У1 — Хх Ф <^(Xi Ф Х3, Х2 ф Х4, Z5, Ze), У2=Х2ф^(Х1ФХ3,Х2фХ4,Х5,^6), Уз — Х3 ф <p(Xi ф Х3, Х2 ф Х4, Zq, Ze), У4 = Х4 ф ip(Xi ф Х3, Х2 Ф Х4, Ze, Ze), где ¥>(Ui, U2, U3. U4) = (((/1U3) ffl У2)У4, Ж, U2, 73, и4) - /(/71, и2, из, U4) Е0 (^17з). Рассмотрим функцию T(Xi,Х2, Х3, Х4) = T(Xi, Х3, Х2, Х4). Функции Н, F,T — обратимы. В самом деле, Н~\Х) = (Z^X, (~Z2) ffl Х2, (~Z3) Ш Хз, Z^X4). Обратимость нуля в операции умножения уже оговорена в стан- дарте. Обратимость остальных элементов вытекает из простоты числа Й16 ф 1. Обратимость функций F и Т следует из их инволютивности: F2 = Т2 —— id => F~] = F, Т’1 zr Т. Докажем инволютивность F. С этой целью вычислим первую ком- |Воненту вектора F2(X): У1 Ф (У1 Ф Уз, У2 Ф П, Ze, ZQ) = = Хх ф ^(Хх ф Хз, Х2 ф Х4, Z^ Ze) + ^(У1 Ф Уз, У2 Ф У4, Z5, Z6). Воследнее выражение равно просто Xi, поскольку Xi ф Хз = Ух ф Уз, pf2 Ф Х4 = У2 ф У4, Заметим, что хотя преобразование Я и не инволю- |ивно, но обратное преобразование Я’1 также относится к такому же 1ипу. Преобразование каждого раунда, за исключением последнего, имеет |ид TFiHj. В последнем раунде отсутствует Т. Работа алгоритма завершается преобразованием Я9. Поэтому любое Преобразование стандарта можно записать в виде Е H9F3Hs TF7H7 . ..TF2H2 ТР^. По правилу обращения произведения в неабелевой группе и в силу |аволютивности Т и Fj Е-1 = H^FiT Я2гР2Т ... H^F7T HgrFsH^r.
7.3. Математическая модель криптосистемы GOST 205 204 ГЛАВА 7. Математические модели стандартных криптосистем Полученное преобразование отличается от преобразований стан- дарта лишь другой расстановкой преобразований Т. Это обстоятель- ство можно игнорировать за счет изменения в расписании ключей. В самом деле, Е-1 = . (TH^T^TFriTHi^TFsHg1. Теперь уже преобразования Т стоят на нужных местах. Остается лишь показать, что преобразования TH~lT, i — 2, 3,..., 8, относятся к пре- образованиям типа Н. Это достигается прямым вычислением: ТН-гТ = (Z^Xi, -Z3 ЕВ Х2, -Z2 ЕВ х3, z^x4). Последняя формула и вид Е~г определяют указанное расписание клю- чей для дешифрования. 7.3 Математическая модель криптосистемы GOST В зарубежных источниках сообщается, что GOST является 64- битовым 32-раундовым алгоритмом с 256-битовым ключом. Имеющиеся в алгоритме S-блоки также можно использовать как ключ. При шифро- вании сообщение представляется в виде конкатенации двух половинок LR. Один раунд алгоритма осуществляет одно преобразование Фей- стеля (см. рис. 7.3.1): Ц = Ri^ii Ri = Li^i ф Ki). Отличие от стандарта DES — лишь в конструкции функции /. Работа алгоритма завершается транспозицией: LR —> RL. Описание функции f Сначала правая половина Ri складывается по модулю 232 с подклю- чом Ki. Полученное 32-битовое сообщение делится на восемь 4-битовых частей. Каждое из этих 4-битовых чисел преобразуется соответствую- щим S-блоком в другое 4-битовое число. Любой S-блок определяется некоторой 16-битовой перестановкой на множестве из 16 элементов 0,1,... , 15. В качестве S-блоков могут ис- пользоваться различные таблицы чисел. Например, в Российском Цсн- Puc. 7.3.1. Один раунд GOSTa Агробанке применяются S-блоки, задаваемые следующими таблицами: Si = (4 10 9 2 13 8 0 14 6 11 1 12 7 15 5 3), S2 = (14 11 4 12 6 13 15 10 2 3 8 1 0 7 5 9), S3 (5 8 1 13 10 9 4 2 14 15 12 7 6 0 9 11), S4 = (7 13 10 1 0 8 9 15 14 4 6 12 И 2 5 3), S5 = (6 12 7 1 5 15 13 8 4 10 9 14 0 3 11 2), S6 = (4 11 10 0 7 2 1 13 3 6 8 5 9 12 15 14), S7 = (13 11 4 1 3 15 5 9 0 10 14 7 6 8 2 12), S8 = (1 15 13 0 5 7 10 4 9 2 3 14 6 11 8 12). После преобразования S-блоками полученное сдвигается влево на 11 позиций. 32-битовое сообщение Ключевое расписание Исходный 256-битовый ключ делится на восемь 32-битовых под- ключей &i, • Де; они используются в 32 раундах в следующем по- рядке: 1234567812345678123456788765432 1. При дешифровании порядок использования подключей меняется на противо- положный.
206 ГЛАВА 7. Математические модели стандартных криптосистем Задачи и упражнения к главе 7 1. Выписать в явном виде подстановку IP-1. Найти её разложение в произведение независимых циклов и вычислить её порядок. 2. Выписать в явном виде ключи всех 16 раундов стандарта DES. 3. Доказать, что преобразования Т, V, IP, IP-1, а потому и все преобразования стандарта DES в целом являются чётными под- становками на пространстве Рб4- 4. Убедиться, что все S-блоки стандарта DES являются нелиней- ными преобразованиями из Vq в Vs. 5. Установить свойство дополнительности DES: = Е^[х), где черта означает взятие дополнительного вектора, т. е. х 4- х = 0. 6. Пусть Т(Г, 2?) = (R.L), = (L,R®(\). Вычислить порядок преобразования Ф1 = TVi. Вычислить порядки композиции Ф1Ф-2, Ф1Ф2Фз- 7. Показать, что преобразования вида Н в стандарте IDEA образуют группу относительно их композиции. 8. Изобразить блок-схему алгоритма IDEA. 9. Докажите, что всякое преобразование стандарта GOST обратимо и является чётной подстановкой на множестве всех 64-битовых слов. 10. Предложите какие-нибудь алгоритмы генерации псевдослучайных последовательностей при помощи алгоритма GOST. Оцените ве- личину их периода. И. Предложите возможные криптоатаки для двух- или трёхраундо- вой криптосистемы GOST.
ГЛАВА 8 Математические методы криптоанализа 8.1 Задачи и принципы криптоанализа Любая математическая теория наряду с прямыми задачами рассма- тривает обратные задачи, которые часто оказываются вычислительно более сложными. Криптоанализ занимается задачами, обратными по отношению к задачам криптографии. В формулировке известного кри- птолога В. Фридмена, “криптоанализ включает определение использу- емого языка, типа криптосистемы, ключа и исходного текста; обычно именно в этом порядке”. Следует сразу же заметить, что основная цель криптоанализа со- стоит не в проникновении в компьютерные сети противника для овла- дения конфиденциальной информацией, а в оценке стойкости (надёж- ности) используемых и разрабатываемых криптосистем [7]. Методы криптоанализа позволяют оценивать стойкость (уровень безопасности) криптосистемы количественно в виде числа W компьютерных опера- ций, необходимых криптоаналитику для вскрытия ключа (или исход- ного текста). Для пользователя криптосистемы важно, чтобы это чи- сло W было настолько велико, что при реализации криптоатаки на со- временной вычислительной технике требуется машинное время /маш (например, нескольких лет), в течение которого переданная в зашифро- ванном виде информация потеряет свою ценность.
208 ГЛАВА 8. Математические методы криптоанализа Приведём пять основных принципов, “выстраданных криптоло- гами — теоретиками и практиками”, которые используются при ре- шении задач криптоанализа [44]. 1. Не следует недооценивать противника. 2. (Принцип Керкгоффса). Только криптоаналитик может су- дить о безопасности криптосистемы. 3. (Принцип Керкгоффса-Шеннона). Противник знает исполь- зуемую криптосистему с точностью до ключевой информации. 4. (Принцип Живерже). Поверхностные усложнения криптоси- стемы могут быть иллюзорны, так как порождают ложные оценки её стойкости. 5. При оценке стойкости некоторой криптосистемы надлежит учиты- вать криптографические ошибки и другие нарушения дисциплины безопасности. Согласно принципу Керкгоффса-Шеннона, основной задачей кри- птоаналитика является задача оценивания ключевой информации при условии, что сама используемая криптосистема известна. Алгоритм оценивания ключевой информации принято называть крипто атакой. Как уже отмечалось в главе 1, в зависимости от условий взаимодействия криптоаналитика с криптосистемой различают следующие четыре типа криптоатак: Ai) криптоатака с использованием только криптограмм; А2) криптоатака с использованием открытых текстов и соответствую- щих им криптограмм; A3) криптоатака с использованием выбираемых криптоаналитиком от- крытых текстов и соответствующих им криптограмм; А4) криптоатака с использованием активного аппаратного воздействия на криптосистему. Эти четыре типа криптоатак упорядочены по возрастанию степени активности криптоаналитика при взаимодействии с криптосистемой. В
8.1. Задачи и принципы криптоанализа 209 частности, четвёртый тип криптоатаки А4, появившийся в самые по- следние годы [20], [21],, предполагает, что криптоаналитик имеет физи- ческий доступ к чипу, реализующему криптосистему. При этом предпо- лагается, что доступ к области памяти, содержащей ключевые параме- тры и алгоритм шифрования, не может быть осуществлён без стирания содержащейся в ней информации. Аппаратное воздействие криптоана- литика состоит в том, что задаётся специальный открытый текст И ана- лизируются соответствующие ему криптограммы в двух ситуациях: а) чип работает в обычных условиях; б) чип подвержен воздействию специ- ального поля, порождающего сбои в криптограмме. Отметим, что этот новый вид криптоатаки возник в связи с массовым использованием ин- теллектуальных электронных карточек (smart cards), в чипе которых обязательно используется криптоалгоритм. История возникновения и развития криптоанализа от докомпьютер- ной эры до нашего времени достаточно подробно изложена в [44], [70], [20], [9]. В качестве исторически первой монографии, посвящённой кри- птоанализу, следует упомянуть книгу А. Синкова [141]. Не останавли- ваясь на истории криптоанализа, заметим лишь, что пакеты приклад- ных программ по криптоанализу появились уже и на свободном рынке программных продуктов [44]. Так, американская фирма Access Data Recovery распространяет программный продукт для криптоанализа ши- фрований, используемых в широко распространённых программных си- стемах MS Word, Word Perfect, MS Excel, Lotus 1-2-3, Symphony, Para- dox, Quattro Pro. Хотя криптоанализ характеризуется глубокой историей и интенсив- ным развитием на современном этапе, единая математическая теория криптоанализа ещё не разработана. Результаты исследований по кри- птоанализу сосредоточены в основном в зарубежных публикациях и по- священы главным образом частным задачам реализации определённых криптоатак для конкретных криптосистем. Анализ зарубежных ис- следований по криптоанализу позволяет выделить следующие четыре основных класса методов криптоанализа: 1) метод “опробования”; 2) методы криптоанализа с использованием теории статистических решений; 3) линейный криптоанализ; 4) разностный криптоанализ. Методы из первого класса применяются для криптоанализа как сим- метричных, так и асимметричных криптосистем; методы из остальных
$2, Метод “опробования” и его сложность 211 210 ГЛАВА 8. Математические методы криптоанализа трёх классов применяются для криптоанализа симметричных крипто- систем. В связи с этим в последующих параграфах рассматриваются в основном симметричные криптосистемы. Вопросы криптоанализа кри- птосистем с открытым ключом рассматриваются в главах 9, 10. 8.2 Метод “опробования” и его вычислительная сложность Пусть рассматривается произвольная симметричная криптосистема, общая математическая модель которой описана в § 5.4. Пусть X (жх,..., xn) Е ~ открытый текст, подлежащий зашифрованию; 0Q - (#1,... ,#£) Е 0 С — истинное значение ключа, использованное в данном сеансе шифрования; /(•) — криптографическое преобразование, а У = (ух,..., yn) Е — криптограмма (зашифрованный текст): У = f(X; <9°). (8.2.1) Напомним, что обязательным условием любой криптосистемы является условие биективности преобразования (8.2.1) при фиксированном значе- нии ключа (параметра) 0°, так что выполняется соотношение /-1(У; 0°) = X. (8.2.2) Соотношение (8.2.2) фактически определяет алгоритм расшифрования зарегистрированной криптограммы У санкционированным получате- лем информации, который знает ключ 0°. Метод ”опробования” (полного перебора, “brute force attack”) базируется на соотношении (8.2.2) и заключается в следующем: 1) на основе имеющейся криптограммы У Е и соответствующего ей открытого текста X Е составляется система уравнений относи- тельно 0 — (#i,, 0/,): /г1 (У; 61) = Xi, (8.2.3) или в векторном виде: f~\Y-e) = Х; 2) полным перебором всех возможных значений ключевого парамв' тра в Е 0 С V£ находится подмножество ©о = {0^,..., } I решений этой системы; * 3) если число найденных решений I — 1, то в силу (8.2.2) опреде- лено истинное значение параметра 9 — 0°; в противном случае 0О не рляется одноточечным множеством и определено подмножество I зна- чений искомого параметра, одно из которых в силу (8.2.2) совпадает с |стинным значеним 0°. \ В случае I > 1 целесообразно увеличить число уравнений в системе В.2.3). Для этого необходимо увеличить число символов п в исходном робщении X либо получить и использовать в (8.2.3) q > 1 пар (сооб- цение, криптограмма) (Х^У^), ..., (Х^,У^): /-1(У^\ в) = Х^\ j = Tq. (8.2.4) ЁГвеличивая п или q, можно достичь случая I ~ 1 и, следовательно, достичь безошибочного оценивания ключа: 0 — 0°. Как видно из описания, в данном виде метод “опробования” исполь- зуется в криптоатаках типа Аз (т. е. при наличии открытых текстов Г соответствующих им криптограмм). Метод “опробования” иногда применяется и в криптоатаках типа Аз (при наличии только крипто- грамм); при этом вместо равенства (8.2.4) для всех 9 Е 0 проверяется, ‘имеет ли текст 0) смысловое значение”. Однако такое при- еенение возможно лишь в случае, если априорно известно, что переда- ваемые сообщения представляют собой “имеющий смысл текст”. Вычислительная сложность метода “опробования” характеризуется количеством компьютерных операций, необходимых для реализации того метода: W W(n, q, |©|) = |0| • ТУДп, q\ (8.2.5) ГДе |0| — количество всевозможных допустимых значений параметра (ключа) 0°, Wi(n,q) — число компьютерных операций, затрачиваемых а “опробование” (проверку (8.2.4)) для одного значения 0. Обычно j^i(n,g) зависит от q линейно: lVi(n, q) - w(n) • q, (8.2.6) Где w(n) — число компьютерных операций, затрачиваемых на проверку |8.2.3) применительно к n-символьным сообщениям для единичного зна- мения 6 Е 0; w(ri) фактически совпадает с числом компьютерных опе- раций при расшифровании криптограммы (вычисление обратной функ- ции /"’1(-)) при известном ключе. Заметим, что величина w(n) явля- ется известной характеристикой для каждой реальной криптосистемы,
212 ГЛАВА 8. Математические методы криптоанализа причём чем выше быстродействие криптосистемы, тем эта величина меньше. Из (8.2.5), (8.2.6) следует, что основным фактором, определяющим вычислительную сложность метода “опробования” и одновременно кри- птостойкость алгоритма шифрования по отношению к рассматривае- мому методу криптоатаки, является мощность пространства ключей |0|. С учётом этого оценим вычислительную сложность метода “опро- бования” для криптоанализа известных криптосистем, описанных в § 5.4, 7.1 — 7.3. 1 * Подстановка символов алфавита Для этой криптосистемы 0 есть множество всевозможных подстано- вок символов алфавита кд^за исключением тождественной подстановки, поэтому |0| = 7V!-1, (ЛЧ-l)?w(n). (8.2.7) Иногда, чтобы усилить “перепутывание” символов, задают 0 как множество моноциклических подстановок, т. е. таких подстановок, ко- торые имеют единственный цикл максимального порядка У. При этом очевидно, что |@| = QV - 1)!, W = (N - (8.2.8) 2. Перестановка символов текста с периодом Т При этом 0 есть множество всевозможных подстановок индексов {1,2,.. .,Т} переставляемых символов текста, за исключением тожде- ственной подстановки, поэтому |0| = Т!-1, W = (T!-l)gw(n). (8.2.9) Как и в (8.2.8), в случае моноциклических перестановок 0 имеем |0| =: (Т - 1)!, W = (Т - l)!gw(n). (8.2.10) Отметим, что, как видно из (8.2.9),(8.2.10), при шифровании с по- мощью перестановки символов текста вычислительная сложность кри- птоатаки методом “опробования” не зависит от мощности алфавита N, как в случае (8.2.7), (8.2.8), а определяется величиной периода Т. 3. Шифр Виженера и его модификации В этом случае © = {6> = (01?.. : OiE VN, i = T/T}\{QT}>
8.2. Метод '‘опробования” и его сложность 213 ПОЭТОМУ ; ч. |0| = NT - 1, • W!=(^T-l)gw(n). (8.2.11) При Т = 1 имеем шифр Цезаря и Бофора, для которых |0| = А —1, W = -l)qw(n). (8.2.12) 4* Шифр Вернама (поточный шифр) Его можно рассматривать как частный случай шифра Виженера, цсогда Т =п,т.е. когда период совпадает с длиной шифруемого текста: |0| = Nn - 1, W = (Nn - l)qw(n). (8.2.13) 5. Б лочно-итерационный шифр DES В этом случае двоичный текст (N = 2) шифруется блоками размера д = 64 и используется 56-битовый ключ: е = {^=х(^,...,^5б): м, ; = Цб}, поэтому |0| = 256, W = 2569ю(64). (8.2.14) ©тметим, что, используя некоторые специальные свойства DES, вычи- слительную сложность W можно уменьшить вдвое (см. § 8.4). 6. Блочно-итерационный шифр IDEA В отличие от DES размер ключа увеличен до 128 бит, поэтому |©| = 2128, W = 2128?w(64). (8.2.15) 7. Блочно-итерационный шифр GOST В отличие от DES и IDEA размер ключа увеличен до 256 бит, по- грому |0| = 2256, W = 22569w(64). (8.2.16) В табл. 8.2.1 приведены для сравнения вычисленные с помощью 8.2.7) — (8.2.16) и таблиц из приложения А значения |0|, а также значе- ния среднего времени перебора 0 с помощью суперкомпьютера INTEL iSCI RED (в порядке возрастания) для некоторых часто используемых значений параметров N, Т, п. Для оценки значимости приведённых рисел отметим, что количество секуцд в 70-летней человеческой жизни (оставляет « 2,21 • 109, а количество секунд с момента Рождества, Хри- стова до сегодняшнего дня составляет «6,31/Ю10.
214 ГЛАВА 8. Математические методы криптоанализа Таблица 8.2.1. Мощностные характеристики пространства ключей Номер Криптосистема |0| Среднее время перебора для INTEL ASCI RED 1 Цезаря, N = 26 25 1,2-10-11 с 2 DES 7,21 1016 9,4 ч 3 Моноциклическая подста- новка символов, N = 26 1,55- 1025 2,3 • 106 лет 4 Подстановка символов, А = 26 4,03 -1026 6,0 ’ 107 лет 5 IDEA 3,40- 1038 1,3-1021 лет 6 Виженера, N = 26, Т = 32 1,90- 1045 7, 3 • 10s7 лет 7 GOST 1,16-1077 1,7 10м лет 8 Т -моноциклическая перестановка символов текста, Т = 64 1,99- 108S 2,9 1069 лет 9 Т-перестановка символов текста, Г — 64 1,27- 109° 1,9- 1071 лет 10 Бернама (поточный шифр), N = 26, п = 128 1,30 • 10181 2,0 • 1016* лет 8.3 Методы криптоанализа на основе теории статистических решений Рассмотрим симметричную криптосистему, описываемую матема- тической моделью (8.2.1), (8.2.2): У = /(Х;0°), Х = X = (x1,...,xn)&V^, (8.3.1) Y = (У1,...,уп)ЕУ$, «0 = ^,...4)6ес^. Будем рассматривать криптоатаку типа Ai, когда криптоаналитик априорно знает криптографическую функцию f (•) с точностью до ключа 0Q и наблюдает криптограмму Y длины п. Задача криптоанализа за-
8.3. Использование теории статистических решений 215 ключается в оценивании неизвестного параметра 0° Е © криптографи- ческой функции по наблюдению Y. Методы криптоанализа с использованием теории стати- стических решений основываются на следующих дополнительных модельных предположениях: Ui) исходный текст X представляет собой случайную последователь- ность с некоторым заданным дискретным распределением вероят- ностей Pn(a) -Pn(ai, • • .,а„) = Р {X = а} = Р{ач = ai,.. .,жп = ап} , (8.3.2) О < р(а) < 1, а= (а1,---,ап) G V/v, £рп(а) = 1; U2) параметр 0° также является случайным вектором, не зависящим от X и имеющим дискретное распределение вероятностей: 7r(^)=7r(^,...,^) = P{^=^}=P{^ = ^,...)^ = 0L}, (8.3.3) о<тг(0)<1, 0 = (0!,...,0L)e&c v^, у>(9) = 1. 0Е® Среди методов, использующих теорию статистических решений, здесь рассмотрим два метода: метод максимального правдоподобия (ме- тод частотного анализа) и байесовский метод [141], [44], [93]. Метод максимального правдоподобия для решения сформу- лированной выше задачи криптоанализа использует только предполо- жение Ui; при этом параметр 0° считается детерминированной неиз- вестной величиной. Данный метод базируется на функции правдопо- добия: L(0) - qn(yx,.. .,уп\0), 0<=Q, (8.3.4) где g„(fcp) = P{y = Ь|0}, ь = (61,е V7?, - (8.3.5) дискретное распределение вероятностей криптограммы Y в ситуации, когда 0° = 0. Это распределение вероятностей gn(6| 0) легко находится в силу Ui , (8.3.5), (8.3.2) и функционального преобразования Y = f(X; 0): qnm = Р {f(X; 0) = 6} = Р {X = Г1 (6;0)} = = P»CTW)), bEV$,9ee.
216 ГЛАВА 8. Математические методы криптоанализа Подставляя (8.3.6) в (8.3.4), находим явный вид функции правдоподобия: Ц0) =p4TV;0)), ^0- (8-3-7) Отметим, что при вычислениях оказывается удобно вместо функции L(0) использовать монотонную функцию от неё — логарифм (например, по основанию 2): I = 1(0) = logL(0) = 1оёрп(/_1(У; 0)). (8.3.8) Функция (8.3.8) называется логарифмической функцией правдо- подобия. Отметим ещё, что функции L(0] и 1(0] характеризуют, на- сколько правдоподобно получить криптограмму Y в предположении, что параметр был равен 0. Суть криптоанализа методом максимального правдоподобия за- ключается в том, что в качестве оценки параметра 0Q принимается “наиболее правдоподобное значение7’ 0 Е 6, которое максимизирует функцию правдоподобия (8.3.7) или (что эквивалентно) логарифмиче- скую функцию правдоподобия (8.3.8): 0 ~ argma^c£(0) — argmax/(0). (8.3.9) Конкретизируем алгоритм криптоанализа (8.3.9) для двух наибо- лее распространённых на практике моделей источников сообщений X, рассмотренных в главе 4: стационарный источник дискретных сообще- ний без памяти (X -— последовательность независимых в совокупности, одинаково распределённых символов алфавита V/v) и марковский источ- ник дискретных сообщений (X — однородная цепь Маркова с простран- ством состояний Уу). Примем обозначения: х(0] = Ыб),..., яп(0)) = Г4V; 0) - (/Г1^; е),..., Лг1 (У; 0)) - (8.3.10) вариант расшифрования криптограммы У в предположении, что ключе- вой параметр есть 0\ при этом если 0 = 0°, то получаем истинный исходный текст Х(0°) = X; 8jk — символ Кронеккера; п п 0) = 52~ 52^>/t'1(y;0) {О’ 1’' ’ *’~ (8.3.11) 1 = 1 i=l
8.3. Использование теории статистических решений 217 частота встречаемости символа j G V/v в последовательности Х(0), определяемой (8.3.10); при этом выполняется условие нормировки: N-1 2>,(У;0)=п. (8.3.12) 1=0 Теорема 8.3.1. Если исходный текст X есть последовательность независимых в совокупности символов xi,...,xn Е Vjy, имеющих оди- наковое распределение вероятностей Pi(«) = Р {ж/ = w} , uEVy,« = l,n, (8.3.13) то оценка максимального правдоподобия для параметра 0° Е © кри- птосистемы (8.3.1) по наблюдаемой криптограмме Y — (yi,..., уп) Е имеет вид 9 - 0(У) = argmM Р;(У; 0)logpi(j). (8.3.14) 1=о Доказательство. По условию теоремы, используя (8.3.13), найдём совместное n-мерное дискретное распределение вероятностей (8.3.2) ис- ходного текста X: п Pn(a) = pn(ai,...,an) = JJpi(oi), aGV$. i=l Поэтому в силу (8.3.8),(8.3.10) логарифмическая функция правдоподо- бия примет следующий вид: *(*) = ^ПрДЛ'ЧУ; W = jSogpx^y; < i = l Цриводя в последней сумме подобные члены и используя обозначение (8.3.11), получим TV —1 W = 52 0)logP1(J), е ее. (8.3.15) 1=о Подставляя теперь выражение (8.3.15) логарифмической функции (йравдоподобия в (8.3.9), находим оценку 0 в виде (8.3.14).
218 ГЛАВА 8. Математические методы криптоанализа С помощью теоремы 8.3.1 можно построить криптоатаки типа А] для криптосистем, описанных в § 5.4. Для иллюстрации рассмотрим простейшую криптосистему Цезаря. Обозначим: п ^(У) = У^, JG Vjv, у е УД, 0ео, - (8.3.16) частота встречаемости символа j в наблюдаемой криптограмме У; при этом, как и в случае (8.3.12), выполняется условие нормировки: 7V-1 У yAY) = n- 3=0 Следствие 8.3.1. Если используется криптосистема Цезаря: yi = (xi + 0°) modjV, i=l,n, (8.3.17) где 0° G О = {1, 2,..., N — 1} — неизвестный ключ, то алгоритм криптоанализа по методу максимального правдоподобия имеет сле- дующий вид: N-1 ё - 0(У) = argmax/(0), 1(0) - 52 ^j+«)modw(^) • logpi(j). (8.3.18) Доказательство. Из (8.3.17) имеем обратную криптофункцию: Xi(6) — /Г1^; #) = (yi ~ 0)modA, i = l,n, . поэтому из (8.3.11) находим частоты {*<?}: п Vj(Yy ~ У^ fih(yj-0)mod jV- г=1 Так как (у^-0) mod N — j тогда и только тогда, когда yi = (j+0) mod А, то с учётом (8.3.16) получаем явное выражение частот {z>j} через ча- стоты п ~ У '2 ^(j-И) mod N, yj “ -f-0) mod i=l Подставляя это выражение в (8.3.14), получаем (8.3.18). Я
8.3. Использование теории статистических решений 219 Заметим, что оценки (8.3.14),(8.3Д8) по методу максимального прав- доподобия базируются на частотах символов {Pj} или {/</}, поэтому дан- ный метод часто называют частотным методом криптоанализа. Для иллюстрации алгоритма криптоанализа (8.3.17) рассмотрим криптограмму длиной п = 41 (из § 5.4): PELCGBYBTLVFPELCGBTENCULNAQPELCGBNANYLFVF, (8.3.19) полученную шифром Цезаря для неизвестного исходного английского текста X (N = 26) с неизвестным ключом 0° — 13 6 {1,2,..., 25}. Напомним, что буквенную криптограмму (8.3.19) мы преобразуем в чи- словую последовательность Y = (j/i 3... ,Уп) > где yi — это уменьшенный на единицу номер позиции i-й буквы криптограммы в английском ал- фавите: У = (15, 4, 11, 2, 6, 1, 24, 1, 19, 11, 21, 5, 15, 4, 11, 2, 6, 1, 19, 4, 13, 2, 20, 11, 12, 0, 16, 15, 4, 11, 2, 6, 1, 13, 0, 13, 24, 11, 5, 21, 5). В табл. 8.3.1 приведены значения двоичных логарифмов вероятностей {logpi(j)} всех 26 символов английского алфавита, полученные в ре- зультате статистического анализа объёмных англоязычных текстов. Таблица 8,3.1. Вероятностные характеристики алфавита Буква A В С D Е F G н I Символ j G Vn 0 1 2 3 4 5 6 7 8 log Pi (j) -3,6 -6,0 -5,0 -4,7 -3,0 -5,4 -5,7 -4,2 -3,8 Буква J К L М N 0 Р Q R Символ J G Vn 9 10 11 12 13 14 15 16 17 log Pi (j) -9,3 -7,2 -4,6 -5,3 -3,8 -3,7 -5,6 -9,8 -4,0 Буква S T и V W X Y Z Символ j G Vn 18 19 20 21 22 23 24 25 log Pl (j) -3,9 -3,4 -5,2 -6,7 -5,7 -9,0 -5,9 -10,1
220 ГЛАВА 8. Математические методы криптоанализа, В табл. 8.3.2 приведены вычисленные согласно (8.3.16) частоты встречаемости символов в наблюдаемой криптограмме (8.3.19), удовле- творяющие условию нормировки. Таблица 8.3,2. Частотные характеристики криптограммы Буква А В С D Е F G н I J К L М ' j е Xv 0 1 2 3 4 5 6 7 8 9 10 11 12 2 4 4 0 4 3 3 0 0 0 0 6 0 Буква N 0 Р Q R S Т и V W X Y Z ' j & Vn . 13 14 15 16 17 18 19 20 21 22 23 24 25 ' А 0 3 1 0 0 2 1 2 0 0 2 0 ' На рис. 8.3.1 изображён график логарифмической функции правдопо- Рис. 8.3.1. График логарифмической функции правдоподобия (8.3.18) совпадает с истинным значением в = 0° = 13. При этом нахо- дится открытый текст X = f~x(Y; 0) = X: CRYPTOLOGYISCRYPTOGRAPHYANDCRYPTOANALYSIS Ряд более сложных примеров криптоанализа приводится в [44], [93], [141]-
8.3. Использование теории статистических решений 221 Рассмотрим теперь случай марковского источника дискретных со- общений X (см. главу 4). Наряду с (8.3.10), (8.3.11) обозначим: п — 1 ^•/г(У; 0) = (У; 0) ^./^(У;*) {0> 1’ • * м п ~ € Vn, — i=l (8.3.20) частота встречаемости биграммы символов (},/?) в варианте Х(0) = /“Х(У; 0) расшифрования криптограммы с использованием ключа 0 Е 0; при этом выполняется условие нормировки: ЛГ-1 У Vjk(Y-, 6) = n- 1. Теорема 8.3.2. Если исходный текст X = (a?i,..., хп) есть однород- ная цепь Маркова с пространством состояний Vn, вектором началь- ного распределения вероятностей pi(u) = Р {zi = u} , uEVv, (8.3.21) и (7V х N)-матрицей вероятностей одношаговых переходов Р = (Pjk)' Pjk = Р {zi+i ~ k\Xi = j} , j,keVN; i- 1,2,..., (8.3.22) то оценка максимального правдоподобия для параметра 6Q Е © кри- птосистемы (8.3.1) по наблюдаемой криптограмме У = (j/i,.. .,Уп) Е имеет вид (N-l N-1 \ У 1оёР10’) + У ; Р) io&Pjk I • (8.3.23) Доказательство, В силу марковского свойства с помощью (8.3.21), (8.3.22) найдём совместное n-мерное дискретное распределение вероят- ностей (8.3.2) исходного текста X: п-1 Рп(а) =Pn(ai, - ,an) =Pi(«i) Пра;,<ц+1, « € V/}.
222 ГЛАВА 8. Математические методы криптоанализа Поэтому в силу (8.3.8), (8.3.10) логарифмическая функция правдоподо- бия примет следующий вид: п-1 1 = 1 Используя обозначение (8.3.20), получаем эквивалентный вид: Я-1 JV-1 1(0) - 52 Sj,fr3Y-,e) ,O8P1U) + 52 ^У’ lo№'fc- (8-3.24) j=Q j,fc=0 Подставляя теперь выражение (8.3.24) логарифмической функции прав- доподобия в (8.3.9), находим оценку в в виде (8.3.23). Проиллюстрируем применение теоремы 8.3.2 для простейшей кри- птосистемы Цезаря из § 5.4. Обозначим: п-1 = 3,keVN, - (8.3.25) 1=1 частота встречаемости биграммы символов (j, &) в наблюдаемой кри- птограмме Y; при этом N-1 52 му)=«- ь Следствие 8.3.2. Если используется криптосистема Цезаря (8.3-17) с неизвестным ключом 0° Е 0 = {1, 2,..., N — 1}, то алгоритм кри- птоанализа по методу максимального правдоподобия имеет следую- щий вид: N-1 У^ ' l°gpl(j)+ j=0 N-1 \ И" У ^(j+^)modN,(fc+0) mod nOO I • (8.3.26) >Л=0 / 0 — 0(У) = arg max
8.3. Использование теории статистических решений 223 Доказательство. Как и при доказательстве следствия 8.3.1, в силу (8.3.17), (8.3.25) справедливы соотношения: -0) mod N = ,(J+0) modN? 0) = ^(j4-#)modN//c4-6Q modTV • Подставляя эти соотношения в (8.3.23), получаем (8.3.26). Точность решения задачи криптоанализа, т. е. точность оценки в параметра 0°, удобно характеризовать вероятностью ошибки: г = г(п, 0°) = ₽0о{ 0(У) / 0Q }, n е N, 0° G 6. Согласно (8.3.6), это выражение для вероятности ошибки можно запи- сать в эквивалентном виде: r(n,0°) = l- Чем меньше величина г, тем точнее решается задача криптоанализа. Условимся говорить, что алгоритм криптоанализа— состоятель- ный у если при увеличении длины криптограммы п вероятность ошибки г монотонно стремится к нулю, каково бы ни было истинное значение »°: г(п, 0°) —> 0 (п —> оо), 0° € 0. Для практических приложений оказывается важным вычисление мини- мальной длины криптограммы п£, гарантирующей заданный уро- вень 6 6 (0,1) вероятности ошибки: п€ — min{n : sup r(n,0°) < б}. 0°€<=> Остановимся теперь кратко на еще одном методе криптоанализа, использующем теорию статистических решений — байесовском ме- тоде. Этот метод основывается на двух модельных предположениях Ui, и2, задаваемых соотношениями (8.3.2), (8.3.3). Характерным для байесовского подхода является предположение U2 о том, что параметр 0° G 0 случаен, не зависит от X и имеет известное априорное распре- деление вероятностей тг(0), О Е 0.
224 ГЛАВА 8. Математические методы криптоанализа Будем строить оценку 0 параметра 0Q по наблюдаемой крипто- грамме Y 6 Vfi с помощью некоторой статистики 0 = Т(У) : 0, Г(-) е Т. (8.3.27) где Т — некоторое заданное семейство функций, осуществляющих ото- бражение V$ —> 0. Как это принято в байесовской статистике, определим функцию потерь'. w = w(O")>0, 0\0neQ. где w — величина потерь, которые несёт криптоаналитик в ситуации, когда истинное значение 0° — а криптоаналитик принял решение 9 — 0Н (обычно полагается, что при правильном решении 9п — 9f потери равны нулю: w(0f ,9*) ~0)., - Приведём три примера функций потерь: ММ") = { о, eo"Ve'\ (8Л28) w2(OUtF. 0'11 = E(i-Ч'л) - Л=1 число ошибочно определённых компонент вектора где £ > 0 — некоторое заданное пороговое значение. Функцию потерь (8.3.28) принято называть (0 — \)-функцией потерь. Определим функционал риска как математическое ожидание (среднее значение) функции потерь: г = r(T(-)) = Е {w(0°, Т(У))} > О, Т(-) е Т. Используя условия Ui, U2 и (8.3.5), (8.3.6), легко получить явный вид этого функционала: ’•(И-)) = Е Е Рп(ГЧЬ-,0)). (8.3.29)
83. Использование теории статистических решений 225 Чем меньше риск г(Г(-)), тем меньшие средние потери возникают при выполнении криптоанализа 0 = T(Y) с помощью статистики Т(-). Байесовской оценкой для ff° называется оценка 0* = Т*(У), где Т*( ) — оптимальная функция, минимизирующая функционал риска: г(Г(-))=т(ш|гг(Т(.)). (8.3.30) Теорема 8.3.3. Если используется (0 — 1)-(/к/нкци.я потерь (8.3.28), а Т есть множество всевозможных функций, задающих отображение 0, то байесовская оценка имеет следующий вид: Г = Г* (У) = arg max( log тг(#) -Н(0)), Y eV)), (8.3.31) в £ О где 1(0) — logpn(/~1 (У; 0)) — логарифмическая функция правдоподо- бия, определяемая (8.3.8). При этом достигается минимум риска: rmin = r(T*(-)) = 1 - 57 тах(л(0)р„(/-1(6;0)) . (8.3.32) b6V^ ®6® Доказательство. Подставив (8.3.28) в (8.3.29), получим явный вид Экстремальной задачи (8.3.30): <()) = 1- Е И^-рЛГЧМ))) -> min, »=т(ь) т0) (8.3.33) Которая эквивалентна задаче максимизации: Е «о) РЛГЧЬЛ))) bGVn e-T(b) max. Так как целевая функция этой задачи сепарабельна, а ограничения на Т( ) носят лишь точечный характер, то очевидно, что Т*(Ь) = argmax (тг(0) • рп(/-1(&;0))) = = arg max (log тг(0) +log рп(/ Х(М))) • (8.3.34) & € о • Отсюда следует (8.3.31). Подставляя (8.3.34) в (8.3.33), получаем (8.3.32).
226 ГЛАВА 8. Математические методы криптоанализа Сравнивая байесовскую оценку (8.3.31) и оценку максимального правдоподобия (8.3.9), видно, что различие обусловлено наличием до- полнительного слагаемого log7r(0) в целевой функции. Это слагаемое учитывает априорную информацию о 0°. Следствие 8.3.3. Если априорное распределение вероятностей тг(0) параметра 0° является равномерным: = jlj, о е е, (8.3.35) то байесовская оценка (8.3,31) совпадает с оценкой (8.3.9) по методу максимального правдоподобия. Доказательство. Подставляя (8.3.35) в (8.3.31), получаем 0* = Т*(У) = argmax/(0) = 0, Y Е V$. В заключение рассмотрим вычислительную сложность алгоритмов криптоанализа, использующих теорию статистических решений. Вычислительная сложность алгоритмов криптоанализа, основанных на методе максимального правдоподобия и байесовском методе, опреде- ляется сложностью алгоритма максимизации функции правдоподобия 1(0) в (8.3.9) и целевой функции li(0) — log7r(0) + 1(9) в (8.3.31). Задачи максимизации (8.3.9), (8.3.31) и их частные случаи (8.3.14), (8.3.18), (8.3.23), (8.3.26) являются задачами нелинейного целочисленного про- граммирования. Если эти задачи решаются полным перебором значе- ний 0 Е 0, то вычислительная сложность алгоритма криптоанализа легко находится: W = с-10|. п- (№+1 + 1), (8.3.36) где с — некоторая константа, зависящая от конкретного способа реали- зации алгоритма криптоанализа, а s 6 {0,1} — параметр: s = 0 для мо- дели независимых символов текста, 5 — 1 для марковской модели. Для снижения вычислительной сложности (8.3.36) перспективным является применение специальных методов дискретной оптимизации, например метода ветвей и границ.
8.4. Разностный криптоанализ 227 8.4 Разностный криптоанализ В 1990 г. Э. Байхэм и А. Шамир предложили метод разностного ана- лиза алгоритма шифрования DES (см. описание в главе 7). Разработан- ный метод не позволил провести атаку на полный 16-тактовый DES - нестойкими к разностному анализу оказались лишь упрощённые версии криптоалгоритма с редуцированным числом тактов (раундов). Однако проведённые криптологами исследования выявили интересные особен- ности в выборе функциональных узлов криптоалгоритма. Оказалось, что уже при небольших изменениях в таблицах подстановки DES по- является возможность проводить эффективные атаки. Действительно, после появления результатов Байхэма и Шамира компанией IBM — раз- работчиком DES — были опубликованы некоторые принципы постро- ения криптоалгоритма, в которых закладывалась стойкость к методу разностного анализа — “мощной технике исследования, которая может быть применена ко многим криптосистемам” [138]. Разностный анализ является общим методом криптоанализа блочно-итерационных криптосистем. С использованием этого метода были построены эффективные атаки на криптоалгоритмы Lucifer, ;FEAL, LOKI, Khufu. Существуют модификации метода: линейно- разностный анализ (linear-differential analysis) [138], анализ с ис- пользованием близких ключей (related-key analysis) [49], [87], раз- ностный анализ с ошибками (differential-fault analysis) [52]. Изложим здесь лишь основные принципы разностного анализа. Рас- смотрим блочно-итерационную криптосистему, которая осуществляет рзаимно однозначное преобразование элементов множества А мощности N = |А|. Преобразование открытого текста X в криптограмму У такой системы является композицией г тактовых биективных преобразований Кл(1),..., Ел(г>: У = Fk^...FkW(X), (8.4.1) определяемых тактовыми ключами ..., £ К, которые вы- рабатываются некоторым образом из исходного ключа . Пусть на А задана групповая операция ЕВ, Ва — обратный к а £ А элемент группы, 0 — нейтральный элемент. Разность АХ между элементами Х,Х* € А определим как X ЕВ (ВХ*) или просто: АХ = хвх*. i Пара (X, X*) открытых текстов при последовательном выполне- нии преобразования (8.4.1) порождает последовательность разностей ДУ(1) ™ У(1) В У*(1),..., АУ(г) = У(г)ВУ*(г), где;У(г),У*(г) —
228 ГЛАВА 8. Математические методы криптоанализа результаты выполнения i тактов преобразования над X и X* соответ- ственно. Последовательность (а,/?(1),...,/?(«)) возможных значений разно- стей ДХ, ДУ(1),..ДУ($) называется в разностном анализе s- manrnoeou характеристикой, а пара («,/?($)) возможных значений разностей ДХ, ДУ($) — s-тактовым дифференциалом, 1 < s < г. Заметим, что ДУ (1) = ... = ДУ (г) = 0, если ДХ = 0. Тривиальные характеристики (0,...,0) и дифференциалы (0,0) не используются в разностном анализе и далее мы их не рассматриваем. В предположении, что X, X* — случайные элементы А с равно- мерным распределением вероятностей, а случайные тактовые ключи /cW,..., независимы и равномерно распределены на К, введём в рассмотрение вероятность характеристики - Р {ДУ(1) =/3(1),..., ДУ($) =/3($) | дх = о} и вероятность дифференциала Р{У(з) = /?(5) | ДХ - ct} . Атака по методу разностного анализа на криптосистему (8.4.1) про- водится при выбираемом открытом тексте, т. е. это атака типа A3. Целью атаки является восстановление неизвестного тактового ключа Предварительно исследователь находит (г — 1)-тактовый дифферен- циал (ct,/3(r — 1)) с максимально возможной вероятностью р > . Затем в ходе Т экспериментов исследователь генерирует случайный открытый текст Xt, вычисляет X* — Xt ЕВ а и находит пару соответ- ствующих шифртекстов Yt, Y*, t ~ 1,..., Т. В качестве оценки к искомого ключа выбирается элемент т k = argm^I^WSF-^*) = Дг-1)}. (8.4.2) ле л г" t=i Здесь !{•} — индикатор случайного события: 1{Д} = 1, если событие А наступает, и 0 — в противном случае. Оценим вычислительную сложность метода, выраженную в виде чи- сла шифрований 2Т, необходимых для успешного восстановления ключа Будем предполагать, что выполнены две гипотезы.
8.4. Разностный криптоанализ 229 Гипотеза 1 (стохастической эквивалентности [95]). Почти для всех значений тактовых ключей (о>1,..., wr_i) имеет место Р {ДУ(г - 1) = /3(г - 1) | ДХ ~ о} « Р {ДУ(г — 1) = /3(г — 1) | ДХ = а, ..., — й>г-1} . Гипотеза 2 (различимости ключей). Для пары (X, X*) различных слу- чайных элементов из А с равномерным распределением вероятностей и для двух различных ключей /Q, «2 Е К имеет место Р S F~'FKi(X*) = /3(Г - 1) | X ВХ* = 0(r - 1)} « « Р {F^FK1 (X) В = /?(г - 1) | X В X* 0 ftr - 1)} . (8.4.3) При введении этих гипотез мы “идеализируем” криптосистему и при этом в большинстве случаев не нарушаем точности получаемых выво- дов. (Отметим, что при нарушении этих гипотез можно использовать метод условного разностного анализа [46]. Множество 0 = /<г-1 всевозможных значений (г — 1)-наборов тактовых ключей разбивается на классы ©i,..., 0£. Для г-го класса находится свой высоковероятный дифференциал (ог-,Д(г— 1)).) При выполнении гипотез для к = имеем {Т Л Е I {F~\Yt) В F~\Yt*) = /?(г - 1)В = Тр, t —1 J а для к Т Х-Г Для выполнения условия к = необходимо выполнение неравен- ства Тр> 1 + T/(N- 1), откуда следует, что вычислительная сложность атаки по методу раз- ностного анализа составляет не менее Wmin — 2/ fp — _ шифрований вида (8.4.1).
230 ГЛАВА 8. Математические методы криптоанализа Далее мы рассмотрим специальный класс криптосистем, которые представляют особый интерес для разностного анализа [95]. Пусть ai,..а/у — все различные элементы А, «1 — 0. Семейству тактовых преобразований У = F«(X), я 6 поставим в соответствие N х TV-матрицу Р = (pij), (м)-й элемент которой есть вероятность однотактовой характеристики (at-, aj): Pij — Р {ДУ = aj | ДХ = аг} . Легко показать, что матрица Р является дважды стохастической, т. е. для всех iy 1 < i < TV N N 12pik - T<pki- (8-4-4) 6=1 Ar=l Блочно-итерационную криптосистему с тактовым преобразованием У — FK(X)y к 6 К, принято называть марковской, если для любых а, (3, т G А выполняется равенство Р {ДУ = /3 | ДХ = а} = Р {ДУ = (3 | ДХ = а, X = 7} в предположении, что случайный ключ к имеет равномерное на К рас- пределение вероятностей. Зададим для разностей пар открытых текстов распределение веро- ятностей тг ~ (7Г1,..., 7Гдг): TTj = Р {ДХ = аД и будем предполагать, что тактовые ключи марковской криптосистемы (8.4.1) независимы и равномерно распределены на К. Покажем, что в этом случае последо- вательность разностей ДХ, ДУ(1),..., ДУ (г) является цепью Маркова с состояниями ..., ajv и матрицей переходных вероятностей Р, Достаточно установить, что Р {ДУ(2) = /3(2) | ДУ (1) = /3(1), ДХ = а} = = Р{ДУ(2) = /?(2)|ДУ(1) =/?(!)} для всех а,/3(1),/3(2) 6 А. Действительно, по формулам полной вероятности и умножения ве- роятностей имеем цепочку равенств: Р {ДУ(2) ~ /3(2) | ДУ(1) = /3(1), ДХ = о) = = Е Р ОТ) = ДУ0) = /3(2) | ДУ(1) = ДХ = а} =
8.4. Разностный криптоанализ 231 = £ р <у(1)=। ду(!)=W)’х 'УЕА хР {ДУ(2) = /3(2) I ДУ(1) = /3(1), У(1) = 7, ДХ = а) = = £ Р {Г(1) = 7 I ДК(1) = /3(1), ДХ = а} х хР {ДУ(2) = /3(2) I ДУ(1) = >3(1), У(1) = 7*= = £ Р {К(1) = 7 I ДУ(1) = /?(1), ДХ = а} х хР {ДУ(2) - /?(2) | ДУ(1) ~ /3(1)} = Р {ДУ(2) - /3(2) | ДУ(1) = /3(1)} . Для марковской криптосистемы легко вычисляются вероятности ха- рактеристик и дифференциалов. Вероятность s-тактовой характери- стики (а;0, , (ц5) есть Pi0i1Pi1i2 х ... х а вероятность s- тактового дифференциала (аг,а?) равна (г, j)-My элементу матрицы Ps. Далее мы рассмотрим класс DES-подобных криптосистем (см. главу 7). Положим А = У2П, N. — 22п> К = V2m; ф — операция по- компонентного сложения двоичных векторов по модулю 2; a || b — кон- катенация векторов а и b; La, Ra — левый и правый гс-блоки вектора a Е У22п. Зададим отображения Е: У2П —> V2m и f: V2m —> V2n. Действие так- тового преобразования FK криптосистемы (8.4.1) определим следующим образом: FK(X) = FK(LX || RX) = (RX || LX ф /(E(RX) ф к)). (8.4.5) Покажем, что криптосистема вида (8.4.5) является марковской отно- сительно операции ф, если Е —линейное отображение, т. е. Е(х®у) = Е(х) ф Е(у) для всех х,у Е V2. Для этого достаточно установить, что для всех a,/3 G V™ и всех Р {/00 Ф f(z*) ~ /? I X ф Ж* = О, X “ 7} =: = р {/(z) ф f(z*) = /? । х ф г = о}, где х, х* Е V2n, z — Е(х) ф к, z* = Е(х*) ф /с, к — случайный элемент V2m с равномерным распределением вероятностей. Действительно, р {/(*) ф f (х*) ~ /3 I х ф х* = a, X = 7} =
232 ГЛАВА 8. Математические методы криптоанализа - р {/(*) ® л>*) = z -л ।х ® - а>х - = A6V™ = Р {f[z) ф f(z*) - /3 I х ф ж* = d, х = у, z - А} х хР {z — А | х ф х* = а, х — 7} = = У2 Р ® f (**) = £ I х ® = a.z = А} • Р {/€ = Е(у) + А} = AGEf1 = Й7™Т 52 Р = 0\х®х* =a,z = X} = I 2 I Д£ут = Р {f U) © /(Z*) ~ £ I Х Ф а) > что и требовалось доказать. Пример. DES является 16-тактовой криптосистемой вида (8.4.1), (8.4.5). При этом п — 32, m = 48. Предложенная Байхэмом и Шамиром атака на DES основана на двухтактовой характеристике (о, /3, а): hex a = 19600000 00000000, hex /3 = 00000000 19600000. Здесь hex о — шестнадцатеричная запись двоичного вектора а. Вероятность такой характеристики - If А 1 Р~ 64'64 ‘ 64 234' Заметим, что начальная и конечная разности характеристики совпа- дают. Такие характеристики в разностном анализе принято называть итеративными. Найденную двухтактовую итеративную характеристику можно ис- пользовать для построения 15-тактовой характеристики (ct,/?, аг, /?5 а, /?), вероятность которой оказывается равной 2~55;1. 8.5 Линейный криптоанализ Этот самый новый на данный момент метод криптоанализа был раз- работан в 1993 г. известным японским криптологом Митсуру Матсуи [111], [112]. В первоначальном виде этот метод был сформулирован при- менительно к криптоанализу наиболее распространённой во всём мире
8.5. Линейный криптоанализ 233 в настоящее время криптосистемы DES (см. главу 7). Вначале дадим общее описание метода линейного криптоанализа, а затем описание его применения к DES. Пусть рассматривается произвольная симметричная криптосистема для защиты двоичных сообщений (N ~ 2), общая математическая модель которой представлена в § 8.2. Примем обозначения: X — («1,..., хп) G V2n — исходная двоичная последовательность из п сим- волов; 0° = (0J,..., #2) С 0 С V/ — неизвестный ключевой параметр, который предполагается двоичным вектором с L компонентами; Y = (y1,...,yn)=f(X-0°)e V? - (8.5.1) криптограмма, состоящая из п двоичных символов, где /(•) : V2n х О -> V? — криптографическая функция, определяемая конкретным типом используемой криптосистемы. Метод линейного криптоанализа применяется в криптоатаках типа Аз (см. § 8.1), когда криптоаналитик имеет возможность генери- ровать случайные исходные тексты Х^\ ... ,Х^М^ и наряду с этими исходными текстами наблюдать соответствующие им криптограммы УП) = = f(X(M^0Q) для любого М G N. При генерации исходного текста X G V™ будем предполагать, что случайные биты Xi,...,хп G V2 независимы в совокупности и равнове- роятны: Р{г< = 0} = Р{г, = 1} = ^, 2 = T~^. (8.5.2) Принято говорить, что выполняется „приближённое линейное соотношение” между X,Y, 0Q: п п L А(Х,У) = = (8.5.3) i=l i=l fc=l где а = (ai) Е V?, b = (6;) Е с ~ (сд,) G V/ — заданные неслу- чайные векторы весовых коэффициентов, если в условиях (8.5.1), (8.5.2) данное соотношение (8.5.3) выполняется с вероятностью | +е: ( 1 1 1 Pp(XJ(X;0o)) = £Ci0j4 = - + £. (8.5.4) I i=l J Отметим, что арифметические операции в (8.5.3) выполняются по мо- дулю 2 (так что операция сложения — это обычная XOR-операция).
234 ГЛАВА 8. Математические методы криптоанализа Величина |е| € [0, называется эффективностью соотношения (8.5.3), а коэффициенты а, 6, с — его параметрами. Приближённое соот- ношение (8.5.3) представим еще в эквивалентном виде, записывая (8.5.1) покомпонентно: X(X,Y) = f2(aixi®bifi(X-,9°)) = 52^' (8.5.5) 2=1 Ат — 1 Приведём примеры приближённых линейных соотношений (8.5.3) — (8.5.5). Пример 1. Криптосистема Бернама (поточная криптосистема). В этом случае L = п, а соотношение (8.5.1) имеет вид yi = i = TT. (8.5.6) Тогда подстановка (8.5.6) в (8.5.5) даёт X(X‘Y) = © bi)xi © i—1 Учитывая равномерное распределение (8.5.2) и независимость битов {а?;}, обнаруживаем две ситуации: а) если b — а, то а ф 6 = 0 и А(Х, У) “ становится неслу- чайной величиной, так что (8.5.4) примет вид Р п A(XJ(X;0°)) = ;>>0? г = 1 > = 1; при этом эффективность линейного соотношения максимальна и равна |е| ~ б) если b ф ау то 52^_1(а« Ф bi)xi является случайным битом с тем же распределением (8.5.2) (см. свойство воспроизводимости РРСП, рассмотренное в главе 6), поэтому (8.5.4) примет иной вид: Р Л(Х, /(X; 0°)) = У2 а$ * = < i=l 1 2’ при этом эффективность линейного соотношения минимальна и равна |е| = 0; такое соотношение бесполезно для целей линейного криптоанализа.
8.5. Линейный криптоанализ 235 Пример 2. Нелинейное криптографическое преобразование (L == п = 3, i = ТЛ) Pi “ ) = Ж|ф ^(г+1)тоаЗж(|+2) mod3 ® aj(«4-2) mod3^(i-f-3) mod3ф0?• Подставляя это выражение в (8.5.5), полагая с = Ъ = а и проводя то- ждественные преобразования, получаем левую часть (8.5.5) в виде п п А(Х, У) = 2 Ф 2 ^**£(*+2) mod 3(^(7+!) mod 3 ~h #«)• 4 = 1 1 = 1 В частности, если вектор а является единичным ортом, т. е. имеет единицу только на некотором k-м месте (к = 1; 2; 3), то А(А\ У) = Ofc ф #(/г+2) mod3(•£(&-{-1) mod 3 4" Так как случайные биты в последнем выражении независимы и одина- ково распределены согласно (8.5.2), то P{A(X,y) = fl! = | = 5 + j, £=J. Таким образом, найдено приближённое линейное соотношение вида (8.5.3) с характеристикой эффективности |е| = Теорема 8.5.1. Максимальное по коэффициентам а, Ь, с значение эф- фективности |б| = | для приближённого линейного соотношения (8,5.5) достигается тогда и только тогда, когда криптографическая функция (8.5.1) линейна по X и 0°. Доказательство. В силу (8.5.4), (8.5.5) при s = ±| (для определён- ности е ~ |) величина А(Х, У) становится неслучайной: п (atxi ф 0°)) = у>(0°), (8.5.7) 4 = 1 где ^>(0°) — некоторая функция аргумента 0° (0 У2)- Это возможно тогда и только тогда, когда каждое слагаемое суммы не случайно: п W Ф Ь.Л(Х; 0°) ~ ^(0°)> i = Мч ^°) = У ^(*°)- 4 = 1
236 ГЛАВА 8. Математические методы криптоанализа Это, в свою очередь, возможно тогда и только тогда, когда fi(X; 0°) = diXi ф ^-(0°), i = Гп. Выбирая {«»,£>»} так, что b^i — i — 1, n, приходим к (8.5.7). Теорема 8.5.1 и приведённые примеры показывают, что эффектив- ность |е| характеризует степень линейности криптографической функ- ции. Для метода линейного криптоанализа требуются приближённые линейные соотношения вида (8.5.3), коэффициенты а, Ь, с которого най- дены из условия максимума эффективности: [е(а, b, с)| —> max. (8.5.8) a,btc К сожалению, в настоящее время эффективные алгоритмы отыскания оптимальных коэффициентов а*, Ь*, с* из условия (8.5.8) не известны. Метод линейного криптоанализа заключается в выполнении следующей последовательности шагов. 1. “Тщательно анализируется” криптографическая функция /(•) и отыскивается L наилучших в смысле критерия (8.5.8) наборов ве- совых коэффициентов: К этим наборам предъявляется ещё одно требование: (L х L)- матрица С, составленная из L строк ..., с^: ( С(1) \ С = : \ / должна быть невырожденной (|С| / 0). Иначе говоря, требуется, чтобы векторы с^1), ..., (№ G были бы линейно независимы. 2. Генерируется М независимых исходных текстов как было указано выше, и регистрируются соответствующие кри- птограммы yt1),... ,ytM).
8 5. Линейный криптоанализ 237 3. Для каждой j-й пары (Х^>), У^), j = 1, М, вычисляется левая часть каждого из L соотношений вида (8.5.3): А^> = А<0(WW) = £ ® Е= VL. :=1 1=1 4. Вычисляется частота м * gAW) М j=i выпадения “1” среди М значений левой части Z-го линейного соот- ношения (/ = 1,£) и строится оценка максимального правдоподо- бия правой части Z-го линейного соотношения: , _ ( 1, если i/O > 1/2, 1 [ 0, если i/Л < 1/2. 5. Строится и решается относительно в Е система L двоичных (булевых) линейных уравнений с использованием Ц} и правых частей линейных соотношений вида (8.5.3): L Y/$ek = dhl = l^L. k-1 Единственное решение этой системы О Е V2L и используется в ка- честве оценки ключевого параметра . Отметим, что число М используемых в описываемой криптоатаке пар “исходный текст — криптограмма” должно быть тем больше, чем меньше величина mini</<£ |s^| (М -mini<<<£ 1). В рассмотренном выше примере 1, как легко видеть, для линей- ного криптоанализа достаточно использовать лишь одну пару “исход- ный текст -— криптограмма” X, Y (М = 1). В качестве векторов {а(г\ Ь«\ с<Л} удобно использовать орты: = = а(0 - (0,...,0,1г,0,...,0), I =Т~п. При этом ^ = А(')(Х,У) = а:,фг/!, (8.5.9)
238 ГЛАВА 8. Математические методы криптоанализа Из (8.5.6) следует, что эта оценка (8.5.9) ключевого параметра безоши- бочна: в — 0°. Проиллюстрируем теперь применение описанного метода линей- ного криптоанализа при решении задачи криптоанализа DES [112]. Будем использовать обозначения, принятые в главе 7, а также следую- щие дополнительные обозначения Матсуи: Р ~ X — 64-битовый исходный текст после начальной перестановки DES (п = 64); С = Y — 64-битовая криптограмма до конечной перестановки DES; Рн, PL — старшие и младшие 32 бита текста Р соответственно; СнуСк — старшие и младшие 32 бита криптограммы С соответ- ственно; К = 6° — 56-битовый ключ после начальной перестановки его ком- понент (L = 56); Кг — 48-битовый ключ r-го раунда, определяемый заданным в DES расписанием ключей (г — 1,16); Fr(ZriKr) — F-функция r-го раунда; А[«] — г-й бит двоичного вектора А; А[г, j,..., к] — А [г] ф АЩ ф ... ф А [Л] — сумма указанных бит. Здесь полагается, что в двоичной вектор-строке символов (#1,..., хп) самый правый (последний) бит хп является младшим, а самый левый (первый) бит a?i является старшим1. Так как на- чальные перестановки исходного текста Р и ключа /<, а также конечная перестановка криптограммы С в алгоритме DES фиксиро- ваны и известны, то для упрощения описания алгоритма линейного криптоанализа без потери общности эти перестановки можно опустить. С помощью введённых обозначений Матсуи приближённое линейное соотношение (8.5.3) между Р,С,К примет удобный вид: P[ii,. •., г«] Ф С[д,..Л] = К[к1у..kw], (8.5.10) где 1 < г’1 < г*2 < • • • < iu < 64, 1 < ji < ♦ < jv < 64, 1 < ki < k2 < ... < fcw <64 — заданные упорядоченные наборы индексов “активных” битов, используемых в (8.5.10); 1 < и < 64 — число “активных” битов криптограммы; 1 < w < 56 — число “активных” битов ключа. гВ ряде книг по криптологии используется обратная этой рекомендуемой Мат- суи интерпретация младших и старших битов. Это может приводить к путанице, особенно при практической реализации систем.
8.5. Линейный криптоанализ 239 Проводя “тщательный анализ криптосистемы DES”, Матсуи по- строил два приближённых линейных соотношения: Рн[7,18,24]ф Fi(Pt, #i)[7,18,24] ф CH[15] ф СЛ[7,18,24,29]® Р1б(Съ, /<16)[15] = К3[22] ф /С4[44] ф К5[22] ф А'7[22] ф #8[44]ф (8.5.11) е-КЪ[22] ф Хц[22] ф К12[44] ф А13[22] ф К15[22]; Ся[7,18,24]фР16(Сь,К16)[7,18,24]ф Ря[15] ф PL[7,18,24,29]© Fi(PL,Ki)[15] = А14[22]фА13[44]фА12[22]фА10[22]фА9[44]ф (8.5.12) фА8[22] ф К6[22] ф /<5[44] ф А4[22] ф А'2[22]. Для вышеуказанной модели случайного исходного текста Р каждое из этих соотношений выполняется с вероятностью р — 1/2 — 1,19 • 2-21, так что эффективность соотношений (8.5.И),(8.5.12) одинакова и равна |е| = 1,19 • 2~21 « 0,57 • 10~6. Введём ещё понятие эффективного бита ключа. Бит ключа (точнее его номер) называется эффективным относительно приближён- ного линейного соотношения, если он “влияет” на левую часть этого со- отношения. Используя вид функций Fi(-), А1б( ) и расписание ключей DES (см. главу 7), находим 12 эффективных бит ключа для соотноше- ния (8.5.11): АЧР8], /СД19], /ГД20], /<1[21], ^[22], ^[23], А16[42], А1б[43], А16[44], А16[45], Кщ[46], 7<i6[47], а также 12 эффективных бит ключа для соотношения (8.5.12): А1б[18], А1б[19], А16[20], А16[21], А16[22], А1б[23], , ... АД42], АЦ43], Ki [44], АЦ45], АЦ46], АЦ47]. Для оценивания этих двенадцати эффективных бит ключа (8.5.13) генерируется М независимых случайных исходных текстов и, исполь- зуя шаги 2—4 описанного выше алгоритма линейного криптоанализа, перебором 212 всевозможных вариантовбит (8.5.13) отыскивается такой /*-й вариант, для которого частота ) наиболее отличается от 1/2: i/* ) “ max li/W — 1/21. 1<Z<213
240 ГЛАВА 8. Математические методы криптоанализа При этом линейное соотношение (8.5.11) порождает (см. шаг 5 алго- ритма) уравнение: К3[22] ф #4[44] ф #5[22] ф #7[22] ф #8[44] ф #9[22]ф Ф#п[22] ф #i2[44] ф #13[22] ф #i5[22] = dp , позволяющее выразить 13-й бит ключа. Совершенно аналогично проводится оценивание 13 бит ключа с по- мощью приближённого линейного соотношения (8.5.12). Таким образом, удается оценить 26 бит ключа (см. расписание ключей DES в главе 7): К[0], К[1], К[31 #[4], #[8], #[9], #[14], #[15], #[18], #[19], #[24], #[25], #[31], #[32], #[38], #[39], #[41], #[42], #[44], #[45], #[50], #[51], #[54], #[55]; #[5] ф #[13] ф #[17] ф #[20] ф #[46]; #[2] ф #[7] ф #[11] ф #[22] ф #[26] ф #[37] ф #[52]. Этим завершается первая стадия линейного криптоанализа DES. На второй стадии оставшиеся 30 неизвестных бит 56-битового ключа К находятся с помощью полного перебора 230 « 1,07 • 109 вариантов и их испытания на какой-нибудь фиксированной паре (Р, С) “исход- ный текст — криптограмма”. Для уменьшения вероятности ошибки линейного криптоанализа DES Матсуи предлагает на первой стадии отбирать несколько “квазиоптимальных” наборов 26 бит, и для ка- ждого из этих наборов на второй стадии осуществлять перебор всех 230 вариантов остальных бит. По оценкам Матсуи, вероятность ошибки — 0,15 достигается при числе генерированных исходных текстов М = 243 9,16 • 1012. Экспериментальная атака с помощью линейного криптоанализа на полный 16-раундовый DES была реализована Матсуи в 1994 г. с по- мощью 12 параллельно работающих компьютеров НР9735/РА — RISC 99MHz. Программа размером около 1 000 строк была написана на язы- ках С и Ассемблер. При М = 243 была получена безошибочная оценка 0 = 0° ключа. Вычисления заняли 50 суток, причём 40 суток были израсходованы на генерацию М исходных текстов и получение соответ- ствующих криптограмм, и только 10 суток были затрачены собственно на поиск ключа. В заключение отметим, что линейный криптоанализ интенсивно раз- вивается и создаются новые его модификации, в частности разрабаты- вается разностно-линейный криптоанализ.
Задачи и упражнения к главе 8 241 Задачи и упражнения к главе 8 1. Разработать эффективный компьютерный алгоритм криптоана- лиза (А2) “простой подстановки символов алфавита” методом “опробования”. Оценить точность и быстродействие алгоритма. 2. Разработать эффективный компьютерный алгоритм криптоана- лиза (А2) “перестановки символов с неизвестным периодом Т” ме- тодом “опробования”. Оценить точность и быстродействие. 3. Разработать эффективный компьютерный алгоритм криптоана- лиза (А2) “шифра Виженера” методом “опробования”. Оценить точность и быстродействие алгоритма. 4. Разработать эффективный компьютерный алгоритм криптоана- лиза (А2) “шифра Вернама” методом “опробования”. Оценить точность и быстродействие алгоритма. 5. Обобщить теорему 8.3.2 на случай s-связной однородной цепи Мар- кова (s — 0; 1; 2;...). 6. Для криптосистемы Цезаря (8.3.17) аналитически оценить вероят- ность ошибки г(п, 0°) = Р#о{ ()(Y) ф 0 } в случае простейшего ал- горитма криптоанализа (8.3.18). Получить аналитическую оценку минимальной длины криптограммы п£. 7. Для криптограммы (8.3.19) применить алгоритм криптоана- лиза (8.3.26), основанный на методе максимального правдоподо- бия, используя марковскую модель источника сообщений (8.3.21), (8.3.22). Набор величин {logpi(j)} приведен в табл. 8.3.1, а ве- роятности переходов (8.3.22) оценить самостоятельно, используя достаточно длинный англоязычный текст. Сравнить полученные результаты с результатами, представленными на рис. 8.3.1. 8. Для криптограммы (8.3.19) применить байесовский алгоритм кри- птоанализа (8.3.31), выбирая различные априорные предположе- ния о 0°: а) тг(0) — равномерное на 0 распределение; б) распреде- ление 7г(0) сконцентрировано в окрестности истинного значения: 0 0-9 10 11 12 13 14 15 16 17-25 0 0,1 0,1 0,2 0,2 0,2 0,1 0,1 0
242 ГЛАВА 8. Математические методы криптоанализа Как влияет априорная информация на точность оценивания? 9. Рассмотреть возможность снижения вычислительной сложности (8.3.36) алгоритмов криптоанализа, использующих методы стати- стических решений, применяя специальные методы теории дис- кретного программирования при решении экстремальных задач (8.3.1), (8.3.9). Для иллюстрации рассмотреть алгоритм крипто- анализа (8.3.18) и численный пример криптограммы (8.3.19). 10. Используя модель марковской криптосистемы из § 8.4, показать, что если тг = (0, ..., ттгу), то распределение вероятностей ДУ (s) является равномерным на А \ {0}, $ = 1,..., г. 11. В примере 2 (см. § 8.5), перебирая вектор весовых коэффициентов a G V2, построить всевозможные приближённые линейные соот- ношения вида (8.5.3) и оценить характеристику эффективности |е|. Решить задачу поиска оптимальных линейных соотношений (8.5.8) для осуществления линейного криптоанализа. Обобщить результаты для произвольного п. 12. Построить оптимальные приближённые линейные соотношения для трехраундового DES (г — 3). 13. Применить метод линейного криптоанализа к трехраундовому DES (г = 3).
ГЛАВА 9 Криптосистемы с открытым ключом Главную идею, лежащую в основе криптосистем с открытым клю- чом, высказали в 1975 г. У. Диффи и М. Хеллман. Они ввели понятие односторонней функции с секретом. Более подробно об этом речь в сле- дующей главе. Это дало принципиальную возможность разрабатывать криптосистемы с открытым ключом, в которых алгоритм шифрования является общедоступным, и поэтому нет необходимости в секретных каналах связи для предварительного обмена ключами. Таким образом, эти криптосистемы принципиально отличаются от криптосистем, описанных в предыдущей главе. Их называют асимме- тричными или двухключевыми, поскольку они имеют два ключа: один несекретный - для шифрования и один секретный - для дешифро- вания. 9.1 Описание RSA-криптосистемы Метод шифрования RSA был разработан в 1977 г. Р. Ривестом, А. Шамиром и Л. Адлеманом, как реализация идеи Диффи и Хеллмана. Основная идея состоит в использовании несекретного ключа, с по- мощью которого каждый может зашифровать сообщение, но расшифро- вать его может только получатель, знающий некоторую секретную ин- формацию.
244 ГЛАВА 9, Криптосистемы с открытым ключом Опишем процесс шифрования сообщений. Исходный текст должен быть переведён в числовую форму. Метод преобразования текста в числовую форму считается известным и необязательно держится в се- крете. В результате текст представляется в виде одного большого чи- сла. Затем полученное число разбивается на части так, чтобы каждая часть была числом от 0 до N, где N будет выбрано ниже. Процесс шифрования одинаков для каждой части. Поэтому можно считать, что исходный текст представлен числом х таким, что 0 < х < N. Предположим, что некоторый пользователь (назовём его В) желает, чтобы ему передали секретное сообщение. Для этого он делает обще- доступными два числа: N и е (открытый ключ). При этом N и е подчинены двум условиям: 1) N = pq, где р и q — большие простые числа, которые В держит в секрете. Числа р и q обычно выбираются порядка не ниже чем 2256. 2) число е берётся взаимно простым с <p(N) — (р - l)(q — 1). Пользователь А, отправляющий сообщение х, шифрует его следую- щим образом: Е(х) ~ Xе (modЛ"). Это и есть зашифрованный текст, который получает В. Чтобы восстановить исходный текст, В поступает так. 1. Пользователь В находит число d такое, что 1 < d < 1 и ed = l(mody?(Ar)). Это сравнение разрешимо единственным обра- зом, поскольку (е,<р(ЛГ)) = 1. Здесь как раз и проявляется осо- бенность RS А-метода. Дело в том, что для решения сравнения ed = l(mod<^(Ar)) пользователь В должен уметь вычислить что для него не составляет труда, ибо ~ <p(pq) = ¥>(р) ¥>(</) - (р-1)(9-1). Любой другой пользователь, который знает только выну- жден находить р и д, т. е. разложить число N на простые мно- жители, а эта задача при соответствующем выборе болыпйх р и q имеет большую вычислительную сложность. 2. Далее, имея уже в распоряжении число у, пользователь В вычи- сляет величину = yd (mod N), которая и есть представление х исходного текста. Действительно, применяя теорему Эйлера, получаем yd (mod TV) = xed (mod TV) = I*’Wfc+1 (mod TV) =
9.1. Описание RSA-криптосистемы 245 = • х (modAT) = x (modJV). Замечание 9.1.1. Из малой теоремы Ферма вытекает (см. главу 2), что хр~х ~ 1 (modp) и хд~х = 1 (modg). Тогда, если положить I = <p(N) = (р — 1)(<7 ~ 1), то выполнено сравнение х1 =. 1 как по мо- дулю р, так и по модулю q, и, следовательно., по модулю у>(ЛГ). Из этого вытекает, что любые числа е' nd! с условиями е' =;е (mod/) и df = d (mod/) также будут открытыми и соответственно секрет- ными ключами. Корректность работы системы RSA Пусть параметры (N = p-q; е; d) задают RSA-криптосистему. Обо- значим через G = (Z/AT)* — множество всех х, взаимно простых с N. G — мультипликативная группа кольца Z /N — имеет порядок <p(N) = (р — l)(g — 1). Вероятность того, что случайно взятое число О < х < N не принадлежит G, равна ~ что при больших р и q практически невозможно. С этой точки зрения можно считать, что все наши сообщения выбираются из G. Очевидно, что отображения Е и D переводят элементы из G в элементы из G. Более того, они являются автоморфизмами на G, т. е. взаимно однозначными отображениями с условием E(xixz) = E(xi)E(xz) и Dfxixz) = D(xi)D(x2). Кроме того, Е и D являются взаимно обратными, т. е. E(D(x)) — D(E(x)) — х, что обеспечивается условием ed — 1 (mod <p(JV)). Таким образом, секрет- ный и несекретный ключи можно менять ролями. Обычно для обеспечения стойкости RSA предъявляют следующие требования к выбору параметров системы: 1) простые числа р и q должны быть большими; 2) разность |р — q\ должна быть большой; 3) числа р± 1, q =Ь 1, г — 1, s — 1 должны содержать большой простой множитель; 4) число (р - 1, q — 1) должно быть небольшим. Также будет показано, что нельзя выбирать ключи end так, что секретная экспонента была бы короткой: необходимо придержи- ваться “нормального” случая, когда d — однопорядковая величина с L = [р - 1, q - 1].
246 ГЛАВА 9. Криптосистемы с открытым ключом Если какое-либо из требований 1—4 не выполнено, то существует способ довольно быстро “взломать криптосистему”, что мы обсудим в следующих параграфах (см. также задачи и упражнения к данной главе). 9.2 Возможные атаки на криптосистему RSA Пусть параметры (N = p-q; е; d) задают RSA-криптосистему. Для её взлома постороннему пользователю (для расшифровки секретного со- общения или подделки подписи) необходимо по входным известным ему данным 7V, е и зашифрованному (или подписываемому) сообщению у найти х G G — (Z /X)*, для которого верно у = хе (modAr). (9.2.1) Можно проводить различные атаки на RSA-криптосистему. Например, можно пытаться решить сравнение (9.2.1) при некотором конкретном у или у из некоторого класса М С G, чтобы затем, ис- пользуя гомоморфность отображения D(x), решить его на более ши- роком множестве. Например, если М = {Piy^Pk} есть множество малых простых и для них каким-либо образом удалось решить сравне- ние (9.2.1), то это сравнение становится легкоразрешимым для всех у, которые есть произведение чисел из М. Более детально это означает следующее. Пусть мы имеем набор пар ХУ = {(#i, 2/i),..., (я/?, ун)} с условием х? = yi (modTV). Пусть 1 < у < N и (т/, X) = 1. Если каким-либо образом нам удасться представить у в виде У = У? (mod#) с целыми sj, то решением (9.2.1) будет х = ж*1 • ... • xskk (modN). Однако данный подход представляется не менее трудным, чем поиск алгоритма решения сравнения (9.2.1) при любом у. Ещё один вид атаки (он сводится к поиску ключа df для дешифро- вания) — это метод повторного шифрования. Он состоит в следующем. Пусть е — открытая экспонента и у — зашифрованное сообщение. Это
9.3. О стойкости RSA против метода повторного шифрования 247 значит, что для некоторого х верно (9.2.1). Строим последовательность У С У1 - У> Уг ~ Vi-1 (mod#), i > 1. Это значит, что Ут - уе™ (mod#). Поскольку (e,<p(7V)) — 1, то существует такое натуральное т, что ет = 1 (mod %>(#)). Но тогда у6™”1 = 1 (mod Я), откуда вытекает уе = у (mod#). Тогда ут-\ будет решением (9.2.1). 9.3 О стойкости RSA против метода повторного шифрования Проанализируем более детально метод повторного шифрова- ния и покажем достаточность соблюдения требований 3, 5, 6 и 8 на выбор р и q для обеспечения стойкости. Пусть (N = pq, е, d) — параметры системы RSA, у — зашифрованное сообщение, у G G — (Z/#)*, где G состоит из всех целых х € [1, N - 1], взаимно простых с N, Чтобы достичь успеха путём т-кратного шифрования, необходимо и достаточно, чтобы порядок ord у делил ет — 1. Теорема 9.3.1. Пусть p—l = rk и q — 1~ si, где г us — различные простые, (г, к) — 1, (s, /) = 1. Тогда вероятность того, что случайно взятый у € G имеет порядок t, делящийся на rs, равна (1 — (1 — ~). Доказательство. Группа G есть прямое произведение двух своих циклических подгрупп Gi и G^ которые соответственно имеют порядки р~ 1 и q “ 1. Всякий у € G представляется однозначно в виде произведе- ния у = ab, где а 6 G4, b € Gz- Более того, при этом его порядок равен ord?/ = [orda,ord6]. Тогда каждой паре (ЬЛг), где соответ- ствует <p(r/i)^(s/2) элементов группы G порядка r8(tiytz), различным
248 ГЛАВА 9. Криптосистемы с открытым ключом таким парам соответствуют различные наборы элементов, и объедине- ние таких наборов по всем парам (й,<г) исчерпывает множество тех у которых порядок делится на rs. Ввиду того что число элементов в циклической группе, имеющих порядок w, равно число тех у, для которых rs|ord?/, равно 52 53 = 5253^(rMZiMsM/2)= i2|/ *2p = O’ - l)(s- ~ (r - l)(s - l)kl. Всего в группе G имеется rski элементов. Тогда искомая вероятность равна (г-1)(з-1)^_ Л 1\ Л п rskl \ г J \ s J Из теоремы 9.3.1 вытекает, что требуется взять примерно min(r, .$) элементов, чтобы порядок одного из них не делился хотя бы на одно из чисел г, $. Поэтому без ограничения общности можно считать, что sr|ord?/. Аналогично теореме 9.3.1 доказывается, что вероятность того, что ни $, ни г не делят ordt/, равна 1 — 1/га. Если предположить, что sr|ord$/, то успех в атаке методом повтор- ного шифрования будет достигнут, только если rs|(em — 1). Число е < <p(N) выбирают взаимно простым с Иначе говоря, е есть элемент группы Н — (^/^(ЛГ))*. Число <р(Я) — Р}1 • ... • p^rs, и И имеет аналогичное строение с G (есть прямое произведение своих ци- клических подгрупп). Если п — большой простой делитель числа г, «1 —1 большой простой делитель числа s, то аналогично утверждению 1 показывается, что с вероятностью число е имеет по- рядок в группе Я, делящийся на п$1. В этом случае атака методом по- вторного шифрования будет успешной только при условии что требует огромных вычислительных затрат. Если условия 5 и 8 не выполнены, то вероятность того, что случай- ный е будет иметь небольшой порядок, возрастает. Это приводит к тому, что если проведя ряд атак с различными в при некотором в — е' мы достигаем успеха, то с большой вероятностью можно ожидать, что
9.4. Эквивалентность задач взлома RSA 249 е™1 = 1 (mod^>(#)) с найденным относительно небольшим mi. Тогда число е™1 можно использовать для факторизации N методом, описан- ным в следующем разделе. 9.4 О поиске секретного ключа d и факторизации модуля N Как известно (см. описание RSA в § 9.1), если мы знаем разложение на простые множители числа А, то мы можем определить секретный ключ d с помощью полиномиального от длины N и е алгоритма. Ока- зывается, верно и обратное: существует эффективный вероятностный полиномиальный от длины d, е, N алгоритм разложения на множители числа N, если известно натуральное d с условием ed = 1 (mod^(#)). Лишь в этом смысле мы можем говорить об эквивалентности задач рзлома RSA через определение секретного ключа d каким-либо спосо- бом (или вообще любого числа d', что D(x) = xd mod#) и задачи рзлома через факторизацию. Это говорит о том, что нет алгоритма, ко- торый бы определял секретный ключ d со сложностью, превосходящей Сложность “самого лучшего” алгоритма'факторизации в полиномиаль- ное число раз. Данный результат опирается на следующую теорему [92]. Теорема 9.4.1. Если тройка (N,e,d) образует RSA-криптосистему U известно натуральное d такое, что ed = 1 (mod <£>(#)), то су- ществует эффективный вероятностный алгоритм полиномиальной сложности для факторизации #. . - Доказательство. Пусть известны параметры е, d, удовлетворяющие Условию теоремы. Тогда s = ed — 1 делится на <p(N). Следовательно, для любого х € (S/#)* = G верно xs = 1 (mod#). Вапишем s — 21и, где и — нечётное, и рассмотрим множество А = G\B, рдс В состоит из тех х G G, для которых либо при некотором целом J € {1,.. . - 1} верно х2*и = -1 (mod#), либо = 1 (mod#). Для любого элемента а € А выберем число к наименьшим с условием a2 u = 1 (mod#). Поскольку а В, то к > 1. Тогда положим b =
250 ГЛАВА 9. Криптосистемы с открытым ключом a^k~lu (modTV). Следовательно, b2 = 1 (mod TV), b ±1 (modTV). Из этого следует, что (6 — 1, TV) есть несобственный множитель TV. Тем самым достигается факторизация. < Далее запишем р — 1 — 2i/1t£i, q — 1 = 2г/3Д2> где щ, щ — нечётные числа. Положим u = min(z/i, ^) и К — (u,ui) • (и, 1*2)- Используя тео- рию сравнений, можно получить следующую оценку для числа решений сравнений xu = 1 (modTV) и = — 1 (modTV), j < t - Г. |B| = А + = >. Из этого вытекает, что вероятность того, что случайно взятый элемент х Е G будет лежать в А, не менее 1/2. Тогда за m попыток мы с веро- ятностью > 1 — 1/2т встретим элемент из А и найдём факторизацию А по алгоритму, вытекающему из доказательства. Замечание 9,4.1. Эквивалентность задач факторизации и поиска ключа d означает, что нельзя строить многопользовательскую RSA- криптосистему, чтобы различные пользователи имели свои различ- ные ключи с одним и тем же модулем N. Потеря стойкости RSA- криптосистемы с параметрами (N,e,d) вследствие потери секрет- ности ключа d влечёт необходимость не только смены ключа d, но и замены модуля N. 9.5 Биты в RSA-криптосистеме При изучении RSA-криптосистемы естественно изучить, как секрет- ность отдельных бит сообщения х влияет на секретность сообщения в целом. Пусть у = Е(х), где Е — преобразование криптосистемы с параме- трами (N “ pq, е, d). Введём в рассмотрение две функции: /а J °> р(у) = | 1( х — чётное, х - чётное; Ь(у) = { О < X < N/2, N/2<x< N.
9.5. Биты в RSA-криптосистеме 251 Теорема 9.5.1. Следующие утверждения эквивалентны, 1. Существует эффективный алгоритм вычисления функции р(у). 2. Существует эффективный алгоритм вычисления функции h(y). 3. Существует эффективный алгоритм вычисления функции D(y). Доказательство. Пусть 0 < х < N, тогда легко проверить утвер- ждение, что ж <-W О 2#(modJV) — чётно. (9.5.1) Поэтому Ку) =р(уЕ(2)). Если в этом равенстве заменить у на уЕ(2~г), то получим р{у) = КуЕ(2~г)). Тем самым установлена эквивалентность двух первых утверждений те- оремы. Покажем теперь, как можно вычислить 2^ ~ D(y), если известен алгоритм для вычисления h(y). Обобщая утверждение (9.5.1), можно показать, что 4#(modjV) —чётно <0 х Е ЛГ ЗАП 2’4/ 2VA B#(modN) —чётно 0x6 0, — ) U 8 / 'N ЗЛЛ Т ’~8~)и 'N 5ЛЛ Т 8 )и ’32V 7#\ И т. д. Располагая несекретным преобразованием Е криптосистемы, можно легко вычислить Е(2), F(4), -Е(8), .... Тем самым, легко вы- числить Е(2ж), Е(4х), Е(8х), ,.поскольку — Ег(ж1)Е'(ж2)- Алгоритм h при этом будет давать на fc-м шаге оценку для а?: i 2М4 2*+iJV’ Этот интервал очень скоро будет содержать лишь одно целое число.
252 ГЛАВА 9. Криптосистемы с открытым ключом 9.6 Система Рабина Стойкость RSA-криптосистемы базируется на (предполагаемой) трудности задачи факторизации. Ответа на обратный вопрос пока нет. Остаётся неясным, следует ли из наличия эффективного алгоритма для обращения RSA-функции существование эффективного алгоритма для факторизации модуля N, И. Рабин предложил систему с открытым ключом, трудность кото- рой доказуемо равносильна трудности проблемы факторизации [92]. В системе Рабина пользователи выбирают два нечётных простых р, q. Они считаются секретными. Модуль N — pq считается несекрет- ным. Далее каждый пользователь выбирает целое Ъ < N. Функция шифрования задаётся формулой E^tb(x) = #(# + Ъ) mod Дешифрование также несложно, если известна факторизация N ~ pq. Пусть т — зашифрованное сообщение. Используем известные алго- ритмы решения сравнений + 6) = m (modp) и х(х + 6) ~ т (modg). Обозначим их соответственно через г и s. Затем, используя алгоритм Евклида, вычислим kf I такие, что kp + lq — 1. Тогда решением срав- нения х(х + b) = m(modTV) будет Iqr 4- kps. Заметим, что решение указанных сравнений легко сводится к реше- нию сравнения вида х2 = m(modp). Это сравнение легко разрешимо при р = 3 (mod 4). В этом случае р = 4к + 3, (mfe+1)2 ~ т2к+2 = тт^ ~ т (modp). Поэтому в практическом использовании системы Рабина берут простые числа вида 4к + 3. Заметим также, что сравнение х2 = т (modN) при т 0 (modp), т =£ 0 (modg) имеет четыре решения. Теорема 9.6.1. Пусть N — произведение двух нечётных простых. Следующие условия эквивалентны. 1. Существует эффективный алгоритм решения сравнения х2 = т (modJV). 2. Существует эффективный алгоритм для факторизации N.
9.7. Рюкзачный метод шифрования 253 Доказательство. Случай 2 => 1 фактически рассмотрен выше. Осталось показать 1 => 2. Выберем случайно целое а такое, что (a, N) = 1, и пусть т = a2 (modTV). Пусть есть решения сравнения х2 = т (modTV). Итак, с одной стороны, если u {a,N — а}, то (У, п+а) — простой делитель N. С другой стороны, если и Е {а, N—a}, то выберем другое и {a,N — а} и повторим предыдущую проце- дуру- 9.7 Рюкзачный метод шифрования Выберем пару w, т натуральных взаимно простых чисел и будем считать их секретными. Число w назовём множителем, а число т — модулем. Дополнительно выберем секретную последовательность b — (61,.. .,Ьп) положительных целых с условием г — 1 п bi > ZX’ V’- г> j-1 Такую последовательность будем называть быстрорастущей. Последовательность а = (щ,.. ,,ап), где щ = w6j(modm), i > 1, считается несекретной. Сообщение х = (#i,..., хп), являющееся набором нулей и единиц, шифруется по правилу п £(®) = (9.7.1) 2 = 1 Для дешифрования полученного сообщения достаточно уметь решать уравнение вида S = (9.7.2) 2=1 Уравнение (9.7.2) основано на задаче о рюкзаке, которая отно- сится к классу NP-полных задач. Тем не менее следующая теорема указывает эффективный метод её решения легальным пользователем для быстрорастущих последовательностей.
254 ГЛАВА 9. Криптосистемы с открытым ключом Теорема 9.7.1. Пусть biy.. .ybn — быстрорастущая последователь- п ность натуральных чисел и пусть S > 0. Тогда уравнение S ~ i=l имеет не более одного решения х = (xi,..., хп) 6 {0,1}п с условием п S<^bi. 1—1 Доказательство. Сначала заметим, что любое решение уравнения п S = должно удовлетворять условию ir=l п j=»+l Необходимость условия очевидна, поскольку все bi — положительны. Пусть Xi — 0. Тогда S ~ 52 52 < b* + Е j=i j=»+i j=»+i Остаётся показать, что функция дешифрования эффективно вычи- слима. При получении зашифрованного сообщения S пользователь вы- числяет w~T по модулю т и решает задачу о рюкзаке: “ Еж’^‘* Так как последовательность , bn быстрорастущая, это легко сде- лать с помощью теоремы 9.7. L 9<8 Стойкость рюкзачного шифра Пусть w, т, b = (61,, 6„), а = (ai,..., ап) — параметры рюкзач- ной криптосистемы. Криптоаналитик знает последовательность {аг}5 но не знает w, m, b. Он может попытаться, и небезуспешно, найти пару чисел w, т, таких, что последовательность а = (di,..., ап), определяе- мая условием щ = GjW (modm), (9.8 1)
9.8. Стойкость рюкзачного шифра 255 является быстрорастущей и обладает к тому же свойством п ^2 «»• < 1=1 (9.8.2) Как видно из предыдущего параграфа, пару w, тп можно использовать для дешифрования с тем же успехом, что и секретную пару w, m. Деля формулы (9.8.1), (9.8.2) на т, получаем ~ = (a;—) modi, (9.8.3) m \ т/ п (modi) < 1, i=l (9.8.4) где г — w/m. График функции at-n(mod 1) изображён на рис. 9.8.1. Эту функцию принято называть косозубой. Рис. 9.8.1. График косозубой функции Для вычисления пары w, т сначала надо определить точку г о на оси г, чтобы выполнялось условие (9.8.4). Существование такой точки гарантировано нашей конструкцией. Следовательно, существует и ин- тервал [и, гз], для любой точки которого неравенство (9.8.4) выполнено. Пусть pi — pi-й минимум i-й косозубой функции. Имеем две системы неравенств с целыми неизвестными pi,..., рп: 1 < pi < «1 - 1, 1 S р2 а2 ~ 1) 1 < Рп < &П 1) -£2 < Р1/^1 ~ р2/«2 < 4, <pi/ai -p3/a3 < £3, (9.8.5) ~£п < Pi/ai -Рп/^п <
256 ГЛАВА 9. Криптосистемы с открытым ключом Параметры г/, нужно выбирать достаточно малыми, чтобы опреде- лить точку сгущения. Эту систему можно решить методом целочислен- ного линейного программирования. Пусть р — одна из величин, определённая указанной процедурой, и пусть и,..ть — точки разрыва всех косозубых функций, такие, что размещённые в убывающем порядке. Между двумя такими точками каждая косозубая функция задаётся отрезком прямой гсц - qi, rt < f < ft+1, (9.8.7) где qt равно номеру минимума i-й косозубой кривой, лежащей в интер- вале 0, rt. Таким образом, для каждого 1 < t < к условия (9.8.6) и (9.8.7) можно сформулировать в виде следующей системы линейных неравенств с не известным г, таким, что rt < г < п ^(гсн - qj) < 1, (9.8.8) i=l l-l (гсц - qj) > 52(raj - gj), i = 1, • , n. (9.8.9) Решение последней системы даёт подынтервал Любое г = w/fh, лежащее в этом подынтервале, даёт искомую пару w, m. 9.9 Тесты на простоту и методы факторизации Для криптографии с открытым ключом важно как построение те- стов, позволяющих установить простоту данного большого чи- сла, так и построение методов разложения (факторизации) большого числа на простые множители. Мы рассмотрим лишь простейшие из известных методов. Теорема 9.9.1 (Вильсона). Натуральное п тогда и только тогда является простым, когда (п + 1)! + 1 = 0 (modn).
9.9. Тесты на простоту и методы факторизации 257 Доказательство. По теореме Ферма сравнение хр 1 — 1 = 0 (modp) имеет р — 1 решений 1,..., р — 1. Поэтому j?*7”1 — 1 ~ (аг — 1)(# — 2) х - • • х (х — р4- 1) + pF(x). Положим х — 0, тогда (р-h 1)! = — l(modp). Если же п—- составное, то оно содержит простой множитель q < п, который является делителем (п — 1)!, так что (л ~ 1)! + 1 не делится на q, а значит, и нал. В качестве следствия отсюда получается следующая теорема. Теорема 9.9.2. Числа п и л 4-2 тогда и только тогда являются про- стыми числами-близнецами, когда 4 ((п — 1)! -F 1) + п — 0 (modn(n 4-2)), п > 1. Доказательство. Если условие выполнено, то, поскольку п ф 2,4, должно быть (п 4- 1)! + 1 = 0 (modn). Остаётся применить теорему Вильсона, чтобы убедиться в простоте п. Далее п = —2 (modn 4~ 2). Поэтому (п 4-1)! = 2(п — 1)! (modn 4- 2). Отсюда следует 0е4 ((п-1)! + 1)4-п е= 2(п4-1)’ + 2 = 2((n+l)!+n) (modn4-2). (9.9.1) Поэтому простым является и число п 4- 2. Пусть, наоборот, п и п+2 — простые числа. Тогда 4 ((п 4-1)! 4- 1)+п по теореме Вильсона делится на п, а вследствие (9.9.1) — и на п 2, так что оно делится и на 4-2). Ещё один критерий простоты можно сформулировать в виде следу- ющей теоремы. Теорема 9.9.3. Если существует такое число а, взаимно простое с п, что ап~х = 1 (modp), но а^п~г^р 1 (modn) для любого простого делителя р числа п — 1, то п — простое число. Доказательство. Так как каждый нетривиальный делитель t числа п — 1 входит в один из делителей (п— 1)/р, то из предположения теоремы следует, что а1 l(modn), так как в противном случае существовало бы р, для которого было бы а^п~^!р = l(modn). Если а принадлежит показателю d, то ad = l(modn) и d должно быть делителем п — 1, что возможно лишь для d = п — 1. Таким образом, п — 1 является делителем
258 ГЛАВА 9. Криптосистемы с открытым ключом Для составных n <p(n) < п — 1. Поэтому п должно быть простым числом. Если, наоборот, п = р, то первообразный корень удовлетворяет условиям теоремы. В заключение рассмотрим метод факторизации Ферма. Идея состоит в том, чтобы попытаться найти представление N — х2 — у\ что сразу даёт разложение А — (ж + у)(х — у)- Найти такое разложение можно по следующему алгоритму. Поскольку больший из множителей N больше х/77, мы начинаем с х где ]а[ обозначает наименьшее целое, большее либо равное а. Полагаем z = х2 — N. 1. Проверяем, является ли z квадратом натурального числа. Если ответ положительный, то у = y/z, и мы получаем требуемое пред- ставление. В противном случае переходим к следующему пункту. 2. Находим следующие значения для z и х: 2? 4-2^4-1 = x2+2x+1—N ~ (ж 4-1)2 — N и переходим к пункту 1. Оценим количество циклов, необходимых для достижения резуль- тата. Если N = аЬ — произведение двух простых (худший случай) и а < &, то алгоритм прекращает работу, когда х = (а 4- 6)/2, и так как мы начинали с х « y/N и 6 = N/а, то число циклов W 1 2 а 4---) а / = (У^У-а)2 2а Если предположить, что а = бл/N с 0 < 5 < 1, то получаем 2и Ещё одна оценка числа циклов возникает из того, что алгоритм пре кращает работу, когда у достигает (6 — а)/2. Начальное значение у находится в пределах от 0 до 2\/N 4-1. Поэтому Ь а г11 6 а —— - b/N - 1 < W < . Это означает, что для обеспечения стойкости RSA необходимо, чтобы разность Ъ — а была велика.
9.10. Разделение секрета 259 9.10 Разделение секрета В этом параграфе мы рассматриваем вопрос, близкий к криптогра- фии с открытым ключом, о том, как разделить секрет между несколь- кими законными пользователями. Будем говорить, что t участников (законных пользователей) Д, г = 1,...,/, осуществляют к-хранение секрета с, 1 < к < если выполняются следующие три условия. 1. Каждый Ai знает некоторую информацию а», не известную лю- бому другому участнику. 2. Секрет с может быть легко вычислен на основе любых к секретов d>i. 3. Знание любых к — 1 частичных секретов аг- не даёт такой возмож- ности. Множество удовлетворяющее этим условиям, называ- ется (к,^-пороговой схемой. Практическое применение таких схем очевидно. Мы дадим подход к построению пороговых схем на основе модульной арифметики, исполь- зуя китайскую теорему об остатках. Пусть mi, г — 1,...,/, — совокупность попарно взаимно простых модулей. Пусть а,, г — 1,..., t, — произвольные целые числа с условием О < ai < mi. Обозначим через М произведение всех модулей. Пусть далее Mi =. М/тхц, Ni — число, обратное Mi по модулю mi, i ~ 1,..., t. Таким образом, MiNi ~ l(modmi). Система сравнений х = ai (mod m,), i — 1,..., t, обладает единственным решением по модулю М. Это решение можно найти “китайским” методом: t х = y^^jMiNj. i=l Пусть теперь к фиксировано, 1 < к < t. Обозначим через Mi наи- меньшее произведение к различных модулей. Разместив модули в по- рядке возрастания, получим Му -rm х х ггц.. Обозначим через М?
260 ГЛАВА 9. Криптосистемы с открытым ключом наибольшее произведение k — 1 модулей. Модули следует выбирать так, чтобы разность Mi — М2 была велика: М1-М2>ЗМ2. (9.10.1) Далее требуется, чтобы М2 < с < Mi. В качестве секретов участников щ возьмём наименьшие неотрицательные вычеты секрета с по модулям т,-, так что ai = с (mod г), i — 1,..., t. Теорема 9.10.1. Множество есть пороговая схема для секрета с. Доказательство. Пусть, например, известны ai,...,afc. Положим М' ~ mi х • • * х m/г, М[ — Mf/гщ, г = 1, и пусть N- обратно М- по модулю mt‘. Положим к i=l По китайской теореме об остатках у = с (mod Л/'). Так как М* > Му > с, с равно наименьшему неотрицательному вычету у по модулю М', что даёт способ вычисления с исходя из «1,..., а^. Теперь предположим, что известны лишь «1,..., п/г-i. Тогда у = с (mod mi х * • • х m^-i). Но это оставляет много возможностей для выбора с. В силу (9.10.1) таких возможностей будет [(Ml - М2 - l)/(mi X • • • х тп*-1)]. Рекомендуем самостоятельно проверить корректность (3,5)-порого- вой схемы, где mi = 97, m2 — 98, m3 = 99, т$ — 101, т$ = 103, ai = 73, <12 — 15, с?з = 61, а4 = 61, а5 = 49,
Задачи и упражнения к главе 9 261 и найти секрет с. Ещё один способ разделения секрета состоит в следующем. Берут некоторый многочлен f(x) = ak~ixk~l + ak-2Xk~2 4-... 4- arx 4- «о над большим конечным полем. Секретным считается свободный член «о- Секреты t участников определяются как значения этого много- члена в некоторых точках, т. е. участники знают ci ~ С2 — f(x2), ..., ct — Очевидно, любые к участников могут, воспользо- вавшись интерполяционной формулой Лагранжа, найти многочлен /(ж), а значит, и элемент «о- Нетрудно видеть, что любые к — 1 участников никакой информацией об а0 обладать не могут. Задачи и упражнения к главе 9 1. Найти число решений сравнения хт = 1 (modn). 2. Сколько решений имеет сравнение хт = —1 (mod n) в случае его разрешимости? 3. Пусть E}D — взаимно обратные преобразования RSA-криптосис- темы. Тогда выполняется D(E(x)) ~ х для любого х Е (Z/A)*. Покажите, что это свойство справедливо при любом х. 4. Докажите, что всевозможные преобразования RSA-криптосисте- мы образуют группу относительно их композиции. 5. Предположим, мы зашифровали сообщение по правилу у = хк (modp), где р — большое простое число, 1<#<р—l,nfc — целое число, 1 < к < р — 1. Показать, что если к выбрано взаимно простым с р — 1, то алгоритм расшифрования d(y) = yd (modp) является корректным с d = к~х (mod(p — 1)) и мы имеем d(y) — х. 6. Что случится с криптосистемой в предыдущей задаче, если мы ошиблись и взяли целое число fc, которое не взаимно просто с р -1?
262 ГЛАВА 9. Криптосистемы с открытым ключом 7. Показать, что в схемах RSA и Рабина шифрование открытого тек- ста в п бит в зашифрованный текст в N бит требует о(п3) опера- ций. 8. Предположим, что пользователь RSA выбрал по ошибке большое простое число в качестве модуля N. Показать, что в этом случае расшифровать текст легко. 9. Заданы различные простые р, q и n — pq. Показать, что если при заданных взаимно простых d и п сравнение х2 = d (modn) имеет одно решение, то оно имеет четыре решения. 10. Рассмотрим RSA-систему с модулем N. Целое число х, 1 < х < N — 1, назовем неподвижной точкой, если оно и в зашифрованном виде тоже х. Показать, что если х — неподвижная точка, то и N — х также есть неподвижная точка. 11. Показать, что в схеме RSA с параметрами р, g, е, d имеется r-hs-hrs неподвижных точек М. 1 < М < N — 1, где г — (р — 1, е — 1), 5 — (g - 1, е — 1). Задача показывает, что в схемах шифрования с большим коли- чеством неподвижных точек уже внутри заложен недостаток, по- этому желательно выбирать р и д, для которых г и s малы.
ГЛАВА 10 Электронная цифровая подпись В практической деятельности человека широко используется различ- ного рода информация. В связи с тем что она часто представляет цен- ность, возникают следующие две тесно взаимосвязанные проблемы: 1) сохранение информации от её незаконного использования; 2) подтверждение авторства, т. е. того, что данная информация принадлежит какому-то конкретному автору. Первая проблема часто решается с помощью шифрования и была рассмотрена в предыдущих главах. Проблема подтверждения авторства тесно связана с первой и возни- кает при следующих обстоятельствах. 1. Когда некоторый абонент А получает сообщение X предположи- тельно от В, как подтвердить, что оно получено именно от него, а не от какого-либо третьего лица (не сфальсифицировано против- ником)? 2. Когда А получает от В какое-то сообщение X, как подтвердить, что оно не было изменено кем-либо посторонним? При обмене информацией в компьютерных сетях для подтвержде- ния авторства были разработаны алгоритмы электронной цифровой
264 ГЛАВА 10. Электронная цифровая подпись подписи (ЭЦП). В основе большинства алгоритмов ЭЦП лежит идея шифрования с открытым ключом (см. главу 9). 10.1 Обобщенная модель ЭЦП В практической деятельности важно не только защищать информа- цию от незаконного пользователя, но и иметь возможность проверить авторство данного сообщения и что оно не было изменено посторонним лицом. Именно для решения этих проблем (аутентификации и целост- ности) был разработан ряд алгоритмов ЭЦП. В основе большинства из них лежит идея использования односторонней функции с секретом. Суть этой идеи состоит в использовании некоторой односторонней функции с секретом Fs для создания пары (хуу)у где х — сообщение, а у — решение уравнения F${y) = т. Всякая информация, записанная в некотором алфавите, может быть представлена в виде двоичных слов, т. е. в виде конечных последова- тельностей из нулей и единиц. Количество двоичных цифр в таком слове будем называть его длиной. Пусть теперь X и Y — некоторые подмножества множества всех двоичных слов. Односторонней функцией с секретом S называется функция Fs : Y X, зависящая от параметра S и обладающая следующими тремя свойствами: 1) при любом S существует полиномиальный алгоритм вычисления значений Fs(y)', 2) при неизвестном S не существует полиномиального алгоритма для решения уравнения Fs (у) = х относительно у; 3) при известном S существует полиномиальный алгоритм для ре- шения уравнения Fs(y) — х относительно у. До настоящего времени не известно ни одного примера односторон- ней функции с секретом, но для практических целей используют не- которые функции, которые могут оказаться односторонними. Для них второе свойство строго не доказано, но известно, что задача инверти- рования эквивалентна некоторой трудно решаемой математической за- даче. Пусть А и В — некоторые пользователи, обменивающиеся инфор- мацией по открытому каналу связи. Пусть X — совокупность все- возможных сообщений, Y — некоторое множество “подписей”. Пусть
10.1. Обобщенная модель ЭЦП 265 Fk : Y -> X — функция, зависящая от параметра к € AS, называемого ключом. Будем считать, что ключ к состоит из двух частей: ks и ко, где ks — секретная составляющая, известная только Л, и ко — откры- тая составляющая, известная “всем” (не держится в секрете). Пусть Fk является сюръекцией, т. е. для любого х G X существует прообраз у — Fj^l(x). Функцию F также считаем общеизвестной. Предположим, что выполняются следующие свойства: 1) зная ко, функцию F/r(y) можно вычислить по алгоритму полино- миальной сложности; 2) зная ks, функцию Fk(y) можно инвертировать по алгоритму поли- номиальной сложности; 3) зная ко, но не зная ks, функцию Fk(y) сложно инвертировать, т. е. не известен или не существует полиномиальный алгоритм нахождения F^\x). Прообраз у = F/c“1(j?) некоторого сообщения х называется подписью этого сообщения. Пара (х,у) называется подписанным сообще- нием. В силу первого свойства всегда легко проверить, соответствует ли подпись сообщению, а в силу третьего свойства подделать подпись при достаточно большом ключе практически невозможно. Доказательство этого свойства позволило бы придать подписанным сообщениям юри- дическую силу. Секретный и открытый ключи находятся во взаимно однозначном соответствии и в силу третьего требования не существует полиноми- ального алгоритма вычисления секретной компоненты по открытой ком- поненте. Таким образом, в общем виде алгоритм ЭЦП выглядит так. 1. Для передаваемого сообщения х отправитель Л находит y = Fk1(xY Знание секретного ключа ks позволяет ему сделать это за прием- лемое время. 2. Далее А передаёт В по какому-либо каналу связи пару (х,у), где х — сообщение, у — подпись.
266 ГЛАВА 10. Электронная цифровая подпись 3. Получив подписанное сообщение (я, р), В находит xf = Fk(у). Зна- ние открытого ключа ко позволяет сделать это за приемлемое время. 4. Получатель В сверяет х и х1. Если они совпадают, то полученное сообщение считаем подлинным. В противном случае либо сообще- ние х изменено (фальшивое), либо подпись у неверная (поддель- ная). Замечание 10.1.1. Предложенную модель можно дополнить предва- рительным шифрованием пересылаемого сообщения и итоговой расши- фровкой. Замечание 10.1.2. Роль функции иногда выполняет некоторая схема шифрования с открытым ключом. В силу этого многие вопросы (стойкость, выбор ключей и др.) равносильны для схем ЭЦП и соот- ветствующих криптосистем. 10.2 Схема ЭЦП Рабина Стойкость схемы Рабина основана на трудности решения квадра- тичных сравнений по большому составному модулю. Как было показано в предыдущей главе, данная задача эквивалентна факторизации. Вот одна из реализаций этой схемы. Сначала выберем два простых числа р и q, оба сравнимые с 3 по модулю 4. Это простые секретные ключи, а их произведение N = pq — открытый ключ. Для шифрования сообщения т (т должно быть меньше, чем 7V) вычисляем с — т2 (mod /V). Расшифрование сообщения просто, но все же немного сложнее. Так как получатель знает р и q, он может решить неприятные два сравне- ния, используя китайскую теорему об остатках. Вычислим р+1 mi = с 4 modp, т2 = ^р~ с^4”modp, я±1 тз = с 4 modg,
10.3. Схема Диффи-Лампорта 267 Ш4 “ ^д — с 4 ) modg. Затем выберем целое a ~ g(g-1modp), целое Ь — p(p”1modg) и найдем четыре возможных решения сравнений: Mi = (ami + &тз) mod TV, М2 ~ (атз 4- 6т4) mod TV, М3 = (ат2 + Ьтз) mod N, M4 = (am? + bmi) mod TV. Один из четырёх результатов Mi, М2, М3 или М4 равен т. Если со- общение является английским текстом, то правильное сообщение Mj выбрать легко. С другой стороны, если сообщение есть случайная по- следовательность цифр, то нет возможности определить, которое сооб- щение Mj корректно. Один из путей разрешения этой проблемы — добавить к сообщению известный текст перед шифрованием. Покажем теперь, как схема Рабина может быть использована для аутентификации. Возьмём в качестве функции шифрования для сообщения т функ- цию т2 mod TV, где N — открытый ключ А. Далее, если мы хотим быть уверенными, что это сообщение послано именно А, то случайно выберем большое целое число I и пошлём А сообщение г — /2(mod7V). А расшифровывает его, используя значение факторизации N на про- стые числа р и д, находит квадратный корень /1 из числа г и возвра- щает его нам. Ясно, что мы поверим, что связаны именно с А тогда и только тогда, когда вернувшееся сообщение li удовлетворяет сравне- нию I2 = r(modTV). 10.3 Схема Диффи-Лампорта Для аутентификации пользователя имеется возможность применять произвольную симметрическую схему. Пусть отправитель сообщения А хочет подписать n-битовое бинарное сообщение т ~ mi.. .mn £ V2n. Он выбирает 2п ключей некоторой криптосистемы, которые хранятся в секрете. Обозначим их так: ai,..., an; bi,..., bn.
268 ГЛАВА 10. Электронная цифровая подпись Если Е — алгоритм шифрования, А генерирует 4п параметров про- верки {(Xi, Yi, Ui, Vi} : 1 < г < n}, где Xi и Yi являются величинами, подаваемыми на вход Е, и связаны соотношениями Ui - E(Xi,ai), V = E(Yi, bi), 1 < i < n. Параметры проверки посылаются заранее получателю В и третьему доверенному лицу. Теперь, чтобы подписать n-битовое сообщение m — (mi,... ,mn), пользователь А применяет следующую процедуру: его подпись будет цепочкой 5 = Sx...Sn, где для каждого i $ ~ Г а;, если mi = О, 1 — { bi, если mi — 1. В проверяет подпись следующим образом: для каждого i (1 < i < n) он использует бит mi и ключ Si, чтобы проверить, что Г т»=0, то E(Xi,Si) = Ui, f n \mi = l, то E(Yi, Si) = V. UU.d.i ) В принимает подписанное сообщение за истинное только в том случае, если при процедуре проверки (10.3.1) выполнено для каждого i. Хотя эта система проста в использовании, у неё есть, по крайней мере, два очевидных недостатка. Во-первых, необходима предвари- тельная передача параметров проверки. Во-вторых, что более важно, подпись сильно увеличивает длину сообщения. Если в криптосистеме используются ключи длиной, скажем, 64 бит, то длина подписанного сообщения увеличивается в 64 раза. 10.4 Вероятностная схема подписи Рабина В 1978 г. Рабин предложил следующий способ подписи. Пусть Е — функция шифрования некоторой криптосистемы, a , 1 < i < 2r) — последовательность случайно выбранных ключей, которые отправитель А держит в секрете. Адресат В получает список параметров проверки (Xi,Ui) (1<г<2г),где E(Xi,ki)^Ui (1<г<2г).
10.4, Вероятностная схема подписи Рабина 269 Эти параметры хранятся в доступном для всех месте. Предположим сейчас, что А хочет подписать сообщение т. Его под- писью будет цепочка где для каждого i (1 < i < 2r) Si = £(m, Art). В делает следующее. Сначала он выбирает случайным образом г ключей, которые А должен ему представить: ... При полу- чении этих ключей от А он проверяет Е(т,к{1) = Sil, Е(Х^к{1) = и{1 и далее для всех индексов г2, г’з, • •, V* Он считает действительной под- пись от А только в том случае, если выдерживаются все проверки. Ясно, что безопасность получателя зависит от его уверенности в том, что только отправитель, знающий секретный ключ, может послать под- писанное таким образом сообщение. Что касается А, то предположим, что А отказывается от сообщения, которое, по утверждению В, он под- писал. Тогда протокол для А следующий: А должен предъявить судье свои секретные ключи къ^.^кзг и в присутствии обеих сторон дела- ются 2г проверок: E(m,ki) =Sh E(Xi,ki) = Ui. Рассмотрим, что это означает в трёх возможных случаях. 1. Корректными являются менее г проверок. Тогда В не должен был принимать подписанное сообщение. 2. Выдерживаются точно г проверок. Это означает, что при выборе ключей В выбрал именно это подмножество из г ключей. Веро- ятность, что он угадает это подмножество, равна Рг = (с;,)-1 и уже для г = 18 составляет приблизительно 10"10. 3. Выдерживаются г + 1 и более проверок: отказ абонента А не при- нимается.
270 ГЛАВА 10. Электронная цифровая подпись 10.5 Стандарт ЭЦП DSS В 1991 г. NIST (National Institute for Standards and Technology) пред- ложил для обсуждения проект стандарта ЭЦП DSS (Digital Signature Standard), использующий алгоритм DSA (Digital Signature Algorithm). Стойкость данного алгоритма основана на сложности решения задачи дискретного логарифмирования в мультипликативной группе простого поля Fp (см. главу 3). 10.5.1 Формирование подписи Формирование подписи происходит по следующему алгоритму. 1. Отправитель А сообщения М представляет широкому кругу або- нентов (получателей его сообщений) доступ к следующим параме- трам: р — простое число, 2512 < р < 21024 и битовая длина р кратна 64; q — простое число, 2159 < р < 2160 и q — делитель р — 1; у — 1 g = h ч (modp), где h — такое целое число, что 0 < h < р и р-i h я (modp) > 1; у — открытый ключ, сформированный по правилу: у ~ a37(modp). Здесь х — секретный ключ, известный только А, причём 0 < х < q\ Н(М) — хэш -функция, которая по исходному сообщению М формирует целое число в диапазоне от 1 до q (см. § 10.9). 2. Пользователь А генерирует случайное число fc, такое, что 0 < k < q, держит его в секрете и уничтожает сразу после получения подписи. 3. А находит два числа г и s по следующему правилу: г — (^ft(modp)) (modg), s =. fc“1(xr 4- Я(М)) (modg). Подписью к сообщению М является пара (г, s).
10.5. Стандарт ЭЦП DSS 271 10.5.2 Проверка подписи Пользователь В получает от А сообщение М1 и подпись к нему (г', s'). В должен убедиться, что М совпадает с М'. Для этого должны выполняться следующие условия. 1. Если хотя бы одно из условий 0 < s' < д, 0 < г' < q не выполня- ется, то подпись считается недействительной. 2. В находит v = (s')~1(mod^). 3. В вычисляет zi = Я(М') i; (mod </), z^ — rT(modg). 4. Далее вычисляется и по формуле и = (gZ1yZ2(modp)) (modg). 5. В проверяет условие г' = и. Если оно выполняется, то подпись считается подлинной и сообщение не измененным, т. е. Mf — М. 10.5.3 Корректность алгоритма DSA Пусть М — М/, s ~ s', г ~ rf. Покажем, что тогда и — г. Итак, v = s~1(modg), z\ = Я(М)г(гпос1g), z% — rf(modg). Теперь имеем и = gZ1yZ2 (modp) (mod q) = gH(M}s 1 gxrs (modp)(modg) — = gk(xr+H(M)) 1(a7r+-ff(M))(modp)(modg) — gk (modp)(modq) = r. Таким образом, и = г, и корректность алгоритма доказана. Для нахождения секретных параметров ЭЦП по имеющимся откры- тым необходимо решить следующую систему сравнений: у ax(modp), gk Арп = г'(modp), s' = к~г(хг 4- #(M'))(modp), где неизвестными являются х, п, к. В работе [134] имеются некоторые замечания по стойкости алго- ритма DSA.
272 ГЛАВА 10. Электронная цифровая подпись 1. В алгоритме формирования подписи есть ошибка: в редких слу- чаях, когда s = 0, при проверке подписи будет сбой, так как при этом не существует s”1. Эта ошибка легко устраняется при по- мощи дополнительной проверки, что и сделано в российском стан- дарте ЭЦП. 2. Алгоритм DSA медленный. В то время как скорость получения подписи сравнима со скоростью шифрования по схеме RSA (лишь не намного медленнее), проверка подписи в большом числе случаев в 100 раз медленнее, чем RSA. 3. Тот факт, что один модуль р используется многими пользовате- лями, ослабляет стойкость алгоритма, поскольку единственный “взлом” р нарушает безопасность сразу всех абонентов, пользую- щихся этим р. Под взломом понимается некое предвычисление, которое позволяет в дальнейшем легко решать проблему дискрет- ного логарифмирования для данного р. 4. Величина 512 бит для р слишком мала. С учетом тенденции уменьшения стоимости вычислений стоимость взлома через не- сколько лет может сократиться до разумной величины, что для стандарта неприемлемо. 5. Существует целый класс простых чисел, для которых проблема дискретного логарифмирования решается легко. Причем постро- ить такие простые числа также легко, однако затраты на про- верку, является ли данное простое “слабым”, превышают возмож- ности среднего пользователя. Это значит, что тот, кто распреде- ляет простые р, в принципе может знать секретные ключи своих клиентов. 6. Анализ алгоритма DSA показывает, что в данном случае проблема взлома подписи не совсем сводится к проблеме дискретного лога- рифмирования. Поскольку в алгоритме DSA g — это не перво- образный корень по модулю р, а лишь элемент порядка д, что намного меньше р — 1. Таким образом, вполне возможно, что про- блема взлома алгоритма ЭЦП значительно легче общей проблемы дискретного логарифмирования.
10.6. Схема ЭЦП Эль-Гамаля 273 10.6 Схема ЭЦП Эль-Гамаля Пусть р — большое простое число и q — большой простой делитель р ~ 1. Пусть д € (Z/pZ)* имеет порядок q. Пользователь А выбирает секретный ключ х(1<х<д)и находит у ~ дх modp — открытый ключ. Предположим, что он отправляет сообщение т (1 < т < q). Подписью к этому сообщению будет пара (г, $), удовлетворяющая дт = yr -rs (modp) {10.6.1) с условиями 0<г<ри0<5<д. Она строится следующим образом. Выбираем случайное к 6 [1, q — 1] и вычисляем г — дк modp, s ~ — xr) modg. Действительно, поскольку порядок д равен Q, полученные г и з удо- влетворяют (10.6.1): уг • г3 = дХТ дк к-\т-Хг) = 5rr+m-rr = дт (modp) Покажем, что при каждом к существует единственное s < q, удовле- творяющее (10.6.1). Из (10.6.1) имеем дт ~ дхг • /5(modp) цтос[р) т — хг — кз = 0 (mode?) => т — xr = ks (modg) => => s = fc-1(m — xr)(modQ). Если выбрано к, то для выработки подписи (без знания секретного ключа х) необходимо найти такое s < q, что верно (10.6.1) или rs ~ b (modp), (10.6.2) где b = g~r modp. Так как числа к и q взаимно просты, то число г = дк имеет тот же порядок, что и д, т. е. q. Следовательно, для взлома системы таким способом необходимо решить задачу дискретного логарифмирования в подгруппе G, образованной д, имеющей большой порядок q.
274 ГЛАВА 10. Электронная цифровая подпись 10.7 Арифметические свойства российского стандарта цифровой подписи Механизм цифровой подписи Задаются следующие параметры, используемые алгоритмом: р — простое число, 2599 < р < 2512 либо 21020 < р < 21024; q — простое число, 2254 < q < 2256, такое, что q | р - 1; a —• целое число в пределах 1 < a < р — 1, такое, что aqmodp = 1; х — целое число в пределах О < х < q', у — целое число, равное c^modp; М — целое число в пределах 0 < М < q. Число х называют секретным ключом пользователя, у — от- крытым ключом пользователя, М — сообщением, В соответ- ствии с алгоритмом проверки подписи в ГОСТ Р 34.10-94 электронную подпись можно ввести следующим образом. Пусть дано сообщение М. Подписью к М называется пара целых чисел (г, $), таких, что 1 < г < qy 0 < < <7, (10.7.Г) Г = (asMg~2 mod 9 • y~rMg~2 mod 9 mod р) mod q. (10.7.2) Теорема 10.7.1. Пусть задано целое М (0 < М < q). Тогда су- ществует ровно q различных решений уравнения (10.7.2), причём rk — (ak mod р) mod «у, (10.7.3) — (жт> + kM) mod q. (10.7.4) Доказательство. Легко проверить путём подстановки, что все пары (rk,s/-), заданные по формулам (10.7.3), (10.7.4), удовлетворяют равен- ству (10.7.2). Все эти пары различны. Действительно, если (г{,$г) = (tj, Sj) при некоторых г 7^ j, то, используя (10.7.4), получаем хг{ + iM = xrj + jAf(modg), откуда следует, что (г — j)M = 0(modg), что вместе с (M,q) = 1 даёт i = j(modg). Последнее сравнение возможно только, если г = j. Таким образом, чтобы доказать утверждение, достаточно показать, что сравнение (10.7.2) имеет не более q решений.
10.7. Свойства российского стандарта ЭЦП 275 Будем рассматривать циклическую подгруппу группы Z* {a)p = {ak me Ip : k = 0,.. . ,# - 1}, порождённую элементом а. Для тп £ {0,.,., q - 1} определим функцию Ф(т) как число различных элементов группы (а)р, которые по модулю д-1 q дают остаток т. Очевидно равенство £2 Ф(т) = #. Далее, пусть Ф т—0 обозначает число решений (10.7.2) и Ф(г) число различных s (0 < s < q)> g-l таких, что пара (г, $) есть решение (10.7.2). Тогда Ф = ^2 $(г)« г=0 Зафиксируем г. Поскольку у = ах mod р, то имеем равенство asM’"2 mod ’ • mod 4 modр = modч modp Когда з пробегает значения от 0 до q — 1, то v — (s — rx)Mg~2 mod 9 также пробегает (в другом порядке) значения от 0 до q — 1. Тогда apmodp пробегает все элементы группы (а)р, когда s изменяется от 0 до q — 1. Тогда число различных 5, таких, что г = (a’M*-2mod9 . y-^’-2n>od9inod^ mod</j есть Ф(г), с одной стороны, и Ф(г) — с другой. Тогда д-1 д-1 ф=52 ф(г) - 52 ф(г)= q- r=Q r~0 Итак, число различных решений сравнения (10.7.2) равно q, и все эти решения описаны по формулам (10.7.3), (10.7.4). Введем в рассмотрение множества Я(М) ~ {(/>, Sk) : rk = (afe modp) mod#, — (хгь + kM) mod#, 0 < k < # — 1}, S(M) = {(r,^)Gfi(M): (r-l)rs^O}. Тогда множество 7?(М) состоит из всех решений уравнения (10.7.2), а множество S(M) состоит из всех подписей к М. Чтобы сформировать подпись к сообщению М, необходимо решить сравнение (10.7.2) относительно (г, s). Такую пару можно вычислить по формулам (10.7.3), (10.7.4). Но для этого необходимо знать значение се- кретного ключа х и параметра к. Таким образом, получаем следующие алгоритмы.
276 ГЛАВА 10. Электронная цифровая подпись Алгоритм генерации подписи 1. Генерируем случайное к в интервале [0, q — 1] (его значение дер- жится в секрете). 2. Находим г/с и зь по формулам (10.7.3), (10.7.4) (их вычисление осуществляется до алгоритмам полиномиальной сложности). 3. Значение числа к уничтожается. 4. Если • Sk ф 0, то полученная пара (г*,$л) является подписью к М; в противном случае переходим к шагу 1. Алгоритм проверки подписи 1. Если г < 0, или г > q ~ 1, или s < 0, или з > q — 1, то подпись недействительная, иначе переходим к следующему шагу. 2. Вычисляем zq = Мя~2 modg. 3. Вычисляем z^ = s^mod#. 4. Вычисляем z? = —r^modg. 5. Вычисляем z3 — aZ1 modp. 6. Вычисляем ~ yZ2 modp. 7. Вычисляем z5 = Z3Z4 modp. 8. Вычисляем zq ~ 25 mod g. 9. Если r ze, то подпись недействительная, иначе подпись действи- тельная. Эквивалентное преобразование схемы ЭЦП Рассмотрим уравнение f = (0*M’-3modg . modp (Ю.7.5) в целых 0 < г < р, 0 < з < q.
10,7. Свойства российского стандарта ЭЦП 277 Теорема 10.7.2. Пусть задано целое М (0 < М < д). Тогда су- ществует ровно q различных решений (?Ч,^)^~о уравнения (10.7.5), причём rk = (ak modp), (10.7.6) sk — (хгк + kM) mod (10.7.7) Доказательство. Из уравнения (10.7.5) очевидно, что г имеет вид (10.7.6) с некоторым целым к (0 < к < g), поскольку у = ах modp. Тогда afe=«^'2“^’2(modp), что выполнено тогда и только тогда, когда к = sMq~2 — r^M^"2(modg), откуда получаем (10.7.7). Итак, все решения уравнения (10.7.5) опре- деляются по формулам (10.7.6), (10.7.7). Все значения гк различны и, следовательно, все решения различны. Определим R(M) — множество решений (10.7.5) и S(M) = {(f, s) Е R(M) : (г — l)rs 0(modg)}. Теорема 10.7.3. Пусть задано целое М (0 < М < д). Тогда для всех к от 0 до q — 1 справедливы следующие утверждения: 1) гк — modg; 2) sк — 8к) 3) Гк (aSk^q 2modq ,y-rkMq 2 modg modp; 4) (rk,sk) € S(M) <=> (rk,sk) G S(M). Доказательство. Первое равенство очевидно в силу определения г*. Тогда имеем sk = (xrk + kM)modq — ^(n-modg) + kM)modq = (xrk + &M)modg = зк. Далее, из того, что у имеет порядок q и rk “ rfc(modg), вытекает, ЧТО y~r*Mq 2modq _ y-rkMq 2modg Под- ставляя вместо выражения из левой части выражение из правой части и зк вместо зк в (10.7.5), получаем третью формулу. Четвертый пункт утверждения вытекает из первых двух.
278 ГЛАВА 10. Электронная цифровая подпись Теорема 10.7.4. Пусть задано целое М (0 < М < д). Определим отображение Fm : R(M) R(M) по правилу FM(r,s) = (fmodg,s). Тогда 1) Fm устанавливает взаимно однозначное соответствие между R(M) и R(M); 2) обратное отображение (г, в) = F^(r, s) имеет вид S = S, f = ^W’-2modq . y-rM*-2 mod,) modp; 3) сужение Fm па S(M) устанавливает взаимно однозначное соот- ветствие между S(M) и S(M). Доказательство, Это утверждение вытекает из предыдущего. Вывод: в силу теоремы 10.7.3 задача нахождения решений урав- нения (10.7.5) эквивалентна задаче нахождения решений уравнения (10.7.2) в том смысле, что по решению одной из этих задач легко (по алгоритмам полиномиальной сложности) строится решение другой. Дискретное логарифмирование в схеме ЭЦП Достаточным условием для того, чтобы формировать подписи к про- извольным сообщениям, является знание х, для нахождения которого достаточно решить задачу дискретного логарифмирования. Выясним, к каким проблемам приводит задача построения подписи. В силу доказанной эквивалентности задач решения уравнений (10.7.2) и (10.7.5) будем исследовать задачу решения уравнения (10.7.5), которое можно переписать в виде rMyr = as(modp). (10.7.8) Итак, чтобы сформировать подпись, необходимо решить уравнение (10.7.8). Множество решений этого уравнения есть однопараметриче- ское семейство пар. Если зафиксировать параметр г, то приходим к уравнению (F~b(modp), где b = rMyr modp и s — неизвестное. Его решение есть задача дис- кретного логарифмирования.
10.7. Свойства, российского стандарта ЭЦП 279 Зададим 80 и предположим, что уравнение (10.7.8) имеет решение (г, s) такое, что s = sq. Тогда, чтобы отыскать г, необходимо решить уравнение rMyr ~ as°(modp) или dr = br(modp), где b = a~SQMg mod9modp, d = у~мд 2mod,?modp. Для решения этой задачи, где находится дискретный логарифм, с одной стороны, и правая часть имеет линейную зависимость от самого логарифма, с другой сто- роны, алгоритмов, кроме переборных, в настоящее время не известно. Эту задачу можно проинтерпретировать иначе: необходимо отыскать такое г, что rd[ = ii, где di — d”1 modp и 6i = 6'1 modp. О совпадении ЭЦП для различных сообщений Теорема 10.7.5. Пусть даны Mi,M2 Е Z такие, что 0 < Afi, М2 < q, Mi ф М2. Тогда R(Mr)C\R(M2) = {(М}, (10.7.9) S(Mi)nS(M2) = 0. (10.7.10) Доказательство. Пусть (г, s) Е R(Mi) П R(M2). Тогда г — ak modp и xr + kMi = xr -f- &M2(modg), откуда k(Mi — М2) = 0(modq), что возможно только при к — 0. Следовательно, г — 1 и s = 1 + 0 х Mi) modq = х. Соотношение (10.7.10) вытекает из (10.7.9). Замечание 10.7.1. Хотя S(Mi) и S(M2) не пересекаются при раз- личных Mi и M2i но S(Mi) и S(M2) могут иметь пересечение. Дей- ствительно, если Гк = ri при некоторых различных к и I, то пара сообщений Mi — (s — хгь)к~1 mod# и М2 — (s — xri)l~l mode/, где s Е q — 1} — произвольно, будет иметь одинаковую подпись, причём Mi ф М2. Это, очевидно, связано с тем, что может при- нимать одинаковые значения при различных к. Чтобы охарактеризовать вероятность совпадения подписей, введём в рассмотрение для т Е {0, ...,q — 1} случайную величину Т}т, которая равна числу различных к (0 < к < q), для которых т — (ак modp) mod q. Также рассмотрим Pt, равные числу различ- ных т, что г}т — i. Введём вспомогательную функцию:
280 ГЛАВА 10. Электронная цифровая подпись (z,J) Е {0, ~ I}2- Легко заметить, что Xt(j) = 1- Тогда величину ут можно задать следующим образом: д-1 ^тп ~ 2 Хт ’ *=0 где г/; = (аА modp) mod q. Подсчитаем среднее значение р: д-1 д-1 д-1 д-1 д-1 д-1 22 = 52 = 22 52=221 = (Ю.7.11) т~0 m—0k—0 k~Om=.O k=0 откуда вытекает, что математическое ожидание Е ~ 1. Далее, Pt/q есть вероятность события р = i и поэтому имеет место д-1 2>=<Л (10.7.12) i=0 Поскольку математическое ожидание р равно iPi/q = 1, то полу- чаем д-1 22^ = 7= (10.7.13) 4=0 откуда Pi ~ iPi, что эквивалентно Ро - 1л=2 (г* ~ 1)^‘- Пусть w обозначает число различных значений случайной величины rj. Тогда Т) принимает значение i тогда и только тогда, когда Pi / 0. Пусть все различные значения р, причём ij < Тогда, используя (10.7.13), получаем W W W —1 / n J=1 J=1 i-0 Следовательно, w<[v^g]+l. (10.7.14) Пример, р — 22643563, q = 1109, имеем следующее распределение Т]т: Ро = 425, Pi =: 382, Р2 = 202, Р3 = 80, Р4 = 17, Р5 = 3 и Pi = 0 при i > 5, или »? 0 1 2 3 4 5 > 5 р 4^5 ..ИОй,,..! 382 1109 202 _11Ж_ "8(Г ‘ 1'7 3 . 11ПЭ 0
10.8. Фальсификация подписи в DSS и схеме Эль-Гамаля 281 Наиболее вероятно естественное предположение о том, что р прини- мает значения — Но в этом случае получаем, что Рг = 0 при г > w. Это говорит о том, что среди значений одно и то же не может встретиться более w раз. Скорее всего вероятности Р{ должны быстро убывать (как показывает пример). В этом случае на w можно получить гораздо более сильные оценки. Это будет свидетельствовать о том, что одни и те же значения встречаются очень редко и распределена в некотором смысле равномерно. Замечание 10.7.2. Можно было бы принять в качестве подписи к некоторому сообщению М пару (r,s) 6 S(M), чтобы избежать опас- ности совпадения подписей на разных сообщениях или опасности иска- жения сообщения с сохранением подписи. Но опыт показывает, что подобные события маловероятны и практически не влияют на стой- кость. Кроме того, приведение по двойному модулю обладает неоспо- римым преимуществом: построенная таким образом подпись на 30 % короче ее расширенного аналога (г, .$) и тем самым существенно эко- номит объём пересылаемых информационных сообщений. Чтобы дать строгое математическое обоснование, необходимо изучить распреде- ление значений последовательности mod <?) modp. В следующем па- раграфе проводится предварительный анализ этого распределения. 10.8 Эквивалентность задач фальсификации подписи в DSS и схеме Эль-Гамаля Теорема 10.8.1. Существование эффективного алгоритма подписи по схеме DSS эквивалентно существованию эффективного алгоритма подписи по схеме Эль-Гамаля. Доказательство, Считаем, что параметры р, q и а в обеих схемах одинаковы. Пусть существует эффективный алгоритм подписи по схеме DSS. Пусть задан открытый ключ для схемы Эль-Гамаля. Положим yi — у~х modp — открытый ключ для схемы DSS. По гипотетическому алгоритму находим подпись (г, s) заданного сообщения М. Подпись для
282 ГЛАВА 10. Электронная цифровая подпись схемы Эль-Гамаля построим по формулам {5 = 5, г = aM^~2 mod* • 2/Г'2 modq modp. Действительно, легко видеть, что полученная пара удовлетворяет усло- виям определения. Обратно, пусть существует эффективный алгоритм подписи по схеме Эль-Гамаля. Пусть задан открытый ключ yi для схемы DSS. Пусть уз = pf1 modp — открытый ключ для схемы Эль-Гамаля. По гипотетическому алгоритму находим подпись (г, s) заданного сообще- ния М. Подпись для схемы DSS построим по формулам {з — з, г = г mod q. Полученная пара удовлетворяет определению. Замечание 10.8.1. Теорема 10.8.1 аналогична третьему пункту те- оремы 10.7.3, который устанавливает эквивалентность схемы цифро- вой подписи в стандарте РФ и описанной другой схемы, аналогичной схеме Эль-Гамаля. В силу эквивалентности DSS и схемы Эль-Гамаля достаточно изу- чить проблему взлома последней. Существует аналогия со стандартом РФ (см. § 10.7), а именно, чтобы найти корректную подпись (г, s) при заданном г = го, необходимо решить сравнение вида rs = 6(modp), где b — aMy~r modp и s — неизвестное. Его решение есть задача дис- кретного логарифмирования. В свою очередь, чтобы найти корректную подпись (г, 5) при заданном $ == ф 0, необходимо решить сравнение вида rdr = b(modp), где b = aMsq 2 modg modp, с/~ 2n3odgmodp. Замечание 10.8.2. В качестве одной из возможных задач при взломе какой-либо из схем цифровой подписи может быть задача найти какую-нибудь корректную пару где М — сообщение, S — подпись. С этой точки зрения все описанные выше схемы (Российский стандарт, DSS, алгоритм Эль-Гамаля) эквивалентны.
10.9. ЭЦП и хэш-функции 283 Действительно, в случае Российского стандарта необходимо и до- статочно решить уравнение (10.7.8), а в случае DSS и схемы Эль- Гамаля — уравнение (10.6Л). Но очевидно, что эти уравнения пере- ходят друг в друга путём перестановки переменных т и s. Замечание 10.8.3, При оценке стойкости любой криптосистемы встаёт вопрос о влиянии числа известных корректных пар где М — сообщение, S — подпись, на стойкость криптографического алгоритма. Алгоритмы, построенные на операции возведения в сте- пень в Z,/N (типа RSA), позволяют найти любое число таких пар. Для этого достаточно знать одну и преобразовывать её, используя мультипликативную структуру операции возведения в степень или просто по заданному S вычислять М. Такой приём в используемых схемах, основанных на операции экспонирования, встречает непреодо- лимую трудность — необходимо решать задачу дискретного логариф- мирования. 10.9 ЭЦП и хэш-функции Многие из рассмотренных алгоритмов ЭЦП пригодны лишь для под- писания сообщений фиксированной или находящейся в заданных преде- лах длины. На практике сообщение может быть больше. Очевидное решение этой проблемы — разбить сообщение на части и подписать каждую в отдельности — неприемлемо из-за увеличения объема сооб- щения. Ещё одно неудобство такого подхода в том, что многие схемы ЭЦП работают довольно медленно, а многократная подпись лишь уси- ливает этот недостаток. В настоящее время для решения этой проблемы используют так на- зываемые хэш-функции. Функция хэширования сопоставляет произ- вольному набору данных его образ фиксированной небольшой длины, пригодный для алгоритма ЭЦП. Поэтому подписанное сообщение х имеет вид (x,s(h(x))), где h — функция хэширования. Очевидно, что функция h должна быть односторонней, т. е. не должно существовать алгоритма полиномиальной сложности для вы- числения х по известному у ~ h(x). Если взломщик найдёт сообщение х1 такое, что h(x) — h(xf), то он сможет выдать его за истинное, поскольку подпись останется прежней. Поэтому при синтезе хэш-функций обычно требуют, чтобы она, как
284 ГЛАВА 10. Электронная цифровая подпись минимум, удовлетворяла следующему определению. Функция h называется свободной от коллизий, если вычисли’ тельно невозможно найти для данного х точное xf, что h(x) — h(xf). Функция h называется свободной от коллизий в строгом смы- сле, если вычислительно невозможно найти два таких сообщения х и х*, что h{x) = Л(я'). На практике, конечно, любая хэш-функция имеет много коллизий. Тем не менее, как показывает следующая теорема, для односторонней функции их поиск является трудной задачей. Теорема 10.9.1. Пусть задана односторонняя функция h : X Y, где X и Y — конечные множества, причем |Х] > 2|У|. Если имеется эффективный алгоритм f вычисления х по известному у = h(x), то имеется и эффективный вероятностный алгоритм, который находит коллизию для h с вероятностью не менее 1/2. Доказательство. В качестве искомого алгоритма возьмём следую- щий. Выбираем произвольно х Е X, находим у = х' — А(у). Если х / х1, то имеем коллизию, фак как h(z) = h[x1}. Осталось показать, что вероятность успеха не меньше 1/2. Обозначим через (ж) полный прообраз Л(х), а через X — множе- ство всех прообразов. Тогда вероятность успеха при выборе х равна (|(ж)| — 1)/|(ж)|. Вероятность р успеха алгоритма в целом вычисляется усреднением по всем х. Таким образом, Р |Х|Ь |(х)| |Х| Xt~A ‘ __ |X|~|Z| |Х[ —|Х|/2__ 1 |Х| “2 2 Большинство известных к настоящему времени хэш-функций можно условно разделить на два класса. К одному.из них относятся функции, в основе которых лежат стандарты блочного шифрования, а к другому — функции, основанные на различных преобразованиях из теории чисел алгебры и других разделов математики. Функции первого класса удобны тем, что они используют алгоритм, которым одновременно можно шифровать сообщение. Для хэширования
10.10. Алгоритмы генерации простых чисел 285 само сообщение должно быть разбито на блоки, пригодные для примене ния стандарта шифрования. При этом в качестве первого блока исполь- зуется случайный или зависящий от ключа блок, называемый вектором инициализации. Одна из первых функций такого вида была предложена Рабином. Схема Рабина. Обозначим через образ сообщения m под действием преобразования Е с ключом к. Если необходимо хэшировать сообщение т, то его разбивают на блоки mi, m2, -.., mt. Например, если рассматривается стандарт DES, то длина блока равна 64. Выбираем вектор инициализации. Хэш-значение Л(я) определяется по формулам ho — I, hi = Е(т^ Л1-1), i = 1,2,.. h(m) — ht. Впоследствии было предложено усложнение этой схемы: ho = I, hi = Е(тщ ф hi-i, Л»-1), i = 1,2,h(m) — ht. Известны варианты, когда используется ключ. Например, ho = Л hi — Е(ку mi ф Л»-1), i = 1,2,...,/, h(m) = ht. К числу схем второго класса относится схема, использующая RSA- преобразование. Выбираем параметры N и е RSA-криптосистемы: ho = Z, hi = (Aj-i фШ|)е mod АГ, h(m) — ht. Иногда используют схемы, основанные на возведении в квадрат по мо- дулю: hi = (fti-i ф m:)2 mod TV, hi = ф (m2 mod A), hi = hi^i ф (mi mod A)2 mod TV. 10.10 Алгоритмы генерации простых чисел В большинстве вышеописанных криптографических схем использу- ются простые числа. Причём стойкость используемых алгоритмов су- щественным образом зависит от того, насколько велики эти простые. Общая схема для большинства методов получения простых чисел со- стоит из следующих двух шагов.
286 ГЛАВА 10. Электронная цифровая подпись 1. Выбор большого нечетного числа. 2. Тестирование этого числа на простоту. Если число оказалось про- стым, то алгоритм заканчивает работу. В противном случае пе- реходим к шагу 1. Существуют два различных подхода к реализации шага 2 — вероят- ностный и детерминированный. Результатом работы детерминирован- ного теста является доказуемое высказывание о том, что тестируемое число — простое (составное). Для вероятностного теста на простоту характерно то, что, как правило, со 100 % гарантией можно определить, является ли число составным, и только с вероятностью, близкой к 1 (но не равной 1), можно определить случай простого числа. В основе большинства тестов простоты лежит хорошо известная ма- лая теорема Ферма (см. главу 2). Малая теорема Ферма дает необхо- димый признак простоты числа р. Отсюда непосредственно вытекает алгоритм тестирования числа п на непростоту. Очевидно, что если при некотором a, таком, что п /а, имеет место а71'1 l(modn), то число п составное. Однако для доказательства простоты необходим какой-нибудь до- статочный признак простоты числа. Оказалось, что теорема, обратная к малой теореме Ферма, не верна, а именно существуют составные чи- сла п, такие, что для любых (а, n) = 1 имеет место сравнение а””1 = l(modn). Такие числа называются числами Кармайкла. До настоящего времени не доказана конечность или бесконечность множества таких чисел. Наименьшее число Кармайкла равно 560 = 3’7 Л1. Однако такие числа встречаются редко и малую теорему Ферма можно применять для построения простых чисел. Дадим следующее определение. Пусть п — нечётное составное число и а — целое такое, что верно (a,n) = 1. Число п называется псевдопростпым по основанию а, если an~l = l(modn). Оказывается, что если составное п является числом Кармайкла, то существует не менее п/2 оснований а, для которых п не является псевдо- простым. Таким образом, если заранее знать, что п не является числом Кармайкла, то тестировать п на простоту можно было бы таким обра- зом: выбрать случайное основание а и проверить, является ли п псев- допростым по основанию а. Если условие не выполнено, то, согласно
10.10. Алгоритмы генерации простых чисел 287 малой теореме Ферма, п — составное. Допустим, что выдерживаются к проверок, тогда вероятность того, что при этом п является составным, равна 1/2*. Выбирая к достаточно большим, можно находить такие числа п, что вероятность того, что п — составное, сколь угодно мала. Очевидным недостатком этого теста является то, что необходимо зара- нее знать, что п не является числом Кармайкла. От этого недостатка можно избавиться, используя теорему Эйлера (см. главу 2, теоремы 2.8.2, 2.14.1). Теперь мы можем описать следующий вероятностный тест на про- стоту. Тест Соловая—Штрассена 1. Выбрать к различных оснований а, таких, что 1 < a < п. 2. Для каждого а проверить условие теоремы 2.14.1, и если оно не выполнено хотя бы для одного а, то п — составное. Если же для всех а это условие выполнено, то п является составным с вероят- ностью, не превышающей 1/2*. Дальнейшее усовершенствование данной методики приводит к сле- дующему, широко используемому вероятностному тесту простоты. Нечётное составное число п = 24 4- 1 — нечётное) называется сильно псевдопростпым по основанию а, если выполняется одно из условий: 1) а* = l(modn); 2) существует 0 < г < $, такое, что a2 t = — l(modn). Если число п является простым, то для него одно из этих условий всегда выполняется. Действительно, в этом случае an~r = l(modn). Тогда в силу простоты п a^n“1)/2(modn) равно 1 или —1. Если по- лучено — 1, то, очевидно, п —т сильно псевдопростое. В случае, если a(n-i)/2 ~ l(modn), то рассматриваем число a(n-1^4(modn), которое в силу простоты п также равно 1 или —1. Продолжая эту процедуру не более чем s раз, получаем требуемое утверждение. Теорема 10.10.1. Если п — нечётное -составное число, то п явля- ется сильно псевдопростым по основанию а для не более чем п/4 осно- ваний а, таких, что 0 < а < п.
288 ГЛАВА 10. Электронная цифровая подпись Для доказательства теоремы потребуются следующие две леммы. Лемма 10.10.1. Пусть d = (k,m). Тогда существует в точности d элементов в группе {д,д2,.. ^дт = 1}, удовлетворяющих уравнению хк = 1. Лемма 10.10.2. Пусть р — нечётное простое, р — 2s t9 +1, где Г — нечётное. Тогда количество тех х 6 (Z/pZ)*, которые удовлетво- ряют х24 = — l(modp) (i — нечётное), равно 0 в случае г > s' и равно d2r, если г < s', здесь d = (t, tf). Доказательство. Пусть g — порождающий элемент группы (Z/pZ)* и х = gi, где 0 < j < р — 1. Так как = — l(modp) и р — 1 = 2s Г, то сравнение в условии леммы эквивалентно сравнению 2rtj = 2*'"4'(mod 23t'), (10.10.1) где j — неизвестное. Если г > s' — 1, то, очевидно, данное сравнение не имеет решений. Если г < s' — 1, то, разделив модуль и обе части (10.10.1) на величину 2rd, получим i / Г / Г j = 2t-r~1 -(mod 2s -г-). (10.10.2) d d d Так как (t/d,2s ~rtf/d) = 1, то существует единственное решение jo сравнения (10.10.2). Тогда j^k, где k = 1,2,.. .,2rd, являются решени- ями сравнения из условия леммы. Доказательство теоремы 10.10.1. Рассмотрим три возможных случая. Случай 1. Предположим, что п делится на квадрат некоторого простого р, т. е. ра | |п, а > 2. Покажем, что в этом случае п не может быть псевдопростым (тем более сильно псевдопростым) для более чем (п — 1)/4 оснований а, 0 < а < п. Для этого предположим, что а*1”1 = l(modn), откуда = l(modp2). Так как (Z/p2Z)* — циклическая группа порядка р(р — 1), то существует целое g такое, что (Z/р2 Z)* — {<7,</2, • • . Согласно лемме 1, количество тех а, для которых an-i — l(modp2), равно d = (р(р - 1), п — 1). Так как р\п, то р /п - 1 и, значит, d\p — 1, откуда d < р — 1. Это значит, что доля всех а, не
10.10. Алгоритмы генерации простых чисел 289 делящихся на р2 в интервале от 0 до п и удовлетворяющих сравнению an-1 = (modp2), не превосходит величины Р-1 < 1 < 1 р2 — 1 “ р + 1 ” 4 ’ Это доказывает 1-й случай теоремы. Случай 2. Теперь предположим, что п является произведением двух различных простыхри n = pq. Пусть р — 2*1 /i +1 и q = 25з/2+1, — нечётные. Без ограничения общности можно предположить $1 < s2. Чтобы элемент а был основанием, по которому п было бы сильно псевдопростым, должно выполняться одно из следующих усло- вий: 1) а* — l(modp) иМ l(mod^) или 2) а2 1 = — l(modp) и а2 1 = — l(mod?) для некоторого г, 0 < г < з. По лемме 10.10.1 количество тех а, для которых выполнено условие 1, равно произведению (Mi) (количество классов вычетов по модулю р) на (М2) (количество классов вычетов по модулю q), что, очевидно, не превосходит t^ti. По лемме 10.10.2 для каждого г < min(si, s2) = si ко- личество таких а, что а2 1 = —l(modn), равно 2Г(М1) ^(Мг) < 4ГМ2* Из того, чтоп—1 > <p(n) = 2S1+s2M2j следует, что доля тех а, 0 < а < п, для которых п является сильно псевдопростым, не превосходит М2 + М2 + 4М2 + 42/1^2 + • • • + । ~ 1х 2*i+W2 ~ 1 4-1 Теперь если s2 > «1, то вышеуказанная величина не превосходит 2~2*1-1 (2/3’+ 4S1/3) < 2“3(2/3) + 1/6 ~ 1/4. В случае $i = s2 заметим, что одно из двух неравенств (Mi) < М (М2) < ^2 является строгим, так как если бы /1 11 и t2 | то из того, что р = l(mod^i) и 2st = pq — 1, получим ti | q — 1 = 2М2, т. е. Н | /2. Аналогично получаем Z2 | ti, откуда ti = /2 и р = 7, что противоречит условию рассматриваемого случая. Следовательно, либо (Mi) < М либо (М2) <М поскольку мы имеем дело с нечётными числами, то (М1)(Мз) < М2/З. Таким образом, доля тех а, для которых п — сильно псевдопростое, оценива- ется сверху величиной к-2, /2 4М 111 3 \3 3 J “ 18 9 4
290 ГЛАВА 10. Электронная цифровая подпись Тем самым случай 2 доказан. Случай 3. Наконец предположим, что п -— произведение более чем двух различных простых чисел: п — • • р*, к > 3. Пустьpj — \ = 2SjZj, где tj — нечетные числа, и пусть $1 — минимальное из . Поступая так же, как и в случае 2, мы получим следующую верхнюю границу доли тех а, для которых п — сильно псевдопростое: 2&S1 2к - 1 2 . 1 ^О1^< 1 2к - 1 2к - 1 "4 Тест Миллера-Рабина Предположим, необходимо определить, простым или составным является нечётное число п. Мы запишем п в виде n = 2s 4- 1, где t — нечетное, и выберем случайное целое а в диапазоне 1 < a < п. Вна- чале вычислим <?(шос1п). Если получаем 1 или —1, то заключаем, что п проходит тест для данного значения а, и переходим к выбору следу- ющего а. В противном случае вычисляем (<?)2(modn) и сравниваем с — 1. Если это условие выполняется, то тест проходит, и переходим к новому значению а. В противном случае возводим полученное выра- жение в квадрат и т. д. Если, дойдя до а(п“х)/2, не получили —1, то п — составное. Если тест прошел для к различных значений а, то с вероятностью не более 1/4к число п — составное. Тест Миллера-Рабина применяется для генерации простых чисел в стандарте DSS NIST. При генерации простых чисел для ЭЦП в стандарте ГОСТ Р 34.10-94 применяется детерминированный тест простоты, основанный на следующем утверждении. Теорема 10.10.2. Пусть q — нечётное простое, up — qN + 1, где N — чётное. Если также р < (2q 4- I)2 и выполняются условия: 1) 2gN = l(modp), 2) 2n =£ l(modp),
10.10. Алгоритмы генерации простых чисел 291 то р — простое. Доказательство. Пусть р = р"1 .. .р*я. И пусть d — порядок числа 2 по mod р. Тогда a) d | р — 1 в силу 1); б) d в силу 2); в) d | <р(р) по теореме Эйлера, где ^(р) — функция Эйлера. Из а) и б) следует, что q | d и, значит, q | ^»(р). Известно, что <р(р) — Р?1”1 • • ~ 1) ’' * (рз “ 1)’ Предположим, что q совпадает с одним из р{. Тогда существует натуральное п, такое, что р — qn^ и, значит, в силу условия теоремы qn = qN + 1. Это противоречие,так как q /1. Таким образом, q должен делить один из множителей рг- — 1, т. е. Pi = qn + 1 для некоторого п. Отсюда имеем р = p:m — (qn + l)m — qN + 1 и, следовательно, т — 1 = q(N — пт). Итак, Р- (qn+l)(qs + 1), где s и п - четные числа, причём п > 2, s > 0. Предположим теперь, что р — составное. Тогда s > 2, откуда сле- дует р > (2g -Ь I)2. Из этого противоречия следует, что s — 0 и, значит, р~ Pi — простое. Алгоритм, приведённый в ГОСТ Р 34.10-94, позволяет строить про- стые числа, у которых длина двоичного разложения больше или равна 17. Идея алгоритма заключается в следующем. Пусть требуется по- строить простое число р длиной t бит (t > 17). Для этого построим убы- вающий набор натуральных чисел /о, • • • ,t5, таких, что to — t> ts < 17 и tt+i = [tt/2], т. e. либо tj-i = 2ti + 1, либо = 2ti. В процессе работы алгоритма мы будем получать последовательно простые числа Ps?Ps-ij • • • >Ро, причём длина каждого р2- в точности равна t{ бит. На начальном шаге алгоритма получаем простое р$ длиной ts < 17 посред- ством алгоритма пробного деления.
292 ГЛАВА 10. Электронная цифровая подпись Шаг итерации Пусть имеется простое число pi длиной ti бит, тогда простое число длиной бит ищется в виде Pi-i=PiN + 1, где N удовлетворяет следующим условиям: 1) N — чётное; 2) N — такое, что длина числа piN + 1 в точности равна ti бит^ Такое N получают с помощью датчика случайных чисел. После этого число pi-i = piN + 1 тестируют на простоту с помощью следую- щего теста. Проверяем два условия: 1) 2PiN = 1 (modpi^i); 2) 2n 1 (modpf„i). Если оба эти условия выполняются одновременно, то число Pi—x счи- тается простым. Если хоть одно из условий не выполнено, то число Pi-i считается составным, N увеличивается на 2 и тест повторяется для нового p,_i = PiN+1. Процедура повторяется до тех пор, пока не получим простое число Ро ДЛИНОЙ to бит. Задачи и упражнения к главе 10 1. Согласно теореме Эйлера, если п — нечётное простое и (a, n) = 1, то а(п-1)/2 = (“Л (modn). (10.10.3) \п/ Докажите, что если п является нечётным составным числом, то соотношение (10.10.3) не выполняется, по крайней мере, для поло- вины всех а с условием (a, n) = 1.
Задачи и упражнения к главе 10 293 2. Докажите, что если (10.10.3) выполняется для ai и не выполняется для «2) то (10.10.3) не выполняется для aiO2- Примените данное утверждение для доказательства того, что если (10.10.3) не выпол- няется хотя бы для одного а, то число таких а не меньше числа тех а, для которых (10.10.3) выполнено. 3. Если п делится на квадрат простого числа, покажите, как найти целое а, такое, что a(n“x)/2 ±l(mod п). 4. Докажите, что если п является произведением различных про- стых, р — одно из этих простых, а обладает свойством = — 1 и a = l(mod п/р\ то (10.10.3) не выполняется для этого а. Затем покажите, что такое а всегда существует. 5. В системе аутентификации, основанной на схеме RSA, пользова- тель А выбрал открытый ключ е = 7 и п = 77. Если он получил от В число 23, то что должен ответить А, чтобы аутентифицировать себя? 6. В системе аутентификации, основанной на схеме Рабина, А выби- рает в качестве открытых ключей В = 2, N ~ 200. С посылает А число Я — 168. Как должен ответить А, чтобы убедить С, что именно ему попало сообщение? 7. Используя схему подписи Диффи-Лампорта, основанную на ши- фровании e(x,k) ~ £fc(modTV), А выбирает четыре ключа: си —2, = 5, b± ~ 7, b% = 3. а) Какие утвержденные параметры посылает он В при N = 13? б) Как бы он подписал сообщение М — 10? 8. В той же схеме В получает сообщение mim273. Если это сообще- ние подлинное, то что представляют собой mi и m2? 9. В схеме подписи, основанной на RSA, пользователи А и В имеют открытые ключи ел = 3, пд = 15; ев — 7, пв = 77 соответ- ственно. А хочет послать сообщение М =; 4 как подпись к некото- рому тексту. Какое целое число он посылает?
294 ГЛАВА 10. Электронная цифровая подпись 10, Доказать, что в схеме подписи, основанной на RSA, при подписи Si сообщения mi и подписи S2 сообщения т2 сообщение mim2 можно подписать SiS2. 11. В вероятностной схеме подписи Рабина А имеет открытый ключ Na и желает подписать сообщение mi = 9 и т2 = 29. Какими будут соответственные подписи Si и S2? 12. Если S подпись к сообщению М, то как следует подписать сооб- щение 4М в схеме подписи Рабина? 13. В схеме подписи RSA пользователь А имеет открытый ключ е “ 11, п ~ 899. Как он подпишет сообщение 876? 14. В вероятностной схеме подписи Рабина с функцией шифрования е(х, k) = хк (mod 13) А посылает В четыре утверждённых параметра (2,10), (11,7), (7,8), (6,3). Как следует подписать сообщение тп = 8? 15. Почему в предыдущей задаче возникли бы трудности, если бы А отправил утверждённый параметр (3,1) вместо (2,10)? 16. Предположим, что мы знаем подписи Si и S2 сообщений mi и т2 по схеме Рабина: Е(х) = х(х + jB)(modAr). Показать, что для некоторых значений открытого ключа В легко подписать сообщение mim2.
ГЛАВА 11 Протоколы управления криптографическими ключами Эффективность криптографической защиты информации в компью- терных сетях определяется стойкостью используемых алгоритмов кри- птографических преобразований и надёжностью протоколов управления ключами [17, 138, 22]. Данная глава посвящена протоколам управления криптографическими ключами. Протоколы управления криптографическими ключами включают протоколы генерации, распределения, хранения, смены и уничтожения криптографических ключей. В настоящей главе основ- ное внимание уделяется протоколам генерации и распределения ключей на основе симметричных и асимметричных криптосистем. Протоколы распределения ключей должны обеспечивать взаимную аутентифика- цию сторон, целостность сообщений и защиту от повторных запросов. В §11.1 приводятся протоколы генерации ключей на основе симметричных криптосистем. В §11.2 излагаются протоколы взаимной аутентифика- ции на основе симметричных и асимметричных криптосистем. В §11.3 приводятся протоколы прямого обмена сеансовыми ключами. В §11.4 рассматривается протокол Цербера распределения сеансовых ключей, использующий центр распределения ключей.
296 ГЛАВА 11. Протоколы управления ключами 11.1 Протоколы генерации ключей Используемые в компьютерной сети ключи будем разделять на сле- дующие три группы: 1) главные ключи km сети, серверов, компью- теров, терминалов, которые используются для шифрования и генерации ключей; 2) ключи шифрования ключей файлов кр] 3) сеансовые ключи kAfB, которые используются для шифрования данных, переда- ваемых в сеансе связи между пользователями сети А и В. Для генерации главных ключей, или мастер-ключей km, исполь- зуются физические генераторы случайных последовательностей (см. главу 6). Распределение и установка главных ключей производятся спе- циальным образом [17]. Для генерации ключей шифрования и сеансовых ключей наряду с физическими датчиками используются псевдослучайные методы с се- кретными параметрами. В работах [114, 18] предложены протоколы генерации сеансовых ключей на основе криптосистемы DES. В качестве исходных данных для генерации ключей используются случайные числа RN, вектор “дата— время” DT и номер генерируемого ключа г, представленные в виде 64- разрядных двоичных векторов. В работе [114] предложен следующий протокол генерации сеан- совых ключей: к а,в ~ D(km,RN), где D(km, RN) — расшифрованное на мастер-ключе кт случайное чи- сло RN. В данном протоколе для генерации случайного числа RN ре- комендуется использовать физический датчик. В работе [18] для генерации сеансовых ключей предлагается исполь- зовать следующий протокол. Шаг 1. Вычисление промежуточного значения: J = E(km,DT) - зашифрованный на мастер-ключе кт текст DT. Шаг 2. Генерация сеансового ключа: ка,в = Е(кт, J © V), где V — 64-битовый вектор инициализации, сохраняемый в тайне. Шаг 3. Генерация нового значения вектора инициализации: V = ^(fcm, К © J).
11.2. Протоколы взаимной аутентификации 297 В работе [114] предложен протокол генерации ключей шифро- вания ключей файлов псевдослучайным методом. Шаг 1. Генерация вспомогательного ключа: ky = D(kmi, RN), где kmi — дополнительный главный ключ. Шаг 2. Генерация ключа шифрования ключей файлов: kF = E(kv,D(km, E(kv, D(km, (DT + i))))). 11.2 Протоколы взаимной аутентификации Для обеспечения подлинности сеансов связи при управлении ключами используются протоколы взаимной аутентификации, основанные на симметричных и асимметричных криптосистемах. В настоящем параграфе приводятся протоколы взаимной аутенти- фикации без участия третьей доверенной стороны и с участием третьей доверенной стороны. Для взаимной аутентификации участников сеанса связи без исполь- зования третьей доверенной стороны можно использовать следующую модификацию протокола рукопожатия. Шаг 1. Пользователь А посылает пользователю В число хА: А-+В : хА. Шаг 2. Пользователь В вычисляет значение уА = /(^д) и отпра- вляет уА и хв пользователю А: В А : Уа^в- Шаг 3. Пользователь А вычисляет f(xA) и сравнивает с полу- ченным значением уА. В случае равенства пользователь В является подлинным. Затем пользователь А вычисляет значение ув = /(^в) и отправляет пользователю В: А В : ув. Шаг 4. Пользователь В вычисляет значение /(жд) и сравнивает с полученным значением ув- В случае равенства пользователь А явля- ется подлинным.
298 ГЛАВА 11. Протоколы управления ключами Функция /(•) должна быть достаточно сложной, чтобы криптоана- литик не смог по значениям х и f(x) восстановить функцию f(x). В качестве функции f(x) можно использовать функцию вида /(я) = Е(Кдв, ж), где Е — симметричный криптоалгоритм, КдВ — ключ, из- вестный только пользователям А и В. Для взаимной аутентификации пользователей с использованием тре- тьей доверенной стороны Нидхэм и Шродер [121] предложили прото- колы взаимной аутентификации на основе симметричных и асимметрич- ных криптосистем. В качестве третьей доверенной стороны в данном параграфе используется сервер аутентификации AS. Протокол взаимной аутентификации на основе симме- тричных криптосистем имеет следующий вид. Шаг 1. Пользователь А посылает AS-сообщение, содержащее иден- тификаторы пользователей А, В и сообщение 1д пользователя А: А-> AS : А,В,/Л. Шаг 2. AS формирует для пользователей А и В сообщения, со- держащие сеансовый ключ зашифровывает их соответственно на ключах кд и кв и отправляет пользователю А: AS-+A : ^л,{/Л,ВДЛв,Ув}), где Yb = Е(кв, {кА)В, А}). Шаг 3. Пользователь А расшифровывает с помощью ключа кд со- общение, полученное от AS, и отправляет пользователю В сообщение AS для В: А^В : Е(кв,{кд}В,А}). Шаг 4, Пользователь В расшифровывает с помощью ключа кв полученное от пользователя А сообщение и направляет пользователю А сообщение 1В> зашифрованное сеансовым ключом кА}В'. В^А: Е(кА}В){1в}). Шаг 5. Пользователь А расшифровывает с помощью сеансового ключа кд,в сообщение, полученное от пользователя В, и отправляет пользователю В следующее сообщение: А-+В : Е(кА,в,{1в-1}).
11.2. Протоколы взаимной аутентификации 299 Протокол взаимной аутентификации Нидхэма-Шродера на основе асимметричных криптосистем включает следующие шаги. Шаг 1. Пользователь А посылает AS-сообщение, содержащее иден- тификаторы пользователей А, В: A^AS : А, В. Шаг 2. AS формирует для пользователя А сообщение, содержащее открытый ключ ркв и идентификатор пользователя В, зашифровывает его с помощью секретного ключа сервера аутентификации skAs и от- правляет пользователю А: AS —> А : Е[$кд$) {рк&у В}). Шаг 3. Пользователь А расшифровывает с помощью открытого ключа сервера аутентификации pkAs сообщение, полученное от AS, и отправляет пользователю В сообщение: А-+В : Е(ркв,{1Л,А}). Шаг 4. Пользователь В расшифровывает с помощью секретного ключа skg полученное от пользователя А сообщение и направляет серверу аутентификации сообщение: В-» AS : А, В. Шаг 5. AS формирует для пользователя В сообщение, содержащее открытый ключ ркА и идентификатор А пользователя А, зашифровы- вает его с помощью секретного ключа сервера аутентификации skAs и отправляет пользователю В: AS: E(skAS,{pkA,AY). Шаг 6. Пользователь В расшифровывает с помощью открытого ключа сервера аутентификации pkAs сообщение, полученное от AS, и отправляет пользователю А сообщение: В^А : Е(ркА,{1А,1в}). Шаг 7. Пользователь А расшифровывает с помощью секретного ключа зкА полученное от В сообщение и отправляет пользователю В сообщение, зашифрованное с помощью открытого ключа рА#: А-+В : В(рЬ,{Ш
300 ГЛАВА 11. Протоколы управления ключами 11.3 Протоколы прямого обмена ключами После взаимной проверки подлинности, например, с помощью прото- колов взаимной аутентификации, рассмотренных в §11.2, пользователи Аи В для получения сеансового ключа могут использовать следующую модификацию протокола Диффи-Хеллмана. Шаг 1. Пользователь А выбирает число ха, которое держит в се- крете, вычисляет у а = а?А modp и отправляет у а пользователю В: АВ : у а- Шаг 2. Пользователь В выбирает число хв, которое держит в се- крете, вычисляет у в = modp и отправляет у в пользователю А: В -> А : ув- ИТы 3. Пользователь А вычисляет к а ~ (ув)ХА modp и получает кА,в = Р(кА)- Шаг 4. Пользователь В вычисляет кв = (уа)Хв modp и получает кА,в ~ Р(кв)> В качестве отображения F, например, можно использовать компо- зицию отображений, реализующих функцию хэширования и операцию усечения (см. главу 10). Приведем протоколы взаимного обмена сеансовым ключом, основанные на симметричных и асимметричных криптосистемах, в ко- торых совмещены процедуры взаимной аутентификации и распределе- ния сеансового ключа. Предположим, что пользователи А и В имеют общий секретный ключ Кав- Тогда для обмена сеансовым ключом кА,в можно использовать следующий протокол. Шаг 1. Пользователь В посылает пользователю А сообщение, со- держащее идентификатор пользователя В и запрос /1: А : В, II. Шаг 2. Пользователь А отправляет пользователю В идентифи- катор пользователя А и зашифрованное на ключе КАв сообщение, включающее ответ /(/1), запрос /2, идентификатор А, сеансовый ключ А В : А, Е(Кав, {/(Л), /2, А, кА,в})> Шаг 3. Пользователь В расшифровывает с помощью ключа КАв полученное сообщение и отправляет пользователю А идентификатор
11.4. Распределение ключей с помощью ЦРК 301 пользователя В ц зашифрованное на ключе сообщение, содержащее ответ /(/2) и идентификатор В: В^А: В,^л,в,{/(/2),В}). Приведём протокол взаимного обмена сеансовым ключом на основе асимметричных криптосистем. Предположим, что поль- зователи А и В обменялись своими открытыми ключами ркА и ркв. Тогда протокол взаимного обмена сеансовым ключом имеет следующий вид. Шаг 1. Пользователь В посылает пользователю А идентификатор пользователя В и зашифрованное на ключе ркА сообщение, содержащее запрос Ли идентификатор В: ВА : В,Е(ркА,{11,В}). Шаг 2. Пользователь А расшифровывает с помощью секретного ключа skA зашифрованную часть полученного сообщения и отправляет пользователю В зашифрованное на ключе ркв сообщение, содержащее ответ /(Л), запрос 12, идентификатор пользователя А, сеансовый ключ кд,в' АВ : E(pkBi{f(H)J^.A,kAfB}). Шаг 3. Пользователь В расшифровывает с помощью секретного ключа skB полученное сообщение и отправляет пользователю А иден- тификатор пользователя В и зашифрованное на ключе кА}в сообщение, содержащее ответ /(12) и идентификатор пользователя В: ВА : B,E(kA)B,{fI2,B}). 11.4 Протоколы распределения сеансовых ключей с использованием центра распределения ключей В качестве протокола распределения сеансовых ключей с ис- пользованием центра распределения ключей рассмотрим протокол Цербера [122] (в древнегреческой мифологии Kerberos — трёхголовый злой пёс с хвостом и гривой из змей, охранявший вход в подземное цар- ство). Схема протокола Цербера приведена на рис. 11.4.1.
302 ГЛАВА 11. Протоколы управления ключами Рис. 11.4Л. Схема протокола Цербера Протокол Цербера разработан в Массачусетском технологическом институте на основе протокола Нидхэма-Шродера, описанного в §11.2. В протоколе Цербера реализованы взаимная аутентификация и меха- низм отметки времени, гарантирующие подлинность сеанса распреде- ления сеансового ключа для пользователей А и В. В качестве центра распределения ключей в протоколе Цербера выступает сервер TGS. Протокол Цербера включает следующие шаги. Шаг 1. Пользователь А посылает на сервер аутентификации AS- запрос на билет Ta}tgs пользователя А для сервера TGS, включаю- щий идентификатор пользователя А, идентификатор TGS, отметку вре- мени t: A-+AS : A,TGS,t. Шаг 2. Сервер аутентификации AS отправляет пользователю А пакет ответа; включающий сообщение для пользователя А, зашифро- ванное на ключе к а и содержащее сеансовый ключ kA.TGS для связи пользователя А и сервера TGS, идентификатор сервера TGS, сетевой адрес StGS, отметку времени t и зашифрованный на ключе krGS билет, включающий идентификаторы пользователя А и сервера TGS, сетевой адрес Sa пользователя А, отметку времени время действия билета tv и сеансовый ключ kA}TGS' AS А : E(kAi {кА,твз, TGS, StGS, /}), E(krGS> {Ia.tgs}),
11.4. Распределение ключей с помощью ЦРК 303 где Ta,tgs — {AiTGS^SA^tV'kA/rGs}’ Шаг 3. Пользователь А отправляет на сервер TGS пакет запроса, включающий зашифрованный на ключе kA,TGS аутентификатор поль- зователя А, содержащий идентификатор пользователя А, сетевой адрес отметку времени t и билет Ta,tgs для связи пользователя А с серве- ром TGS, зашифрованный на ключе k^GS, идентификатор пользователя В и отметку времени t*. А TGS : E(kA,TGS, {A,SA4}),E(kTGS, {Ta,tgs}), B,t. Шаг 4. Сервер TGS, используя сеансовый ключ kA,TGS и секретный ключ кв пользователя В, готовит пакет ответа и отправляет пользова- телю А. Пакет ответа включает зашифрованное на ключе kA,TGS сооб- щение для пользователя А, содержащее сеансовый ключ кА,в Для связи пользователей А и В, идентификатор пользователя В, сетевой адрес Sb, отметку времени t, а также сообщение для пользователя В, содер- жащее зашифрованный на ключе кв билет Та, в, включающий иденти- фикаторы пользователей А и В, сетевой адрес Sa, отметку времени I, время действия билета tv и сеансовый ключ кА,в'^ TGSА : E^A'TGS, {кА,в, В,3в4}), Е(кв, {Та,в}), где ТА,в - {В, A, Sa, t,tv, кА,в}- Шаг 5. Пользователь А, получив пакет ответа, расшифровывает с помощью ключа kA,TGS сообщение для пользователя А, затем пользова- тель А проверяет подлинность сообщения, используя отметку времени t и идентификатор В. Пользователь А создает аутентификатор, содержа- щий идентификатор пользователя А, сетевой адрес Sa, отметку времени t, и зашифровывает его с помощью сеансового ключа кА,в- Пользова- тель А отправляет пользователю В аутентификатор и зашифрованный на ключе кв билет Та,в- А В : Е(кА,в> {А,5д,0),М^{Тл,в})* Шаг 6. Пользователь В расшифровывает билет Та,в и проверяет подлинность сообщения по отметке времени и идентификаторам пользо- вателей А и В. Используя сеансовый ключ связи kA,в, пользователь В
304 ГЛАВА 11. Протоколы управления ключами расшифровывает аутентификатор пользователя А и убеждается в под- линности пользователя А. Пользователь В создает аутентификатор, со- держащий идентификатор пользователя В, сетевой адрес Sb, отметку времени зашифровывает его с помощью сеансового ключа кд в и от- правляет пользователю А: ВА : В(кАгВу {В, Шаг 7. Пользователь А, используя сеансовый ключ кд}в, расши- фровывает аутентификатор, полученный от пользователя В, и убежда- ется в подлинности пользователя В. В результате выполнения шагов протокола Цербера пользователи А и В получают сеансовый ключ кд)В для обмена сообщениями.
Приложение А. Таблицы Таблица А.1, Большие числа и астрономические величины Астрономическая величина Число Возраст Земли, лет 23° Возраст Вселенной, лет 234 Число атомов на Земле 2170 Число атомов на Солнце 2190 Число атомов во Вселенной 2265 Объем Вселенной, см3 2280 Таблица А, 2. Большие числа п 2п 71 2” 10 1024 120 1,32923 1036 20 1,04858-106 140 1,3938-1042 30 1,07374-10» 160 1,4615-1048 40 1,09951-1012 180 1,5325-1054 50 1,1259 • 1015 200 1,60694- Ю60 60 1,15292-1018 220 1,685 -1066 70 1,18059-1021 240 1,76685-1072 80 1,20893-1024 260 1,85267-1078 90 1,23794-1027 280 1,94267-1084 100 1,26765-1О30 300 2,03704 - Ю90
306 Таблицы Таблица А.З. Точные значения больших чисел п 2п п 1 2 33 2 4 34 3 8 35 4 16 36 5 32 37 6 64 38 7 128 39 8 256 40 9 512 41 10 1024 42 11 2048 43 12 4096 44 13 8192 45 14 16384 46 15 32768 47 16 65536 48 17 131072 49 18 262144 50 19 524288 51 20 1048576 52 21 2097152 53 22 4194304 54 23 8388608 55 24 16777216 56 25 33554432 57 26 67108864 58 27 134217728 59 28 268435456 60 29 536870912 61 30 1073741824 62 31 2147483648 63 32 4294967296 64 8589934592 17179869184 34359738368 68719476736 137438953472 274877906944 549755813888 1099511627776 2199023255552 4398046511104 8796093022208 17592186044416 35184372088832 70368744177664 140737488355328 . 281474976710656 562949953421312 1125899906842624 2251799813685248 4503599627370496 9007199254740992 . 18014398509481984 36028797018963968 72057594037927936 144115188075855872 288230376151711744 576460752303423488 1152921504606846976 2305843009213693952 4611686018427387904 9223372036854775808 18446744073709551616
Приложение Б. Описание ППП “КриптоЛаборатория” Компьютерный учебный практикум “КриптоЛаборатория” предна- значен для практического изучения и теоретического исследования ши- рокого класса криптографических систем: простейшие криптосистемы (линейная рекуррента); симметричные криптосистемы (DES); асимметричные криптосистемы (RSA); системы электронной цифровой подписи (Р. 34.10-94); универсальная блочная схема. □ Рекомендуется для проведения занятий по изучению криптографи- ческих систем по специализации “Математическое и программное обеспечение криптографии и анализа данных” в рамках специаль- ности “Прикладная математика” и по другим специальностям в области защиты информации. □ Требования к конфигурации: ПЭВМ на аппаратной платформе семейства Intel Pentium, наличие не менее 8 Мб оперативной па- мяти, наличие не менее 3 Мб свободного места на жёстком диске, операционная система Windows 95 или Windows NT 4.0 и выше. □ Реализована возможность подключения криптопреобразований пользователя. □ Работа с компьютерным учебным практикумом состоит в реше- нии с его помощью специальных заданий и автоматизированной
308 ППП “КриптоЛаборатория проверке ответа. Компьютерный учебный практикум содержит набор специально разработанных индивидуальных заданий, реа- лизована возможность создания дополнительных заданий. □ В состав компьютерного учебного практикума включены ути- литы, реализующие алгоритмы арифметики больших чисел, а также генерации и тестирования псевдослучайных дискретных по- следовательностей с заданным распределением вероятностей. □ В справочной системе приведены описания простейших докомпью- терных шифров и современных криптосистем. Описание сопрово- ждается диаграммами, таблицами и анимацией. □ Практикум разработан на кафедре математического моделирова- ния и анализа данных Белорусского государственного универси- тета, тел. (017) 2265704, факс (017) 2265548.
Литература 1. Айвазян С. А., Енюков И. С., Мешалкин Л. Д. Прикладная стати- стика. М.: Статистика, 1983. 2. Биркгоф Г., Барти Т. Современная прикладная алгебра. М.: Мир, 1976. 3. Большее Л. Н., Смирнов Н. В. Таблицы по математической ста- тистике. М.: Наука, 1983. 4. Боровков А. А. Математическая статистика. М.: Наука, 1984. 5. Брикелл Э. Ф., Одлижко Э. М. Криптоанализ: Обзор новейших результатов // ТИИЭР. 1988. Т. 76, № 5. С. 75-93. 6. Бэйкер А. Введение в теорию чисел / Лер. с англ. Мн.: Выпь шк., 1995. 7. Герасименко В. А., Малюк А. А. Основы защиты информации: Учеб, пособие. М.: МИФИ, 1997. 8. Груню А. А., Тимонина Е. Е. Теоретические основы защиты ин- формации. М.: Яхтсмен, 1996. 9. Жельников В. Криптография от папируса до компьютера. М.: ABF, 1996. 10. Кейперс Л., Нидеррейтер Г. Равномерное распределение последо- вательностей. М.: Наука, 1985. 11. Кнут Д. Искусство программирования на ЭВМ. Полу численные алгоритмы. М.: Мир, 1977.
310 Литература 12. Корн Г., Корн Т. Справочник по математике. М.: Наука, 1988. 13. Кузнецов Ю., Шкарин С. Коды Рида-Маллера // УМН. 1996. С. 5-50. 14. Левитан Ю. Л., Соболь И. М. О датчике псевдослучайных чисел для персональных компьютеров // Математическое моделирова- ние. 1990. Т. 2, №8. С. 119-126. . . . _ ; • 15. Лидл Р., Нидерайтер Г. Конечные поля. Т. 1, 2. М.: Мир, 1988. 16. МакВильямс, Слоэн Дж. Теория кодов, исправляющих ошибки. М.: Связь, 1979. 17. Мафтик С. Механизмы защиты в сетях ЭВМ. М.: Мир, 1993. 18. Международные банковские стандарты. ИСО 8731. 19. Мельников В. В. Защита информации в компьютерных системах. М.: Финансы и статистика, 1997. 20. Молдовян Н. А. Проблематика и методы криптологии. СПб.: Изд- во СПбГУ, 1998. 21. Молдовян Н. А. Скоростные и блочные шифры. СПб.: Изд-во СПбГУ, 1998. 22. Мур Дж. Несостоятельность протоколов криптосистем // ТИИЭР. 1988.Т. 76, № 5. С. 94-104. 23. Орлов В. А., Филлипов Л. И. Теория информации в упражнениях и задачах. М.: Высш, шк., 1976. 24. Прудников А. П., Брычков Ю. А., Маричев О. И. Интегралы и ряды. М.: Наука, 1981. 25. Справочник по теории вероятностей и математической статистике/ Под ред. В. С. Королюка. М.: Наука, 1992. 26. Стратонович Р. Л. Теория информации. М.: Наука, 1975. 27. Сяо Д., Керр Д., Мэдник С. Защита ЭВМ. М.: Мир, 1982. 28. Тарасенко Ф. П. Введение в курс теории информации. Томск: Изд- во ТГУ, 1973.
Литература 311 29. Трост Э. Простые числа. М.: Физматгиз, 1959. 30. Феллер В. Введение в теорию вероятностей и её применения. Т. 1,2. М.: Наука, 1984. 31. Харин Ю. С. и др. Основы имитационного и статистического моделирования. Мн.: ДизайнПРО, 1997. 32. Харин Ю. С., Степанова М. Д. Практикум на ЭВМ по математи- ческой статистике. Мн.: Университетское, 1987. 33. Хинчин А. Я. Цепные дроби. М.: Физматгиз, 1964. 34. Шеннон К. Теория связи в секретных системах // Работы по тео- рии информации и кибернетике. М.: ИЛ, 1963. С. 243-332. 35. Шеннон К. Математическая теория связи // Работы по теории информации и кибернетике. М.: ИЛ, 1963. С. 243-332. 36. Adleman L. A subexponential algorithm for the discrete logarithm problem with applications to cryptography // IEEE 18th Annual Symp. on Found, of Comp. Science. 1979. P. 55-6Q. 37. Adleman L., Huang M. Recognition primes in random polynomial time // Proc. 19th. Ann. ACM. 1987. P. 462-469. 38. Adv. in Cryptology: EUROCRYPT’85 — EUROCRYPT95 // Lec- ture Notes in Computer Science. N.Y.: Springer, 1985-1996. 39. Agnew G., Mullin R., Onyschuk T., Vaustone S. An Implementation for a Fast Public — Key Cryptosystem // J. of Cryptology. 1991. № 3. P. 63-79. 40. Agnew G., Mullin R., Vaustone S. An interactive data exchange pro- tocol based on discrete exponentiation // LNCS. 1993. V. 330. P. 159—166. 41. Andelman D., Reeds J. On the Cryptanalysis of Rotor Machines and SP-Network U IEEE Inf. Teor. 1982. V. 28, № 4. Pt. 2. 42. Arvillias A. C., Maritsas A. E. Partiting the period of m-sequences and applications to pseudorandom number generation // J. ACM. 1978. V. 25. P. 675-686.
312 Литература 43. Bach Е., Shallit J. Factoring with Cyclotomic Poliomials // Math. Comp. 1989. V. 52. P. 201-219. 44. Bauer F. Decrypted Secrets: methods and maxims of cryptology. N.Y.: Springer, 1997. 45. Beker H., Piper F. Cipher Systems. London: Northwod Books, 1982. 46. Ben-Aroya I., Biham E. Differential Cryptanalysis of Lucifer // J. of Cryptology. 1996. V. 9, № 4. P. 21-34. 47. Berlekamp E. Algebraic Coding Theory. N.Y.: McGraw-Hill, 1968. 48. Beth Th., Frisch M., Simmons G. Public-Key Cryptography: State of the Art and Future Directions // E.I.S.S.Workshop, Obervolfach, Germany, July 3-6, 1991. 49. Biham E. New Types of Cryptanalytic Attack Using Related Keys // J. of Cryptology. 1994. V. 7, № 4. P. 229-246. 50. Biham E., Shamir A. Differential Cryptanalysis of DES-like Cryp- tosystems // J. of Cryptology. 1991. V. 4, № 1. P. 3-72. 51. Biham E., Shamir A. Differential Cryptanalysis of the Full 16-round DES I/ Adv. in Cryptology — CRYPTO’92 Proceedings. N.Y.: Springer-Verlag, 1993. P. 487-496. 52. Biham E., Shamir A. Differential Fault Analysis of Secret Key Cryp- tosystems // Proceedings of CRYPTO’97 (to appear). 53. Bocma W. Primality testing using elliptic curves // Report 85-12. Amsterdam, 1985. 54. Boer B., Bosselaers A. Collisions for the Compresion Function of MD5 // Adv. in Cryptology. N.Y.: Springer, 1994. P. 293-304. 55. Brassard G. Modern Cryptology // LNCS. 1988. V. 325. 56. Bright H., Enison R. Quasi-random number sequences from a long perod TLP generator with remarks on applications to cryptography // Computing Surveys. 1979. V. 11, № 2. P. 357-370.
Литература 313 57. Brown М., Solomon Н. On combining pseudorandom number genera- tors // Technical Report. 1976. № 233. Dept.of Statistics, Stanford University. 58. Brown M., Pieprzyk J., Sebeny L. A Cryptographic Primitive for Authentifi cation and Secret Application // Adv. in Cryptology, Auscrypt’90. N.Y.: Springer, 1990. P. 229-286. 59. Chin Y., Wang P., Hwang J. Cryptanalysis on Schwartz graphical encryption method // Cryptologia. 1993. V. 17, № 3. P. 301-304. 60. Chudnovsky P., Chudnovsky G. Sequeus of numbers and new primal- ity and factorization tests // Adv. in Appl. Math. 1986. V. 7. P. 187-237. 61. Cillogly J.J. Ciphertext — only cryptanalysis of ENIGMA // Cryp- tologia. 1995. V. 19, № 4. P. 405-413. 62. Cochen H., Lenstra J. Primality testing and Jacobi sums // Math. Comp. 1984. V. 42. P. 297-330. 63. Coppersmith D. Cryptography. IBM //J. Res.Develop. 1987. V. 31, № 2. P. 25-36. 64. Coppersmith P. Fast Evaluation of Logarithms on Fields of Character Two // IEEE Inf.Theory. 1984. V. 30. P. 587-594. 65. Couvreur C., Quisquater J. Fast decipherment algorithm for RSA public-key cryptosystem // Electron. Lett. 1982. V. 18, Ns 21. P. 905-907. 66. Cryptography. Proc.of the Workshop on Cryptography // LNCS. V. 149. N. Y.: Springer, 1983. 67. Cryptography and Data Protection // Proc.of the Symp. on Cryp- tography and Data Protection, 19th. Amsterdam, 1990. 68. Cryptology: yesterday, today, and tomorrow / Ed. Deavours C. Artech House, Norwood, 1987. 69. Data Encryption Standard. FIPS Publication 46. Springfield: Na- tional Institute of Standards and Technology, 1977.
314 Литература 70. Deavours С., Kruh L. Machine Cryptography and Modern Cryptanal- ysis. Dedham, MA: Artech House, 1985. 71. Denning D. Cryptography and Data Security. Reading, MA: Addison- Wesley, 1982. 72. Denning D., Sacco G. Timestamps in Key Distribution Protocols // Comm. ACM. 1981. V. 24, № 4. P. 533-536. 73. Diffie W. and Hellman M. New directions in cryptography // IEEE Trans. Inf. Theory. 1976. V. 22, № 11. P. 644-654. 74. Dixon J. Assymptotically Fast Factorization of Integers // Math. Comp. 1981. V. 36, № 3. P. 255-260. 75. Dixon B., Lenstra A. Massively parallel eliptic curve factoring // Euro’92. 76. Dixson B., Lenstra A. Factoring Integers Using SIMD Sieves // Eu- rocrypt’93. P. 28-39. 77. Ehrsam W., Matyas S., Meyer C-, Tuchman W. A cryptographic key management scheme for implementing the Data Encryption Standard // IBM Syst. J. 1978. V. 17, № 2. P. 106-124. 78. Fushimi M., Tezuka B. The fc-distribution of generalized feedback shift register pseudorandom numbers // Communications ACM. 1983. V. 26, № 5. P. 516-523. 79. Graham R., Knuth D., Patashnik. Concrete Mathematics. Reading, MA: Addison-Wesley, 1989. 80. Haas A. The multiple prime random number generator // ACM Trans- actions on Mathematical Software. 1987. V. 13, № 4. 81. Handbook of Theoretical Computer Science / Ed. J. van Leeuwen. N.Y.: Elsevier, 1990. 82. Hellman M. and Reyneri J. Fast computation of discrete logarithms over GF(q) // Adv. in cryptography. N.Y.: Plenum Publ. Comp., 1983. P. 3-13. 83. Henk van Tilborg C. An introduction to cryptology. Eindhoven Uni- versity of Technology, 1988.
Литература 315 84. Jakobsen Т. A fast method of cryptanalysis of substitution ciphers // Cryptologia. 1995. V. 19, № 3. P. 265-274. 85. Kahu D. The Codebreakers. N.Y.: Macmillan, 1967. 86. Kaliski B., Rivest R., Sherman L. Is the Data Encryption Standard a Group? // J. of Cryptology. 1988. V. 1, № 1. P. 3-36. 87. Kelsey J., Schneier B., Wagner D. Related-Key Cryptanalysis of 3- Way, Biham-DES, CAST, DES-X, New-DES, RC2, and TEA // ICICS’97 Proceedings. N.Y.: Springer, 1997. P. 233-246. 88. Kendall D., Babington-Smith B. Randomness and random sampling numbers // J. Royal Statist. Soc. 1938. V. 101, № 2. P. 146-166. 89. Kiny J. Algorithm for the complete automated cryptanalysis of peri- odic polyalphabetic substitution ciphers // Cryptologia. 19^4. V. 18, № 4. P. 332-355. 90. Koblitz N. Course in Number Theory and Cryptography. N.Y.: Springer, 1987. 91. Konheim A.G. Cryptography. N.Y.: Wiley. 1981. 92. Kranakis E. Primality and Cryptography. N.Y.: Wiley, 1983. 93. Kullback S. Statistical Methods in Cryptanalysis. Laguna Hills, CA: Aegean Park Press, 1976. ? 1/ n 94. Lai X., Massey J. Hash Functions Bused on Block Ciphers // Adv. in Cryptology. 1992. №1. P. 55-70. 95. Lai X., Massey J., Murphy S. Markov Cipher and Differential Analy- sis // Adv. in Cryptology — EUROCRYPT’92 Proceedings. Berlin: Springer-Verlag, 1991. P. 17-38. 96. Lenstra A., Lenstra H. Algorithms in Number Theory, Handbook of Theoretical CS. N.Y., 1990. 97. Lenstra A., Lenstra H., Manasse M., Pollard J. The Factorization of the Ninth Fermat Number // Math, of Computation. 1993. V. 61, № 203. P. 319-349.
316 Литература 98. Lewis Т., Payne W. Generalized feedback shift register pseudrandom number algorithms // J. ACM. 1973. V. 20, № 5. P. 456-468. 99. Lint J. Introduction to Coding Theory. N.Y.: Springer, 1982. 100. MacLaren M., Marsaglia G. Uniform random number generators // J. ACM 12. 1965. № 1. P. 83-89. 101. Marsaglia G. Random number fall mainly in the plans. //Proc. Nat. Acad. Sci. 1968. V. 61, № 61. P. 25-28. 102. Marsaglia G. The structure of linear congruential sequences. N.Y.: Academic Press, 1972. 103. Marsaglia G., Tsay L. Matrices and the structure of random number sequences // Linear Algebra and Its Applications. 1985. V. 67, № 1. P. 147-156. 104. Marsaglia G., Bray T.A. One line random number generators and their use in combinatorics // Communications ACM. 1968. V. 11. P. 757-759. 105. Marsaglia G. A Current View of Random Number Generators // Proc. Comp. Sci. and Statistics: 16th Symposium on the Interface. N.Y.: Elsevier, 1985. 106. Marsaglia G., Zaman A. A new class of random number generators // Ann. of Appl. Prob. 1991. V. 1, № 3. P. 462-480. 107. Marsaglia G. A current view of random number generators // Comp. Sci. and Statistics. N.Y.: Elsevier, 1985. 108. Marsaglia G. The mathematics of random number generators // Proc, of Symp. on Appl. Math. 1992. V. 46. P. 73-89. 109. Marsaglia G. Marsaglia random number CDROM. 1996. 110. Marshall A., Olkin J. Inequalities: Theory of Majorization and its Applications. N.Y.: Academic Press, 1979. 111. Matsui M. Linear cryptoanalysis methods for DES cipher // LNCS. N.Y.: Springer, 1994. V. 765. P. 386-397.
Литература 317 112. Matsui М. The first experimental cryptanalysis of the DES // LNCS. 1994. V. 839. P. 1-11. 113. Matthews R. The use of genetic algorithm in cryptanalysis // Cryp- tologia. 1993. V. 17, № 2. P. 187-201. 114. Matyas S., Meyer C. Generation, distribution and installation of cryp- tographic keys // IBM Syst. J. 1978. V. 17, № 2. P. 126-137. 115. McEliece R. The Theory of Information and Coding. CUP, 1977. 116. Merkly R. A Fast Software One-Way Hash Function // J. of Cryptol- ogy. 1990. V. 3, № 1. P. 43-58. 117. Meyer C., Matyas St. Cryptography. N.Y.: Wiley, 1982. 118. Michael Luby. Pseudorandomness & Cryptographic Applications. Princeton Computer Science Notes. N.Y., 1996. 119. Miyagashi S., Ohta K., Iwata M. Confirmation That Some Hash Func- tions Are Not Collision Free // Adv. in Cryptology. N.Y.:- Springer, 1991. P. 326-343. 120. Mullin R., Onyszchuk T., Vaustone S., Wilson R. Optimal Normal Bases in GF(pn) // Discr. Appl. Math. 1988-89. V. 22. P. 149-161. 121. Needham P., Schroeder M. Using Encryption for Authentification in Large Networks of Computers // Com. of the ACM. 1978. V. 21, № 12. P. 993-999. 122. Neuman B., Ts’o T. Kerberos: An Authentification Service for Com- puter Networks // IEEE Com. Magazine. 1994. № 9. P. 33-38. 123. Odlyzko A. Discrete logarithms in finite fields and there cryptographic significance // Adv. in Cryptology: Proc. Eurocrypt’84, LNCS. V. 209. Berlin: Springer, 1985. P. 224-314. 124. Pohlig S., Hellman M. An improved algorithm for computing loga- rithms over GF(p) anlits cryptographic singificause // IEEE Trans. Inf. Teor. 1978. V. 24, № 2. P. 106-110. 125. Pohlig S. and Hellman M. An improved algorithm for computing loga- rithms over GF(p) and its cryptographic significance // IEEE Trans. Inf. Theory. 1978. V. 24, № 1. P. 106-110.
318 Литература 126. Pollard J. Theorems on Factorization and Primalily Testing // Proc. Cambr. Phil. Soc. 1974. V. 76, № 4. P. 521 -528. 127. Pollard J. A Monte Carlo Method for Factorization Nord // Tid. for Inf. 1975. V. 15, № 2. P. 331-334. 128. Pomerance C. The role of smooth numbers in number theoretic al- gorithms // Proc, of the international Congress of mathematicians. Ziirich, Switzerland, 1994. 129. Rabin M. “Digital Signatures” Foundation of Secyre Communication. N.Y.: Acad. Press, 1978. P. 155-168. 130. Ramesh R.} Athitham G., Thiruvengaden K. An automated approach to solve simple substitution ciphers // Cryptologia. 1993. V. 17, № 2. P. 202-218. 131. Reeds J. “Cracking” a random number generator // Cryptologia. 1977. V. 1, № 1. P. 20-26. 132. Riesel H. Prime Numbers and Computer Methods for Factorization // Progr. in Math. 1985. V. 57. 133. Rivest R. The MD5 Message Digest Algorithm, RFC 1321. Apr., 1992. 134. Rievest R., Hellman M., Anderson J., Lyons J. Responses to NIST’s Proposal // Commun. of the ACM. 1992. V. 35, № 35. P. 41-54. 135. Rivest R., Shamir A., Adleman L. A method for obtaining digital signatures and public key cryptosystems // Commun. ACM. 1978. V. 21, № 2. P. 158-164. 136. Rueppel R. Analysis and design of stream ciphers. N.Y*: Springer, 1986. 137. Salomaa A. Public-Key Cryptography. Berlin: Springer, 1993. 138. Schneier B. Applied Cryptography. N.Y.: John Wiley & Sons, 1995. 139. Schnorr C., Lenstra H. A Monte Carlo Factozing Algorithms with Linear Storage // Math.Comp. 1984. V. 43. P. 289-311. 140. Sherman L. Factoring Large Integers // Math. Comp. 1974. V. 28. P. 637-646.
Литература 319 141. Sinkov A. Elementary Cryptanalysis. Mathematical Approach. N.Y.: Random House, 1956. 142. Whittlesey J. On the multidimensional uniformity Of pseudorandom number generators //Commun. of the ACM. 1969. V. 12. P.247-256. 143. Wichmann B., Hill I. An efficient and portable pseudo-random number generator // Appl. Statistics. 1982. V. 31, № 2. P. 188—190. 144. Wiener M. Cryptanalysis of Short RSA Secret Exponents // IEEE Trans, on Inf. Theor. 1990. V. 36, № 3. P. 553-558. 145. Williams A. Method of Factoring // Math. Comp. 1982. V. 39, № 2. P. 225-234.