Интегрированные сети ISDN


IDEA - международный алгоритм шифрования данных



6.4.7 IDEA - международный алгоритм шифрования данных


IDEA является блочным алгоритмом шифрования данных, запатентованным швейцарской фирмой Ascom (http://fn2.freenet.edmonton.ab.ca/~jsavard/co0404.html). Фирма, правда, разрешила бесплатное некоммерческое использование своего алгоритма (применяется в общедоступном пакете конфиденциальной версии электронной почты PGP). Здесь в отличие от алгоритма DES не используются S-блоки или таблицы просмотра. В IDEA применяются 52 субключа, каждый длиной 16 бит. Исходный текст в IDEA делится на четыре группы по 16 бит. Для того чтобы комбинировать 16 битные коды, используется три операции: сложение, умножение и исключающее ИЛИ. Сложение представляет собой обычную операцию по модулю 65536 с переносом. При составлении таблицы умножения принимаются специальные меры для того, чтобы операция была обратимой. По этой причине вместо нуля используется код 65536. Рассмотрим алгоритм IDEA.

Пусть четыре четверти исходного текста имеют имена A, B, C и D, а 52 субключа – К(1), К(2),…, К(52). Перед реализацией алгоритма выполняются операции:

А = А*К(1); B = B + K(2); C = C + K(3); D = D * K(4);

Первый цикл вычислений включает в себя:

E = A XOR C; F = B XOR D

E = E * K(5)

F = F + E

F = F * K(6)

E = E + F

A = A XOR F

C = C XOR F

B = B XOR E

D = D XOR E

Меняем местами В и С.

Повторяем это всё 8 раз, используя К(7) – К(12) для второго раза и, соответственно, К(43) – К(48) - для восьмого. После восьмого раза В и С местами не меняются. Выполняем после этого операции:

A = A * K(49)

B = B + K(50)

C = C + K(51)

D = D * K(52)

В результате закодированный текст имеет ту же длину, что и исходный. Схема этого весьма запутанного алгоритма может быть пояснена на Рисунок 6.4.7.1. По своему характеру алгоритм напоминает процедуры вычисления хэш-функции.




Начало  Назад  Вперед



Книжный магазин