[ИБ] Симметричные криптосистемы (1)

Содержание

Слайд 2

 

Представление эксперта

Опытный преподаватель и эксперт-практик в области информационной безопасности и комплексной защиты

Представление эксперта Опытный преподаватель и эксперт-практик в области информационной безопасности и комплексной
информации;
Автор учебных программ и курсов в вузах Москвы по дисциплинам “Информационная безопасность”, “Аудит информационной безопасности”, “Защита информации ограниченного доступа”, “ИТ-безопасность”;
Доступ к ГТ (ф. 2);
Стаж работы руководителем проектов в разработке систем защиты персональных данных более 16 лет;
Консультант по вопросам информационной безопасности международной ассоциации «Генералы Мира за Мир».

Абзалов
Олег Накибович
Ведущий эксперт-практик
по информационной безопасности
и комплексной защите безопасности

Слайд 3

Общие понятия. Обобщенная схема симметричных криптосистем

Симметричные криптосистемы – криптосистемы использующие один и

Общие понятия. Обобщенная схема симметричных криптосистем Симметричные криптосистемы – криптосистемы использующие один
тот же ключ для шифрования и расшифровывания.

Зашифрованное сообщение C передается получателю. Получатель преобразует зашифрованное сообщение в исходное незашифрованное сообщение P с помощью алгоритма дешифрования и того же самого ключа K.

Слайд 4

Свойства криптоалгоритмов

Диффузия – это рассеяние статистических особенностей незашифрованного текста в широком диапазоне

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

Конфузия - это уничтожение статистической взаимосвязи между зашифрованным текстом и ключом.

Слайд 5

Основные методы криптографического закрытия информации (шифрования)

Подстановка (замена)
Одноалфавитная
Многоалфавитная одноконтурная обыкновенная
Многоалфавитная одноконтурная монофоническая
Многоалфавитная

Основные методы криптографического закрытия информации (шифрования) Подстановка (замена) Одноалфавитная Многоалфавитная одноконтурная обыкновенная
многоконтурная
Перестановка
Простая
Усложненная по таблице
Усложненная по маршрутам
Гаммирование
С конечной короткой гаммой
С конечной длинной гаммой
С бесконечной гаммой

Слайд 6

Основные методы криптографического закрытия информации (шифрования)

Аналитические преобразования
Матричные
По особым зависимостям
Комбинированные
Подстановка+перестановка
Подстановка+гаммирование
Перестановка+гаммирование

Основные методы криптографического закрытия информации (шифрования) Аналитические преобразования Матричные По особым зависимостям

Гаммирование+гаммирование
Все методы основаны на использовании обратимых преобразований данных.

Слайд 7

Подстановки

Моноалфавитные (шифр простой замены). Заключаются в замене символов исходного сообщения на другие

Подстановки Моноалфавитные (шифр простой замены). Заключаются в замене символов исходного сообщения на
(того же алфавита) по более или менее сложному правилу. Пример: шифр Цезаря.
Многоалфавитные. В отличие от моноалфавитных закон изменения символов отличается от символа к символу. Пример: шифр Виженера.
Вместо замены символа может происходить замена группы символов. Пример: шифр Плейфера.

Слайд 8

Перестановки

Заключаются в перестановке местами символов исходного текста по некоторому правилу.
Пример: переписать символы

Перестановки Заключаются в перестановке местами символов исходного текста по некоторому правилу. Пример:
исходного сообщения сзади на перед. ПРИВЕТ - ТЕВИРП

Слайд 9

Гаммирование

Суть метода состоит в том, что символы некоторой специальной последовательности, называемой гаммой,

Гаммирование Суть метода состоит в том, что символы некоторой специальной последовательности, называемой
последовательно накладываются по определенному закону на символы шифруемого текста ГОСТ 28147-89]. Иногда такой метод представляют как наложение гаммы на исходный текст, поэтому он получил название "гаммирование". Пример гаммирования: сложение текста с ключом по модулю алфавита.
Тогда для зашифрования: Ci=Ti+Ki (mod N)
Для расшифрования: Ti=Ci-Ki (mod N)
здесь Ci – i-тый символ шифротекста, Ti – i-й символ открытого текста, Ki -I-й символ ключа.
Пример: Шифр Вернама.

Наиболее распространенный вариант – представление данных и ключа в двоичном виде, и применение сложения по модулю 2.

Слайд 10

Шифрование с помощью аналитических преобразований

Достаточно надежное закрытие информации может обеспечить использование при

Шифрование с помощью аналитических преобразований Достаточно надежное закрытие информации может обеспечить использование
шифровании некоторых аналитических преобразований. Например, можно использовать методы алгебры матриц - в частности умножение матрицы на вектор.
Пример: В качестве ключа задается квадратная матрица ||a|| размера n*n.
Зашифровывание. Исходный текст разбивается на блоки длиной n символов. Каждый блок рассматривается как n-мерный вектор. А процесс шифрования блока заключается в получении нового n-мерного вектора (зашифрованного блока) как результата умножения матрицы ||a|| на исходный вектор.
Расшифрование текста происходит с помощью такого же преобразования, только с помощью матрицы, обратной ||a||. Очевидно, что ключевая матрица ||a|| должна быть невырожденной.
Методы шифрования на основе матричных вычислений использованы, например, в шифре AES.

