Особенности программной реализации ГОСТ 28147-89

ГОСТ 28147‑89 описывает общий алгоритм шифрования, а также приводятся схемы реализации в виде операционного автомата. Такая схема не всегда подходит для программной реализации.

В частности, наиболее «неудобной» в реализации операцией оказалась операция замены в таблице замен. На рисунке (Рис. 2.8) показано действие этой операции. По сути, на вход таблицы замен подается 8 четырехразрядных двоичных чисел и на выходе получают 8 четырехразрядных чисел — значений из таблицы замен. Каждое число является индексом в массиве, где массив это строка таблицы. Т.е. если i‑ое число равно j, то оно заменяется на значение j‑ой ячейки i‑ой строки таблицы замен.

Рис. 2.8. – Работа таблицы замен

На практике гораздо удобнее пользоваться модифицированной таблицей замен. Если преобразовать таблицу по следующим формулам

, (2.4)

, (2.5)

 

то таблица и процесс замены будут выглядеть как на следующем рисунке (Рис. 2.9).

Рис. 2.9. ‑ Работа модифицированной таблицы замен

 

В результате вместо 8 однотипных операций будет выполняться только 2 однотипные операции, что скажется возрастанием скорости работы блока замен приблизительно в 4 раза. На самом деле, из‑за того, что ячейка таблицы замен стала 16‑ти разрядной, и того, что в результате такой модификации стало возможным работать с косвеннорегистровой индексацией по базе, скорость возрастает более чем в 4 раза.

 


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



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