Основы построения симметричных блочных алгоритмов криптографии

Содержание

Слайд 2

Содержание

Симметричные шифры
Классификация симметричных шифров
Принцип Кирхгофа
Условия стойкости
Блочные шифры
Архитектура блочных шифров
Перестановки
Замены
Функциональные преобразования
Пример составной системы

Содержание Симметричные шифры Классификация симметричных шифров Принцип Кирхгофа Условия стойкости Блочные шифры

Сети Файстеля

СЛАЙД

Слайд 3

Содержание

Алгоритм DES
Описание
Общая схема
Раундовая функция
Выработка подключей
Режимы шифрования
Режим ECB
Режим CBC
Режим CFB
Режим OFB
Заключение
Литература
Вопросы? Комментарии?

СЛАЙД

Содержание Алгоритм DES Описание Общая схема Раундовая функция Выработка подключей Режимы шифрования

Слайд 4

Симметричные шифры

Одно-ключевые (симметричные) шифры –криптографические алгоритмы процессы за- и расшифровывание в которых

Симметричные шифры Одно-ключевые (симметричные) шифры –криптографические алгоритмы процессы за- и расшифровывание в
отличаются лишь порядком выполнения и направлением некоторых простых шагов (в отличие асимметричных или алгоритмов с открытым ключом).
Особенности симметричных шифров:
каждый из участников обмена может как зашифровать, так и расшифровать сообщение;
необходима специальная служба для изготовления и доставки секретных ключей;
позволяют защищать сообщения от прочтения и некоторых видов модификации.
не позволяют подтверждать или опровергать авторство сообщений.

СЛАЙД

Слайд 5

Классификация…

Требования, предъявляемые к практическим симметричным алгоритмам шифрования:
шифр должен быть технически применим для

Классификация… Требования, предъявляемые к практическим симметричным алгоритмам шифрования: шифр должен быть технически
закрытия массивов данных произвольного объема;
шифр должен быть эффективно реализуем в виде устройства, имеющего ограниченный объем памяти.
Следовательно, криптоалгоритм, должен быть пошаговым – сообщение разбивается на блоки ограниченного размера, и за один шаг шифруется один блок:
P = (P1, P2,…, Pn), |Pi | ≤ N, для i от 1 до n,
где N — максимальный размер блока.
Практически всегда размер блока полагают постоянным: |P1| = |P2| = … = |Pn-1| = N, |Pn| ≤ N,

СЛАЙД

Слайд 6

Классификация шифров

В блочных шифрах результат зашифрования очередного блока зависит только от него

Классификация шифров В блочных шифрах результат зашифрования очередного блока зависит только от
самого и не зависит от других блоков шифруемого массива данных:
Ci = E(Pi).
В результате зашифрования двух одинаковых блоков открытого текста одним алгоритмом получаются идентичные блоки шифротекста:
Pi = Pj ⇒ E(Pi) = E(Pj).
В поточных или потоковых шифрах результат зашифрования очередного блока зависит от него самого и, в общем случае, от всех предыдущих блоков массива данных:
Ci = E(P1, P2,…, Pi).

СЛАЙД

Слайд 7

Классификация шифров

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

Классификация шифров К потоковым шифрам также относится важный частный случай, когда результат
очередного блока зависит этого блока и от его номера:
Ci = E(i, Pi).
Иногда потоковыми называют только такие шифры, в которых шифруемый за один шаг блок имеет размер один бит или один символ текста, а шифры с большим размером блока, формально относящиеся к потоковым, причисляют к блочным.

СЛАЙД

Слайд 8

Принцип Кирхгофа

Шифр – параметризованный алгоритм, состоящий из процедурной части, и параметров —

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

СЛАЙД

Слайд 9

Принцип Кирхгофа

Следствия:
разглашение конкретного шифра (алгоритма и ключа) не приводит к необходимости полной

