- •Основы информационной безопасности и введение в современную криптологию
- •8 Глава 129
- •Предисловие
- •Введение
- •Формальная криптография;
- •Математическая криптография;
- •1. Криптографические системы «докомпьютерной эры» и проблемы современной криптографии
- •1.1 Криптография древнего мира. Шифр Цезаря и его криптостойкость
- •1.2 Шифр Атбаш и его модификации
- •1.3 Тарабарская грамота как аналог шифра Атбаш
- •1.4 Шифр Плейфера
- •1.5 Шифр adfgvx
- •1.6 Шифр Виженера
- •1.7 Формальная криптография
- •1.8 Математическая криптография
- •1.9 Современная компьютерная криптография и ее основные проблемы
- •2 Режимы шифрования для симметричных алгоритмов.
- •2.1 Режимы простой замены (электронная кодовая книга ecb)
- •2.2 Режим сцепления блоков (Cipher Block Chaining (cbc))
- •2.2 Режимы гаммирования
- •2.3 Режим гаммирования с обратной связью
- •Функции шифрования симметричных криптосистем
- •3.1 Стандарт шифрования данных des. Data Encryption Standard
- •3.2 Преобразования Сетью Фейстеля
- •3.3 Режимы работы алгоритма des
- •3.4.1Алгоритм гост – 28147-89
- •3.4.2Ключи в кзу
- •3.4.3В блоке подстановки k
- •3.5.1Описание алгоритма
- •4.Глава
- •4.1Хэш - функция
- •4.2Коллизия
- •4.4Пример простого хеширования
- •4.3Современные виды хеширования
- •5.Глава Элементы алгебры и теории чисел
- •5.1Быстрое возведение в степень.
- •5.2Нахождение простого числа
- •5.3Метод Шермана — Лемана
- •5.3Метод Раббина-Миллера
- •5.4Нахождение обратного элемента по модулю
- •5.5Теорема ферма, Эйлера
- •5.6Алгоритм Эвклида
- •5.7Расширенный алгоритм Эвклида
- •5.8 Китайская теорема об остатках
- •5.11 Нахождение с помощью расширенного алгоритма Евклида
- •5.11Квадратичные вычеты
- •5.11Нахождение генераторов
- •6. Глава
- •6.1 Алгоритм Диффи – Хеллмана
- •6.2Описание алгоритма
- •6.3Алгоритм Диффи — Хеллмана с тремя и более участниками
- •6.7Криптографическая стойкость
- •6.8Rsa алгоритм
- •6.10Алгоритм шифрования rsa
- •6.11Алгоритм подписи rsa
- •7.16Эль-Гамаля
- •6.13История dsa
- •6.14Алгоритм цифровой подписи dsa
- •6.15 Алгоритм цифровой подписи гост р 3410-94
- •7.1Эллиптическая кривая
- •7.2 Эллиптические кривые в криптографии
- •7.3 Метрика операций на эк
- •7.3.1Сложение различных точек
- •7.3.2Удвоение
- •7.7Порядок эллиптической кривой
- •7.6Теорема Хассе
- •7.5 Порядок точки на эллиптической кривой
- •7.8Порядок точки на эллиптической кривой (Теория, можешь не читат)
- •7.9Криптография на эллиптических кривых
- •7.10Пример эллиптической кривой над конечным полем.
- •7.11Кратные точки.
- •7.12Безопасность криптографии с использованием эллиптических кривых.
- •7.13Алгоритм Диффи-Хелмана на эллиптической кривой
- •7.14Алгоритм dsa на эллиптической кривой
- •7.14.1Алгоритм эцп на основе эллиптических кривых (ecdsa)
- •7.15Алгоритм Эль-Гамала на эллиптической кривой
- •Литература
- •8 Глава
- •8.1Криптоанализ
- •8.2Классический криптоанализ.
- •8.3 Современный криптоанализ
- •8.4Универсальные методы криптоанализа.
- •8.4.1Метод полного перебора
- •8.4.2Атака по ключам
- •8.4.3Частотный анализ
- •8.4.4Метод "встречи посередине"
- •8.4.5Криптоанализ симметричных шифров
- •8.4.6Дифференциальный криптоанализ
- •8.4.7Дифференциальный анализ на основе сбоев.
- •8.4.8Дифференциальный метод криптоанализа des.
- •8.4.9Линейный криптоанализ .
- •8.4.10Криптоанализ асимметричных шифров
- •8.4.11Метод безключевого чтения rsa.
- •8.4.12Криптоанализ хеш-функций
- •8.4.13Криптоанализ по побочным каналам
- •8.5Нанотехнологии в криптоанализе
1.5 Шифр adfgvx
Особенность шифра ADFGVX состоит в том, что здесь осуществляется и замена, и перестановка. Зашифровывание начинается с того, что рисуется сетка 6 x 6, и 36 квадратов заполняются 26 буквами и 10 цифрами в произвольном порядке. Каждая строка и столбец сетки задается одной из шести букв: А, О, Р, в, V или X. Расположение элементов в сетке служит в качестве части ключа, поэтому получателю, чтобы расшифровать сообщение, необходимо знать, как они в ней располагаются.
Таблица 10.
На первом этапе зашифровывания следует взять каждый символ сообщения, определить его положение в сетке и заменить его буквами, которые обозначают строку и столбец. Так, 8 будет заменено на АА, а р - на AD. Ниже, в качестве примера, показано зашифрованное этим способом короткое сообщение:
Сообщение attack at 10 pm
Открытый текст a t t a c k a t 1 0 p m
Шаг 1 Шифртекст DV DD DD DV FG FD DV DD AV XG AD GX
Пока что это - использование простого одноалфавитного шифра замены, и, чтобы взломать сообщение, достаточно воспользоваться частотным анализом. Однако второй этап - применение перестановки, что делает криптоанализ гораздо сложнее. Перестановка зависит от ключевого слова, которым, в нашем случае, будет слово MARK и которое должно быть известно получателю.
Перестановка производится следующим способом. Вначале в верхней строке незаполненной сетки записываются буквы ключевого слова. Далее, как показано ниже, под этим словом построчно записывается зашифрованный текст, полученный на первом шаге зашифровывания. Затем столбцы сетки переставляются местами таким образом, чтобы буквы ключевого слова шли в алфавитном порядке. После этого, двигаясь сверху вниз поочередно по каждому столбцу, выписываются буквы, которые и образуют окончательный вид шифртекста.
Рис 1.
В этом виде шифртекст будет затем передан с помощью кода Морзе; получателю, чтобы восстановить первоначальный текст, потребуется выполнить действия, обратные зашифровыванию. Шифртекст состоит всего лишь из шести букв (т. е. А, D, F, G, V, X), так как этими буквами обозначаются строки и столбцы исходной сетки 6 x 6. Люди часто удивляются, почему были выбраны именно эти буквы, а не, скажем, А, В, С, D, Е и F. Все дело в том, что если буквы А, D, F, G, V и X представить в виде точек и тире кода Морзе, то они будут существенно отличаться одна от другой; тем самым выбор этих букв минимизирует опасность появления ошибок во время передачи.
1.6 Шифр Виженера
Самое первое и точное описание этому многоалфавитному шифру дал Леон Баттиста Альберти в 1467 году, в котором использовался металлический шифровальный диск, для того чтобы переключаться между алфавитами. Однако, это может происходить лишь после нескольких зашифрованных слов. Но, в 1518 году Иоганн Трисемус в своей работе «Полиграфия» изобретает центральный компонент шифра Виженера под названием tabula recta, что намного облегчает понятие о шифровании методом Виженера.
Квадрат Виженера или таблица Виженера, также известная как tabula recta, может быть использована для шифрования и расшифрования.
Шифр Виженера, впервые, на самом деле, описал Джованни Батиста Беллазо в своей книге La cifra del. Sig. Giovan Battista Bellasо, где тоже использовал эту идею с tabula recta, но также для шифрования он использовал несколько ключей, которые были применены через каждую букву. Позже, в 1586 году во Франции перед комиссией Генриха ІІІ выступил Блез Виженер со своим простым, но стойким шифром и этот метод шифрования присвоили ему, о чем осуждающе отозвался Давид Кан в своей книге «Взломщики кодов». Там было написано, что история «проигнорировала важный факт и назвала шифр именем Виженера, несмотря на то, что он ничего не сделал для его создания».
Шифр Виженера очень прост для использования в полевых условиях, особенно, когда применяются шифровальные диски. К примеру, во время Гражданской войны «конфедераты » использовали медный шифровальный диск для шифра Виженера, но так как эти сообщения были не такими секретными, очень часто противники могли взламывать сообщения, просто потому что этот шифр поддавался взлому. И поэтому Гилберт Вернам постарался улучшить данный метод шифрования, но 1918 году этому шифру дали уже новое название – шифр Вернама-Виженера. И несмотря на все усилия Вернама, шифр так и остался возможным ко взлому. Однако работа Вернама все же усовершенствовался до такого шифра, что этот метод шифрования уже невозможно было взломать.
А теперь вернемся к шифру Виженера. Итак, если в шифре Цезаря каждая буква делает 3 «сдвига» вперед, то в шифре Виженера, каждая буква может делать сколько угодно «сдвигов», при этом каждая буква делает различные «сдвиги», что и отличает его от шифра Цезаря. Например, в шифре Цезаря при сдвиге +3, A стало бы D, B стало бы E и так далее. А для шифрования методом Виженера, всего лишь нужен открытый текст, ключ и таблица Виженера (tabula recta). Например, зашифруем слово:
ATTACKATDAWN
Человек, который посылает сообщение, пишет ключевое слово, к примеру, «LEMON» циклически до тех пор, пока его длина не будет равно длине шифруемого слова. Тоесть, это выглядет так:
LEMONLEMONLE
А теперь шифруем это слово. Тоесть просто находим пересечение соответствующих букв в tabula recta и записываем уже зашифрованное слово ну или текст. Например, первый символ исходного текста A зашифрован последовательностью L, которая является первым символом ключа. Первый символ L шифрованного текста находится на пересечении строки L и столбца A в таблице Виженера. Точно так же и для второго символа исходного текста используется второй символ ключа; то есть второй символ шифрованного текста X получается на пересечении строки E и столбца T. Дальше действуем по этой же схеме и получаем следующее:
Исходный текст: ATTACKATDAWN
Ключ: LEMONLEMONLE
Зашифрованный текст: LXFOPVEFRNHR
Расшифровывание делается вот так: находим в таблице Виженера строку, которая соответствует первому символу ключевого слова; в данной строке находим первый символ зашифрованного текста. Столбец, в котором находится данный символ и есть первый символ исходного текста. Остальные символы расшифровываются таким же образом. Если буквы A-Z обозначить числами 0-25, то шифрование Виженера можно записать в такой формуле:
Ci ≡ (Pi + Ki) mod 26
Расшифровка:
Pi ≡ (Ci – Ki + 26) mod 26
Шифр Виженера не допускает частот появления символов в тексте, хотя иногда это все же встречается. И поэтому главным недостатком этого шифра является то, что его ключ повторяется.
