SlideShare a Scribd company logo
1 of 18
Симметричные криптосистемы
В настоящее время симметричные шифры — это:
• блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит),
применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания
и подстановки, называемыми раундами. Результатом повторения раундов является лавинный
эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных
данных.
• поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного
(открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на
основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном
режиме.
Большинство симметричных шифров используют сложную комбинацию большого количества подстановок
и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на
каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется
«расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких
операций, в том числе перестановок и подстановок.
• Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля.
Алгоритм строит схему шифрования на основе функции F(D, K), где D — порция данных, размером
вдвое меньше блока шифрования, а K — «ключ прохода» для данного прохода. От функции не
требуется обратимость — обратная ей функция может быть неизвестна. Достоинства сети Фейстеля —
почти полное совпадение дешифровки с шифрованием (единственное отличие — обратный порядок
«ключей прохода» в расписании), что сильно облегчает аппаратную реализацию.
• Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях
она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают
возможность достижения «эффекта лавины». Операция перестановки линейна — f(a) xor f(b) == f(a xor
b)
• Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8
бит) на стандартное, жестко встроенное в алгоритм иное число путем обращения к константному
массиву. Операция подстановки привносит в алгоритм нелинейность.
• Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора
значений в таблицах подстановки (S-блоках). Как минимум считается нежелательным наличие
неподвижных элементов S(x) = x, а также отсутствие влияния какого-то бита входного байта на какой-то
бит результата — то есть случаи, когда бит результата одинаков для всех пар входных слов,
отличающихся только в данном бите.
Шифр DES
Входные данные для шифрования - открытый текст (64 бита),
и ключ (56 бит+8бит)
Основные этапы шифрования:
1. Начальная перестановка
2. Шифрование (16 раундов)
3. Конечная перестановка
Начальная перестановка
Таблица 1. Начальная перестановка IP
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
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
По таблице первые 3 бита результирующего
блока IP(T), после начальной перестановки IP, являются
битами 58, 50, 42 входного блока T, а его 3 последние
бита являются битами 23, 15, 7 входного блока.
Исходный текст T (блок 64 бит) преобразуется c
помощью начальной перестановки IP, которая
определяется таблицей 1:
Шифрование
Полученный после начальной перестановки 64-битовый блок IP(T)
участвует в 16-циклах преобразования Фейстеля.
— 16 циклов преобразования Фейстеля:
Разбить IP(T) на две части Lo, Ro, где Lo, Ro — соответственно 32
старших битов и 32 младших битов блока To IP(T)=LoRo
Аргументы функции f являются 32 битовой вектор Ri - 1, 48 битовой ключ ki, которые
являются результатом преобразования 56 битового исходного ключа шифра k.
Для вычисления функции f используются фукция расширения Е, преобразование S,
состоящее из 8 преобразований S-блоков, и перестановка P.
Функция Е расширяется 32 битовой вектор Ri - 1 до 48 битовой вектор E(Ri - 1) путем
дублирования некоторых битов из Ri - 1 при этом порядок битов вектора E(Ri - 1) указан в
таблице 2.
Первые три бита вектора E(Ri - 1) являются битами 32, 1, 2 вектора Ri -1. По таблице 2
видно что биты 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29, 32 дублируются.
Последние 3 биты вектора E(Ri - 1) — это биты 31, 32, 1 вектора Ri - 1. Полученный
после перестановки блок E(Ri -1) складывается по модулю 2 с ключами ki и затем
представляются в виде восьми последовательных блоков B1,B2,...B8.
E(Ri - 1) = B1B2...B8
Функция преобразования (f):
Этап обратной перестановки:
Каждый Bj является 6-битовым блоком. Далее
каждый из блоков Bj трансформируется в 4
битовой блок B'j с помощью преобразований Sj.
Преобразования Sj определяется таблицей 3.
Предположим что B3 = 101111 и мы хотим найти B'3.
Первый и последний разряды B3 являются двоичной
записью числа а, 0<=a<=3, средние 4 разряды
представляют число b, 0<=b<=15. Строки таблицы
S3нумеруются от 0 до 3, столбцы таблицы
S3 нумеруются от 0 до 15.Пара числа(а,b) определяет
число,находящее в пересечении строки а и столбцы
b. Двоичное представление этого числа дает B'3 .В
нашем случае a = 112 = 3,b = 01112 = 7, число
определяется парой (3,7) равно 7, следует B'3=0111.
Значение функции f(Ri - 1,ki) (32 бит) получается
перестановкой Р, применяемой к 32 битовому блоку
B'1B'2...B'8. Перестановка Р задана таблицей 4.
f(Ri - 1,ki) = P(B'1B'2...B'8)
Согласно таблице 4, первые четыре бита
результирующего вектора после действия функции f
— это биты 16, 7, 20, 21 вектора B'1B'2...B'8
Вычисление подключей
При каждой новой итерации используется новое значение ключа(длина ключа 48 бит). Каждое
последующее значение вычисляется из начального ключа К.
Ключи ki получаются из начального ключа k (56 бит = 7 байтов). Восемь битов, находящих в позициях 8,
16, 24, 32, 40, 48, 56, 64 добавляются в ключ k таким образом чтобы каждый байт содержал
нечетное число единиц. Это используется для обнаружения ошибок при обмене и хранении ключей.
Затем делают перестановку для расширенного ключа (кроме добавляемых битов 8, 16, 24, 32, 40,
48, 56, 64). Такая перестановка определенна в таблице.
1. Начальная перестановка для генерации ключа (верхние четыре строки - блок С, нижние – блок D)
2. Эта перестановка определяется двумя блоками C0 и D0 по 28 бит каждый. Первые 3 бита C0 есть
биты 57, 49, 41 расширенного ключа. А первые три бита D0 есть биты 63, 55, 47 расширенного
ключа. Ci,Di i=1,2,3…получаются из Ci - 1,Di - 1 одним или двумя левыми циклическими сдвигами
согласно таблице.
Ключ ki, i=1,…16 состоит из 48 бит, выбранных из битов
вектора CiDi (56 бит) согласно таблице. Первый и второй биты
ki есть биты 14, 17 вектора CiDi.
2. Вторая перестановка с выбором
Основные режимы алгоритма DES
• электронный шифро-блокнот (Electronic Code book ) - ECB;
• цепочка цифровых блоков (Cipher Block Chaining) - CBC;
• обратная связь по шифру (Cipher Feedback) - CFB;
• обратная связь по выходу (Output Feedback) - OFB.
Электронный шифроблокнот
Преимущества – простота реализации (шифрование ключей).
Недостаток – относительно слабая устойчивость (возможность «взлома со
словарем»). Не подходит для шифрования exe файлов.
Цепочка цифровых блоков (CBC)
Исходный файл M – блоки M = M(1)M(2)...M(n). Первый блок M(1)
складывается по модулю 2 с 64-битовым начальным вектором IV
(меняется ежедневно, держится в секрете).
Применение: для аутентификации данных, проверки контроля целостности
Обратная связь по шифру CFB
Исходный файл M считывается последовательными t-битовыми блоками
(t <= 64): M = M(1)M(2)...M(n)
C(i) = M(i) xor P(i-1) , где P(i-1) - старшие t битов операции DES(С(i-1)),
причем C(0)=IV.
Применение: для шифрования отдельных символов, для аутентификации
данных, итеративное шифрование данных при обмене между
клиентом и сервером, шифрование ключей, шифрование почтовых
файлов, данных спутников.
Обратная связь по выходу OFB
Применение: для шифрования данных спутниковых систем
Двойной DES
Расширение пространства ключей - используется
незашифрованное сообщение P и два ключа K1 и K2.
С (шифртекст) можно получить следующим образом:
C = Ek2 [Ek1 [P]]
Для дешифрования требуется, чтобы два ключа
применялись в обратном порядке:
P = Dk1 [Dk2 [C]].
В этом случае длина ключа равна 56 * 2 = 112 бит.
Недостаток - атака "встреча посередине"
Для приведенного выше алгоритма двойного DES
существует так называемая атака "встреча посередине".
X = Ek1 [P] = Dk2 [C].
Тройной DES
Последовательность: зашифрование-расшифрование-
зашифрование (EDE).
Шифрование тройным DES - C = EK1 [DK2 [EK1 [P]]]
Расшифрование
Криптоанализ
Попытку прочтения или подделки зашифрованного
сообщения, вычисления ключа методами
криптоанализа называют криптоатакой или атакой на
шифр. Удачную криптоатаку называют
компрометацией системы (или взломом).
Допущения криптоанализа:
1. Криптоаналитик знает алгоритм шифрования, но не
знает секретного ключа.
2. Криптоаналитик доступны все зашифрованные тексты.
3. Криптоаналитик имеет в своем распоряжении
вычислительные, людские, временные и иные
ресурсы.
Направления криптоанализа
Статистический криптоанализ. Он исследует возможности
компрометации криптосистем на основе изучения
статистических закономерностей исходных и зашифрованных
сообщений.
Алгебраический криптоанализ. Он занимается поиском
математически слабых звеньев криптоалгоритмов.
Дифференциальный (или разностный) криптоанализ. Основан на
анализе зависимости изменения шифрованного текста от
изменения исходного текста.
Линейный криптоанализ. Метод, основанный на поиске
линейной аппроксимации между исходным и шифрованным
текстом.
Дифференциальный криптоанализ для блочных
шифров, основанных на конструкциях Файстеля.
Дифференциальный криптоанализ предполагает рассмотрение двух
сообщений m и m’
Линейный криптоанализ – это атака по известному открытому тексту, при которой
используются линейные аппроксимации для описания блокового шифрования.
Изобретен японским криптологом Мицуру Мацуи (Mitsuru Matsui) в 1993г.
Целью линейного криптоанализа является нахождение подходящего линейного
уравнения вида

More Related Content

Similar to 23.02.15_Симметричные криптосистемы.pptx

Word pressshortcode
Word pressshortcodeWord pressshortcode
Word pressshortcodessuserf59b92
 
Урок 11. Паттерн 3. Операции сдвига
Урок 11. Паттерн 3. Операции сдвигаУрок 11. Паттерн 3. Операции сдвига
Урок 11. Паттерн 3. Операции сдвигаTatyanazaxarova
 
ОПК № 3 – Машинное представление целых чисел, символов, строк
ОПК № 3 – Машинное представление целых чисел, символов, строкОПК № 3 – Машинное представление целых чисел, символов, строк
ОПК № 3 – Машинное представление целых чисел, символов, строкVladimir Parfinenko
 
C++ осень 2013 лекция 2
C++ осень 2013 лекция 2C++ осень 2013 лекция 2
C++ осень 2013 лекция 2Technopark
 
Презентация
ПрезентацияПрезентация
ПрезентацияLena_Vika
 
Кодирование информации
Кодирование информацииКодирование информации
Кодирование информацииryabuha
 
Кодирование информации
Кодирование информацииКодирование информации
Кодирование информацииryabuha
 
Лекция №4 Организация ЭВМ и систем (продолжение)
Лекция №4 Организация ЭВМ и систем (продолжение)Лекция №4 Организация ЭВМ и систем (продолжение)
Лекция №4 Организация ЭВМ и систем (продолжение)Александр Силантьев
 
Кодирование текстовой информации
Кодирование текстовой информацииКодирование текстовой информации
Кодирование текстовой информацииСергей Балан
 
лекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикалекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикаGulnaz Shakirova
 
лекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикалекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикаGulnaz Shakirova
 
лабораторная работа 3
лабораторная работа 3лабораторная работа 3
лабораторная работа 3Gulnaz Shakirova
 
На что нужно обратить внимание при обзоре кода разрабатываемой библиотеки
На что нужно обратить внимание при обзоре кода разрабатываемой библиотекиНа что нужно обратить внимание при обзоре кода разрабатываемой библиотеки
На что нужно обратить внимание при обзоре кода разрабатываемой библиотекиAndrey Karpov
 
Помехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические кодыПомехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические кодыnauryzbaevr
 
представление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятойпредставление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятойtanamukina
 
представление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятойпредставление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятойtanamukina
 
представление чисел в памяти компьютера
представление чисел в памяти компьютерапредставление чисел в памяти компьютера
представление чисел в памяти компьютераAndrey Dolinin
 

Similar to 23.02.15_Симметричные криптосистемы.pptx (20)

Word pressshortcode
Word pressshortcodeWord pressshortcode
Word pressshortcode
 
Урок 11. Паттерн 3. Операции сдвига
Урок 11. Паттерн 3. Операции сдвигаУрок 11. Паттерн 3. Операции сдвига
Урок 11. Паттерн 3. Операции сдвига
 
ОПК № 3 – Машинное представление целых чисел, символов, строк
ОПК № 3 – Машинное представление целых чисел, символов, строкОПК № 3 – Машинное представление целых чисел, символов, строк
ОПК № 3 – Машинное представление целых чисел, символов, строк
 
C++ осень 2013 лекция 2
C++ осень 2013 лекция 2C++ осень 2013 лекция 2
C++ осень 2013 лекция 2
 
Презентация
ПрезентацияПрезентация
Презентация
 
Кодирование информации
Кодирование информацииКодирование информации
Кодирование информации
 
Кодирование информации
Кодирование информацииКодирование информации
Кодирование информации
 
Лекция №4 Организация ЭВМ и систем (продолжение)
Лекция №4 Организация ЭВМ и систем (продолжение)Лекция №4 Организация ЭВМ и систем (продолжение)
Лекция №4 Организация ЭВМ и систем (продолжение)
 
Кодирование текстовой информации
Кодирование текстовой информацииКодирование текстовой информации
Кодирование текстовой информации
 
лекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикалекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатика
 
лекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатикалекция 5 представление информации в эвм информатика
лекция 5 представление информации в эвм информатика
 
лабораторная работа 3
лабораторная работа 3лабораторная работа 3
лабораторная работа 3
 
На что нужно обратить внимание при обзоре кода разрабатываемой библиотеки
На что нужно обратить внимание при обзоре кода разрабатываемой библиотекиНа что нужно обратить внимание при обзоре кода разрабатываемой библиотеки
На что нужно обратить внимание при обзоре кода разрабатываемой библиотеки
 
Помехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические кодыПомехоустойчивое кодирование - Циклические коды
Помехоустойчивое кодирование - Циклические коды
 
паскаль 10кл 14
паскаль 10кл 14паскаль 10кл 14
паскаль 10кл 14
 
представление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятойпредставление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятой
 
представление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятойпредставление целых чисел в формате с фиксированной запятой
представление целых чисел в формате с фиксированной запятой
 
представление чисел в памяти компьютера
представление чисел в памяти компьютерапредставление чисел в памяти компьютера
представление чисел в памяти компьютера
 
Rgsu04
Rgsu04Rgsu04
Rgsu04
 
Rgsu04
Rgsu04Rgsu04
Rgsu04
 

23.02.15_Симметричные криптосистемы.pptx

  • 2. В настоящее время симметричные шифры — это: • блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных. • поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме. Большинство симметричных шифров используют сложную комбинацию большого количества подстановок и перестановок. Многие такие шифры исполняются в несколько (иногда до 80) проходов, используя на каждом проходе «ключ прохода». Множество «ключей прохода» для всех проходов называется «расписанием ключей» (key schedule). Как правило, оно создается из ключа выполнением над ним неких операций, в том числе перестановок и подстановок. • Типичным способом построения алгоритмов симметричного шифрования является сеть Фейстеля. Алгоритм строит схему шифрования на основе функции F(D, K), где D — порция данных, размером вдвое меньше блока шифрования, а K — «ключ прохода» для данного прохода. От функции не требуется обратимость — обратная ей функция может быть неизвестна. Достоинства сети Фейстеля — почти полное совпадение дешифровки с шифрованием (единственное отличие — обратный порядок «ключей прохода» в расписании), что сильно облегчает аппаратную реализацию. • Операция перестановки перемешивает биты сообщения по некоему закону. В аппаратных реализациях она тривиально реализуется как перепутывание проводников. Именно операции перестановки дают возможность достижения «эффекта лавины». Операция перестановки линейна — f(a) xor f(b) == f(a xor b) • Операции подстановки выполняются как замена значения некоей части сообщения (часто в 4, 6 или 8 бит) на стандартное, жестко встроенное в алгоритм иное число путем обращения к константному массиву. Операция подстановки привносит в алгоритм нелинейность. • Зачастую стойкость алгоритма, особенно к дифференциальному криптоанализу, зависит от выбора значений в таблицах подстановки (S-блоках). Как минимум считается нежелательным наличие неподвижных элементов S(x) = x, а также отсутствие влияния какого-то бита входного байта на какой-то бит результата — то есть случаи, когда бит результата одинаков для всех пар входных слов, отличающихся только в данном бите.
  • 3. Шифр DES Входные данные для шифрования - открытый текст (64 бита), и ключ (56 бит+8бит) Основные этапы шифрования: 1. Начальная перестановка 2. Шифрование (16 раундов) 3. Конечная перестановка
  • 4. Начальная перестановка Таблица 1. Начальная перестановка IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 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 По таблице первые 3 бита результирующего блока IP(T), после начальной перестановки IP, являются битами 58, 50, 42 входного блока T, а его 3 последние бита являются битами 23, 15, 7 входного блока. Исходный текст T (блок 64 бит) преобразуется c помощью начальной перестановки IP, которая определяется таблицей 1:
  • 5. Шифрование Полученный после начальной перестановки 64-битовый блок IP(T) участвует в 16-циклах преобразования Фейстеля. — 16 циклов преобразования Фейстеля: Разбить IP(T) на две части Lo, Ro, где Lo, Ro — соответственно 32 старших битов и 32 младших битов блока To IP(T)=LoRo Аргументы функции f являются 32 битовой вектор Ri - 1, 48 битовой ключ ki, которые являются результатом преобразования 56 битового исходного ключа шифра k. Для вычисления функции f используются фукция расширения Е, преобразование S, состоящее из 8 преобразований S-блоков, и перестановка P. Функция Е расширяется 32 битовой вектор Ri - 1 до 48 битовой вектор E(Ri - 1) путем дублирования некоторых битов из Ri - 1 при этом порядок битов вектора E(Ri - 1) указан в таблице 2. Первые три бита вектора E(Ri - 1) являются битами 32, 1, 2 вектора Ri -1. По таблице 2 видно что биты 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29, 32 дублируются. Последние 3 биты вектора E(Ri - 1) — это биты 31, 32, 1 вектора Ri - 1. Полученный после перестановки блок E(Ri -1) складывается по модулю 2 с ключами ki и затем представляются в виде восьми последовательных блоков B1,B2,...B8. E(Ri - 1) = B1B2...B8
  • 6. Функция преобразования (f): Этап обратной перестановки:
  • 7. Каждый Bj является 6-битовым блоком. Далее каждый из блоков Bj трансформируется в 4 битовой блок B'j с помощью преобразований Sj. Преобразования Sj определяется таблицей 3. Предположим что B3 = 101111 и мы хотим найти B'3. Первый и последний разряды B3 являются двоичной записью числа а, 0<=a<=3, средние 4 разряды представляют число b, 0<=b<=15. Строки таблицы S3нумеруются от 0 до 3, столбцы таблицы S3 нумеруются от 0 до 15.Пара числа(а,b) определяет число,находящее в пересечении строки а и столбцы b. Двоичное представление этого числа дает B'3 .В нашем случае a = 112 = 3,b = 01112 = 7, число определяется парой (3,7) равно 7, следует B'3=0111. Значение функции f(Ri - 1,ki) (32 бит) получается перестановкой Р, применяемой к 32 битовому блоку B'1B'2...B'8. Перестановка Р задана таблицей 4. f(Ri - 1,ki) = P(B'1B'2...B'8) Согласно таблице 4, первые четыре бита результирующего вектора после действия функции f — это биты 16, 7, 20, 21 вектора B'1B'2...B'8
  • 8. Вычисление подключей При каждой новой итерации используется новое значение ключа(длина ключа 48 бит). Каждое последующее значение вычисляется из начального ключа К. Ключи ki получаются из начального ключа k (56 бит = 7 байтов). Восемь битов, находящих в позициях 8, 16, 24, 32, 40, 48, 56, 64 добавляются в ключ k таким образом чтобы каждый байт содержал нечетное число единиц. Это используется для обнаружения ошибок при обмене и хранении ключей. Затем делают перестановку для расширенного ключа (кроме добавляемых битов 8, 16, 24, 32, 40, 48, 56, 64). Такая перестановка определенна в таблице. 1. Начальная перестановка для генерации ключа (верхние четыре строки - блок С, нижние – блок D) 2. Эта перестановка определяется двумя блоками C0 и D0 по 28 бит каждый. Первые 3 бита C0 есть биты 57, 49, 41 расширенного ключа. А первые три бита D0 есть биты 63, 55, 47 расширенного ключа. Ci,Di i=1,2,3…получаются из Ci - 1,Di - 1 одним или двумя левыми циклическими сдвигами согласно таблице. Ключ ki, i=1,…16 состоит из 48 бит, выбранных из битов вектора CiDi (56 бит) согласно таблице. Первый и второй биты ki есть биты 14, 17 вектора CiDi. 2. Вторая перестановка с выбором
  • 9. Основные режимы алгоритма DES • электронный шифро-блокнот (Electronic Code book ) - ECB; • цепочка цифровых блоков (Cipher Block Chaining) - CBC; • обратная связь по шифру (Cipher Feedback) - CFB; • обратная связь по выходу (Output Feedback) - OFB.
  • 10. Электронный шифроблокнот Преимущества – простота реализации (шифрование ключей). Недостаток – относительно слабая устойчивость (возможность «взлома со словарем»). Не подходит для шифрования exe файлов.
  • 11. Цепочка цифровых блоков (CBC) Исходный файл M – блоки M = M(1)M(2)...M(n). Первый блок M(1) складывается по модулю 2 с 64-битовым начальным вектором IV (меняется ежедневно, держится в секрете). Применение: для аутентификации данных, проверки контроля целостности
  • 12. Обратная связь по шифру CFB Исходный файл M считывается последовательными t-битовыми блоками (t <= 64): M = M(1)M(2)...M(n) C(i) = M(i) xor P(i-1) , где P(i-1) - старшие t битов операции DES(С(i-1)), причем C(0)=IV. Применение: для шифрования отдельных символов, для аутентификации данных, итеративное шифрование данных при обмене между клиентом и сервером, шифрование ключей, шифрование почтовых файлов, данных спутников.
  • 13. Обратная связь по выходу OFB Применение: для шифрования данных спутниковых систем
  • 14. Двойной DES Расширение пространства ключей - используется незашифрованное сообщение P и два ключа K1 и K2. С (шифртекст) можно получить следующим образом: C = Ek2 [Ek1 [P]] Для дешифрования требуется, чтобы два ключа применялись в обратном порядке: P = Dk1 [Dk2 [C]]. В этом случае длина ключа равна 56 * 2 = 112 бит. Недостаток - атака "встреча посередине" Для приведенного выше алгоритма двойного DES существует так называемая атака "встреча посередине". X = Ek1 [P] = Dk2 [C].
  • 15. Тройной DES Последовательность: зашифрование-расшифрование- зашифрование (EDE). Шифрование тройным DES - C = EK1 [DK2 [EK1 [P]]] Расшифрование
  • 16. Криптоанализ Попытку прочтения или подделки зашифрованного сообщения, вычисления ключа методами криптоанализа называют криптоатакой или атакой на шифр. Удачную криптоатаку называют компрометацией системы (или взломом). Допущения криптоанализа: 1. Криптоаналитик знает алгоритм шифрования, но не знает секретного ключа. 2. Криптоаналитик доступны все зашифрованные тексты. 3. Криптоаналитик имеет в своем распоряжении вычислительные, людские, временные и иные ресурсы.
  • 17. Направления криптоанализа Статистический криптоанализ. Он исследует возможности компрометации криптосистем на основе изучения статистических закономерностей исходных и зашифрованных сообщений. Алгебраический криптоанализ. Он занимается поиском математически слабых звеньев криптоалгоритмов. Дифференциальный (или разностный) криптоанализ. Основан на анализе зависимости изменения шифрованного текста от изменения исходного текста. Линейный криптоанализ. Метод, основанный на поиске линейной аппроксимации между исходным и шифрованным текстом.
  • 18. Дифференциальный криптоанализ для блочных шифров, основанных на конструкциях Файстеля. Дифференциальный криптоанализ предполагает рассмотрение двух сообщений m и m’ Линейный криптоанализ – это атака по известному открытому тексту, при которой используются линейные аппроксимации для описания блокового шифрования. Изобретен японским криптологом Мицуру Мацуи (Mitsuru Matsui) в 1993г. Целью линейного криптоанализа является нахождение подходящего линейного уравнения вида