56
включает начальную и конечную перестановки битов блока, а также 16 циклов шифрования, образованных комбинацией стандартных перестановок и замен (рис. 5.2. Структурная схема алгоритма DES).
Рис. 5.2. Структурная схема алгоритма DES
Для решения разных криптографических задач блочные шифры могут использоваться в различных режимах. Например, разработчики шифра DES рекомендуют четыре основных режима применения шифра.
Режим реализации представленного выше алгоритма без какихлибо изменений и дополнений носит название режима электронной кодовой книги ECB (Electronic Code Book). Здесь правила зашифрования и расшифрования блоков данных выглядят как Ci=DESk(Мi) и Мi=DESk(Ci). Достоинством режима является простота реализации, отсутствие распространения ошибок при использовании плохих каналов связи – искажение при передаче 64-битового блока Сi шиф-
57
ртекста приводит к получению ошибочного значения только соответствующего блока Mi. В качестве недостатка обычно упоминается возможность эффективного криптоанализа, связанного с малым объемом шифруемых блоков, в частности, текстовых сообщений, когда идентичные по содержанию блоки открытого текста порождают одинаковые блоки шифртекста.
Врежиме сцепления блоков CBC (Cipher Block Chaining) каждый
блок открытого текста Mi перед зашифрованием складывается по mod2 с предыдущим блоком зашифрованного текста Ci. Здесь правила зашифрования и расшифрования задаются выражениями:
Ci=DESk(Mi
Ci-1), Mi=DESk(Ci)
Ci-1; начальное значение С0 (начальный вектор – Initial Vector) выступает дополнительным секретным параметром шифра. Искажение при передаче зашифрованного блока
Сi приводит к появлению двойной ошибки при расшифровании блоков Ci и Ci+1. В то же время изменение блока Mi приводит к искажению не только блока Ci, но и всех последующих блоков шифртекста. Это свойство режима может использоваться для контроля целостности передаваемых сообщений М, кодом аутентификации которых будет являться CN.
Врежиме обратной связи по шифртексту CFB (Cipher Feed Back)
формируется некая блочная гамма Z0, Z1, … Zn в соответствии с выражением Zi=DESk(Ci-1). Правила зашифрования и расшифрования задаются выражениями: Ci=Mi
Zi и Mi=Ci
Zi. Свойства режима схожи со свойствами предыдущего режима.
Алгоритм шифрования ГОСТ 28147-89 и режимы его использования
ГОСТ выполняет шифрование 64-битовых блоков данных под управлением составного ключа k1, …k8 длиной 32-бита каждый; таким образом, общая размерность ключа шифра составляет 256 бит, число циклов – 32 (рис. 5.3. Структурная схема алгоритма ГОСТ).
58
Рис. 5.3. Структурная схема алгоритма ГОСТ
Режим замены – это режим реализации алгоритма ГОСТ без ка- ких-либо изменений и дополнений.
Возможность обработки неполного блока данных размером меньше 64 бит предоставляется каждым из режимов гаммирования, что существенно при шифровании массивов с произвольным размером.
В режиме гаммирования формируется некая блочная гамма Z0, Z1, … Zn в соответствии с выражением Zi=ГОСТk(Zi-1). Правила зашифрования и расшифрования режима задаются выражениями: Ci=Mi
Zi и
Mi=Ci
Zi.
Режим гаммирования с обратной связью отличается от предыдущего способом выработки элементов гаммы, очередной элемент гаммы вырабатывается как результат преобразования предыдущего блока зашифрованных данных. Этим достигается зацепление блоков: каждый блок шифртекста в этом режиме зависит от соответствующего и всех предыдущих блоков открытого текста. Поэтому данный режим иногда называется гаммированием с зацеплением блоков. Правила
59
зашифрования и расшифрования режима задаются выражениями:
Ci=Mi
ГОСТk(Ci-1) и Mi=Ci
ГОСТk(Ci-1).
Преимущества стандарта ГОСТ в сравнении с DES:
–фактическое отсутствие аналитических методов анализа;
–более чем 4-кратное превышение объема ключа и 2-кратное превышение циклов шифрования;
–примерно в 2 раза большее быстродействие в расчете на «короткие» операции за счет отсутствия нерегулярных битовых перестановок.
60
Л е к ц и я 6. ПОТОЧНЫЕ СИСТЕМЫ ШИФРОВАНИЯ
Особенности построения современных поточных шифров
Выше отмечалось, что одним из первых и наиболее известных в истории криптографии шифров поточного шифрования стал шифр гаммирования Вернама. В 1917 г. сотрудник американской телеграфной компании Г. Вернам предложил идею, а позже создал устройство автоматического шифрования телеграфных сообщений. Устройство осуществляло электромеханическое сложение по mod2 пятиразрядных кодов телеграфных символов Бодо с кодами гаммы, предварительно нанесенными на склеенную в кольцо телеграфную перфоленту. На основании свойства обратимости операции сложения по mod2 расшифрование сообщения выполнялось с помощью аналогичного устройства сложением шифртекста с той же гаммой.
Код сообщения «VERNAM» 01111 10000 01010 00110 11000 00111 МТК-2
Код гаммы |
01110 01110 01010 11011 00110 11100 |
|
Код шифрсообщения |
00001 11110 00000 11101 11110 11011 |
|
Шифрсообщение |
T K буквы Q |
K цифры МТК-2 |
Код шифрсообщения |
00001 11110 00000 11101 11110 11011 |
|
Код гаммы |
01110 01110 01010 11011 00110 11100 |
|
Код сообщения «VERNAM» 01111 10000 01010 00110 11000 00111 МТК-2
Безусловными достижениями шифра Вернама стали автоматизация процесса преобразования сообщений и, фактически, объединение процедур зашифрования и расшифрования информации и ее передачи по каналу связи, исключившие процедуру предварительного шифрования.
Интуитивно понятно, что стойкость шифра в значительной степени определялась качеством его ключевого элемента – гаммы. Код гаммы выбирался случайно, но при зашифровании длинных сообщений он регулярно повторялся, что, очевидно, является недопустимым. Попытки увеличить гамму приводили к неудобствам работы с длинным кольцом телеграфной перфоленты. Тогда был предложен вариант работы с двумя кольцевыми перфолентами, с помощью одной из которых шифровалась другая. В результате период повторения гаммы был существенно увеличен. Вместе с тем, трудности изготовления,