Принцип Кирхгофа Следствия: разглашение конкретного шифра (алгоритма и ключа) не приводит к
замены реализации всего алгоритма, достаточно заменить только скомпрометированный ключ;
ключи можно отчуждать от остальных компонентов системы шифрования — хранить отдельно от реализации алгоритма в более надежном месте и загружать их в шифрователь только по мере необходимости и только на время выполнения шифрования.

СЛАЙД

Слайд 10

Условия стойкости

Условия стойкости блочного шифра (по К. Шеннону) :
рассеивание – один бит

Условия стойкости Условия стойкости блочного шифра (по К. Шеннону) : рассеивание –
исходного текста должен влиять на несколько битов шифротекста, оптимально — на все биты в пределах одного блока. При шифровании двух блоков данных с минимальными отличиями между ними должны получаться совершенно непохожие друг на друга блоки шифротекста. Аналогично и для зависимости шифротекста от ключа — один бит ключа должен влиять на несколько битов шифротекста;
перемешивание – шифр должен скрывать зависимости между символами исходного текста и шифротекста. Если шифр достаточно хорошо «перемешивает» биты исходного текста, то соответствующий шифротекст не содержит никаких статистических, и, тем более, функциональных закономерностей.

СЛАЙД

Слайд 11

Условия стойкости

Если шифр обладает обоими указанными свойствами, то любые изменения в блоке

Условия стойкости Если шифр обладает обоими указанными свойствами, то любые изменения в
открытых данных приведут к тому, что все биты в зашифрованном блоке данных с вероятностью ½ независимо друг от друга так же поменяют свои значения.
Такой шифр невозможно вскрыть способом, менее затратным с точки зрения количества необходимых операций, чем полный перебор по множеству возможных значений ключа.

СЛАЙД

Слайд 12

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

Если известен закон распределения блоков открытого текста, то, проанализировав статистику блоков

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

СЛАЙД

Слайд 13

Архитектура…

Шифр обычно составляют из более простых шифрующих преобразований. Простое шифрующие преобразование –

Архитектура… Шифр обычно составляют из более простых шифрующих преобразований. Простое шифрующие преобразование
преобразование, которое реализуется аппаратно относительно несложной логической схемой или программно несколькими компьютерными командами.
Основные шифрующие преобразования:
перестановка (permutation) – перестановка структурных элементов шифруемого блока данных (битов, символов, цифр);
замена, подстановка (substitution) – замена группы элементов шифруемого блока на другую группу по индексной таблице;
функциональное преобразование (function) – различные сдвиги, логические и арифметические операций.

СЛАЙД

Слайд 14

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

Перестановку можно представить как устройство с n входами и выходами. Имеется n!

Перестановки Перестановку можно представить как устройство с n входами и выходами. Имеется
возможных вариантов коммутации проводов внутри этого устройства (ключей блока перестановок).
Свойства блока перестановок:
легко может быть аппаратно построен для достаточно больших n;
очень неэффективно реализуются программно на процессорах общего назначения;
путем использования набора специально сконструированных сообщений (содержащих одну единственную единицу в n-1 различных позициях) можно целиком определить ключ такой системы всего за n-1 операцию.

СЛАЙД

Слайд 15

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

Пример блока перестановок:

СЛАЙД

Перестановки Пример блока перестановок: СЛАЙД

Слайд 16

Замены

Замена (подстановка) может быть представлена устройство с n входами и выходами. Устройство

Замены Замена (подстановка) может быть представлена устройство с n входами и выходами.
содержит мультиплексор и демультиплексор, а также 2n внутренних соединений их выводов, которые могут быть выполнены 2n! различными способами (ключ блока подстановок).
Свойства блока подстановок:
включает любые линейные и нелинейные преобразования, может заменить любой входной блок цифр на любой выходной блок;
аппаратно реализуется с помощью запоминающих устройств, программно – индексированным чтением из оперативной памяти, размером (в битах):
V = 2nn;

СЛАЙД

Слайд 17

Замены

путем перебора 2n–1 наборов сообщений можно целиком определить ключ такой системы за

