<< Пред. стр.

стр. 2
(общее количество: 2)

ОГЛАВЛЕНИЕ

* использовать для шифрования и вычисления имитовставки различные ключи;
Использование двух ключей вместо одного не совсем удобно, поэтому создатели ГОСТа пошли по первому пути - они разработали отдельный алгоритм EK', предназначенный исключительно для вычисления имитовставки. Если для шифрования простой заменой на каждом шаге используется цикл 32-З, выражаемый в терминах композиции простых преобразований (см. раздел 4 настоящей статьи) следующим образом: , то при вычислении имитовставки используется упрощенный цикл 16-З, содержащий первые 16 шагов цикла 32-З: . Упрощенный алгоритм вычисления имитовставки позволяет достигнуть примерно вдвое большего быстродействия по сравнению с режимами шифрования.
Другие отличия алгоритма вычисления имитовставки от алгоритма гаммирования с обратной связью обусловлены приведенными ранее причинами и заключаются в следующем:
* не используется синхропосылка;
* комбинирование кода с данными с помощью функции ? осуществляется не после, а до шага криптопреобразования: I0 = 0, Ii = EK'(Ii-1 ? Ti), i = 1,2,...,n.
Второе свойство устраняет уязвимость имитовставки по последнему блоку сообщения.
Отметим, что в качестве имитовставки может браться не весь, а только часть полученного блока In: I = ( In )1...L, где L = | I | - размер имитовставки. Как правило, это 32 младших бита блока In. Размер имитовставки L определяет вероятность успешного навязывания ложных данных, которая равна p = 2-L. В заключении данного раздела отметим, что в режиме вычисления имитовставки ГОСТ разрешает добавлять в начало текста его учетные параметры, такие, как дата последней модификации файла и его размер, и т.д.: I(T) = I(U,T), где U - вектор учетных параметров.
Заключение.
На этом автор вынужден поставить точку, хотя без рассмотрения осталось большое число важных вопросов, в частности, совсем не были затронуты вопросы реализации Российского стандарта в виде аппарата или программы для ЭВМ, представляющие в последнее время наибольший интерес для широкого круга специалистов. Тем не менее автор надеется, что данная статья будет полезна всем интересующимся криптографическими методами защиты информации. В качестве дополнения к статье прилагается набор уравнений для всех режимов криптопреобразований по ГОСТ 28147-89, являющийся по сути формальным и достаточно полным описанием стандарта.
Литература.
1. Дж. Л. Месси. Введение в современную криптологию. ТИИЭР, т.76, №5, Май 88, М, Мир, 1988, с.24-42.
2. М. Э. Смид, Д. К. Бранстед. Стандарт шифрования данных: прошлое и будущее. ТИИЭР, т.76, №5, Май 88, М, Мир, 1988, с.43-54.
3. У. Диффи. Первые десять лет криптографии с открытым ключом. ТИИЭР, т.76, №5, Май 88, М, Мир, 1988, с.54-74.
4. А. Н. Лебедев. Криптография с открытым ключом и возможности ее практического применения. Тем. Сб. "Защита информации", вып. 2, М.1992, с.129-147.
5. А. В. Спесивцев и др. Защита информации в персональных компьютерах. М., Радио и связь, 1992, с.140-149.
6. ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования.
7. С. Мафтик. Механизмы защиты в сетях ЭВМ. М., Мир, 1992.
8. В. Жельников. Криптография от папируса до компьютера. М., ABF, 1996.

Приложение Уравнения криптографических преобразований согласно ГОСТ 28147-89
Режим
Уравнение зашифрования
Уравнение расшифрования
Дополнительная информация
Простая замена
Ti' = EK(32)(Ti), 1 ? i ? n
Ti = DK(32)(Ti'), 1 ? i ? n
-
Гаммирование
Ti' = Ti ? EK(32)(?i), 1 ? i ? n
Ti = Ti' ? EK(32)(?i), 1 ? i ? n
?0 = EK(S), ?i = (?i,0,?i,1), 0 ? i ? n
?i,0 = (?i-1,0 + C0) mod 232, 1 ? i ? n
?i,1 = (?i-1,1 + C1 - 1) mod (232 - 1) + 1,
1 ? i ? n, C0 = 101010116 , C1 = 101010416 .
Гаммирование с обратной связью
Ti' = Ti ? EK(32)(Ti'-1), 1 ? i ? n
Ti = Ti' ? EK(32)(Ti'-1), 1 ? i ? n
T0' = S.
Выработка имитовставки
-
-
I0 = 0, Ii = EK(16)(Ii-1 ? Ti), 1 ? i ? n,
I = (In)1..L
Пояснения:
Ti,Ti' - i-тый блок открытого и зашифрованного текста соответственно;
S-синхропосылка - массив данных размером | S | = 64 бит;
I-имитовставка - массив данных размером L не более 64 бит: L = | I | < 64;
EK(32) = (?1S?2S...S?8S)3(?8S...S?2S?1) - преобразование цикла зашифрования (32-З);
DK(32) = (?1S?2S...S?8S)(?8S...S?2S?1)3 - преобразование цикла расшифрования (32-Р);
EK(16) = (?1S?2S...S?8S)2 - преобразование цикла выработки имитовставки (32-З);
S(T0,T1) = (T1,T0) - операция перестановки старшей и младшей 32-битовых половин преобразуемого блока данных;
?i(T0,T1) = (T0,T1 ? fH(T0,Ki)) - операция одного шага преобразования 64-битового блока данных, 1 ? i ? 8;
fH(t,k) = R?11(CH((t + k) mod 232)) - функция шифрования, t-преобразуемый блок данных, k-используемый на шаге элемент ключа - 32-битовые блоки данных: | t | = | k | = 32;
R?11 - операция вращения (циклического сдвига) 32-битового блока данных на 11 бит влево (в сторону старших битов);
CH - операция преобразования 32-битового блока данных, заключающаяся в поблочной подстановке 4-битовых групп данных по таблице замен H = {hi,j}1 ? i ? 8,1 ? j ? 16 : ;



2





<< Пред. стр.

стр. 2
(общее количество: 2)

ОГЛАВЛЕНИЕ