Слайд 11

Блочные шифры

Представляют семейство обратимых преобразований блоков (частей фиксированной длины) исходного текста.
Используют комбинированные

Блочные шифры Представляют семейство обратимых преобразований блоков (частей фиксированной длины) исходного текста.
методы гаммирования, перестановки и подстановки.
N-разрядным блоком называют последовательность из нулей и единиц длины N.
X – можно рассматривать как вектор или как число.
Зашифрование – замена исходного блока X на блок Y в соответствие с заданным алгоритмом и ключом K.
Расшифрование – замена блока Y на блок X в соответствие с заданным алгоритмом и ключом K.

Слайд 12

Сеть Фейстеля

В 1971 году Хорст Фейстель (Horst Feistel) запатентовал два устройства, реализовавшие

Сеть Фейстеля В 1971 году Хорст Фейстель (Horst Feistel) запатентовал два устройства,
различные алгоритмы шифрования, названные затем общим названием «Люцифер» (Lucifer). Одно из устройств использовало конструкцию, впоследствии названную «сетью Фейстеля» («Feistel cipher», «Feistel network»).
Сеть Фейстеля имеет следующую структуру.
Входной блок делится на несколько подблоков равной длины, называемых ветвями (в случае, если блок имеет длину 64 бита, используются две ветви по 32 бита каждая).
Каждая ветвь обрабатывается независимо от другой, после чего осуществляется циклический сдвиг всех ветвей влево.
Такое преобразование выполняется несколько циклов или раундов.

Слайд 13

Зашифровывание

Выбранный блок делится на два равных подблока — «левый» (L0) и «правый» (R0).

Зашифровывание Выбранный блок делится на два равных подблока — «левый» (L0) и

«Левый подблок» L0 видоизменяется функцией f(L0,K0) в зависимости от раундового ключа K0, после чего он складывается по модулю 2 с «правым подблоком» R0.
Результат сложения присваивается новому левому подблоку L1, который будет половиной входных данных для следующего раунда, а «левый подблок» L0 присваивается без изменений новому правому подблоку R1, который будет другой половиной.
После чего операция повторяется ещё N-1 раз, при этом при переходе от одного этапа к другому меняются раундовые ключи (K0 на K1 и т. д.) по какому-либо математическому правилу, где N — количество раундов в заданном алгоритме.
Генерация раундовых ключей происходит на базе ключа шифрования и зависит от алгоритма шифрования.

Слайд 14

Раcшифровывание

Происходит так же, как и зашифровывание, с тем лишь исключением, что ключи

Раcшифровывание Происходит так же, как и зашифровывание, с тем лишь исключением, что
идут в обратном порядке, то есть не от первого к N-ному, а от N-го к первому.

Слайд 15

Функция F - S-box (подстановка)

Блок подстановок (S-блок) состоит из:
дешифратора, преобразующего n-разрядный двоичный

Функция F - S-box (подстановка) Блок подстановок (S-блок) состоит из: дешифратора, преобразующего
сигнал в одноразрядный сигнал по основанию 2n,
системы коммутаторов внутренних соединений (всего соединений 2n)
шифратора, переводящего сигнал из одноразрядного 2n-ричного в n-разрядный двоичный.

Эквивалентная таблица замен для рассматриваемого трех разрядного S-Box

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

Слайд 16

Функция F - P-box (перестановка)

Блок перестановок изменяет положение бит в сообщении и

Функция F - P-box (перестановка) Блок перестановок изменяет положение бит в сообщении
является линейным устройством. Этот блок может иметь очень большое количество входов-выходов, однако в силу линейности систему нельзя считать криптоустойчивой.

Слайд 17

Модификации сети Фейстеля

При большом размере блоков шифрования (128 бит и более) реализация

Модификации сети Фейстеля При большом размере блоков шифрования (128 бит и более)
такой сети Фейстеля на 32-разрядных архитектурах может вызвать затруднения, поэтому применяются модифицированные варианты этой конструкции.
Обычно используются сети с 4 ветвями. Также существуют схемы, в которых длины ветвей не совпадают. Они называются несбалансированными.

Слайд 18

Особенности Сети Фейcтеля

Увеличение количества раундов значительно увеличивает криптостойкость алгоритма. Возможно, эта

Особенности Сети Фейcтеля Увеличение количества раундов значительно увеличивает криптостойкость алгоритма. Возможно, эта
особенность и повлияла на столь активное распространение сети Фейcтеля, так как для большей криптостойкости достаточно просто увеличить количество раундов, не изменяя сам алгоритм. В последнее время количество раундов не фиксируется, а лишь указываются допустимые пределы.
Сеть Фейcтеля является обратимой даже в том случае, если функция F не является таковой, так как для дешифрования не требуется вычислять F-1 . Для дешифрования используется тот же алгоритм, но на вход подается зашифрованный текст, и ключи используются в обратном порядке.

Слайд 19

