КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Комбинирование блочных алгоритмов. Схемы двукратного и трехкратного шифрования и расшифрования.В настоящее время блочный алгоритм DES считается относительно безопасным алгоритмом шифрования. Он подвергался тщательному криптоанализу в течение 20 лет, и самым практичным способом его взламывания является метод перебора всех возможных вариантов ключа. Ключ DES имеет длину 56 бит, поэтому существует 256 возможных вариантов такого ключа. Если предположить, что суперкомпьютер может испытать миллион вариантов ключа за секунду, то потребуется 2285 лет для нахождения правильного ключа. Если бы ключ имел длину 128 бит, то потребовалось бы 1025 лет (для сравнения: возраст Вселенной около 1010лет). Нетрудно представить себе, что при постоянном прогрессе возможностей компьютерной техники недалеко то время, когда машины поиска ключа DES методом полного перебора станут экономичными для мощных в финансовом отношении государственных и коммерческих организаций. Возникает естественный вопрос: нельзя ли использовать DES в качестве строительного блока для создания другого алгоритма с более длинным ключом? В принципе существует много способов комбинирования блочных алгоритмов для получения новых алгоритмов. Одним из таких способов комбинирования является многократное шифрование, C = EK2(EK1(P)). Расшифрование является обратным процессом:P = DK1(DK2(C)). Если блочный алгоритм обладает свойствами группы [125], то всегда найдется такой ключ К3, что С = ЕK2(ЕK1(Р))=ЕK3(Р). Если же блочный алгоритм не является группой, то результирующий двухкратно шифрованный блок текста окажется намного сложнее для взламывания методом полного перебора вариантов. Вместо 2n попыток, где n-длина ключа в битах, потребуется 22n . попыток. В частности, если n = 64, то двухкратно зашифрованный блок текста потребует 2128 попыток для нахождения ключа. Более привлекательную идею предложил У. Тачмен [125]. Суть этой идеи состоит в том, чтобы шифровать блок открытого текста Р три раза с помощью двух ключей K1 и К2 (рис. 3.9). Процедура шифрования: C = EK1(DK2(EK1(P))), т.е. блок открытого текста Р сначала шифруется ключом K1, затем расшифровывается ключом К2 и окончательно зашифровывается ключом K1
.
Рис. 3.9. Схемы трехкратного применения алгоритма DES
Этот режим иногда называют режимом EDE (encrypt-decrypt- encrypt). Введение в данную схему операции расшифрования DK2 позволяет обеспечить совместимость этой схемы со схемой однократного использования алгоритма DES. Если в схеме трехкратного использования DES выбрать все ключи одинаковыми, то эта схема превращается в схему однократного использования DES. Процедура расшифрования выполняется в обратном порядке:
Р = DK1(ЕK2(DК1(С))),
т.е. блок шифртекста С сначала расшифровывается ключом K1, затем зашифровывается ключом К2 и окончательно расшифровывается ключом K1. Если исходный блочный алгоритм имеет n-битовый ключ, то схема трехкратного шифрования имеет 2n-битовый ключ. Чередование ключей K1 и К2 позволяет предотвратить криптоаналитическую атаку "встреча посредине". Данная схема приводится в стандартах Х9.17 и ISO 8732 в качестве средства улучшения характеристик алгоритма DES. При трехкратном шифровании можно применить три различных ключа. При этом возрастает общая длина результирующего ключа. Процедуры шифрования и расшифрования описываются выражениями: С = ЕK3(DК2(ЕК1(Р))), Р = DК1(ЕК2(DК3(С))).
Трехключевой вариант имеет еще большую стойкость. Очевидно, что если требуется повысить безопасность большого парка оборудования, использующего DES, то гораздо дешевле переключиться на схемы трехкратных DES, чем переходить на другой тип криптосхем.
|