Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Режимы работы блочных шифров
Чтобы воспользоваться блочным алгоритмом для решения разнообразных криптографических задач, разработаны четыре рабочих режима: · электронная кодовая книга ECB (Electronic Code Book); · сцепление блоков шифра CBC (Cipher Block Chaining); · обратная связь по шифротексту CFB (Cipher Feed Back); · обратная связь по выходу OFB (Output Feed Back).
4.1.2.1 Режим «Электронная кодовая книга»
Длинный файл разбивается на N-битовые отрезки (блоки) по n байтов. Каждый из этих блоков шифруют независимо с использованием одного и того же ключа шифрования (см. рисунок 4.1.4). Основное достоинство — простота реализации. Недостаток — относительно слабая устойчивость против квалифицированных криптоаналиков. Из-за фиксированного характера шифрования при ограниченной длине блока N битов возможно проведение криптоанализа «со словарем». Блок такого размера может повторится в сообщении вследствие большой избыточности в тексте на естественном языке. Это приводит к тому, что идентичные блоки открытого текста в сообщении будут представлены идентичными блоками шифротекста, что дает криптоаналитику некоторую информацию о содержании сообщения.
Рисунок 4.1.4 — Схема блочного алгоритма в режиме электронной кодовой книги
4.1.2.2 Режим «Сцепление блоков шифра»
В этом режиме исходный файл М разбивается на N-битовые блоки: М=М1М2…Мn. Первый блок М1 складывается по модулю 2 с N-битовым начальным вектором IV, который меняется ежедневно и держится в секрете. Полученная сумма затем шифруется с использование ключа блочного алгоритма, известного и отправителю, и получателю информации. Полученный N-битовый шифр С1 складывается по модулю 2 со вторым блоком текста, результат шифруется и получается второй N-битовый шифр С2, и т.д. Процедура повторяется до тех пор, пока не будут обработаны все блоки текста.
Рисунок 4.1.5 — Схема блочного алгоритма в режиме счепления блоков шифра
Таким образом, для всех i = 1…n (n — число блоков) результат шифрования Сi определяется следующим образом: Сi = E (Mi Å Ci-1), где С0 = IV — начальное значение шифра, равное начальному вектору (вектору инициализации). Очевидно, что последний N-битовый блок шифротекста является функцией секретного ключа, начального вектора и каждого бита открытого текста независимо от его длины. Этот блок шифротекста называют кодом аутентификации сообщения (КАС). Код КАС может быть легко проверен получателем, владеющим секретным ключом и начальным вектором, путем повторения процедуры, выполненной отправителем. Посторонний, однако, не может осуществить генерацию КАС, который воспринялся бы получателем как подлинный, чтобы добавить его к ложному сообщению, либо отделить КАС от истинного сообщения для использования его с измененным или ложным сообщением. Достоинство данного режима в том, что он не позволяет накапливаться ошибкам при передаче. Блок Мi является функцией только Сi-1 и Сi. Поэтому ошибка при передаче приведет к потере только двух блоков исходного текста.
4.1.2.3 Режим «Обратная связь по шифру»
Файл, подлежащий шифрованию (расшифрованию), считывается последовательными блоками длиной k-битов (k=1…N).
Рисунок 4.1.6 — Схема блочного алгоритма в режиме обратной связи по шифру Входной блок (N-битовый регистр сдвига) вначале содержит вектор инициализации, выровненный по правому краю. Предположим, что в результате разбиения на блоки мы получили n блоков длиной k битов каждый (остаток дописывается нулями или пробелами). Тогда для любого i=1…n блок шифротекста
Ci = Mi Å Pi-1,
где Pi-1 обозначает k старших битов предыдущего зашифрованного блока. Обновление сдвигового регистра осуществляется путем удаления его старших k битов и записи Ci в регистр. Восстановление зашифрованных данных также выполняется относительно просто: Pi-1 и Ci вычисляются аналогичным образом и Mi = Ci Å Pi-1.
4.1.2.4 Режим «Обратная связь по выходу»
Этот режим тоже использует переменный размер блока и сдвиговый регистр, инициализируемый так же, как в режиме CFB, а именно — входной блок вначале содержит вектор инициализации IV, выровненный по правому краю. При этом для каждого сеанса шифрования данных необходимо использовать новое начальное состояние регистра, которое должно пересылаться по каналу открытым текстом. Положим М = М1М2…Мn. Для всех i = 1…n Ci = Mi Å Pi, где Pi обозначает k старших битов операции блочных алгоритмов. Отличия от режима обратной связи по шифротексту состоит в методе обновления сдвигового регистра. Это осуществляется путем отбрасывания старших k битов и дописывания справа Pi.
Рисунок 4.1.7 — Схема блочного алгоритма в режиме обратной связи по выходу
|