|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[50] ленный открытый текст будет содержать ту же единственную ошибку . Чаще встречаются ошибки шифротекста. Они легко появляются из-за шума линий передачи или сбоев ус тройств хранения. В режиме CBC ошибка одного бита шифротекста влияет на один блок и один бит восстано в-ленного открытого текста. Блок, соответствующий содержащему ошибку блоку шифротекста, искажается полн остью. В следующем блоке искажается единственный бит, находящийся в той же позиции, что и ощибочный бит . Это свойство превращения малой ошибки шифротекста в большую ошибку открытого текста называется распространением ошибки. Это является главным недостатком. Эта ошибка не влияет на блоки, расположе н-ные через один от испорченного и далее, поэтому режим CBC является самовосстанавливающимся. Ошибка влияет на два блока, но система продолжает работать правильно для всех последующих блоков . CBC представляет собой пример блочного шифра, используемого в самосинхронизирующейся манере, но только на блоковом уровне. Хотя режим CBC быстро восстанавливается от битового сбоя, он абсолютно не устойчив к ошибкам синхр о-низации. Если в потоке шифротекста теряется или добавляется бит , то положение всех последующих блоков сдвигаются на один бит, и на выходе дешифрирования будет сплошной мусор . Любая криптосистема, использующая режим CBC должна обеспечивать целостность блочной структуры либо при помощи кадров, либо с охраняя данные в структуры из нескольких блоков . Вопросы безопасности Ряд возможных проблем обуславливаются структурой CBC. Во первых, так как блок шифротекста достато ч-но просто влияет на следующий блок , Мэллори может тайно добавлять блоки к концу зашифрованного сообщ е-ния. Конечно, при дешифрировании они превратятся в чепуху, но в некоторых ситуациях это нежелательно . При использовании CBC вы должны структурировать ваш открытый текст так, чтобы вы знали, где находя т-ся концы сообщений, и могли обнаружить добавление лишних блоков . Во вторых, Мэллори может изменить блок шифротекста, изменения определенным образом блоки расши ф-рованного открытого текста. Например, если Мэллори изменит один бит шифротекста, весь блок будет расши ф-рован неправильно, а в следующем блоке в соответствующей позиции будет неправильный бит . Возможны ситуации, когда это нежелательно . Открытое сообщения должно обладать некоторой избыточностью или средс т-вами идентификации. Наконец, хотя структура открытого текста маскируется сцеплением , структура очень длинных сообщений все равно будет заметна. Парадокс дня рождения предсказывает, что после 2 m/2 блоков, где m - размер блока, появляются одинаковые блоки. Для 64-битового блока длина такого сообщения примерно равны 32 Гбайтам . Подобная проблема возникает только для сообщений немаленького размера . 9.4 Потоковые шифры Потоковые шифры преобразуют открытый текст в шифротекст по одному биту за операцию . Простейшая реализация потокового шифра показана на 3-й. Генератор потока ключей (иногда называемый генератором с бегущим ключом) выдает поток битов: ki, k2, k3, k,. Этот поток ключей (иногда называемый бегущим ключом) и поток битов открытого текста, pi, p2, p3, p, подвергаются операции "исключающее или", и в р е-зультате получаетсяы поток битов шифротекста. ct =pt © kt При дешифрировании операция XOR выполняется над битами шифротекста и тем же самым потоком кл ю-чей для восстановления битов открытого текста . pt = ct © kt Так как pt © kt © kt=pt это работает правильно. Безопасность системы полностью зависит от свойств генератора потока ключей . Если генератор потока ключей выдает бесконечную строку нулей, шифротекст будет совпадать с открытым текстом, и все операция будет бессмысленна. Если генератор потока ключей выплевывает повторяющийся 16-битовый шаблон, алгоритм б у-дет являться простым XOR с пренебрежимо малой безопасностью (см. раздел 1.4). Если генератор потока ключей выплевывает бесконечный поток случайных (по настоящему, а не псевдослучайных - см. раздел 2.8) битов, вы получаете одноразовый блокнот и идеальную безопасность . На деле безопасность потокового шифра находится где-то между простым XOR и одноразовым блокнотом. Генератор потока ключей создает битовый поток, который похож на случайный, но в действительности дете р-минирован и может быть безошибочно воспроизведен при дешифрировании . Чем ближе выход генератора потока ключей к случайному, тем больше времени потребуется криптоаналитику, чтобы взломать шифр . тексттекст ШифрованиеДешифрирование Рис. 9-6. Потоковый шифр Однако, если генератор потока ключей при каждом включении создает один и тот же битовый поток , то использующую его криптосистему взломать нетрудно. Покажем на примере, почему это так. Если к Еве попал шифротекст и соответствующий открытый текст, то она, выполняя операцию XOR над открытым текстом и шифротекстом, раскрывает поток ключей . Или, если у нее есть два различных шифротекста, зашифрованных одинаковым ключом, она может выполнить над ними операцию XOR, получая два открытых текста сообщений, над которыми выполнена операция XOR. Это нетрудно взломать, и затем она может получить поток ключей, выполняя операцию XOR над одним из открытых текстов и шифротекстом. Теперь, перехватив любое другое шифрованное сообщение, она сможет расшифровать его, используя пол ученный поток ключей. Кроме того, она может расшифровать и прочитать любое из ранее перехваченных соо б-щений. Когда Ева получит пару открытый текст/шифротекст, она сможет читать все . Поэтому для всех потоковых шифров используются ключи. Выход генератора потока ключей является фун к-цией ключа. Теперь, если Ева получит пару открытый текст/шифротекст, она сможет читать только те сообщ е-ния, которые зашифрованы тем же ключом . Измените ключ, и противнику придется начать все сначала . Потоковые шифры особенно полезны для шифрования бесконечных потоков коммуникационного трафика, напр и-мер, канала Т1, связывающего два компьютера. Генератор потока ключей состоит из трех основных частей (см. 2nd). Внутреннее состояние описывает текущее состояние генератора потока ключей. Два генератора потока ключей, с одинаковым ключом и одинаковым внутренним состоянием, выдают одинаковые потоки ключей. Функция выхода по внутреннему состоянию генерирует бит потока ключей. Функция следующего состояния по внутреннему состоянию генерирует новое вну т-реннее состояние. Рис. 9-7. Устройство генератора потока ключей. 9.5 Самосинхронизирующиеся потоковые шифры В самосинхронизирующихся потоковых шифрах каждый бит потока ключей является функцией фиксированного числа предыдущих битов шифротекста [1378]. Военные называют этот шифр автоключом шифротекста (ciphertext auto key, CTAK). Основная идея была запатентована в 1946 [667]. Самосинхронизирующийся потоковый шифр показан на 1-й. Внутреннее состояние является функцией предыдущих n битов шифротекста. Криптографически сложной является выходная функция, которая использует внутреннее состояние для генерации бита потока ключей . Рис. 9-8. Самосинхронизирующийся генератор потока ключей. Так как внутреннее состояние полностью зависит от предыдущих n шифротекста, дешифрирующий генератор потока ключей автоматически синхронизируется с шифрующим генератором потока ключей, приняв n битов шифротекста. В интеллектуальных реализациях этого режима каждое сообщение начинается случайным заголовком дл иной n битов. Этот заголовок шифруется, передается и затем расшифровывается . Расшифровка будет неправильной, но после этих n битов оба генератора потока ключей будут синхронизированы . Слабой стороной самосинхронизирующегося потокового шифра является распространение ошибки . Для каждого бита шифротекста, испорченного при передаче, дешифрирующий генератор потока ключей выдает n неправильных битов потока ключей . Следовательно, каждому неправильному биту шифротекста соответствуют n ошибок в открытом тексте, пока испорченный бит не перестанет влиять на внутреннее состояние . Вопросы безопасности Самосинхронизирующиеся потоковые шифры также чувствительны к вскрытию повторной передачей . Сначала Мэллори записывает несколько битов шифротекста. Затем, позднее, он вставляет эту запись в текущий трафик. После выдачи некоторой чепухи, пока принимающая сторона синхронизируется с вставленной записью , старый шифротекст будет расшифрован как нормальный . У принимающей стороны нет способа узнать, что п о-лученные данные являются повторно передаваемой записью. Если не используются метки времени, Мэллори может убедить банк снова и снова зачислять деньги на его счет , повторно передавая одно и то же сообщение (конечно, при условии, что ключ не менялся ). Другие слабые места этой схемы могут стать заметны при очень частой пересинхронизации [408]. 9.6 Режим обратной связи по шифру Блочный шифр также может быть реализованы как самосинхронизирующийся потоковый шифр, такой р ежим называется режимом обратной связи по шифру (cipher-feedback, CFB). В режиме CBC шифрование не могло начаться, пока не получен целый блок данных. Это создает проблемы для некоторых сетевых приложений . Например, в безопасной сетевой среде терминал должен иметь возможность передавать главному компьютеру каждый символ сразу, как только он введен . Если данные нужно обрабатывать байтами, режим CBC также не работает. В режиме CFB единица зашифрованных данных может быть меньше размера блока . В следующем примере каждый раз шифруется только один символ ASCII (это называется 8-битовым шифрованием), но в числе 8 нет ничего волшебного. Вы можете шифровать данные по одному биту с помощью 1-битового CFB, хотя использование для единственного бита полного шифрования блочным шифром потребует много ресурсов, потоковый шифр в этом случае был бы идеей получше . (Уменьшение количества циклов блочного фильтра для повышения скорости не рекомендуется [1269].) Можно также использовать 64-битовый CFB, или любой n-битовый CFB, где n больше или равно размеру блока. |
Среды: 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 | ||