Замены путем перебора 2n–1 наборов сообщений можно целиком определить ключ такой системы
2n–1 операцию. Обычно n – мало и такой анализ реально осуществим.
Пример блока подстановок:

СЛАЙД

Слайд 18

Функциональные…

Функциональные преобразования — унарные и бинарные логические и арифметические операции, реализуемые аппаратно

Функциональные… Функциональные преобразования — унарные и бинарные логические и арифметические операции, реализуемые
логическими схемами, программно — одной-двумя процессорными командами.
Обычно используют операции, которые имеются в наборах команд универсальных процессоров и реализованы аппаратно в виде микросхем (инверсия, побитовые «и», «или», «исключающее или», изменение знака, сложение, вычитание, умножение, деление по модулю некоторого числа, циклические сдвиги).

СЛАЙД

Слайд 19

Пример составной системы

Составная шифрующая система объединяет S-блоки и P-блоки в единую конструкцию.

Пример составной системы Составная шифрующая система объединяет S-блоки и P-блоки в единую

P-блоки имеют большое количество входов, а S-блоки – небольшое, легко реализуемое количество входов.
P-блоки тасуют биты, обеспечивая рассеивание,
S-блоки выполняют нелинейные преобразования и обеспечивают перемешивание.
Поскольку S-блоки нелинейны, они потенциально увеличивают число единиц, тогда как P-блоки просто двигают единицы с места на место. Результатом может быть непредсказуемая лавина единиц.

СЛАЙД

Слайд 20

Пример составной системы

Сложность вскрытия составной шифрующей системы, составленной из относительно простых блоков

Пример составной системы Сложность вскрытия составной шифрующей системы, составленной из относительно простых
преобразований, будет намного выше, если структура этой системы отлична от линейной и содержит ветвления, циклы или обратные связи.
Компактность реализации алгоритма приводит к идеологии его построения из одинаковых групп преобразований, повторенных нужное число раз (итеративность).

СЛАЙД

Слайд 21

Пример составной системы


СЛАЙД

Пример составной системы СЛАЙД

Слайд 22

Сети Файстеля

В сети Файстеля шифрование блока данных осуществляется путем поочередного преобразования двух

Сети Файстеля В сети Файстеля шифрование блока данных осуществляется путем поочередного преобразования
подблоков данных с использованием некоторой простой процедуры шифрования, называемой раундом шифрования или раундовой функцией шифрования fi.
Для любой (необязательно обратимой) функции fi расшифрование осуществляется путем выполнения тех же процедур преобразования, но с использованием подключей Ki в обратном порядке.
Подключи Ki генерируются из ключа K специальными алгоритмами, разрабатываемыми вместе с шифром.

СЛАЙД

Слайд 23

Сети Файстеля


СЛАЙД

Li, Ri – левая и правая части входного блока

Сети Файстеля СЛАЙД Li, Ri – левая и правая части входного блока
Ti;
° – любая обратимая бинарная операция;
Ki – подключ i-го этапа;
fi(Li, Ki) – i-я шифрующая функция;
<< – циклический сдвиг.

Слайд 25

Сети Файстеля