Особенности Сети Фейcтеля

В настоящее время все чаще используются различные разновидности сети

Особенности Сети Фейcтеля В настоящее время все чаще используются различные разновидности сети
Фейcтеля для 128-битного блока с четырьмя ветвями. Увеличение количества ветвей, а не размерности каждой ветви связано с тем, что наиболее популярными до сих пор остаются процессоры с 32-разрядными словами, следовательно, оперировать 32-разрядными словами эффективнее, чем с 64-разрядными.
Основной характеристикой алгоритма, построенного на основе сети Фейcтеля, является функция F. Различные варианты касаются также начального и конечного преобразований. Подобные преобразования, называемые забеливанием (whitening), осуществляются для того, чтобы выполнить начальную рандомизацию входного текста.

Слайд 20

Основные критерии используемые при разработке алгоритмов

Масштабируемый ключ до 256 бит устойчивый

Основные критерии используемые при разработке алгоритмов Масштабируемый ключ до 256 бит устойчивый
к прямому перебору.
Высокая скорость работы.
Простота реализации на современной элементной базе и микропроцессорах.
Отсутствие слабых ключей.

Слайд 21

Алгоритмы на базе сети Фейстеля

Алгоритмы на базе сети Фейстеля

Слайд 22

Алгоритм DES. Принципы разработки

Одним из первых реализованных и наиболее известным алгоритмом симметричного

Алгоритм DES. Принципы разработки Одним из первых реализованных и наиболее известным алгоритмом
шифрования является DES (Data Encryption Standard).
Алгоритм был разработан в 1977 году, в 1980 году был принят NIST (National Institute of Standards and Technolody США) в качестве стандарта (FIPS PUB 46).
DES является классической сетью Фейcтеля с двумя ветвями.
Данные шифруются 64-битными блоками, используя 56-битный ключ.
Алгоритм преобразует за несколько раундов 64-битный вход в 64-битный выход.

Слайд 23

Зашифрование

Начальная перестановка (IP) 64-битного исходного текста.
Использование сети Фейстеля 16 раундов.
Левая

Зашифрование Начальная перестановка (IP) 64-битного исходного текста. Использование сети Фейстеля 16 раундов.
и правая половины выхода последней (16-й) итерации меняются местами.
Конечная перестановка IP-1 результата, полученного на третьем этапе. Перестановка IP-1 инверсна начальной перестановке.

Слайд 24

Раcшифрование

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

Раcшифрование Процесс расшифрования аналогичен процессу шифрования. На входе алгоритма используется зашифрованный текст,
ключи используются в обратной последовательности.
- используется на первом раунде,
- используется на последнем раунде.
Особенности DES
Используется начальное и конечное перемешивание.
S-блоки на входе имеют 6 разряда и на выходе 4
Используется сложная схема генерации раундовых подключей.

Слайд 25

Проблемы DES

В настоящее время основным недостатком DES считается маленькая длина ключа,

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

Слайд 26

Недостатки двойного DES

Простейший способ увеличить длину ключа состоит в повторном применении DES

Недостатки двойного DES Простейший способ увеличить длину ключа состоит в повторном применении
с двумя разными ключами.
Используя незашифрованное сообщение P и два ключа K1 и K2, зашифрованное сообщение С можно получить следующим образом:
C = Ek2 [Ek1 [P]]
Для дешифрования требуется, чтобы два ключа применялись в обратном порядке:
P = Dk1 [Dk2 [C]]
В этом случае длина ключа равна
56 * 2 = 112 бит.

Слайд 27

Атака "встреча посередине"

Для приведенного выше алгоритма двойного DES существует так называемая атака

Атака "встреча посередине" Для приведенного выше алгоритма двойного DES существует так называемая
"встреча посередине".
Она основана на следующем свойстве алгоритма. Мы имеем
С = Ek2 [Ek1 [P]] тогда X = Ek1 [P] = Dk2 [C].
Атака состоит в следующем. Требуется, чтобы атакующий знал хотя бы одну пару незашифрованный текст и зашифрованный текст: (Р, С). В этом случае:
Шифруется Р для всех возможных 256 значений K1. Этот результат запоминается в таблице, и затем таблица упорядочивается по значению Х.
Дешифрируется С, с применением всех возможных 256 значений K2.

Слайд 28

Атака "встреча посередине"

3. Для каждого выполненного дешифрования ищется равное ему значение в

Атака "встреча посередине" 3. Для каждого выполненного дешифрования ищется равное ему значение
первой таблице. Если соответствующее значение найдено, то считается, что эти ключи могут быть правильными, и они проверяются для следующей известной пары незашифрованный текст - зашифрованный текст.
Если известна только одна пара значений: незашифрованный текст - зашифрованный текст, то может быть получено достаточно большое число неверных значений ключей.
Но если противник имеет возможность перехватить хотя бы две пары значений (незашифрованный текст - зашифрованный текст), то сложность взлома двойного DES фактически близка сложности взлома обычного DES, 256+ 256 << 2112.

Слайд 29

Тройной DES (3DES)

Очевидное противодействие атаке "встреча посередине" состоит в использовании третьей стадии

