
- •Требования к алгоритмам шифрования
- •Симметричные криптосистемы
- •Блочные шифры
- •Сеть Файстеля
- •Общая характеристика гост 28147-89
- •Ключевая информация
- •Основной шаг криптопреобразования
- •Базовые циклы криптографических преобразований.
- •Основные режимы шифрования
- •Выработка имитовставки к массиву данных
- •Криптографическая стойкость гост 28147-89
- •Общая схема алгоритма.
- •Rijndael (aes). Основные параметры
- •Rijndael. Общая схема
- •Нелинейное преобразование
- •Выработка ключевых элементов
- •Основные требования к алгоритмам асимметричного шифрования
- •Криптоанализ алгоритмов с открытым ключом
- •Основные способы использования алгоритмов с открытым ключом
- •Алгоритм обмена ключами Диффи-Хеллмана
- •Протокол генерации ключей алгоритма Диффи-Хеллмана
- •Алгоритм rsa
- •Электронная подпись rsa
- •Алгоритм ЭльГамаля
- •Требования к хэш-функциям
- •Функция sha-1
- •Функция хэширования гост р 34.11 – 94
- •Электронная цифровая подпись
- •Прямая и арбитражная цифровые подписи
- •Симметричное шифрование, арбитр не видит сообщение:
- •Шифрование открытым ключом, арбитр не видит сообщение:
- •Российский стандарт цифровой подписи гост 34.10
- •Код аутентичности сообщения
Общая характеристика гост 28147-89
Алгоритм, определяемый российским стандартом ГОСТ 28147-89, является единым алгоритмом криптографической защиты данных для информационных систем, локальных вычислительных сетей и автономных компьютеров.
Этот алгоритм может реализовываться как аппаратным, так и программным способами, удовлетворяет всем криптографическим требованиям, сложившимся в мировой практике, и, как следствие, позволяет осуществлять криптографическую защиту любой информации, независимо от степени ее секретности.
В алгоритме ГОСТ 28147-89 используется 256-разрядный ключ, представляемый в виде восьми 32-разрядных чисел. Расшифровываются данные с помощью того же ключа, посредством которого они были зашифрованы.
Алгоритм ГОСТ 28147-89 полностью удовлетворяет всем требованиям криптографии. Он позволяет обнаруживать как случайные, так и умышленные модификации зашифрованной информации.
Алгоритм «основного шага криптопреобразования» построен на основе сбалансированной сети Файстеля. На вход основного шага подается блок четного размера, старшая и младшая половины которого обрабатываются отдельно друг от друга. В ходе преобразования младшая половина блока помещается на место старшей, старшая - на место младшей, но предварительно с помощью операции побитного исключающего или складывается с результатом вычисления шифрующей функции. Эта функция, принимающая в качестве аргумента младшую половину блока и некоторый элемент ключевой информации (K), является содержательной частью шифра и называется его функцией шифрования. Соображения стойкости шифра требуют, чтобы размеры всех перечисленных элементов блоков были равны: |N1|=|N2|=|X|, в ГОСТ 28147-89 они равны 32 битам.
Рис. 7.1 Результат работы основного шага криптопреобразования
На различных шагах алгоритмов ГОСТ 28147-89 данные, которыми они оперируют, интерпретируются и используются различным образом. В некоторых случаях элементы данных обрабатываются как массивы независимых битов, в других случаях – как целое число без знака, в третьих – как имеющий структуру сложный элемент, состоящий из нескольких более простых элементов.
ГОСТ 28147–89 содержит описание алгоритмов нескольких уровней. На самом верхнем находятся алгоритмы, предназначенные для шифрования массивов данных и выработки для них имитовставки. Все они опираются на три алгоритма низшего уровня, называемые в тексте ГОСТа циклами. Эти фундаментальные алгоритмы назовём базовыми циклами.
Базовые циклы:
цикл зашифрования (32-З);
цикл расшифрования (32-Р);
цикл выработки имитовставки (16-З).
В свою очередь, каждый из базовых циклов представляет собой многократное повторение одной единственной процедуры, называемой далее основным шагом криптопреобразования.
Таким образом, чтобы разобраться в ГОСТ 28147-89, надо понять три следующие вещи:
основной шаг криптопреобразования;
как из основных шагов складываются базовые циклы;
как из трех базовых циклов складываются все практические алгоритмы ГОСТа.