4.1. Двойное шифрование
К наивным способам повышения надежности алгоритма относится шифрование блока дважды с двумя различными ключами. Сначала блок зашифровывается первым ключом, а получившийся шифртекст - вторым ключом. Расшифрование выполняется в обратном порядке.
С = ЕК1(Ek2(Р))
P = DK1(DK1(C))
Если блочный алгоритм образует группу, всегда существует такой К3, для которого:
С = ЕК2(ЕК1(Р)) = ЕК3(Р)
Если алгоритм не образует группу, взломать итоговый дважды зашифрованный блок шифртекста с помощью полного перебора намного сложнее. Вместо 2n (где п – длина ключа в битах), потребуется 22n попыток. Если алгоритм использует 64-битовый ключ, для обнаружения ключей, которыми дважды зашифрован шифртекст, понадобится 2128 попыток.
Однако при атаке с известным открытым текстом это не так. Меркл и Хеллман предложили способ согласования памяти и времени, который позволяет вскрыть такую схему двойного шифрования за 2n+1 шифрований, а не за 22n. (Они использовали эту схему против DES, но результаты можно обобщить на все блочные алгоритмы). Такая атака называется «встреча посередине»: с одной стороны выполняется зашифрование, а с другой - расшифрование, а полученные посередине результаты сравниваются.
В этой атаке криптоаналитику известны значения P1, С1, Р2 и С2, такие что:
C1=EK2(EK1(Pt))
С2=ЕК2(ЕК1(Р2))
Для каждого возможного К криптоаналитик рассчитывает ЕК(Р1) и сохраняет результат в памяти. Собрав все результаты, он для каждого К вычисляет DK(C1) и ищет в памяти такой же результат. Если такой результат обнаружен, то, возможно, что текущий ключ – К2, а ключ для результата в памяти – К1. Затем криптоаналитик зашифровывает Р2 ключами К1 и К2. Если он получает С2, он может почти быть убежденным (с вероятностью 1 к 22m-2n, где т - размер блока), что он восстановил и К1 и К2. В противном случае он продолжает поиск. Максимальное количество попыток шифрования, которое ему придется предпринять, составляет 2*2n, т.е. 2n+1. Если вероятность ошибки слишком велика, криптоаналитик может использовать третий блок шифртекста, обеспечивая вероятность успеха 1 к 23m-2n. Существуют и другие способы оптимизации.
Для такого вскрытия нужен большой объем памяти: 2n блоков. Для 56-битового ключа нужно хранить 256 64-битовых блоков, или 1017 байт. Такой объем памяти пока еще трудно себе представить, но этого хватает, чтобы убедить самых осторожных криптографов в ненадежности двойного шифрования.
При 128-битовом ключе для хранения промежуточных результатов потребуется огромная память в 1039 байт. Если предположить, что каждый бит информации хранится на единственном атоме алюминия, запоминающее устройство, нужное для такого вскрытия, будет представлять собой алюминиевый куб с ребром 1 км. Кроме того, понадобится куда-то его поставить. Так что атака «встреча посередине» при ключах такого размера представляется невозможной.
Другой способ двойного шифрования, который иногда называют методом Дэвиса-Прайса (Davies-Price), представляет собой вариант режима шифрования СВС.
Сi =Ek1(PiÅ Ek2(Ci-1))
Pi=Dk1(Ci)Å Ek2(Ci-1)
Утверждается, что «у этого режима нет никаких особых достоинств», к тому же он, по-видимому, столь же уязвим к атаке «встреча посередине», как и другие режимы двойного шифрования.
4.2. Тройное шифрование
4.2.1. Тройное шифрование с двумя ключами
В более удачном методе, предложенном Тачменом, блок обрабатывается три раза с использованием двух ключей: первым ключом, вторым ключом и снова первым ключом. Тачмен предлагает, чтобы отправитель сначала зашифровал сообщение первым ключом, затем расшифровал вторым, и окончательно зашифровал первым ключом. Получатель расшифровывает сообщение первым ключом, затем зашифровывает вторым и, наконец, расшифровывает первым.
С = EK1(DK2(EK1(P)))
P = DK1(EK1(DK1(С)))
Иногда такой режим называют режимом зашифрование-расшифрование-зашифрование (Encrypt-Decrypt-Encrypt - EDE). Если блочный алгоритм использует n-битовый ключ, длина ключа описанной схемы составляет 2п бит. Эта остроумная связка ключей (зашифрования-расшифрования-зашифрования) разработана в корпорации IBM для совместимости с существующими реализациями алгоритма: задание двух одинаковых ключей эквивалентно одинарному шифрованию. Такая схема EDE сама по себе не обеспечивает заведомую безопасность, однако этот режим использовался для улучшения алгоритма DES в стандартах Х9.17 и ISO 8732.
Для предотвращения описанной выше атаки «встреча посередине», использование ключей ki и K2 чередуется. Если С=ЕK2(ЕК1(ЕК1(Р))), то криптоаналитик может заранее вычислить ЕК1(ЕК1(Р))) для любого возможного K1, а затем выполнить вскрытие. Для этого потребуется только 2n+2 шифрований.
Тройное шифрование с двумя ключами устойчиво к такой атаке. Но Меркл и Хеллман разработали другой способ согласования памяти и времени, который позволяет взломать и этот алгоритм шифрования за 2n-1 действий, используя 2n блоков памяти.
Для каждого возможного К2 расшифровывают 0 и сохраняют результат в памяти. Затем расшифровывают 0 для каждого возможного К1, чтобы получить Р. Выполняют тройное зашифрование Р, чтобы получить С, и затем расшифровывают С ключом К1. Если полученное значение совпадает со значением (хранящимся в памяти), полученным при расшифровании 0 ключом К2, то, возможно, пара K1K2 и будет искомым результатом. Проверяют, так ли это. Если нет, продолжают поиск.
Для выполнения этого вскрытия с подобранным открытым текстом нужна память огромного объема. Понадобится 2n времени и памяти, а также 2m подобранных открытых текстов. Атака не слишком практична, но все же указывает на некоторую слабость этого метода.
Пауль ван Оорсчот (Paul van Oorschot) и Майкл Винер (Michael Wiener) преобразовали эту атаку к атаке на основе открытых текстов, для которой их нужно р штук. В примере предполагается использование режима EDE.
1) Предположить первое промежуточное значение а.
2) Используя известный открытый текст, свести в таблицу для каждого возможного К1 второе промежуточное значение b при первом промежуточном значении, равном а:
b=DK1(С)
где С - шифртекст, полученный по известному открытому тексту.
3) Для каждого возможного K2 найти в таблице элементы с совпадающим вторым промежуточным значением b:
b = EK2(a)
4) Вероятность успеха равна р/т, где р - число известных открытых текстов, а т -размер блока. Если совпадения не обнаружены, нужно выбрать другое значение а и начать сначала.
Атака требует 2n+m/р времени и р - памяти. Для алгоритма DES это составляет 2120/р. При р, больших 256, эта атака выполняется быстрее, чем полный перебор.
... на генералізований пародонтит / О. І. Кутельмах // Вісник стоматології. – 2007. - № 4. – С. 137-139. АНОТАЦІЯ Кутельмах О.І. Обґрунтування застосування лікарських композицій на основі нанорозмірного кремнезему в комплексному лікуванні генералізованого пародонтиту. – Рукопис. Дисертація на здобуття наукового ступеня кандидата медичних наук за спеціальністю 14.01.22-стоматологія. – Державна ...
... X1, X2 – необходимое количество рекламных заказов 2X1+2X2 ≤ 7 X1 = 1 X2 = 2 F(X1, X2) = 7 1.4. Выбор и обоснование технических средств, программ и информационных средств для реализации математического моделирования. Для реализации математического моделирования в целях данной курсовой работы выбрана система проектирования и оценки качества и устойчивости экономических объектов – СДКМС. ...
... ічного університету, доктором технічних наук, професором М-П.Зборщиком. Висновок установи, в якій виконано дисертацію, с першою і дуже важливою її експертизою з точки зору відповідності дисертації вимогам “Порядку”. Висновок затверджується ректором (директором) або проректором (заступником директора) з наукової роботи, які несуть персональну відповідальність за якість, об'єктивність і строки пі ...
... . – СПб., Изд-во “Профессия”, 2000. – С. 54-90. Раздел II Методические указания по выполнению практических работ Введение Практические занятия по дисциплине “Патентоведение и основы научных исследований” для студентов специальности 271200 “Технология продуктов общественного питания”, направления 655700 “Технология продуктов специального назначения и общественного питания” предназначены ...
0 комментариев