А.И. Куприянов - Основы защиты информации (1022813), страница 32
Текст из файла (страница 32)
Модуль 36 — это размерность ланского алфавита (полное число символов). Как шифры замены, к и шифры перестановок в настоящее время в чистом виде не рименяются, реальные современные криптоалгоритмы испольт ихкомбинацию. Главное свойство блочного шифрования состоит в том, ч1 каждый символ блока текста шифровки является функцией все~ или почти всех символов соответствующего блока открытого тек ста, и никакие два блока открытого текста не могут быть прел ставлены одним и тем же блоком текста шифровки. Основное про имущество простого блочного шифрования состоит в том, что ~ хорошо сконструированной системе небольшие изменения откры того текста или ключа вызывают большие и непредсказуемые из менения в тексте шифра.
Однако при употреблении блочные шифри~ не свободны от серьезных недостатков. Во-первых, если ко всем блокам применить один и тот же ключ, то даже при сравнительн< большой длине блока возможен криптоанализ на основе поиска ~ ~ обнаружения стандартной текстовой комбинации. Другой потенциальный недостаток этого шифра связан с раз множением ошибок внутри блока.
Результатом изменения одног~ > символа в принятом блоке шифровки будет неправильное рас шифровывание всего блока. Вследствие отмеченных недостатко« простейшие блочные шифры не употребляются для шифрования длинных сообщений. Это недостаток шифра, который проявляет ся при повторных передачах шифрованных сообщений. От недостатков блочных шифров свободны поточные шифры. в которых шифрующее преобразование каждого символа исход ного сообщения меняется от символа к символу. У большинства поточных шифров секретный ключ К не сам изменяет сообщение в процессе шифрации, а управляет работой генератора ключевого потока. И уже этот генератор формирует последовательность (поток) символов (К,К2....К4, взаимодействующих с символами шифруемого сообщения по правилу: (5.65) Так образуется линейный поточный шифр. Поскольку операции сложения и вычитания по модулю 2 совпадают: (5.66) одинаковыми оказываются схемы шифраторов и дешифраторов. Длина Ф генерируемой под управлением ключа последовательности может бьггь гораздо больше длины ключа.
Если величина Ф очень велика (ключевая последовательность не короче исходного шифруемого сообщения), может показаться, что для такого поточного шифра справедлива граница Шеннона и он оказывается принципиально не раскрываемым, т.е. совершенно секретным. Но это не совсем так. Для совершенной секретности требуется, чтобы длина шифруемого сообщения была нс короче длины секретного ключа, а не порождаемой им последовательности ключевого потока. 150 , Для генераторов ключевого потока стоит проблема линейной важности — проблема определения структуры обратных связей в ' ераторе на основе максимально короткого регистра сдвига с , чтобы получить ключевую последовательность максималь'.й длины. Большая линейная сложность — это необходимое ус' ие криптостойкости системы с линейным поточным шифром.
' решение этой проблемы сводится либо к выбору регистра-ге'ратора очень большой длины, либо к применению таких клювых потоков, в которые нелинейно объединяются последоваьности с выходов нескольких независимых регистров-генерав. Линейная сложность сформированной таким образом поной ключевой последовательности может быль очень большой ' ько в том случае, если последовательности разных генерато: в некоррелированы между собой и незначительна корреляция ой из них с результирующей последовательностью. В криптографических приложениях такая последовательность ' зывается гаммой, а метод шифрования — гаммированием.
;:- При однократном использовании абсолютно случайной для неонного получателя гаммы ключа, превосходящей по длине шифемое сообщение, шифр обладает потенциальной стойкостью. ли ключ короче открытого сообщения, стойкость шифра далеот потенциально достижимой. ': Понятно, что распространение ключей, не менее коротких, м открытый шифруемый текст, очень затруднено, часто невозожно. Поэтому в качестве ключа передается начальное значение новки генератора псевдослучайной последовательности гам' п Но тогда длиной секретного ключа оказывается уже не период 'аевдослучайной последовательности, а длина последовательноссимволов, определяющих начальное состояние регистра-гене- тора псевдослучайной последовательности.
Для сложньц~ гене- ' торов, объединяющих несколько регистров или создающих не": нейные последовательности, эта длина больше, чем у генера' ров линейных рекуррентных псевдослучайных последовательной, но и у них она короче периода гаммы. Возможно образование смешанных систем потокового и блоч,ого шифрования с использованием лучших свойств каждого из шифров. В таких системах потоковое шифрование комбиниется с перестановками символов в блоках.
Открытый текст сна'ала шифруется, как при обычном потоковом шифровании, за' м полученный текст шифровки разбивается на блоки фиксиронного размера и в каждом блоке дополнительно производится 'ерестановка под управлением ключа. В результате получается фр„не размножающий ошибки, но обладающий дополнитель' ым свойством, которого нет у примитивного потокового шифра мены на основе операции суммирования по модулю 2, состов том, что криптоаналитик не знает, какому биту открыто- 151 го текста соответствует бит текста шифровки. Благодаря этому за шифрованное сообщение становится гораздо более стойким для раскрытия. 5.5. Стандарты симметричных криптосистем ' няется нулями так, что шифрации всегда подвергается целое '-ло блоков С„, п~ 1: Ф (четное число подблоков). .".'-::После разбиения исходного текста на блоки выполняется итевный процесс шифрования в соответствии со следующим илом: Типичные и стандартизованные алгоритмы симметричного шифрования (одноключевые) — это РЕБ (Ра1а Епсгур6оп Бгап дап1), служащий стандартом шифрования США, европейский стандарт 1РЕА (1п1егпайопа! Ра1а Епсгур11оп А18опИпп) и российский стандарт ГОСТ 28147 — 89.
Эти блочные симметричные криптоалгоритмы используют такие обратимые преобразования открытых сообщений, при которых значение, вычисленное по одной части шифруемого текста, накладывается на другие части текста. Методика шифрации обеспечивает многократное использование и взаимодействие ключа с символами исходного текста. За счез такого многократного рассеяния и перемешивания исходных данных почти полностью разрушаются корреляционные связи между символами исходного текста, а также символами этого текста и символами шифровки и исходного текста.
Блочные симметричные алгоритмы допускают как аппаратную, так и программную реализацию, Они осуществляют криптографическое преобразование информации для хранения на любых носителях (бумажных, магнитных и других машинных), для передачи данных в сетях ЗВМ. Алгоритм по ГОСТ 28147 — 89 не накладывает ограничений на степень секретности защищаемой информации. Алгоритмы РЕБ, 1РЕА и ГОСТ 28147 — 89 предусматривают несколько режимов работы, но во всех режимах для шифрации используют секретный ключ, единый для шифрации и расшифровки.
Отечественный алгоритм, регламентируемый ГОСТом, работает с ключом длиной 256 бит, образованным конкатенацией (сцеплением) восьми 32-разрядных двоичных чисел К;. К = К7 № Кб № К5 № К4 № Кз № К2 № К1 № Ко. (5.67) Алгоритм РЕБ использует 64-разрядный ключ, а европейский алгоритм 1РЕА — 128-разрядный. Первый режим работы алгоритма шифрации — замена символов открьггого текста. Шифруемые данные С, представленные последовательностью двоичных символов, разбиваются на блоки С„ длиной 64 бита так, что каждый блок является конкатенацией двух подблоков: СЛ„, содержащего старшего (левые) 32 бита, и СП„, объединяющего младшие (правые) биты блока С„, т.е. С„= = СЛ„№ СП„. Если длина открытого текста С не кратна 64, он до- 152 СП.
= Г~СП,, + (К 9 СЛ;,)1пюд 2~~~; сл, =сп~, если 1е 1:24,~ = (1 — 1) пюд8; СП, = Г~[СП,, +(К; ЭСЛ;,)~звона 2з'1; сл, =сп~, если(е 25:31, 1 =32 — ~; (5.68) СП32 СП31з СЛ, = Р ~~СПз, + (Ко 9 СЛз1)1 пюд 2з2~, если 1= 32, де 1 — номер итерации, для ГОСТ 28147 — 89 ~я 1:32, для РЕБ ,:е 1:16, для 1РЕА ~~1:4; Г( ) — функция шифрования; Ю— имвол суммирования по модулю 2. Графическая форма представления криптоалгоритма (5.68) едставлена схемой на рис. 5.15.
Аргумент функции шифрования Г(.) — это сумма по модулю ' числа СП,, полученного на предыдущем шаге итерации шифвания, и 32-разрядного фрагмента ключа К,. Вычисление фунии шифрования предусматривает последовательное выполнее двух операций над полученной 32-разрядной суммой. Первая 'перация — подстановка. Блок подстановки состоит из восьми злов замены 9 ...
Д8 с памятью 64 бит каждый. Поступающая на :лок подстановки 32-разрядная последовательность двоичных ':имволов разбивается на восемь последовательно идущих четыехразрядных групп, каждая из которых преобразуется в новую ; етырехразрядную группу соответствующим узлом замены. Каж. ый узел замены — это таблица из шестнадцати целых чисел в апазоне О... 15. Входная последовательность определяет адрес " троки в таблице. По этому адресу находится число, являющееся 'выходной последовательностью. Конкатенация трансформированных таким образом в результате выполнения операции подста~ювки четырехразрядных выходных групп символов представля, т собой 32-разрядные группы символов, сдвинутые на 11 дво- 153 Рис.