Комбинирование блочных шифров

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

Рассмотрим эффективность двукратного шифрования блока открытого текста с помощью двух разных ключей. Сначала шифруют блок M ключом Комбинирование блочных шифров - student2.ru , а затем получившийся шифртекст Комбинирование блочных шифров - student2.ru шифруют ключом Комбинирование блочных шифров - student2.ru . В результате двукратного шифрования получают шифртекст: Комбинирование блочных шифров - student2.ru . Расшифрование является обратным процессом: Комбинирование блочных шифров - student2.ru .

Если блочный шифр обладает свойствами группы, то всегда найдется такой ключ Комбинирование блочных шифров - student2.ru , что Комбинирование блочных шифров - student2.ru . Если же блочный алгоритм не является группой, то результирующий двукратно шифрованный блок текста окажется намного сложнее для криптоанализа методом полного перебора вариантов. Вместо Комбинирование блочных шифров - student2.ru попыток, где n – длина ключа в битах, потребуется Комбинирование блочных шифров - student2.ru попыток. В частности, если n = 64, то двукратно зашифрованный блок текста потребует Комбинирование блочных шифров - student2.ru попыток для нахождения ключа.

Более привлекательную идею предложил У. Тачмен. Суть этой идеи состоит в том, чтобы шифровать блок открытого текста P три раза с помощью двух ключей Комбинирование блочных шифров - student2.ru и Комбинирование блочных шифров - student2.ru (см. рис. 3.5). Процедура шифрования в этом случае:

Комбинирование блочных шифров - student2.ru ,

то есть блок открытого текста M сначала шифруется ключом Комбинирование блочных шифров - student2.ru , затем расшифровывается ключом Комбинирование блочных шифров - student2.ru и окончательно зашифровывается ключом Комбинирование блочных шифров - student2.ru .

Этот режим иногда называют режимом EDE (encrypt-decrypt-encrypt). Введение в данную схему операции расшифрования Комбинирование блочных шифров - student2.ru позволяет обеспечить совместимость этой схемы со схемой однократного использования блочного алгоритма. Если в схеме трехкратного использования выбрать все ключи одинаковыми, то эта схема превращается в схему однократного использования того же шифра.

Процедура расшифрования выполняется в обратном порядке: Комбинирование блочных шифров - student2.ru , то есть блок шифртекста C сначала расшифровывается ключом Комбинирование блочных шифров - student2.ru , затем зашифровывается ключом Комбинирование блочных шифров - student2.ru и окончательно расшифровывается ключом Комбинирование блочных шифров - student2.ru .

Комбинирование блочных шифров - student2.ru
Рис. 3.5. Схема троекратного шифрования с двумя ключами.

Данная схема приводится в стандартах Х9.17 и ISO 8732 в качестве средства улучшения характеристик алгоритма DES и носит название "тройной DES" (3DES).

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

Комбинирование блочных шифров - student2.ru ,

Комбинирование блочных шифров - student2.ru .

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

Наши рекомендации