Тройной DES (3DES) Очевидное противодействие атаке "встреча посередине" состоит в использовании третьей
шифрования с тремя различными ключами.
Это поднимает стоимость лобовой атаки до 2168, которая на сегодняшний день считается выше практических возможностей. При этом длина ключа равна 56 * 3 = 168 бит
DES(k3,DES(k2,DES(k1,M))) – вариант EEE
В качестве альтернативы предлагается метод тройного шифрования, использующий только два ключа.
В этом случае выполняется последовательность
зашифрование-расшифрование-зашифрование (EDE).
C = EK1 [DK2 [EK1 [P]]]

Дешифрование тройным DES

Слайд 30

Тройной DES (3DES)

C = EK1 [DK1 [EK1 [P]]] = EK1 [P]
Тройной

Тройной DES (3DES) C = EK1 [DK1 [EK1 [P]]] = EK1 [P]
DES является достаточно популярной альтернативой DES и используется при управлении ключами в стандартах
ANSI X9.17 и ISO 8732 и в PEM (Privacy Enhanced Mail).
Существуют некоторые разновидности атак типа встречи по середине на тройной DES, однако они требуют гигантских объемов памяти и с практической точки зрения неосуществимы, хотя быстрее чем время прямого перебора.

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

Слайд 31

Шифр IDEA

IDEA (International Data Encryption Algorithm) – алгоритм использующий глубоко модифицированную сеть

Шифр IDEA IDEA (International Data Encryption Algorithm) – алгоритм использующий глубоко модифицированную
Фейстеля.
Размер блока – 64 бита.
Размер ключа – 128 бит.
Количество раундов – 8,5
Алгоритм 64-х битные входные блоки данных (X0) делит на 4 подблока длиной 16 бит X0 = {X(0),X(1),X(2),X(3)}.
На каждом этапе используется 6 16-ти битных подключей. Всего используется 8 основных этапов и 1 укороченный
Используемые операции:
сложение по модулю 216
умножение по модулю 216 + 1
побитовое исключающее ИЛИ (XOR).
S-блоки не используются

Высокая криптостойкость IDEA обеспечивается 128 битовым ключом, а также тем, что шифрование зависит от ключа сложным и запутанным образом Скорость шифрования IDEA больше в 2 раза, чем у DES и выше чем у ГОСТ 28147-89.
Алгоритм имеет пространство слабых ключей.

Слайд 32

Симметричный алгоритм блочного шифрования. Advanced Encryption Standard (AES)

Национальный институт стандартов и технологий

Симметричный алгоритм блочного шифрования. Advanced Encryption Standard (AES) Национальный институт стандартов и
США NIST 26 ноября 2001 опубликовал спецификацию FIPS-197 Advanced Encryption Standard (AES) в которой AES был объявлен стандартом шифрования.
AES базируется на алгоритме Rijndael (Рэйндэл), который был выбран по результатам открытого пятилетнего конкурса. Среди других претендентов были: CAST-256, CRYPTON, DEAL, DFC, E2, FROG, HPC, LOKI97, MAGENTA, MARS, RC6, SAFER+, Serpent, Twofish
На итоговой конференции провели голосование:

Rijndael: 86 за, 10 против
Serpent: 59 за, 7 против
Twofish: 31 за, 21 против
RC6: 23 за, 37 против
MARS: 13 за, 83 против

Слайд 33

Алгоритм Rijndael

Создатель: Винсент Рэймен (Vincent Rijmen), Йоан Даймен (Joan Daemen)
Создан: 1998

Алгоритм Rijndael Создатель: Винсент Рэймен (Vincent Rijmen), Йоан Даймен (Joan Daemen) Создан:
г.
Опубликован: 2001 г.
Размер ключа: 128/192/256 бит
Размер блока: 128 бит
Число раундов: 10/12/14 (зависит от размера ключа)

Слайд 34

Блок-схема раунда AES

Блок-схема раунда AES

Слайд 35

ГОСТ 28147-89

ГОСТ 28147-89 - отечественный стандарт симметричного шифрования.
Полное название: «ГОСТ 28147-89 Системы обработки информации.

ГОСТ 28147-89 ГОСТ 28147-89 - отечественный стандарт симметричного шифрования. Полное название: «ГОСТ
Защита криптографическая. Алгоритм криптографического преобразования».
Это единственный разрешенный госрегулятором алгоритм шифрования информации на территории Российской Федерации.
Блочный шифр с 256-битным ключом и 32 циклами преобразования, оперирующий 64-битными блоками.
Основа алгоритма шифра — Сеть Фейстеля. Базовым режимом шифрования по ГОСТ 28147-89 является режим простой замены (определены также более сложные режимы: гаммирование, гаммирование с обратной связью и режим имитовставки).

Слайд 36

ГОСТ 28147-89

Функция f проста. Сначала правая половина и i-ый подключ складываются по

