Криптографические алгоритмы. Стригунов В.В. - 8 стр.

UptoLike

Составители: 

8
По входным четырем битам определяется номер элемента в S-блоке,
который поступает на выход. Выходы всех восьми S-блоков объединяются в 32-
битовое слово, затем все слово циклически сдвигается влево на 11 бит. Наконец,
результат объединяется с помощью XOR с левой половиной, и получается новая
правая половина, а правая половина становится левой половиной. Эти операции
выполняются 32 раза. После этого левая и правая части меняются местами.
Запишем базовый цикл алгоритма ГОСТ.
Вход: Блок
L
,
R
, раундовый ключ
W
.
Выход: Преобразованный блок
L
,
R
.
FOR = 0 TO 31 DO
;
=
7
0
16
;
FOR = 0 TO 7 DO
;
11
;
;
;
RETURN , .
Для шифрования и дешифрования сообщения используется один алгоритм.
Единственным различием является генерация раундового ключа. Чтобы
дешифровать блок, строим раундовый ключ
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
Раунды 1-8 Раунды 9-16 Раунды 17-24 Раунды 25-32
K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K
W
,
подаем на вход
Y
и на выходе получаем
X
.
Если исходное сообщение имеет размер больше, чем 64 бита, то оно
разбивается на отдельные блоки. Каждый блок шифруется независимо от
остальных с использованием одного и того же ключа. Данный режим работы
алгоритма называется простой заменой.
Лабораторная работа № 2
«БАЗОВЫЕ АЛГОРИТМЫ ТЕОРИИ ЧИСЕЛ»
Задание. Написать и отладить набор подпрограмм, реализующих базовые
алгоритмы, используемые в изученных криптосистемах с открытым ключом:
возведение в степень по модулю (
mod
x
ap
), вычисление наибольшего общего
делителя (
),( baНОД
), вычисление инверсии (
).