- •ВВЕДЕНИЕ
- •1. ОСНОВНЫЕ ПОНЯТИЯ
- •2. ИСТОРИЧЕСКИЕ ШИФРЫ
- •3. МОДУЛЯРНАЯ АРИФМЕТИКА
- •4. АСИММЕТРИЧНЫЕ СИСТЕМЫ ШИФРОВАНИЯ. КРИПТОСИСТЕМА RSA
- •5. ПРОСТЫЕ ЧИСЛА. ГЕНЕРАЦИЯ ПРОСТЫХ ЧИСЕЛ
- •6. АТАКА ВИНЕРА НА RSA
- •7. РЮКЗАЧНЫЙ МЕТОД ШИФРОВАНИЯ
- •9. КРИПТОСИСТЕМА НА ОСНОВЕ ЭЛЛИПТИЧЕСКИХ КРИВЫХ
- •10. СИММЕТРИЧНЫЕ КРИПТОСИСТЕМЫ
- •11. СТАНДАРТ ШИФРОВАНИЯ ДАННЫХ DES
- •12. СТАНДАРТ КРИПТОСИСТЕМЫ РОССИИ ГОСТ 28147-89
- •13. ДЕЙСТВИЯ НАД ПОЛИНОМАМИ В ПОЛЕ
- •14. УСОВЕРШЕНСТВОВАННЫЙ СТАНДАРТ ШИФРОВАНИЯ AES
- •15. УСТАНОВЛЕНИЕ ПОДЛИННОСТИ ОБЪЕКТА
- •16. КРИПТОГРАФИЧЕСКИЕ ХЕШ-ФУНКЦИИ
- •СПИСОК ЛИТЕРАТУРЫ
М.А. ЕВДОКИМОВ, Е.А. РАЙКОВ
ОСНОВЫ КРИПТОЛОГИИ
Учебное пособие
Самара Самарский государственный технический университет
2016
1
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САМАРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра «Высшая математика и прикладная информатика»
М.А. ЕВДОКИМОВ, Е.А. РАЙКОВ
ОСНОВЫ КРИПТОЛОГИИ
Учебное пособие
Самара Самарский государственный технический университет
2016
2
Печатается по решению редакционно-издательского совета Самарского государственного технического университета
УДК 004.056(075.8) ББК 32.97я73
Евдокимов М.А.
Основы криптологии: Учеб. пособие / М.А. Евдокимов, Е.А. Райков. –
Самара: Самар. гос. техн. ун-т, 2016. – 78 с.
Предназначено для студентов, обучающихся по направлению 10.03.01 «Информационная безопасность», профиль подготовки «Комплексная защита объектов информатизации». Также может быть полезным для студентов, обучающихся по родственным специальностям, для инженеров и аспирантов, желающих познакомиться с основами криптологии.
Ре ц е н зе н т – к.т.н., профессор Ф . Ф . Бу ка н о в
©М.А.Евдокимов, Е.А.Райков, 2016
©Самарский государственный технический университет, 2016
3
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ...................................................................................................................... |
4 |
||
1. |
ОСНОВНЫЕ ПОНЯТИЯ................................................................................................ |
4 |
|
2. |
ИСТОРИЧЕСКИЕ ШИФРЫ........................................................................................... |
4 |
|
3. |
МОДУЛЯРНАЯ АРИФМЕТИКА..................................................................................... |
5 |
|
4. |
АСИММЕТРИЧНЫЕ СИСТЕМЫ ШИФРОВАНИЯ. КРИПТОСИСТЕМА RSA..................... |
8 |
|
5. |
ПРОСТЫЕ ЧИСЛА. ГЕНЕРАЦИЯ ПРОСТЫХ ЧИСЕЛ..................................................... |
9 |
|
6. |
АТАКА ВИНЕРА НА RSA............................................................................................ |
10 |
|
7. |
РЮКЗАЧНЫЙ МЕТОД ШИФРОВАНИЯ...................................................................... |
11 |
|
8. |
КРИПТОСИСТЕМА ЭЛЬ-ГАМАЛЯ.............................................................................. |
12 |
|
9. |
КРИПТОСИСТЕМА НА ОСНОВЕ ЭЛЛИПТИЧЕСКИХ КРИВЫХ.................................... |
12 |
|
10. |
СИММЕТРИЧНЫЕ КРИПТОСИСТЕМЫ..................................................................... |
14 |
|
11. |
СТАНДАРТ ШИФРОВАНИЯ ДАННЫХ DES.............................................................. |
17 |
|
12. |
СТАНДАРТ КРИПТОСИСТЕМЫ РОССИИ ГОСТ 28147-89........................................ |
19 |
|
13. |
ДЕЙСТВИЯ НАД ПОЛИНОМАМИ В ПОЛЕ............................................................... |
22 |
|
14. |
УСОВЕРШЕНСТВОВАННЫЙ СТАНДАРТ ШИФРОВАНИЯ AES.................................. |
23 |
|
15. |
УСТАНОВЛЕНИЕ ПОДЛИННОСТИ ОБЪЕКТА.......................................................... |
25 |
|
16. |
КРИПТОГРАФИЧЕСКИЕ ХЕШ-ФУНКЦИИ................................................................ |
25 |
|
СПИСОК ЛИТЕРАТУРЫ................................................................................................. |
26 |
||
4
ВВЕДЕНИЕ
В начале пособия приведены основные понятия криптологии, исторические шифры, основы модулярной арифметики, дано описание простейших криптосистем. Далее на простейших примерах показана работа асимметричных криптографических алгоритмов: RSA, Эль-Гамаля, Эль-Гамаля на основе эллиптических кривых, рассматривается проблема генерации простых чисел. В качестве примера криптоанализа рассматривается атака Винера на RSA. Для симметричных криптосистем в качестве примеров рассматривается шифрование методом гаммирования, где в качестве генератора псевдослучайной последовательности чисел предлагается использовать алгоритм RC-4. На конкретных примерах разбирается работа современных криптосистем: DES, AES, ГОСТ 28147-89. Рассматриваются также вопросы, связанные с установлением подлинности объекта, работой криптографических хеш-функций. Для приобретения навыков практической реализации по каждому разделу приведены примеры использования криптографических методов защиты информации.
5
1. ОСНОВНЫЕ ПОНЯТИЯ
Криптология (греч. криптос – тайный, логос – сообщение) – это раздел прикладной математики, в котором изучаются модели, методы, алгоритмы и средства защиты информации.
В криптологии имеются два направления:
–криптография – изучает различные способы засекречивания информации;
–криптоанализ – рассматривает всевозможные способы ее рассекречивания.
При передаче данных по каналу связи передается не само
сообщение (открытый текст – T0 ), а преобразованная с применением
некоторого шифра информация (шифротекст – Tш ).
Шифр (франц. цифра) – совокупность условных знаков, применяемых для сокрытия содержимого открытого текста.
Вскрытие шифра – процесс получения открытого сообщения из шифрованного без знания примененного шифра. Способность шифра противостоять всевозможным атакам на него называют стойкостью шифра.
Ключ – это элемент шифра, который управляет выполнением шифрования и расшифрования и в первую очередь определяет безопасность защищаемой информации. Если для шифрования и расшифрования данных используется один и тот же ключ, то такая система называется симметричной, разные ключи – ассиметричной.
К шифрам, используемым для криптографической защиты информации, предъявляется ряд требований:
–достаточная криптостойкость;
–простота процедур шифрования и расшифрования;
–нечувствительность к небольшим ошибкам шифрования;
–незначительная избыточность информации за счет шифрования. В той или иной мере этим требованиям отвечают:
6
1.Шифры перестановок, в которых символы открытого текста переставляются местами по определенному правилу.
2.Шифры замены (подстановок) – символы открытого текста заменяются символами того же или другого алфавита по определенному правилу.
3.Шифры гаммирования – символы открытого текста складываются с символами некоторой случайной последовательности, именуемой гаммой шифра. Шифрование методом гаммирования является одним из основных способов шифрования данных.
4. Шифрование с помощью аналитического преобразования, в котором открытый текст преобразуют в шифротекст по некоторому
аналитическому правилу. Например, |
TА=T × |
o |
, |
T = A−1 |
×T |
, где А |
– |
ш |
|
oш |
|
матрица шифрования, A−1 − матрица расшифрования.
2. ИСТОРИЧЕСКИЕ ШИФРЫ
Первые сведения об использовании шифров в военном деле датируются V веком до нашей эры, временем войны Спарты против Афин. Шифр сцитала − это цилиндрический жезл определенного диаметра, на который виток к витку наматывалась узкая папирусная лента, на которую затем вдоль оси записывался открытый текст. Затем лента разматывалась и получался шифротекст. Адресат, получив шифротекст, наматывал его на такой же цилиндр и читал сообщение. В этом шифре диаметр цилиндра играл роль ключа. Криптоанализ: брался конус, и на него наматывалось перехваченное сообщение. Перемещая это сообщение вдоль оси конуса, подбирали нужный диаметр так, чтобы появлялись слова из открытого текста.
Шифр Цезаря. Простейшим примером шифра замены является шифр Цезаря (шифр сдвига). Каждая буква открытого текста заменялась третьей после нее буквой в алфавите. Величина сдвига
7
k = 3 играла роль секретного ключа. При этом для русского алфавита А заменялась на Г, Б на Д, …, Э на А, Ю на Б, Я на В.
Пример. Используя шифр Цезаря, зашифруем слово:
T0 : МАТЕМАТИКА.
Используем основной алфавит и буквы алфавита, полученные путем сдвига влево на три позиции:
А |
Б |
В |
Г |
Д |
Е |
Г |
Д |
Е |
Ё |
Ж |
З |
В итоге получим шифротекст
Tш :ПГХЗПГХЛНГ .
Процесс расшифрования осуществляется в обратном порядке. Замечание: недостатком шифра сдвига является сохранение
частотной зависимости букв. Буква А постоянно заменяется на букву
Г, М – на П и т. д.
Криптоанализ: используя частотный анализ появления букв в словах данного алфавита, этот шифр легко вскрыть. Пусть
pi (i = 1,33) – вероятности появления букв в языке сообщения в процентах (русский язык).
1. |
А − 8,08 |
9. И – 7,0 |
17. |
Р – 5,85 |
25. |
Ш – 0,5 |
|
2. |
Б − 1,7 |
10. |
Й – 1.58 |
18. |
С – 4,66 |
26. |
Щ – 0,35 |
3. |
В – 5,69 |
11. К – 2,64 |
19. |
Т – 6,25 |
27. |
Ъ – 0,03 |
|
4. |
Г – 1,11 |
12. |
Л – 2,48 |
20. |
У – 2,02 |
28. |
Ы – 1,79 |
5. |
Д – 3,88 |
13. |
М – 3,37 |
21. |
Ф – 0,17 |
29. |
Ь – 1,68 |
6. |
Е,Ё – 8,36 |
14. |
Н – 7,23 |
22. |
Х – 1,32 |
30. |
Э – 0,17 |
7. |
Ж – 0,96 |
15. |
О − 10,47 |
23. |
Ц – 0,29 |
31. |
Ю – 0,63 |
8. |
З – 1,74 |
16. |
П – 3,71 |
24. |
Ч – 1,8 |
32. |
Я – 2,49 |
Источником данной таблицы стал словарь деловой переписки объемом 200 000 букв. Наиболее часто встречаемые буквы: СЕНОВАЛИТР – 67 % (по другим источникам Л – 4,2 %).
8
Взашифрованном сообщении подсчитываются частоты
встречающихся букв ωi = ni / n (n − количество букв в сообщении).
Если сообщение достаточно большое, то относительные частоты ωi должны сравнительно хорошо согласовываться с вероятностями
pi (ωi ≈ pi ).
Для оценки этого совпадения каждый раз вычисляется общее различие между pi и ωi (S), где S – величина сдвига:
|
|
32 |
|
|
|
|
|
|
|
|
|
|
(S) = å |
|
pi |
− ωi (S) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
S = 1,32. |
|
|||||||
|
|
i=1 |
|
|
|
||||||
Та величина S, для которой |
(S) будет минимальной, и будет |
||||||||||
ключом шифра сдвига. |
|
|
|
|
|
|
|
|
|
S = 1 |
|
Алгоритм |
реализации |
предложенного |
метода. Для |
||||||||
подсчитывается |
количество |
букв, |
встречающихся в шифротексте: |
||||||||
Б − n1, В − n2 ,K , А − n32 , вычисляется значение |
(1). Полагая |
S = 2, |
|||||||||
подсчитываем число букв В − n1, |
Г − n2 ,K , Б − n32 , (S2 ) и так далее |
||||||||||
для SЯ= 32n: A − n1, −Ю 2 Kn |
− 32 и вычисляем |
(32). Из полученных |
|||||||||
выбираем наименьшее, соответствующее значение Si будет ключом шифра.
Шифр Вижинера. Одним из способов борьбы с частотной зависимостью является шифр Вижинера, в основу которого положена таблица Тритемия, составленная для букв русского языка. Ниже приведен фрагмент этой таблицы.
А Б В Г Д Е Ё Ж З И … |
Я |
|
Б В Г Д Е Ё Ж З И Й … |
А |
|
В Г Д Е Ё Ж З |
И Й К … |
Б |
Г Д Е Ё Ж З И |
Й К Л … шифр Цезаря |
В |
Д Е Ё Ж З И Й К Л М |
Г |
|
… … … … … … … … … … … |
|
|
Я А Б В Г Д Е Ё Ж З |
Ю |
|
9
При шифровании методом Вижинера выбирается ключевое слово (лозунг). Зашифруем то же слово МАТЕМАТИКА, используя ключевое слово САМГТУ:
МАТЕМА ТИКА САМГТУ САМГ ЮАЯЗЯУ
ВИЧГ
Для того чтобы зашифровать, например, букву Е, мы должны воспользоваться строкой, начинающейся на букву Г: на пересечении столбца Е и строки Г стоит буква шифротекста З, и т. д. Видно, что частота появления букв шифротекста, соответствующих одной и той же букве открытого текста, нарушена. Например, первая буква А зашифровалась буквой А, вторая А – буквой У, а третья А – буквой Г. Процесс расшифрования проводится в обратном порядке.
Криптоанализ: шифр Вижинера несложно взломать, если удастся определить длину ключевого слова (у нас L = 6). Тогда несколько раз применяется тактика взлома шифра сдвига (шифр Цезаря). Длину ключевого слова можно определить с помощью текста Казиского. В основу его положен тот факт, что в естественном языке существуют часто встречаемые наборы букв, состоящие из двух букв-биграмм: ИН, НТ, АТ, НЕ, трех букв-триграмм и т. д. Имеются соответствующие таблицы их вероятностей. Учитывая это, предполагают, что повторяющие наборы букв в шифротексте – это след повторений популярных биграмм (триграмм) открытого текста, а расстояние между этими повторениями должно быть кратно длине ключевого слова. Следовательно, вычислив наименьший общий делитель этих расстояний, можно получить рабочую гипотезу о длине ключевого слова.
Диск Альберти. Устройство представляет собой пару дисков. Внешний диск – неподвижный, на него нанесены буквы A, B, C, D, …, Z, внутренний – подвижный, на него нанесены те же буквы, но переставленные местами. Процесс шифрования заключается в нахождении буквы открытого текста на внешнем диске и замене ее на соответствующую букву шифротекста: А – на D, B – на I и т. д. После шифрования нескольких букв (К) внутренний диск сдвигается
10
на одну позицию, и процесс шифрования продолжается. Ключом данного шифра является порядок расположения букв на внутреннем диске, его начальное положение и значение числа К. У принимающей стороны имеется точно такой диск, и она знает начальное положение
ивеличину К. Процесс расшифрования осуществляется в следующем порядке: D – на А, I – на B и т. д. После шифрования К букв внутренний диск сдвигается на одну позицию.
Роторный шифр. На идее диска Альберти в начале XX века были построены роторные машины шифрования. Например, немецкая машина «Энигма». «Энигма» вначале представляла собой четыре вращающихся на одной оси барабана (диска). На каждой стороне диска имелось 26 электрических контактов, по числу букв в английском алфавите. Контакты с одной стороны диска случайным образом соединены внутри с контактами на другой стороне 26 проводами.
Диски насаживались на одну ось, и их контакты касались друг друга, обеспечивая тем самым прохождение электрического импульса, передаваемого с клавиатуры при наборе открытого текста. Электрический импульс проходил через весь пакет на регистрирующее устройство, где отображалась соответствующая буква шифротекста. На боковой поверхности каждого диска были нанесены буквы алфавита, и перед началом работы диски вручную поворачивались так, чтобы установить кодовое слово. Далее при однократном нажатии клавиш и кодировании очередного символа левый барабан поворачивался на одну позицию. После того как диск делал полный оборот на одну позицию, поворачивался соседний диск,
итак далее, как это делается, например, в спидометре автомобиля. Процесс расшифрования осуществлялся на такой же машине, с таким же кодовым словом, только электрический импульс поступал на правый барабан.
Перестановочные шифры. На основе перестановочных шифров работают современные системы шифрования DES, AES, ГОСТ 28147-89. Рассмотрим преобразование перестановочного шифра на простейшем примере.
11