ГОСТ 28147-89 Функция f проста. Сначала правая половина и i-ый подключ складываются
модулю 232. Затем результат делится на 8 частей по 4 бита и передается на блок подстановки, состоящий из 8 уникальных узлов замен (S-блоков). Каждый S-блок обрабатывает свою часть входного значения и преобразует 4 входных бита в 4 выходных. S-блок описывает как таблица состоящая из 8 строк и 16 столбцов по 4 бита в каждой ячейке.
Выходы всех S-блоков объединяются в 32-битное слово, которое затем циклически сдвигается на 11 битов влево (P-блок). Наконец, с помощью XOR результат объединяется с левой половиной, в результате чего получается новая правая половина.
ГОСТ 28147-89
1.7) … таблицы блока подстановки являются секретными элементами и поставляются в установленном порядке…

Слайд 37

ГОСТ 28147-89

Генерация ключей проста. 256-битный ключ разбивается на восемь 32-битных подключей. Алгоритм

ГОСТ 28147-89 Генерация ключей проста. 256-битный ключ разбивается на восемь 32-битных подключей.
имеет 32 раунда, поэтому каждый подключ используется в четырех раундах по следующей схеме:

Считается, что стойкость алгоритма ГОСТ 28147-89 во многом определяется структурой S-блоков. Структура S-блоков в стандарте не определена.

Алгоритм может работать в следующих режимах:
Режим простой замены (использование ограничено стандартом) - ECB
Режим гаммирования - OFB
Режим гаммирования с обратной связь - CFB
Режим выработки имитовставки

Слайд 38

Критика ГОСТ 28147-89 в открытых источниках

Основные проблемы ГОСТа связаны с неполнотой стандарта

Критика ГОСТ 28147-89 в открытых источниках Основные проблемы ГОСТа связаны с неполнотой
в части генерации ключей и таблиц замен.
Тривиально доказывается, что у ГОСТа существуют «слабые» ключи и таблицы замен, но в стандарте не описываются критерии выбора и отсева «слабых».
Также стандарт не специфицирует алгоритм генерации таблицы замен (S-блоков). С одной стороны, это может являться дополнительной секретной информацией (помимо ключа), а с другой, поднимает ряд проблем:
нельзя определить криптостойкость алгоритма, не зная заранее таблицы замен;
реализации алгоритма от различных производителей могут использовать разные таблицы замен и могут быть несовместимы между собой;
потенциальная возможность (отсутствие запрета в стандарте) использования таблиц замены, в которых узлы не являются перестановками, что может привести к чрезвычайному снижению стойкости шифра.

Слайд 39

В рамках «Соглашения о совместимости СКЗИ» следующих компаний производителей СКЗИ:

ФГУП НТЦ

В рамках «Соглашения о совместимости СКЗИ» следующих компаний производителей СКЗИ: ФГУП НТЦ
"Атлас",
ООО "КРИПТО-ПРО",
ООО "Фактор-ТС",
ЗАО "МО ПНИЭИ",
ООО "Инфотекс",
ЗАО "СПбРЦЗИ",
ООО "Криптоком",
ООО "Р-Альфа".
Разработали общие параметры алгоритма, которые в январе 2006 года открытое международное сообщество разработчиков IETF (Internet Engineering Task Force) приняло как стандарт.
RFC 4357 "Additional Cryptographic Algorithms for Use with GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms".
Помимо определения параметров алгоритма (S-блоки, таблица использования подключей), данный стандарт определяет также режим работы ГОСТ 28147-89 – режим сцепления блоков CBC, а так же ряд алгоритмов ассиметричной криптографии по обмену и выработке ключей.

Слайд 40

Основные различия между DES и ГОСТ 28147-89

DES использует гораздо более сложную процедуру

Основные различия между DES и ГОСТ 28147-89 DES использует гораздо более сложную
создания подключей, чем ГОСТ 28147. В ГОСТ эта процедура очень проста.
В DES применяется 56-битный ключ, а в ГОСТ 28147-89 - 256-битный. При выборе сильных S-блоков ГОСТ 28147-89 считается очень стойким.
У S-блоков DES 6-битовые входы и 4-битовые выходы, а у S-блоков ГОСТ 28147-89 4-битовые входы и выходы. В обоих алгоритмах используется по восемь S-блоков, но размер S-блока ГОСТ 28147-89 существенно меньше размера S-блока DES.
В DES применяются нерегулярные перестановки Р, в ГОСТ 28147-89 используется 11-битный циклический сдвиг влево. Перестановка DES увеличивает лавинный эффект. В ГОСТ 28147-89 изменение одного входного бита влияет на один S-блок одного раунда, который затем влияет на два S-блока следующего раунда, три S-блока следующего и т.д. В ГОСТ 28147-89 требуется 8 раундов прежде, чем изменение одного входного бита повлияет на каждый бит результата; DES для этого нужно только 5 раундов.
В DES 16 раундов, в ГОСТ 28147 - 32 раунда, что делает его более стойким к дифференциальному и линейному криптоанализу.

Слайд 41

Сравнение ГОСТ 28147-89 и АES

ГОСТ 28147-89 и АES обеспечивают примерно одинаковую криптостойкость

AES

Сравнение ГОСТ 28147-89 и АES ГОСТ 28147-89 и АES обеспечивают примерно одинаковую
обладает несколько большим быстродействием

