- •1.3Ключевые вопросы
- •1.4Содержание протокола
- •1.5Лабораторное задание
- •1.6Ключевые положения
- •1.6.1Поблочное шифрование
- •1.6.1.1Режим простой замены
- •1.6.1.2Режим Гаммирования
- •1.6.2Шифрование с обратной связью.
- •Не требуется обращать сам алгоритм шифрования;
- •Гамма циклически повторяется с периодом 264 блоков;
- •1.6.3Подстановки, перестановки, гаммирование
- •1.6.4Отечественный стандарт -- гост 28147-89
1.6.1.2Режим Гаммирования
Рисунок 0.2 Гаммирование
В этой схеме необходима инициализация криптографического алгоритма E, который в этой схеме выступает в роли генератора случайных чисел (блоков) для гаммирования.
Преимущества режима:
не требуется обращать сам алгоритм шифрования;
не сохраняет статистики сообщения;
не размножает ошибки (с ошибкой будут расшифрованы только те биты, которые были испорчены при передаче)
Недостатки режима:
гамма циклически повторяется с периодом 264 блоков;
требуется предварительная загрузка алгоритма
Этот режим наиболее предпочтителен для шифрования каналов связи в реальном времени.
1.6.2Шифрование с обратной связью.
Теперь только первый блок обрабатывается непосредственно. Каждый последующий перед шифрованием складывается по модулю 2 с зашифрованным предыдущим блоком:
Рисунок 0.3 Шифрование с ОС без предварительной загрузки алгоритма
В следующей схеме необходима начальная загрузка алгоритма E. Этот метод применяется в алгоритме ГОСТ 28147-89:
Рисунок 0.4 Шифрование с ОС с предварительной загрузкой алгоритма
Преимущества режима:
Не требуется обращать сам алгоритм шифрования;
не сохраняет статистики сообщения;
обладает наибольшей криптостойкостью.
Недостатки режима:
Гамма циклически повторяется с периодом 264 блоков;
чувствителен к ошибкам (после расшифровки испорчены будут блок с ошибкой и следующий за ним блок)
требуется предварительная загрузка алгоритма
Этот режим предпочтителен для хранения больших массивов конфиденциальных данных.
Так же можно придумать схему, в которой ключ не является постоянным, но вычисляется, как функция от предыдущего блока:
Рисунок 0.5 Шифрование с ОС где ключ является функцией от предыдущего блока
В такой схеме необходима предварительная загрузка алгоритма генерации ключей K.
1.6.3Подстановки, перестановки, гаммирование
Под гаммированием понимается "процесс наложения по определенному закону гаммы шифра на открытые данные". Но это слишком общее определение -- под него подходит практически любой алгоритм (если назвать ключ гаммой). Здесь под гаммированием будет пониматься сложение открытых данных с гаммой по модулю 2 (хотя можно использовать и другой модуль, например, 256). Такая операция эффективно реализуется в современных микропроцессорах. Таким образом, некоторые схемы поблочного шифрования подходят под это определение, но скажем, DES или RSA – это не гаммирование.
Гамму можно получать по-разному, например, положить все байты гаммы равными одному и тому же числу. Это пример неудачного выбора гаммы. Вообще, чем гамма случайнее и чем длиннее ее период, тем лучше.
Для получения таких гамм, можно получать каждый следующий байт, как функцию предыдущего (генератор псевдослучайных чисел), или строить гамму на основе каких-либо аутентифицирующих параметров (это один из способов организации проверок этих параметров в программе).
1.6.4Отечественный стандарт -- гост 28147-89
Алгоритм криптографического преобразования данных ГОСТ 28147-89 -- является стандартом на криптографическую обработку в России. После создания он не публиковался, и был засекречен. Открыли его через пять лет после создания.
АКП является блочным симметричным шифром с длиной блока 64 бита. Базовый алгоритм ГОСТа используется в различных схемах:
простая замена (электронная кодировочная книга) (Рисунок 0 .1);
гаммирование (см. Рисунок 0 .2, плюс небольшое дополнение ниже);
шифрование с обратной связью (см. Рисунок 0 .4);
выработка иммитоприставки (иммитоприставкой является выход алгоритма E в схеме шифрования с обратной связью).
Рисунок 0.6 Базовый шаг алгоритма ГОСТ 28147-89
Ключ состоит из 256 битов и делится на 8 равных частей по 32 бита, которые называются подключами K[i], таблица замен – таблица 8x16 4-х битовых элементов S[i,j], i<8, j<16).
На входе -- две цепочки по 32 бита
где
K[i] – подключ номер i;
ROL-11 – циклический сдвиг на 11 бит влево;
S[j] – таблицы замены 4-х битовых величин.
Набор таблиц замены позволяет менять шифр не изменяя алгоритма шифрования и не ухудшая криптостойкости шифра.
Основной шаг применяется в различных режимах, различающихся порядком использования подключей, и числом повторений основного шага. Подключи используется в следующем порядке (ниже перечисляются их номера):
для шифрования (основной шаг выполняется 32 раза)
0-1-2-3-4-5-6-7-0-1-2-3-4-5-6-7-0-1-2-3-4-5-6-7-7-6-5-4-3-2-1-0
для расшифрования (тоже 32 раза) только в режиме простой замены
0-1-2-3-4-5-6-7-7-6-5-4-3-2-1-0-7-6-5-4-3-2-1-0-7-6-5-4-3-2-1-0
для выработки имитоприставки (16 раз)
0-1-2-3-4-5-6-7-0-1-2-3-4-5-6-7
Вкратце, о схемах использования АКП. Режим Простой замены является наиболее примитивным.
В режиме Гаммирования предусмотрено дополнительное преобразование гаммы перед каждым применением АКП:
G1 := (G1 + C1) mod 232,
G2 := (G2 + C2) mod (232 - 1);
где G1, G2 -- две 32-х битовых половины гаммы, С1=01010101h, C2=01010104h. Режим шифрования с обратной связью полностью совпадает со схемой шифрования с обратной связью из общего описания блочных шифров. Выработка цифровой сигнатуры происходит по той же схеме, но результатом является не зашифрованный текст, а значение гаммы шифра, получившееся после обработки всего текста (обычно используются только младшие 32 бита гаммы). Обратите внимание, что для выработки цифровой сигнатуры основной шаг вызывается только 16 раз, а не 32, как для шифрования с обратной связью.
Можно оценить, сколько надо в среднем перебрать различных текстов (N), чтобы подобрать один фальшивый текст с той же иммитоприставкой с вероятностью 0.5. Эта вероятность зависит от размера приставки M=2m (m – количество битов в иммитоприставке). Обычно используют младшие 32 бита иммитоприставки шифра ГОСТ 28147-89.