Если последовательность раундовых функций палиндромиальна (т.е. если f1 = fn, f2

Сети Файстеля Если последовательность раундовых функций палиндромиальна (т.е. если f1 = fn,
= fn—1, f⎣n/2⎦ = fn + 1— ⎣n/2⎦, и, в частности, если все fi – одинаковы), то за- и расшифрование различаются только порядком использования подключей. Использование одинаковых функций шифрования позволяет достигнуть итеративности.
Размер левой и правой частей блока может изменяться от раунда к раунду, но обычно эти величины постоянны. Если они равны друг другу, то такая схема называется сбалансированной, а если нет — то несбалансированной сетью Файстеля.
Обычно «°» – операция побитового исключающего ИЛИ, если используется другая подходящая бинарная операция, то сеть Файстеля называется обобщенной.

СЛАЙД

Слайд 26

Алгоритм DES

Описание
Data Encryption Standard (DES), Data Encryption Algorithm (DEA, DEA-1) – стандарт

Алгоритм DES Описание Data Encryption Standard (DES), Data Encryption Algorithm (DEA, DEA-1)
шифрования данных был принят в качестве криптографического стандарта NIST, ANSI, ISO.
Основные параметры:
симметричный блочный шифр, размер блока 64 бит;
длина ключа – 56 бит (обычно используется 64-битное число, но каждый восьмой бит используется для проверки четности и игнорируется);
представляет собой 16 раундовую сбалансированную сеть Файстеля, плюс две перестановки не влияющих на криптостойкость;
алгоритм может быть легко реализован аппаратно, программная реализация несколько более сложна.

СЛАЙД

Слайд 28

Алгоритм DES

Общая схема

СЛАЙД

Алгоритм DES Общая схема СЛАЙД

Слайд 29

Алгоритм DES

Алгоритм DES

Слайд 34

Алгоритм DES

Раундовая функция

СЛАЙД

Алгоритм DES Раундовая функция СЛАЙД

Слайд 36

Алгоритм DES

Выработка подключей

СЛАЙД

Алгоритм DES Выработка подключей СЛАЙД

Слайд 37

Режимы шифрования

Режим шифрования (криптографический режим) обычно объединяет базовый шифр, какую-либо обратную связь

Режимы шифрования Режим шифрования (криптографический режим) обычно объединяет базовый шифр, какую-либо обратную
и ряд простых операций. Безопасность результирующего алгоритма определяется используемым шифром, а не режимом.
Различные криптографические режимы применяются с целью:
скрыть структуру открытого текста;
затруднить манипулирование открытым текстом;
обеспечить возможность шифрования нескольких сообщений одним ключом;
обеспечить устойчивость к сбоям, добавлению или потере битов.

СЛАЙД

Слайд 38

Режимы шифрования

Режим ECB
ECB (Electronic Codebook) – режим электронной шифровальной книги, режим простой

Режимы шифрования Режим ECB ECB (Electronic Codebook) – режим электронной шифровальной книги,
замены.

СЛАЙД

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

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

Слайд 40

Режимы шифрования

Режим ECB
Размер сообщения должен быть кратен размеру блока.
Возможно шифрование файлов с

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

СЛАЙД

Слайд 41

Режимы шифрования

Режим CBC
CBC (Cipher block chaining) – режим сцепление блоков шифра.

СЛАЙД

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

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

Режимы шифрования Режим CBC CBC (Cipher block chaining) – режим сцепление блоков шифра. СЛАЙД Зашифрование Расшифрование

Слайд 43

Режимы шифрования

Режим CBC
Размер сообщения должен быть кратен размеру блока.
Шифрование каждого блока зависит

Режимы шифрования Режим CBC Размер сообщения должен быть кратен размеру блока. Шифрование
от всех предыдущих блоков.
Два одинаково начинающихся сообщения будут одинаково зашифрованы до первого различия, против этого применяют вектор инициализации (initialization vector, IV) , который не обязательно хранить в секрете.
Ошибка в одном бите широтекста текста портит этот блок сообщения и один бит следующего блока.
Потеря (добавление) бита полностью искажают весь открытый текст, начиная с этого блока.
Возможна подмена последних битов сообщения.
Отлично подходит для шифрования файлов.

СЛАЙД

Слайд 44

Режимы шифрования

Режим CFB
CFB (Cipher-feedback) – режим обратной связи по шифру, режим гаммирования

Режимы шифрования Режим CFB CFB (Cipher-feedback) – режим обратной связи по шифру,
с обратной связью (с зацеплением блоков).

СЛАЙД

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

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

Слайд 46

Режимы шифрования

Режим CFB
Единица зашифрованных данных может быть меньше размера блока шифра.
Шифрование каждого

Режимы шифрования Режим CFB Единица зашифрованных данных может быть меньше размера блока
блока зависит от всех предыдущих блоков.
Вектор инициализации обязательно должен быть уникален.
Ошибка в бите шифротекста влияет на текущий и определенное число следующих блоков открытого текста, затем ошибка самоустраняется.
Шифр самовосстанавливается после потери (добавления) бита шифротекста.

СЛАЙД

Слайд 47

Режимы шифрования

Режим CFB
Возможна подмена последних битов сообщения.
Рекомендуется использовать для шифрования разреженного потока

Режимы шифрования Режим CFB Возможна подмена последних битов сообщения. Рекомендуется использовать для
данных, например ввода с терминала.

СЛАЙД

Слайд 48

Режимы шифрования

Режим OFB
OFB (Output-feedback) – режим выходной обратной связи, режим гаммирования.

СЛАЙД

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

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

Режимы шифрования Режим OFB OFB (Output-feedback) – режим выходной обратной связи, режим гаммирования. СЛАЙД Зашифрование Расшифрование

Слайд 51

Режимы шифрования

Режим OFB
Единица зашифрованных данных может быть меньше размера блока шифра (что

Режимы шифрования Режим OFB Единица зашифрованных данных может быть меньше размера блока
не рекомендуется).
Вектор инициализации обязательно должен быть уникален.
Нет распространения ошибок – неправильный бит шифротекста приведет к одному неправильному биту открытого текста.
Потеря добавление бита шифротекста портит весь открытый текст с этого места.
Отлично подходит для шифрования аудио или видео потоков.

СЛАЙД

Слайд 52

Шифр ГОСТ 28147-89

Шифр ГОСТ 28147-89

Слайд 54

32 цикла
с подключами
K0, K1 , K2, K3 , K4, K5 , K6,

32 цикла с подключами K0, K1 , K2, K3 , K4, K5
K7
K0, K1 , K2, K3 , K4, K5 , K6, K7
K0, K1 , K2, K3 , K4, K5 , K6, K7
K7, K 6, K5, K4, K3, K 2, K1 ,K0

Слайд 55

Заключение

Все современные надежные шифры являются составными, то есть строятся из большого числа

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

СЛАЙД

Слайд 56

Заключение

Наиболее простой и популярный способ создать шифрующие структуры называются сетями Файстеля.
Для использование

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

СЛАЙД

Слайд 57

Литература

Шнайер Б. Прикладная криптография. [http://ssl.stu.neva.ru/psw/crypto/appl_rus/]
Menezes A., van Oorschot P., Vanstone S. Handbook

Литература Шнайер Б. Прикладная криптография. [http://ssl.stu.neva.ru/psw/crypto/appl_rus/] Menezes A., van Oorschot P., Vanstone
of Applied Cryptography. [http://www.cacr.math.uwaterloo.ca/hac/]
FIPS PUB 46 – Data Encryption Standard (DES). [http://www.itl.nist.gov/fipspubs/fip46-2.htm]
FIPS PUB 74 – Guidelines for Implementing and Using the NBS Data. [http://www.itl.nist.gov/fipspubs/fip74.htm]
FIPS PUB 81 – Des Modes of Operation. [http://www.itl.nist.gov/fipspubs/fip81.htm]

СЛАЙД

Слайд 58

Литература

Файстель Х. Криптография и компьютерная безопасность. [http://www.enlight.ru/crypto/articles/feistel/feist_0.htm]
Шеннон К. Теория связи в секретных

Литература Файстель Х. Криптография и компьютерная безопасность. [http://www.enlight.ru/crypto/articles/feistel/feist_0.htm] Шеннон К. Теория связи
системах [http://www.enlight.ru/crypto/articles/shannon/shann_i.htm]
Винокуров А. Криптография, ее истоки и место в современном обществе. [http://www.enlight.ru/ib/tech/crypto/index.htm]

СЛАЙД

Имя файла: Основы-построения-симметричных-блочных-алгоритмов-криптографии.pptx
Количество просмотров: 44
Количество скачиваний: 1