Слайд 42

Шифрование сообщений больших размеров. Режимы шифрования

Этап 1 - заполнение

Этап 2 - шифрование

Режим

Шифрование сообщений больших размеров. Режимы шифрования Этап 1 - заполнение Этап 2
шифрования — метод применения блочного шифра, позволяющий преобразовать последовательность блоков открытых данных в последовательность блоков зашифрованных данных. При этом для шифрации одного блока могут использоваться данные другого блока.
Обычно режимы шифрования используются для модификации процесса шифрования так, чтобы результат шифрования каждого блока был уникальным вне зависимости от шифруемых данных и не позволял сделать какие-либо выводы об их структуре.

Слайд 43

Режимы шифрования блочных шифров

ECB - Electronic Codebook (электрнонная кодовая книга) -

Режимы шифрования блочных шифров ECB - Electronic Codebook (электрнонная кодовая книга) -
каждый блок незашифрованного текста шифруется независимо от остальных блоков, с применением одного и того же ключа шифрования.
Типичные приложения - безопасная передача одиночных значений (например, криптографического ключа).
CBC - Chipher Block Chaining (сцепление блоков) - вход криптографического алгоритма является результатом применения операции XOR к следующему блоку незашифрованного текста и предыдущему блоку зашифрованного текста. Типичные приложения - общая блокоориентированная передача, аутентификация.

Слайд 44

Режимы шифрования блочных шифров

CFB - Chipher Feedback (обратная связь по шифру)

Режимы шифрования блочных шифров CFB - Chipher Feedback (обратная связь по шифру)
- при каждом вызове алгоритма обрабатывается J битов входного значения. Предшествующий зашифрованный блок используется в качестве входа в алгоритм; к J битам выхода алгоритма и следующему незашифрованному блоку из J битов применяется операция XOR, результатом которой является следующий зашифрованный блок из J битов. Типичные приложения - потокоориентированная передача, аутентификация.
OFB - Output Feedback (обратная связь по выходу) - аналогичен CFB, за исключением того, что на вход алгоритма при шифровании следующего блока подается результат шифрования предыдущего блока; только после этого выполняется операция XOR с очередными J битами незашифрованного текста.
Типичные приложения - потокоориентированная передача по зашумленному каналу (например, спутниковая связь).

Слайд 45

1. Режим ECB (режим электронной кодовой книги)

Данный режим является самым простым режимом,

1. Режим ECB (режим электронной кодовой книги) Данный режим является самым простым
при котором незашифрованный текст обрабатывается последовательно, блок за блоком. В терминах ГОСТ 28147-89 это режим простой замены.

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

Слайд 46

2. Режим CBC (режим сцепления блоков)

В режиме CBС одинаковые незашифрованные блоки

2. Режим CBC (режим сцепления блоков) В режиме CBС одинаковые незашифрованные блоки
преобразуются в различные зашифрованные. Для этого в качестве входа алгоритма используется результат применения операции XOR к текущему незашифрованному блоку и предыдущему зашифрованному блоку.

Для получения первого блока зашифрованного сообщения используется инициализационный вектор (IV), или синхропосылка (в терминах ГОСТ 28147-89), для которого выполняется операция XOR с первым блоком незашифрованного сообщения.

Зашифрование в CBC

Слайд 47

Расшифрование в CBC

При расшифровании для IV выполняется операция XOR с выходом расшифрирующего

Расшифрование в CBC При расшифровании для IV выполняется операция XOR с выходом
алгоритма для получения первого блока незашифрованного текста.

IV должен быть известен как отправителю, так и получателю.

Слайд 48

Потоковые шифры

При расшифровании для IV выполняется операция XOR с выходом расшифрирующего алгоритма

Потоковые шифры При расшифровании для IV выполняется операция XOR с выходом расшифрирующего
для получения первого блока незашифрованного текста.

Потоковые шифры преобразуют информацию не блоком, а посимвольно. При этом используется XOR между текстом и гаммой. Гамма – потоковый ключ генерируется поточным шифром, чтобы получатель мог расшифровать сообщение надо чтобы генераторы получателя и отправителя работали синхронно. Ключ – задает параметры генерации гаммы.
Зашифрование Ci=Ki xor Pi Расшифрование Pi=Ki xor Ci

Слайд 49

3. Режим CFB (режим обратной связи по шифру)

СFB – позволяет использовать блочный

3. Режим CFB (режим обратной связи по шифру) СFB – позволяет использовать
алгоритм как поточный. При этом:
Устраняется необходимость разбивать сообщение на целое число блоков достаточно большой длины.
Появляется возможность работать в реальном времени.
Зашифрованный текст будет той же длины, что и исходный.

Слайд 50

Зашифрование в режиме СFВ

Пусть символ – J бит. Входом функции шифрования

Зашифрование в режиме СFВ Пусть символ – J бит. Входом функции шифрования
является регистр сдвига, который первоначально устанавливается в инициализационный вектор IV.
Для левых J битов выхода шифрования выполняется операция XOR с J битами незашифрованного текста Рi для получения первого блока зашифрованного текста Сi. Содержимое регистра сдвигается влево на J битов, и Сi помещается в правые J битов этого регистра.

