Режим ЕСВ — Электронная кодовая книга

В режиме Electronic Code Book (ЕСВ) или "Электронная кодовая книга" шифруемый файл разбивают на 64-битовые отрезки (блоки) по 8 байтов. Каждый из этих блоков шифруют независимо с ис­пользованием одного и того же ключа шифрования.

Режим пригоден для шифрования при прямом доступе к фрагмен­там шифруемой информации. В случае ошибки при передаче происходит восстановление, т. е. ошибка влияет только на один блок и не распрост­раняется далее.

Основное достоинство - простота реализации. Криптостойкость ре­жи­ма ЕСВ не ниже криптостойкости используемого блочного алгори­тма. Основной недостаток режима в том, что одинаковые блоки шифру­ются одинаково, что дает материал для статистических атак. Кроме того, откры­тый текст может быть легко изменен путем удаления, реплицирования и переста­новки блоков шифртекста.

Применение режима рекомендуется только для шифрования корот­кой и случайной информации, например ключей.

3.2.  Режим СВС — "Сцепление блоков шифра"

В режиме Ciрher Block Chaining (СВС) или "Сцепление блоков шифра" исходный файл также разбивается на 64-битовые блоки, но обра­батываются они иначе. Первый блок открытого текста m 1 складывается по модулю два с 64-битовым секретным начальным век­тором c 0 , называемым вектором инициализации. Полученная сумма шифруется по схеме DES. Полученный 64-битовый блок шифртекста c 1 складывается по модулю два со вторым блоком открытого текста, ре­зультат шифруется и получается второй 64-бито­вый блок шифртекста c 2 и так до конца файла. Таким образом, ре­зультат шифрования ci определяется следующим образом:

ci =DES(mi Å ci -1), " i = 1,..., n,

где n - число блоков исходного файла, а c 0 - начальное значение шифра, равное вектору инициализации. Очевидно, что последний 64-битовый блок шифртекста является функцией секретного ключа, начального вектора и каждого бита открытого текста независимо от его длины. Этот блок шифртекста называют кодом аутентификации сообщения (КАС).

Код КАС может быть легко проверен получателем, вла­деющим сек­ретным ключом и начальным вектором, путем повто­рения процедуры, вы­полненной отправителем. Посторонний, од­нако, не может осуществить ге­нерацию КАС, который воспринялся бы получателем как подлинный, что­бы добавить его к ложному сообщению либо отделить КАС от истинно­го сообщения для ис­пользования его с измененным или ложным сообщением.

Расшифрование осуществляется путем побитового сложения пре­дыдущего блока шифртекста с расшифрованным блоком текущего текста:

mi = ci -1ÅDES-1(ci)

Применение режима СВС позволяет устранить недостаток режима ЕСВ: каждый блок открытого текста «маскируется» блоком шифртекс­та, полученным на предыдущем этапе. Таким образом, возможность измене­ния открытого текста весьма ограничена почти все манипуляции с блоками шифртекс­та будут обнару­жены.

Достоинство данного режима в том, что он не позволяет накаплива­ться ошибкам при передаче. Блок mi является функцией только сi и сi -1 Если при передаче будет искажен один из блоков шиф­рограммы сi, то при расшифровке блок mi окажется полностью иска­женным, а в блоке mi +1 будут искажены только биты, изменившиеся в блоке ci. Режим обеспечива­ет вос­становление после ошибок при передаче, но только после таких, которые приводят к изменению отдельных битов, а не к выпадению битов и добавлению новых.

Скорость обработки в данном режиме равна производительности используемого блочного алгоритма, задержка при выполнении операции Å пренебрежимо мала.

В этом режиме последний блок может оказаться короче 64 битов. В таком случае применяется один из следующих способов (здесь j – размер последнего блока mn, операции >> и << означают, как и в языке программирования С, арифметические сдвиги вправо и влево на задан­ное число разрядов):

1. неполный блок mn открытого текста дополняется фиксирован­ным дополнением p 64- j до 64 битов, например пробелами

cn =DES (((mn <<(64- j))+ p 64-jcn -1).

2. неполный блок mn открытого текста складывается побитно со старшими j разрядами DES преобразования предыдущего блока шифртекста

cn = mn Å (DES(cn -1)>>(64- j)).

В последнем случае сохраняется длина сообщения.

3.3. Режим CFB — "Обратная связь по шифру

В режиме Ciрher Feed Back (CFB) или "Обратная связь по шифру" размер блока может отличаться от 64 бит. Размер блока исходного текста может быть любым, не превосходящим размера блока шифрования 64. Это позволяет зашифровать и отправить любое количество битов, не дожидаясь конца блока.

Файл, подлежащий шифрованию (расшифрованию), счи­тывается последовательными блоками длиной k битов (k =1,..., 64). Пусть в ре­зуль­тате разбиения на блоки мы получили n блоков по k битов каждый (остаток дописывается нулями или пробелами). Тогда блоки шифртекста получают­ся в виде:

ci = mi Å pi -1,     " i =1,..., n,

где pi -1 обозначает k старших битов предыдущего зашифрованного бло­ка.

Входной блок DES шифрования (64-битовый регистр сдвига) вначале содер­жит вектор инициализации, выровненный по правому краю. Об­новление сдвигового регистра осуществляется путем удаления его стар­ших k битов и записи ci в регистр (рис.4.4).

Рисунок 4.4. Схема DES шифрования/дешифрования в режиме CFB

Восстановление зашифрованных данных также выполняется относи­тельно просто: pi -1и ci, вычисляется аналогичным образом и

mi = ci Å pi -1.

Режим также обладает свойством восстановления после изменения от­дельных битов в шифрограмме. При расшифровке используется функция шифрования, а не функция дешифрования блочного шифра.

Возможности изменения открытого текста те же, что в режиме СВС. Скорость шифрования с полноблочной открытой связью та же, что и блочного шифра.

3.4. Режим OFB — "Обратная связь по выходу"

Режим Outрut Feed Back (OFB) или "Обратная связь по выходу" похож на режим CFB. Отличие состоит в методе обновления сдвигового ре­гистра. Оно осуществляется путем отбрасывания старших k битов вход­ного блока и дописывания справа k старших битов выходного блока DES-шифрования на предыдущем шаге.

Входной блок вначале также содержит вектор инициализации c 0, вы­ровненный по правому краю. При этом для каждого сеанса шифрования данных необходимо использовать новое начальное состояние регистра, ко­торое может пересылаться по каналу открытым текстом. Или порож­дается псевдо­случайная последова­тель­ность и побитно складывается с сооб­щением.

Разобьем входную последовательность m на блоки длиной k бит: m = m 1 m 2... mn. Тогда блоки шифртекста

ci = mi Å pi -1 " i = 1... n,

где pi -1 - старшие k битов результата операции DES(ci -1).

Рисунок 4.5. Схема DES шифрования/дешифрования в режиме ОFB.

Режим OFB имеет следующее преимущество по сравнению с CFB: ошибки, возникающие при передаче по каналу с шумом, при дешифро­вании не «размазываются» по всему шифртексту, а локализуются в пре­делах одного блока. Однако открытый текст может быть изменен путем определенных манипуляций с шифртекстом.

Для устранения известных недостатков разработаны некоторые усо­вершенствования различных режимов, но они не являются стандарт­ными.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: