|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[87] тия также неизвестна. Разработчикам DES было известно о дифференциальном криптоанализе, и его S-блоки были оптимизированы соответствующим образом. Скорее всего, о линейном криптоанализе они не знали, и S-блоки DES очень слабы по отношению к такому способу вскрытия [1018]. Случайно выбранные S-блоки в DES были бы слабее против дифференциального криптоанализа, но сильнее против линейного криптоанализа. С другой стороны случайные S-блоки могут не быть оптимальными по отношению к данным способам вскрытия, но они могут быть достаточно большими и, следовательно, достаточно надежными. Кроме того, они, скорее всего, будут достаточно устойчивы и против неизвестных способов вскрытия. Спор все еще кипит, но лично мне кажется, что S-блоки должны быть такими большими, насколько это возможно, случайными и зав и-сеть от ключа. Проектирование блочного шифра Проектировать блочный шифр нетрудно. Если вы рассматривает 64-битовый блочный шифр как перестано в-ку 64-битовых чисел, ясно, что почти все эти перестановки безопасны. Трудность состоит в проектировании блочного шифра, который не только безопасен, но также может быть легко описан и просто реализован. Легко можно спроектировать блочный шифр, если вы используете память, достаточную для размещения S-блоков 48*32. Трудно спроектировать небезопасный вариант DES, если вы собираетесь использовать в нем 128 этапов. При длине ключа 512 битов не стоит беспокоиться о том, нет ли какой-либо зависящей от ключа ко м-плиментарности. 14.11 Использование однонаправленных хэш-функций Сымым простым способом использовать для шифрования однонаправленную хэш-функцию является хэш и-рование предыдущего блока шифротекста, объединенного с ключом, а затем выполнение XOR результата с т е-кущим блоком открытого текста: С, = P, © H(K, См) P, = С, © H(K, P,4) Установите длину блока равной длине результата однонаправленной хэш-функции. По сути это приводит к использованию однонаправленной хэш-функции как блочного шифра в режиме CFB. При помощи аналогичной конструкции можно использовать однонаправленную хэш-функцию и в режиме OFB: С, = P, © S,; S, = H(K, См) P, = С, © S, = H(K, См) Надежность такой схемы определяется безопасностью однонаправленной хэш-функции. Earn Этот метод, изобретенный Филом Карном (Phil Karn) и открытый им для свободного использования, создает обратимый алгоритм шифрования из определенных однонаправленных хэш-функций. Алгоритм работает с 32-байтовыми блоками открытого текста и шифротекста. Длина ключа может быть произвольной, хотя определенные дины ключей более эффективны для конкретных однонаправленных хэш-функций. Для однонаправленных хэш-функций MD4 и MD5 лучше всего подходят 96-байтовые ключи. Для шифрования сначала разбейте открытый текст на две 16-байтовых половины: Р/ и Pr. Затем разбейте на две 48-байтовых половины ключ: K/ и Kr. P= P/ , Pr, K = K/ , Kr Добавьте K/ к P/ и выполните хэширование однонаправленной хэш-функцией, затем выполните XOR резул ь-тата с Pr, получая Сг, правую половину шифротекста. Затем, добавьте Kr к Сг выполните хэширование однонаправленной хэш-функцией. Выполните XOR результата с Р/ , получая С/. Наконец, объедините Сг и С/ , получая шифротекст. Сг = Pr © Я(Р/, K/) С/ = P/ © Я(Сг, Kr) С = С/, Сг Для дешифрирования просто инвертируйте процесс. Добавьте Kr к Сг, выполните хэширование и XOR р е-зультата с С/ , получая P/. Добавьте K/ к P/, выполните хэширование и XOR результата с Сг , получая Pr. Pi = C © H(Cr, Kr) Pr = Cr © H(Pi, Ki) P = Pi, Pr Общая структура Karn совпадает с структурой множества других блочных алгоритмов, рассмотренных в этом разделе У алгоритма только два этапа, так как его сложность определяется однонаправленной хэш-функцией А, так как ключ используется только как вход хэш-функции, он не может быть раскрыт даже при помощи вскрытия с выбранным открытым текстом, если, конечно, безопасна используемая однонаправленная хэш-функция Luby-Rackoff Майкл Любы (Michael Luby) и Чарльз Ракофф (Charles Rackoff) показали, что Karn не является безопасным [992] Рассмотрим два одноблочных сообщения: AB и AC Если криптоаналитику известны открытый текст и шифротекст первого сообщения, а также первая половина открытого текста второго сообщения, то он может легко вычислить все второе сообщение Хотя такое вскрытие с известным открытым текстом работает только при определенных условиях, оно представляет собой главную проблему в безопасности алгоритма Ее удается избежать при помощи трехэтапного алгоритма шифрования [992,1643,1644] Он использует три различных хэш-функции: H1, H2 и H3 Дальнейшие исследования показали, что H1 может совпадать с H2, или H2 может совпадать с H3, но не одновременно [1193] Кроме того, H1, H2 и H3 не могут быть основаны на итерациях одной и той же базовой функции [1643] В любом случае при условии, что H(k,x) ведет себя как псевдослучайная функция, трехэтапная версия выглядит следующим образом: (1)Разделите ключ на две половины: Ki и К (2)Разделите блок открытого текста на две половины: L0 и (3)Объедините Ki и L0 и выполните хэширование Выполните XOR результата хэширования с R0, получая R1: R1= Ro © H(Ki, Lo) (4)Объедините Kr и R1 и выполните хэширование Выполните XOR результата хэширования с L0, получая L1 L1 = Lo © H(Kr, R1) (5)Объедините Ki и L1 и выполните хэширование Выполните XOR результата хэширования с R1, получая R2: R2= R1 © H(Ki, L1) (6)Объедините L1 и R2, получая сообщение Шифр краткого содержания сообщения Шифр краткого содержания сообщения(Message Digest Cipher, M DC), изобретенный Питером Гутманном (Peter Cutmann) [676], представляет собой способ превратить однонаправленные хэш-функции в блочный шифр, работающий в режиме CFBz Шифр работает почти также быстро, как и хэш-функция, и по крайней мере н а-столько же безопасен Оставшаяся часть этого раздела предполаг ает знакомство с главой 18 Хэш функции, например MD5 и SHA, используют 512-битовый текстовый блок для преобразования входн ого значения (128 битов в MD5, и 160 битов в SHA) в результат того же размера Это преобразование необрат и-мо, но прекрасно подходит для режима CFB: и для шифрования, и для дешифрирования используется одна и та же операция Рассмотрим MDC с SHAz MDC использует 160-битовый блок и 512-битовый ключ Используется побочный эффект хэш-функции, когда в качестве прежнего хэш-значения берется входной блок открытого текста (160 б и-тов), а 512-битовый вход хэш-функции играет роль ключа (см РисОбычно при использовании хэш- функции для хэширования некоторого входа 512-битовый вход меняется при хэшировании каждого нового 512-битового блока Но в данном случае 512-битовый вход становится неизменяемым ключом MDC можно использовать с любой однонаправленной хэш-функцией: MD4, MD5, Snefru, и Он незап а-тентован и может быть совершенно бесплатно использован кем угодно когда угодно и для чего угодно [676 ] Однако лично я не верю в эту схему Можно подобрать такой способ взлома, на противостояние которому хэш-функция не была рассчитана Хэш-функции не обязаны противостоять вскрытию с выбранным открытым текстом, когда криптоаналитик выбирает некоторые начальные 160-битовые значения, получает их "зашифрованными" одним и тем же 512-битовым "ключом" и пользуется этим для получения некоторой и н-формации об используемом 512-битовом ключе Так как разработчики хэш-функций не должны беспокоиться о такой возможности, считать ваш шифр безопасным по отношению к приведенному способу вскрытия - не лу ч- шая идея. Безопасность шифров, основанных на однонаправленных хэш-функциях Хотя эти конструкции и могут быть безопасными, они зависят от используемой однонаправленной хэш-функции. Хорошая однонаправленная хэш-функция не обязательно дает безопасный алгоритм шифрования. Существуют различные криптографические требования. Например, линейный криптоанализ бесполезен против однонаправленных хэш-функциях, но действенен против алгоритмов шифрования. Однонаправленная хэш-функция, такая как SHA, может обладать определенными линейными характеристиками, которые, не влияя на ее безопасность как однонаправленной хэш-функции, могут сделать небезопасным ее использование в таком алгоритме шифрования, как MDC. Мне неизвестно ни о каких результатах криптоанализа использования ко н-кретной однонаправленной хэш-функции в качестве блочного шифра. Прежде чем использовать их дождитесь проведения подобного анализа. Выходное. значение Блок сообщения Выходное значение Хэш-функция Открытый текст -► Шифротекст (а) Хэш-функция(b) Хэш-функция как блочный шифр в режиме cfb Рис. 14-5. Шифр краткого содержания сообщения (MDC). 14.12 Выбор блочного алгоритма Это очень трудное решение. DES почти наверняка небезопасен при использовании против правительств в е-ликих держав, если только вы не шифруете одним ключом очень малые порции данных. Возможно этот алг о-ритм пока неплох против кого-нибудь другого, но вскоре и это изменится. Машины для вскрытия ключа DES грубой силой скоро станут по карману всем организациям. Предложенные Бихамом зависимые от ключа S-блоки DES будут безопасны в течение по крайней мере н е-скольких лет, может быть за исключением использования против самых хорошо обеспеченных противников. Если необходимая безопасность должна быть обеспечена на десятилетия, или вы опасаетесь криптоаналитич е-ских усилий правительств великих держав, воспользуйтесь тройным DES с тремя независимыми ключами. Небеполезны и другие алгоритмы. Мне нравится Blowfish, потому что он быстр, и потому что я его прид у-мал. Неплохо выглядит 3-WAY, возможно все в порядке и с ГОСТом. Проблема посоветовать что-нибудь с о-стоит в том, что NSA почти наверняка обладает набором эффективных криптоаналитических приемов, которые до сих пор засекречены, и я не знаю, какие алгоритмы могут быть вскрыты. В Табл. 14.3 для сравнения прив едены временные соотношения для некоторых алгоритмов. Мой любимый алгоритм - IDEA. Его 128-битовый ключ в сочетании с устойчивостью к общеизвестным средствам криптоанализа - вот источники моего теплого и нежного чувства к этому алгоритму. Этот алгоритм анализировался различными группами, и никаких серьезных замечаний не было опубликовано. В отсутствие необычайных криптоаналитических прорывов я сегодня ставлю на IDEA. Табл. 14-3. Скорости шифрования для некоторых блочных шифров на i486SX/33 МГц АлгоритмСкорость шифрованияАлгоритмСкорость шифрования (Кбайт/с) (Кбайт/с) Blowfish (12 этапов)182MDC (с MD4)186 |
Среды: 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 | ||