Этот процесс продолжается до тех пор, пока не будет зашифровано все сообщение.
Данный метод в ГОСТ 28147—89 называется "режим гаммирования с обратной связью".

Слайд 51

Расшифрование в режиме СFВ

При расшифровании используется аналогичная схема, за исключением того,

Расшифрование в режиме СFВ При расшифровании используется аналогичная схема, за исключением того,
что блоки зашифрованного текста по очереди извлекаются из канала или файла и являются входом алгоритма, а не выходом. Получатель должен знать IV

Слайд 52

4. Режим OFB (обратная связь по выходу)

Данный режим подобен режиму CFB. Разница

4. Режим OFB (обратная связь по выходу) Данный режим подобен режиму CFB.
заключается в том, что выход алгоритма в режиме OFB подается обратно в регистр, тогда как в режиме CFB в регистр подается результат применения операции XOR к незашифрованному блоку и результату алгоритма.
Основное преимущество режима OFB состоит в том, что если при передаче произошла ошибка, то она не распространяется на следующие зашифрованные блоки, и тем самым сохраняется возможность дешифрования последующих блоков.
Например, если появляется ошибочный бит в Сi, то это приведет только к невозможности дешифрования этого блока и получения Рi. Дальнейшая последовательность блоков будет расшифрована корректно.
Недостаток OFB в том, что он более уязвим к атакам модификации потока сообщений, чем CFB.

Слайд 53

Зашифрование в режиме OFB

Зашифрование в режиме OFB

Слайд 54

Зашифрование в режиме СFВ

Зашифрование в режиме OFB

Зашифрование в режиме СFВ Зашифрование в режиме OFB

Слайд 55

Расшифрование в режиме OFB

Расшифрование в режиме OFB

Слайд 56

Создание случайных чисел

Случайные числа играют важную роль при использовании криптографии в различных

Создание случайных чисел Случайные числа играют важную роль при использовании криптографии в
сетевых приложениях, относящихся к безопасности.
Большинство алгоритмов сетевой безопасности, основанных на криптографии, использует случайные числа.
Например:
1. Схемы взаимной аутентификации.
2. Ключ сессии, созданный KDC или кем-либо из участников.
3. и т.д.
Требования к случайным числам
Двумя основными требованиями к последовательности случайных чисел являются случайность и независимость.

Слайд 57

Случайность

Обычно при создании последовательности псевдослучайных чисел предполагается, что данная последовательность чисел должна

Случайность Обычно при создании последовательности псевдослучайных чисел предполагается, что данная последовательность чисел
быть случайной в некотором определенном статистическом смысле.
Следующие два критерия используются для доказательства того, что последовательность чисел является случайной:
1. Равномерное распределение: распределение чисел в последовательности должно быть равномерным т.е., частота появления каждого числа должна быть приблизительно одинаковой.
2. Независимость: ни одно значение в последовательности не должно зависеть от других.
Существуют тесты, показывающие, что последовательность чисел соответствует некоторому распределению, такому как однородное распределение.
Теста для "доказательства" независимости нет.
Но есть тесты для доказательства того, что последовательность является зависимой.

Слайд 58

Источники случайных чисел

Источники действительно случайных чисел найти трудно:
Детекторы событий ионизирующей радиации,

Источники случайных чисел Источники действительно случайных чисел найти трудно: Детекторы событий ионизирующей

Газовые разрядные трубки и имеющий течь конденсатор могут быть такими источниками.
Эти устройства в приложениях сетевой безопасности применяются ограниченно. Проблемы также вызывают грубые атаки на такие устройства.
Альтернативным решением является создание набора из большого числа случайных чисел и опубликование его в некоторой книге.
Тем не менее, и такие наборы обеспечивают очень ограниченный источник чисел по сравнению с тем количеством, которое требуется приложениям сетевой безопасности. Более того, хотя наборы из этих книг действительно обеспечивает статистическую случайность, они предсказуемы, так как противник может получить их копию.
Таким образом, шифрующие приложения используют для создания случайных чисел специальные алгоритмы. Эти алгоритмы детерминированы и, следовательно, создают последовательность чисел, которая не является статистически случайной. Тем не менее, если алгоритм хороший, полученная последовательность будет проходить много тестов на случайность. Такие числа часто называют псевдослучайными числами.

Слайд 59

Генераторы псевдослучайных чисел

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

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

Последовательность случайных чисел {Xn} получается с помощью следующего итерационного равенства:

Если m, а и с являются целыми, то создается последовательность целых чисел в диапазоне 0≤XnВыбор значений для а, с и m является критичным для разработки хорошего генератора случайных чисел.

Слайд 60

Генераторы псевдослучайных чисел

Если противник знает, что используется алгоритм линейного конгруента, и если

Генераторы псевдослучайных чисел Если противник знает, что используется алгоритм линейного конгруента, и
известны его параметры (а=75, с=0, m=231-1), то, если раскрыто одно число, вся последовательность чисел становится известна.
Даже если противник знает только, что используется алгоритм линейного конгруента, знания небольшой части последовательности достаточно для определения параметров алгоритма и всех последующих чисел.
Предположим, что противник может определить значения Х0, Х1, Х2, Х3. Тогда :

Таким образом, хотя алгоритм и является хорошим генератором псевдослучайной последовательности чисел, желательно, чтобы реально используемая последовательность была непредсказуемой, поскольку в этом случае знание части последовательности не позволит определить будущие ее элементы.
Эта цель может быть достигнута несколькими способами. Например, использование внутренних системных часов для модификации потока случайных чисел.
Один из способов применения часов состоит в перезапуске последовательности после N чисел, используя текущее значение часов по модулю m в качестве нового начального значения.
Другой способ состоит в простом добавлении значения текущего времени к каждому случайному числу по модулю m.

Эти равенства позволяют найти а, с и m.

Слайд 61

Криптографически созданные случайные числа

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

Криптографически созданные случайные числа В криптографических приложениях целесообразно шифровать получающиеся случайные числа.
Чаще всего используется три способа:
- Циклическое шифрование – режим счетчика
- Режим Output Feedback – обратная связь по выходу
- Генератор псевдослучайных чисел ANSI X9.17

Счетчик с периодом N используется в качестве входа в шифрующее устройство. Например, в случае использования 56-битного ключа DES может применяться счетчик с периодом 256. После каждого созданного ключа значение счетчика увеличивается на 1. Таким образом, псевдослучайная последовательность, полученная по данной схеме, имеет полный период: каждое выходное значение Х0, Х1,...ХN-1 основано на различных значениях счетчика и, следовательно, Х0 ≠ X1 ≠ XN-1.

Циклическое шифрование

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

Слайд 62

Режим Output Feedback DES

Режим OFB DES может применяться для генерации ключа, аналогично

Режим Output Feedback DES Режим OFB DES может применяться для генерации ключа,
тому, как он используется для потокового шифрования.
Выходом каждой стадии шифрования является 64-битное значение, из которого только левые j битов подаются обратно для шифрования.
64-битные выходы составляют последовательность псевдослучайных чисел с хорошими статистическими свойствами.

Слайд 63

Генератор псевдослучайных чисел ANSI X9.17

Один из наиболее сильных генераторов псевдослучайных чисел описан

Генератор псевдослучайных чисел ANSI X9.17 Один из наиболее сильных генераторов псевдослучайных чисел
в ANSI X9.17. В число приложений, использующих эту технологию, входят приложения финансовой безопасности и PGP.
Алгоритмом шифрования является тройной DES. Генератор ANSI X9.17 состоит из следующих частей:
1. Вход: генератором управляют два псевдослучайных входа. Один является 64-битным представлением текущих даты и времени, которые изменяются каждый раз при создании числа. Другой является 64-битным начальным значением, оно инициализируется некоторым произвольным значением и изменяется в ходе генерации последовательности псевдослучайных чисел.
2. Ключи: генератор использует три модуля тройного DES. Все три используют одну и ту же пару 56-битных ключей, которая должна держаться в секрете и применяться только для генерации псевдослучайного числа.
3. Выход: выход состоит из 64-битного псевдослучайного числа и 64-битного значения, которое будет использоваться в качестве начального значения при создании следующего числа.

Слайд 64

Генератор псевдослучайных чисел ANSI X9.17

DTi - значение даты и времени на начало

Генератор псевдослучайных чисел ANSI X9.17 DTi - значение даты и времени на
i-ой стадии генерации.
Vi - начальное значение для i-ой стадии генерации.
Ri - псевдослучайное число, созданное на i-ой стадии генерации.
K1,K2 - ключи, используемые на каждой стадии.

Схема включает использование 112-битного ключа и трех EDE-шифрований. На вход подаются два псевдослучайных значения: значение даты и времени и начальное значение очередной итерации, на выходе создаются начальное значение для следующей итерации и очередное псевдослучайное значение. Даже если псевдослучайное число Ri будет скомпрометировано, вычислить Vi+1 из Ri невозможно, и, следовательно, следующее псевдослучайное значение Ri+1, так как для получения Vi+1 дополнительно выполняются три операции EDE.

Слайд 65

Домашнее задание по теме «Симметричная и асимметричная криптография»

Опишите, при каких условиях возможно

Домашнее задание по теме «Симметричная и асимметричная криптография» Опишите, при каких условиях
получить новый открытый ключ (новый сертификат) для существующего закрытого ключа в случае с алгоритмом RSA. Почему этот процесс является нарушением принципов криптографии?
Опишите, с использованием каких алгоритмов (симметричных или ассиметричных) вы будете обеспечивать шифрование таблиц в БД? Определить режим работы алгоритма для шифрования данных в БД
Последовательность выполнения:
Создайте новый лист в Google Таблице и назовите его "Симметричная и асимметричная криптография".
Ответы на вопросы, указанные выше, разместите на листе в свободной форме.
NB! (ДЗ рекомендуется выполнять после вебинара «Асимметричные криптосистемы»)

Слайд 66

ВОПРОСЫ

 

ВОПРОСЫ