|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[89] b = Ек2 (a) (4) Вероятность успеха равно pm, где p - число известных открытых текстов, а m - размер блока. Если совпадения не обнаружены, выберите другое a и начните сначала. Вскрытие требует 2n+mlp времени и p - памяти. Для DES это равно 2120/p [1558]. Для p больших 256, это вскрытие быстрее, чем исчерпывающий поиск . Тройное шифрование с тремя ключами Если вы собираетесь использовать тройное шифрование, я рекомендую три различных ключа. Общая длина ключа больше, но хранение ключа обычно не является проблемой . Биты дешевы. C = Екз( Dk2( ЕкД P))) P = Dk1( Ек2( Dk3(C))) Для наилучшего вскрытия с разменом памяти на время, которым является "встреча посередине", потребуется 22n действий и 2n блоков памяти [1075]. Тройное шифрование с тремя независимыми ключами безопасно н а-столько, насколько на первый взгляд кажется безопасным двойное шифрование . Тройное шифрование с минимальным ключом (TEMK) Существует безопасный способ использовать тройное шифрование с двумя ключами, противостоящий описанному вскрытию и называемый Тройным шифрованием с минимальным ключом (Triple Encryption with Minimum Key, TEMK) [858]. Фокус в тои, чтобы получить три ключа из: X1 и X2. K = ЕХД Dx2( ЕхДШ K2 = ЕХД Dx2( ЕХ1(72))) K3 = Ех 1( Dx2( Ех1(?3))) T1, Г2 и T3 представляют собой константы, которые необязательно хранить в секрете. Эта схема гарантирует, что для любой конкретной пары ключей наилучшим будет вскрытие с известным открытым текстом . Режимы тройного шифрования Недостаточно просто определить тройное шифрование, нужно выбрать один из способов его использования . Решение зависит от требуемых безопасности и эффективности . Вот два возможных режима тройного шифров а-ния: Внутренний CBC: Файл три раза шифруется в режиме CBC (см. 14tha). Для этого нужно три различных IV. C = (S Ф c-1); S = Dk2( T Ф -1); T = (p ® t- x) p = ЗТ-1Ф (з; ); t = -1Ф (S); S = с-1Ф (C) C0, S0 и T0 являются IV. Внешний CBC: Файл троекратно шифруется в режиме CBC (см. 14thb). Для этого нужен один IV. C = Ек3(Dk2(ЕкДP Ф C-1))) P = C-1 Ф Dk1(Ек2(Dk3(C ))) (а) Внутренний CBC (b) Внешний CBC Рис. 15-1. Тройное шифрование в режиме CBC. Для обоих режимов нужно больше ресурсов, чем для однократного шифрования: больше аппаратуры или больше времени. Однако при трех шифрующих микросхемах производительность внутреннего CBC не меньше, чем при однократном шифровании . Так как три шифрования CBC независимы, три микросхемы могут быть загружены постоянно, подавая свой выход себе на вход . Напротив во внешнем CBC обратная связь находится снаружи по отношению к трем шифрованиям . Это означает, что даже с тремя микросхемами производительность будет равна только одной трети производительн ости при однократном шифровании. Чтобы получить ту же производительность для внешнего CBC, потребуется чередование IV (см. раздел 9.12): C = Ек3( Dk2( ЕкД р ф с 3))) В этом случае C0, C-1 и C-2 являются IV. Это не поможет при программной реализации, разве только при и с-пользовании параллельного компьютера. К сожалению менее сложный режим является также и менее безопасным . Бихам проанализировал различные режимы по отношению к дифференциальному криптоанализу и обнаружил, что безопасность внутреннего CBC по сравнению с однократным шифрованием увеличивается незначительно . Если рассматривать тройное шифрование как единый большой алгоритм , то внутренние обратные связи позволяют вводить внешнюю и и з-вестную информацию внутрь алгоритма, что облегчает криптоанализ . Для дифференциальных вскрытий нужно огромное количество выбранных шифротекстов, что делает эти вскрытия не слишком практичными, но этих результатов должно хватить, чтобы насторожить параноидальных пользователей . Анализ устойчивости алгоритмов к вскрытиям грубой силой и "встречей посередине" показал, что оба варианта одинаково безопасны Кроме этих существуют и другие режимы . Можно зашифровать файл один раз в режиме ECB, затем дважды в CBC, или один раз в CBC, один в ECB и еще раз в CBC, или дважды в CBC и один раз в ECB. Бихам показал, что эти варианты не безопаснее, чем однократный DES, против вскрытия дифференциальным криптоанализом с выбранным открытым текстом [162]. Он не оставил больших надежд и для других вариантов . Если вы собираетесь применять тройное шифрование, используйте внешнюю обратную связь . Варианты тройного шифрования Прежде, чем появились доказательства того, что DES не образует группу, для многократного шифрования предлагались различные схемы. Одним из способов обеспечить то, что тройное шифрование не выродится в однократное, было изменение эффективной дины блока . Простым методом является добавление бита-заполнителя. Между первым и вторым, а также между вторым и третьим шифрованиями текст дополняется строкой случайных битов (см. Рис. 15.2). Если PP - это функция дополнения, то: C = Ек3( PP (Ек2( PP (Ек1( P))))) Это дополнение не только разрушает шаблоны, но также обеспечивает перекрытие блоков шифрования, как кирпичей в стене. К длине сообщения добавляется только один блок. Открытый текст Шифрование Запо лнит ель Шифрование Запо лнит ель . X . . Ж . Y. . ж . Шифрование Шифротекст Рис. 15-2. Тройное шифрование с заполнением. Другой метод, предложенный Карлом Эллисоном (Carl Ellison), использует некоторую функцию независ и-мой от ключа перестановки между тремя шифрованиями . Перестановка должна работать с большими блоками -8 Кбайт или около этого, что делает эффективный размер бока для этого варианта равным 8 Кбайтам . При условии, что перестановка выполняется быстро, этот вариант ненамного медленнее, чем базовое тройное шифр о-вание. C = Ек3(Т (Ек2(Т (Ек1( P))))) Т собирает входные блоки (до 8 Кбайт в длину) и использует генератор псевдослучайных чисел для их пер е-мешивания. Изменение одного бита входа приводит к изменению 8 байтов результата первого шифрования, к изменению до 64 байтов результата второго шифрования и к изменению до 512 байтов результата третьего шифрования. Если каждый блочный алгоритм работает в режиме CBC, как было первоначально предложено , то изменение единичного бита входа скорее всего приведет к изменению всего 8-килобайтового блока, даже если этот блок не является первым. Самый последний вариант этой схемы отвечает на вскрытие внутреннего CBC, выполненное Бихамом, добавлением процедуры отбеливания, чтобы замаскировать структуру открытых текстов . Эта процедура представляет собой потоковую операцию XOR с криптографически безопасным генератором псевдослучайных чисел и ниже обозначена как R. Т мешает криптоаналитику определить a pnon, какой ключ используется для шифрования любого заданного байта входа последнего шифрования . Второе шифрование обозначено йЕ (шифрование с циклическим использованием n различных ключей): C = Ек3( R(T (пЕк2(Т (ЕкД P)))))) Все шифрования выполняются в режиме ECB, используется не меньше и+2 ключей шифрования и криптографически безопасный генератор псевдослучайных чисел . Эта схема была предложена для использования вместе с DES, но она работает с любым блочным алгоритмом. Результаты криптоанализа такой схемы мне неизвестны . 15.3 Удвоение длины блока В академическом сообществе давно спорят на тему, достаточна ли 64-битовая длина блока . С одной стороны 64-битовый блок обеспечивает диффузию открытого текста только в 8 байтах шифротекста . С другой стороны более длинный блок затрудняет безопасную маскировку структуры, кроме того, больше возможностей ошибит ь- |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||