
- •Криптография
- •Общие понятия криптографии и криптоанализа
- •Основные понятия и определения
- •Понятие криптографии и криптоанализа
- •Понятие криптографического алгоритма и криптосистемы
- •Классификация криптосистем
- •Задачи криптоанализа
- •Виды криптоаналитических атак
- •Сложность криптоаналитических атак
- •Характеристики криптосистем
- •Требования к криптосистемам
- •Понятие защищенности криптосистем
- •Симметричные криптосистемы
- •Принципы применения симметричных криптосистем
- •Элементарные операции подстановки и перестановки
- •Синтез блочных шифров
- •Шифр Файстеля
- •Принцип аппроксимации блочных шифров
- •Диффузия и конфузия
- •Структура шифра Файстеля
- •Дешифрование шифра Файстеля
Криптография
Общие понятия криптографии и криптоанализа
Основные понятия и определения
Понятие криптографии и криптоанализа
Криптография занимается поиском и исследованием математических методов преобразования информации целью сокрытия ее содержания.
Сфера интересов криптоанализа - исследование возможности расшифровывания информации без знания ключей.
Раздел науки, объединяющий криптографию и криптоанализ, называется криптологией.
Сообщение состоит из открытого текста. Процесс преобразования открытого текста с целью сделать непонятным его смысл для посторонних называется шифрованием. В результате шифрования сообщения получается шифротекст. Процесс обратного преобразования шифротекста в открытый текст называется расшифрованием (дешифрованием).
Обозначим
открытый текст. При этом под
понимаются любые двоичные данные.
Шифротекст обозначим
.
Шифротекст также представляет собой
двоичные данные.
Процесс шифрования
записывается с использованием функции
шифрования
:
Процесс расшифрования
с использованием функции
:
Поскольку смысл криптографического преобразования открытого текста состоит в том, чтобы этот текст можно было восстановить в первоначальном виде,
Понятие криптографического алгоритма и криптосистемы
Криптографический алгоритм (шифр, алгоритм шифрования) представляет собой математическую функцию, используемую для шифрования и расшифрования. Когда надежность шифра обеспечивается за счет сохранения в тайне сути самого алгоритма, такой шифр называется ограниченным. Такие алгоритмы (например, шифр Цезаря) представляют интерес только с исторической точки зрения.
В современной криптографии шифры работают с ключом. Ключ – информация, необходимая для беспрепятственного шифрования и расшифрования сообщения. Ключ выбирается среди множества, называемого ключевым пространством. Функции шифрования и дешифрования зависят от ключа, т.е.:
Некоторые алгоритмы используют различные ключи для шифрования и расшифрования:
Надежность шифров, работающих с ключами, достигается за счет их надлежащего выбора и последующего хранения в строжайшем секрете. При этом сам алгоритм не должен храниться в тайне.
Криптосистема представляет собой алгоритм шифрования, а также множество возможных ключей, открытых и зашифрованных текстов.
Классификация криптосистем
По кол-ву используемых ключей криптосистемы делятся на симметричные (один ключ) и асимметричные или системы с открытым ключом (два ключа).
В общем случае симметричными называют криптосистемы, в которых ключ расшифрования может быть получен из ключа шифрования и наоборот. В большинстве случаев это один и тот же ключ, называемый секретным ключом.
Симметричные алгоритмы шифрования бывают двух видов. Потоковые обрабатывают открытый текст побитно (побайтно). Блочные разбивают открытый текст на блоки фиксированной длины и обрабатывают его блоками (обычно 64 бит).
В симметричных криптосистемах используются операции подстановки и/или перестановки. Соответственно выделяют подстановочные и перестановочные шифры. Современные шифры являются комбинированными.
В системах с открытым ключом ключ, используемый для шифрования отличается от ключа, используемого для расшифрования. Более того, эти ключи не могут быть получены друг из друга за разумное время. Ключ шифрования обычно называют открытым ключом, а расшифрования – личным (тайным). Возможно и применение ключей наоборот – для цифровой подписи.