Математические основы криптологии и криптографические методы и средс
..pdfФедеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
«Пермский государственный технический университет»
А.Н. Данилов, Е.Л. Кротова, Ю.Н. Липин
МАТЕМАТИЧЕСКИЕ ОСНОВЫ КРИПТОЛОГИИ И КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ И СРЕДСТВА ОБЕСПЕЧЕНИЯ
ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
Утверждено Редакционно-издательским советом университета
в качестве учебного пособия
Издательство Пермского государственного технического университета
2008
УДК 681.322. ББК 32.973 Д18
Рецензенты:
доктор физико-математических наук, профессор Е.К. Хеннер\
доктор технических наук, профессор А .К Цаплин
Данилов, А.Н.
Д18 Математические основы криптологии и криптографические методы и средства обеспечения информационной безопасности: учеб, пособие / А.Н. Данилов, Е.Л. Кротова, Ю.Н. Липин. - Пермь: Изд-во Перм. гос. техн. ун-та, 2008. - 364 с.
ISBN 978-5-398-00076-4
Изложен материал, связанный с алгоритмами криптографических пре образований данных, алгебраический аппарат криптографических преобра зований, алгоритмы аутентификации пользователей, основные методы криптоанализа. Кроме того, представлены основные положения криптогра фических протоколов с нулевым разглашением и ЭЦП. Приведенные прак тические примеры из других учебных пособий способствуют успешному усвоению теоретического материала.
Разработано в соответствии с требованиями государственных образова тельных стандартов высшего профессионального образования для обучаю щихся по специальности «Комплексная защита объектов информатизации», направление 075400. Может быть использовано аспирантами и представи телями смежных специальностей, а также всеми, кто интересуется совре менными кпиптогоасЬическими алгоритмами.
УДК 681.322. ББК 32.973
Издано в рамках приоритетного национального проекта «Образование» по программе Пермского государственного технического университета «Создание инновационной системы формирования профессиональных ком петенций кадров и центра инновационного развития региона на базе мно гопрофильного технического университета»
ISBN 978-5-398-00076-4 |
© ГОУ ВПО |
|
«Пермский государственный |
|
технический университет, 2008 |
СОДЕРЖАНИЕ |
|
ВВЕДЕНИЕ......................................................................................................... |
7 |
1. МАТЕМАТИЧЕСКИЕ ОСНОВЫ КРИПТОЛОГИИ.......................... |
13 |
1.1. АЛГЕБРАИЧЕСКИЕ МОДЕЛИ СИСТЕМ ШИФРОВАНИЯ...... |
13 |
1.1.1. Элементы криптографии....................................................................... |
13 |
1.1.2. Оценка криптостойкости шифров, их программно-аппаратных |
|
реализаций и технико-экономических показателей........................................... |
25 |
1.1.3. Оценка программно-аппаратных реализаций шифров................ |
34 |
1.1.4. Технико-экономические показатели криптографических |
|
методов защиты............................................................................................................ |
36 |
1.1.5. Документальное обеспечение криптографии. Значение |
|
документального обеспечения применения криптографии............................. |
38 |
1.1.6. Организация протоколирования связи и распределения |
|
ключей............................................................................................................................. |
39 |
1.1.7. Стандартизация программно-аппаратных |
|
криптографических систем и средств.................................................................... |
43 |
1.1.8. Ключевые системы разграничения доступа и электронная |
|
цифровая подпись........................................................................................................ |
45 |
1.1.9. Шифры перестановки и замены......................................................... |
49 |
1.1.10. Шифры колонной замены. Маршрутная транспозиция............ |
54 |
1.1.11. Таблица Виженера................................................................................ |
55 |
1.1.12. Шифр Цезаря.......................................................................................... |
57 |
1.1.13. Шифр Вернама...................................................................................... |
59 |
1.1.14. Блочное шифрование. Гаммирование............................................ |
61 |
1.1.15. Блок-схема алгоритма Файстеля...................................................... |
66 |
1.1.16. Вопросы и задачи для самоконтроля.............................................. |
71 |
1.2. МНОЖЕСТВА И ОТОБРАЖЕНИЯ................................................. |
74 |
1.2.1. Множество................................................................................................ |
74 |
1.2.2. Отображение............................................................................................ |
76 |
1.2.3. Бинарные отношения............................................................................. |
77 |
1.2.4. Основные свойства целых чисел........................................................ |
78 |
1.2.5. Алгоритм деления в Z ........................................................................... |
79 |
1.2.6. Множества с алгебраическими операциями................................... |
80 |
1.2.7. Полугруппы и моноиды........................................................................ |
80 |
1.2.8. Группы....................................................................................................... |
82 |
1.2.9. Морфизмы групп..................................................................................... |
87 |
1.2.10. Кольца...................................................................................................... |
92 |
1.2.11. Сравнения. Кольцо классов вычетов.............................................. |
95 |
1.2.12. Гомоморфизмы и идеалы колец....................................................... |
96 |
1.2.13. Типы колец............................................................................................. |
97 |
1.2.14. Поле........................................................................................................... |
100 |
1.2.15. Поля Галуа............................................................................................... |
102 |
1.2.16. Кольцо многочленов............................................................................ |
102 |
1.2.17. Алгоитрм деления в А [Х\.................................................................... |
106 |
1.2.18. Разложение в кольце многочленов................................................... |
107 |
1.2.19. Факториальность евклидовых колец............................................... |
110 |
1.2.20. Неприводимые многочлены............................................................... |
112 |
1.2.21. Вопросы и задачи для самоконтроля.............................................. |
113 |
1.3. ПСЕВДОСЛУЧАЙНЫЕ ПОСЛЕДОВАТЕЛЬНОСТИ.............. |
114 |
1.3.1. Общие сведения о ГСП.......................................................................... |
115 |
1.3.2. Классификация ГСП............................................................................... |
117 |
1.3.3. Смешанный конгруэнтный метод и его обобщения..................... |
119 |
1.3.4. Проверка качества работы ГСЧ.......................................................... |
124 |
1.3.5. Линейные рекуррентные двоичные последовательности над |
|
полем и кольцом............................................................................................................ |
131 |
1.3.6. Последовательности максимальной длины.................................. |
136 |
1.3.7. Анализ псевдослучайных последовательностей............................ |
141 |
1.3.8. Вопросы и задачи для самоконтроля................................................. |
145 |
1.4. РАВНОВЕРОЯТНЫЕ ФУНКЦИИ..................................................... |
146 |
1.4.1. Хэш-функции.............................................. |
146 |
1.4.2. «Парадокс дня рождения».................................................................... |
149 |
1.4.3. Использование цепочки шифрованных блоков............................. |
152 |
1.4.4. Хэш-функция MD5.................................................................................. |
153 |
1.4.5. Алгоритм MD4......................................................................................... |
158 |
1.4.6. Усиление алгоритма в MD5.................................................................. |
159 |
1.4.7. Вопросы и задачи для самоконтроля................................................. |
160 |
1.5. ФУНКЦИИ УСЛОЖНЕНИЯ............................................................... |
161 |
1.5.1. Методы построения надежных шифров........................................... |
164 |
1.5.2. Требования, предъявляемые к шифрам............................................ |
166 |
1.5.3. Размер ключа............................................................................................ |
169 |
1.5.4. Вопросы и задачи для самоконтроля................................................. |
185 |
2. КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ И СРЕДСТВА |
|
ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ....................... |
187 |
2.1. СИНТЕЗ И АНАЛИЗ КРИПТОГРАФИЧЕСКИХ |
|
АЛГОРИТМОВ............................................................................................................. |
187 |
2.1.1. Криптоанализ............................................................................................ |
187 |
2.1.2. Защита от атак на криптографические модели............................... |
199 |
2.1.3. Криптостойкость алгоритмов шифрования.................................... |
201 |
2.1.4. Типы криптостойких систем шифрования...................................... |
203 |
2.1.5. Симметрические системы шифрования........................................... |
205 |
2.1.6. Стандарт DES........................................................................................... |
206 |
2.1.7. ГОСТ № 28147 - 89................................................................................ |
216 |
2.1.8. Выбор группы шифра............................................................................ |
246 |
2.1.9. Вопросы и задачи для самоконтроля................................................ |
256 |
2.2. СЛОЖНОСТЬ КРИПТОГАФИЧЕСКИХ АЛГОРИТМОВ. |
|
ОДНОСТОРОННИЕ ФУНКЦИИ............................................................................ |
257 |
2.2.1. Детерминированные машины Тьюринга и класс Р ...................... |
257 |
2.2.2. Класс N P.................................................................................................... |
261 |
2.2.3. Взаимоотношения между классами Р и N P.................................... |
264 |
2.2.4. Полиномиальная сводимость иТ/Р-полные задачи. |
|
Теорема Кука.................................................................................................................. |
265 |
2.2.5. Гипотеза Р Ф NP....................................................................................... |
266 |
2.2.6. Односторонние функции...................................................................... |
267 |
2.2.7. Примеры однонаправленных функций............................................. |
270 |
2.2.8. Односторонние (однонаправленные) функции |
|
с потайным ходом......................................................................................................... |
271 |
2.2.9. Вопросы и задачи для самоконтроля................................................ |
274 |
2.3. СОВРЕМЕННЫЕ АССИМЕТРИЧЕСКИЕ АЛГОРИТМЫ |
|
ШИФРОВАНИЯ........................................................................................................... |
275 |
2.3.1. Криптосистемы с открытым ключом................................................ |
277 |
2.3.2. Криптосистема RSA............................................................................... |
279 |
2.3.3. Криптосистема без передачи ключей................................................ |
287 |
2.3.4. Алгоритм Эль-Гамаля............................................................................ |
289 |
2.3.5. Вероятностное шифрование................................................................ |
291 |
2.3.6. Криптография на эллиптических кривых........................................ |
297 |
2.3.7. Вопросы и задачи для самоконтроля................................................ |
306 |
2.4. КРИПТОГРАФИЧЕСКИЕ ПРОТОКОЛЫ....................................... |
307 |
2.4.1. Доказательства с нулевым разглашением........................................ |
310 |
2.4.2. Протокол IG............................................................................................. |
313 |
2.4.3. Доказательство с нулевым разглашением |
|
конфиденциальной информации.............................................................................. |
317 |
2.4.4. Параллельные доказательства с нулевым разглашением |
|
конфиденциальной информации............................................................................. |
321 |
2.4.5. Неинтерактивные протоколы доказательства с нулевым |
|
разглашением конфиденциальной информации................................................. |
322 |
2.4.6. Удостоверение личности с нулевым разглашением |
|
конфиденциальной информации.............................................................................. |
324 |
2.4.7. Примеры протоколов с нулевым разглашением............................ |
326 |
2.4.8. Протокол обмена ключами. Схема Диффи - Хеллмана.............. |
329 |
2.4.9. Протокол аутентификации................................................................... |
331 |
2.4.10. Протокол электронной цифровой подписи................................... |
336 |
2.4.11. Вопросы и задачи для самоконтроля.............................................. |
339 |
2.5. СТЕГАНОГРАФИЯ................................................................................... |
340 |
2.5.1. Термины и определения........................................................................ |
341 |
2.5.2. Требования................................................................................................ |
343 |
2.5.3. Приложения.............................................................................................. |
344 |
2.5.4. Ограничения............................................................................................. |
345 |
2.5.5. Контейнеры.............................................................................................. |
J345 |
2.5.6. Методы....................................................................................................... |
347 |
2.5.7. Исторические заметки........................................................................... |
348 |
2.5.8. Вопросы и задачи для самоконтроля................................................. |
350 |
ЗАКЛЮЧЕНИЕ................................................................................................... |
351 |
Список литературы........................................................................................... |
356 |
96861375462206147714092225
435588290575999112457431987
469512093081629822514570835
693147662288398962801339199
0551829945157815154
ВВЕДЕНИЕ
Длинное число, вынесенное в эпиграф, представляет собой фра зу «The magic words are squeamish ossifrage» («Волшебные слова: брезгливая скопа»), шифрованную Роналдом Л. Райвестом, Ади Шамиром и Леонардом Адлеманом по изобретенной ими системе RSA.
В статье этих авторов, вышедшей в 1978 году, премия в сто дол ларов была назначена тому, кто первым дешифрует это сообщение. Метод шифрования был известен, единственное, что требовалосьразложить на два сомножителя 129-значное число, приведенное в той же статье. Это было сделано только в 1994 году, через 17 лет после публикации статьи Райвеста, Шамира и Адлемана. Задача была решена с помощью весьма изощренного алгоритма и потребовала 220 дней работы 600 человек и 1600 компьютеров, связанных через
Internet.
Криптография наука сколь таинственная, столь и увлекательная. Одна из древнейших на планете. Существует она, скорее всего, с то го самого момента, когда появился на Земле homo sapiens - человек мыслящий. А вместе с ним и первые наскальные рисунки. Крипто графия - это наука о шифрах. О тех самых проблемах, которые мож но создать своему противнику в плане сокрытия собственной важной информации. Потому в противовес ей возник криптоанализ. А объе динила «две стороны одной медали» уже современная наука - крип тология.
Сведения о системах и способах шифрования обнаружены в ис торических документах таких древних цивилизаций, как Индия, Еги пет, Месопотамия. Шифровались даже религиозные тексты и меди
цинские рецепты. К шифрованию нередко прибегали ученые, дабы до поры до времени не прослыть еретиками и не подвергнуться пре следованиям инквизиции. В то же время весьма закрытая наукакриптография - во многих, даже европейских странах, не продвину лась, как гласит история, дальше «шифра Цезаря» - простейшего шифра замены. Строжайшая тайна, которая преследовала эту науку на протяжении веков, не позволяла ей бурно развиваться. Тем не ме нее искусство шифрования развивалось все-таки значительно быст рее, чем искусство дешифрования.
Криптография, которая раньше была засекречена, сейчас касает ся самых разных сторон жизни, в том числе и бытовых. Любой поль зователь, даже школьник, не раз сталкивается со словами «шифр», «ключ», «криптограмма»... Например, он входит в Internets в меню многих средств навигации Сети задается вопрос, нужен ли режим шифрования, и, если ответить «нужен», начинается процедура выра ботки ключа. Чтобы правильно действовать, пользователь должен иметь представление об основах криптографии.
Второй пример, не менее яркий ~ это банковские карточки. Раньше карточки были только магнитными и держались на магнит ной неподделываемости. Потом появились интеллектуальные кар точки, в них вшит процессор, который выполняет криптографиче ские функции.
Третий пример - цифровая подпись. Это у всех на слуху, все об этом говорят, но не все понимают, что это такое, и тем более не по нимают математическую основу. Цифровая подпись - это некоторая криптографическая конструкция, но отличная от шифров, и от нее требуются другие качества: не просто защита открытого текста, но и неподделываемость и защита от отказа от подписи. Именно это имеет исключительное значение во всех делах, связанных с исполь зованием в бизнесе электронных документов.
Востребованность специалистов-криптологов ведущими фир мами - производителями продуктов и систем информационных тех нологий постоянно растет. Расширяется и сама проблемная область криптологии: помимо методов прикладной математики при синтезе
современных систем криптографической защиты все шире исполь зуются инженерные и технические методы. Всему этому способст вуют как научные открытия в различных областях прикладной мате матики, а значит, и развитие соответствующего исследовательского аппарата, так и новые изобретения. Это и криптография с открытым ключом, и методы аутентификации данных, цифровая подпись, по нятия однонаправленных функций, хеширования и многое-многое другое. В самом принципе криптографии заложены секретные пара метры у схем. Есть даже некоторые схемы, которые не публикуются, которые решают проблему секретности. Вот они-то, в основном, и защищаются от взгляда постороннего человека. А научные дости жения... как их скрыть? Даже если сейчас мы с вами запретим рас сказывать, допустим, какие-то разделы криптографии в институтах, так это не помешает всем интересующимся узнать о них из Интерне та. Там публикуются материалы и европейских, и американских, и других специалистов. Процесс уже не остановить. Это все равно, что пытаться скрыть рецепт пороха, например. Но это не означает, что все криптографические системы потеряли свою стойкость. Сила их в том, что сам принцип организации хранения секретов основан не на научных достижениях, а на определенных условиях обеспече ния секретности ключа или на сложных математических задачах.
Секрет даже не в том, что я храню свою информацию с помо щью секретного ключа, в этом нет никакой тайны. Весь секрет в том, какое значение имеет этот ключ. И чтобы узнать этот ключ вам не обходимо перебрать вариантов на десятки лет работы даже для су перкомпьютеров... С другой стороны, где гарантия, что злоумыш ленник не преобразует хранящуюся на носителе последовательность? Возьмет и сложит ее, допустим, с другой последовательностью. То гда на принимающий компьютер придет искаженная информация. Тут уже возникает проблема компьютерной безопасности.
Дадим простой ответ на вопрос, что такое криптография. «Криптография - это совокупность методов прикладной математики, позволяющая защитить информацию от несанкционированного дос тупа путем изменения формы представления этой информации».
Криптограф, по большому счету, должен знать и все современные методы взлома, так как он создает систему, которая должна быть стойкой по отношению, по крайней мере, ко всем известным атакам, на то он и специалист высокого класса.
В современной литературе выделяют три основные задачи крип тографии: обеспечение конфиденциальности информации, целостно сти информации и неотслеживаемость.
Начнем с последней задачи. На русском языке о ней написано мало, особенно в теоретическом плане. Кроме нескольких книг име ется ряд статей, но преимущественно прикладного характера. Более того, в России даже сама концепция неотслеживаемости осознана - на фундаментальном уровне-очень немногими. И вообще в мире это направление развито совершенно недостаточно. Она была по ставлена в работах Шаума в начале 80-х годов. В то время эта кон цепция осталась практически незамеченной. Хотя, быть может, си туация на самом деле обратная: идея была замечена и понята слиш ком хорошо, и определенные силы, по причинам, которые станут по нятны ниже, сделали все, чтобы не дать ей дальнейшего развития. Так что же имеется в виду под неотслеживаемостью? Если мы ис пользуем электронные платежи, то разработчик системы электрон ных платежей, будь это государство или банк, не должен иметь воз можности отследить, кто кому какие деньги пересылает; т.е. элек тронные платежи не должны быть дополнительным способом кон троля за движением денег данного клиента.
Вторая задача - обеспечение целостности. Эта задача состоит в том, чтобы гарантировать поступление информации из достоверно го источника и в неискаженном виде. В банковских расчетах, напри мер, это даже важнее, чем обеспечение конфиденциальности. Для решения этой задачи сперва использовались шифраторы, но вскоре (не позднее, чем в начале 80-х годов) стало понятно, что нужны со всем другие средства. И тогда возникла новая ветвь криптографии - криптографические протоколы. Протокол-это распределенный ал горитм решения несколькими участниками некоторой криптографи ческой задачи. Причем среди этих участников могут быть и против