Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
второй модуль криптология.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.49 Mб
Скачать

70.Описание Twofish. Достоинства и недостатки.

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

Направления оптимизации:

  • объем памяти,

  • частота смены ключа при шифровании данных,

  • скорость шифрования блоков данных.

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

  1. Структура алгоритма Twofish.

Twofish разбивает шифруемые данные на четыре 32-битных субблока (обозначим их A, B, C, D), над которыми производится 16 раундов преобразований, в каждом из которых выполняются следующие операции:

Содержимое субблока B циклически сдвигается влево на 8 бит.

Субблок A обрабатывается операцией g(), которая будет подробно описана ниже.

Субблок B также обрабатывается операцией g().

Субблок B накладывается на A с помощью сложения по модулю 232, после чего аналогичным образом выполняется наложение субблока A на субблок B.

Фрагмент расширенного ключа K2r+8 (где r — номер текущего раунда, начиная с 0) складывается с субблоком A по модулю 232.

Аналогично предыдущему шагу, K2r+9 накладывается на субблок B.

Субблок A накладывается на C операцией XOR.

Содержимое субблока D циклически сдвигается влево на 1 бит.

Субблок B накладывается на D операцией XOR.

Содержимое субблока C циклически сдвигается вправо на 1 бит.

  1. Процесс шифрования Twofish.

B=B<<<8, A=g(A), B=g(B), A=A+Bmod232, B=A+Bmod232, A=A+K2r+8mod232, B=B+K2r+9mod232, C=CÅA, D=D<<<1, D=DÅB, C = C >>> 1.

73Описание idea. Достоинства и недостатки.

Этот шифр состоит из 64-битных повторяющихся блоков со 128-битным ключом и восемью раундами. IDEA основывается на использовании трех не совместимых типов арифметических операций над 16-битными словами: умножение по модулю 216+1; сложение по модулю 216; побитовое исключающее ИЛИ.

74Структура алгоритма idea.

Алгоритм IDEA состоит из восьми раундов, за которыми следует заключительное преобразование. Алгоритм разделяет блок на четыре 16-битных подблока. Каждый раунд получает на входе четыре 16-битных подблока и создает четыре 16-битных выходных подблока.  Между циклами второй и третий субблоки меняются местамиЗаключительное преобразование также получает на входе четыре 16-битных подблока и создает четыре 16-битных подблока. Каждый раунд использует шесть 16-битных ключей, заключительное преобразование использует четыре подключа, т.е. всего в алгоритме используется 52 подключа.

75Процесс шифрования и схема алгоритма idea.

Выходом цикла являются четыре субблока, которые получаются как результаты выполнения шагов 11, 12, 13 и 14.

После восьмого цикла осуществляется заключительное преобразование выхода:

  • (·) - умножение субблока X1 и первого подключа.

  • [+] - сложение субблока X2 и второго подключа.

  • [+] - сложение субблока X3 и третьего подключа.

  • (·) - умножение субблока X4 и четвертого подключа.

Полученные четыре субблока Y1...Y4 объединяют в блок шифртекста.