Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
172
Добавлен:
19.02.2016
Размер:
5.19 Mб
Скачать

Блочные шифры в смешанных криптосистемах 203

В смешанных криптосистемах, основанных на потоковых шифрах, распределение ключей упрощается, поскольку канал доставки сеансовых ключей защищен асимметричной криптосистемой.

17.3. Блочные шифры в смешанных криптосистемах

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

В современных блочных шифрах длина блока, число циклов, длина ключа часто являются параметрами.

17.3.1. Алгоритм RC5

Изящным криптоалгоритмом, используемым в некоторых смешанных криптосистемах, является алгоритм RC5 [4, 54]. Алгоритм состоит из трех компонент: алгоритма расширения ключа, алгоритма зашифрования и алгоритма расшифрования.

Алгоритм RC5 (автор алгоритма Р. Ривест) предполагает выполнение операций с данными длиной в одно слово, скажем, размером в w битов. Количество итераций алгоритма задается параметром r ≥ 16. Длина ключа – переменная.

Алгоритм расширения ключа инициализирует некоторую таблицу S ,

состоящую из t = 2(r +1) слов, с помощью секретного ключа пользователя.

Суть процедур зашифрования-расшифрования состоит в следующем.

Пусть входной блок состоит из двух w–битовых слов: A||B.

Сложение и вычитание производится по модулю 2w, знак означает поразрядное сложение слов по модулю два.

204 Глава 17. ОБЩИЕ СВЕДЕНИЯ ОБ ИНОСТРАННЫХ КРИПТОСРЕДСТВАХ

Операция A<<B (A>>B) является циклическим сдвигом слова A влево (вправо) на число разрядов, записанное в слове B (фактически, на величину

B mod 2w ).

Слова ключа при зашифровании блока A||B используются парами.

Сначала A и B соответственно модифицируются первым и вторым словом ключа: A = A + S[0] , B = B + S[1]. Полученный в результате модификации блок подвергается преобразованию, состоящему из r итераций. При этом используются последовательно выбираемые r пар слов ключа, начиная со второй пары.

Алгоритм, записанный на псевдокоде, выглядит следующим образом.

for i =1 to r do

A =((A B)<< B)+ S[2i];

B = ((B A)<< A)+ S[2i +1];

Результат - выходной блок в словах A и B.

Алгоритм расшифрования легко получается из зашифрования:

for i = r downto 1 do

B = ((B S[2i +1])>> A) A ; A =((A S[2i])>> B) B ;

B = B S[1];

A = A S[0].

Очевидна простота и легкость реализации блока шифрованиярасшифрования данного алгоритма.

17.3.2. Смешанная криптосистема на основе алгоритмов RSA и IDEA

Симметричный блочный шифр IDEA (International Data Encryption Algorithm)

был разработан швейцарскими криптологами С.Лэем и Д. Мэсси [55].

Блочные шифры в смешанных криптосистемах 205

Длина ключа – 128 битов. Длина блока – 64 бита.

Шифр построен на основе концепции использования «несовместимых» алгебраических операций на парах 16-битовых подблоков.

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

В алгоритме используются три различные операции с 16-ти битовыми подблоками: побитовое сложение по модулю 2 двух 16-битовых подблоков; сложение целых чисел по модулю 216, где 16-битовые подблоки задают двоичное представление соответствующего целого числа; а также умножение целых чисел по модулю 216+1, где 16-битовый подблок есть двоичное представление соответствующего целого числа, за исключением подблока из всех нулей, интерпретируемого как 216.

Признано, что алгоритм является стойким и трудным для анализа.

Шифр IDEA как одна из возможностей применяется для шифрования данных в системе защиты электронной почты PGP (Pretty Good Privacy) [4, гл.5].

Соответствующая криптосистема является смешанной.

Для зашифрования сообщений используются разовые симметричные ключи. Для перешифровки разового ключа как альтернатива может использоваться RSA. Зашифрованный разовый ключ включается в сообщение.

Кроме того, криптосистема RSA используется для перешифровки данных в ходе аутентификации сообщений, которая состоит в следующем:

-отправитель формирует сообщение (открытый текст);

-с помощью стандартной функции хэширования (SHA-1) получает хэшкод сообщения;

-хэш-код зашифровывается алгоритмом RSA с помощью личного ключа получателя, результат добавляется в начало сообщения;

-все сообщение зашифровывается симметричным шифром;

206 Глава 17. ОБЩИЕ СВЕДЕНИЯ ОБ ИНОСТРАННЫХ КРИПТОСРЕДСТВАХ

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

Интересно отметить, что, несмотря на стойкость асимметричной и симметричной компонент данной криптосистемы, в одной из ранних версий PGP была выявлена слабость, проявляющаяся с вероятностью, достаточной для реального дешифрования сообщений.

Как оказалось, в ряде случаев возникала возможность факторизации модуля вследствие неудачной генерации псевдослучайных простых чисел, используемых при формировании параметров криптосистемы RSA [56].

Соседние файлы в папке Материалы что дал Мухачев-1