ВУЗ:
Составители:
Этот алгоритм криптографического преобразования данных предназначен для аппа-
ратной или программной реализации, удовлетворяет криптографическим требованиям и
не накладывает ограничения на степень секретности защищаемой информации.
Из-за сложности алгоритма приведем только основные его идеи. Чтобы получить
подробные спецификации алгоритма криптографического преобразования, следует обра-
титься к оригиналу.
При описании алгоритма используются следующие обозначения. Если L и R – это
последовательности бит, то LR будет обозначать конкатенацию последовательностей L и
R. Под конкатенацией последовательностей L и R понимается последовательность бит,
размерность которой равна сумме размерностей L и R. В этой последовательности биты
последовательности R следуют за битами последовательности L. Конкатенация битовых
строк является ассоциативной, т.е. запись ABCDE обозначает, что за битами последова-
тельности A следуют биты последовательности B, затем C и т.д.
Символом (+) будет обозначаться операция побитового сложения по модулю 2, сим-
волом [+] – операция сложения по модулю 2
32
двух 32-разрядных чисел, символом {+} –
операция сложения по модулю 2
32
– 1 двух 32 разрядных чисел.
Алгоритм криптографического преобразования предусматривает несколько режи-
мов работы. Но в любом случае для шифровки данных используется ключ, который име-
ет разрядность 256 бит и представляется в виде восьми 32-разрядных чисел X(i). Если
обозначить ключ через W, то
W = X(7)X(6)X(5)X(4)X(3)X(2)X(1)X(0).
Расшифрование выполняется по тому же ключу, что и зашифрование, но этот процесс
является инверсией процесса зашифрования данных.
Общая структурная схема ГОСТ 28147–89 приведена на рис. 6.6.
Стандартом определены следующие алгоритмы криптографического преобразова-
ния информации: замена, гаммирование, гаммирование с обратной связью, выработка
имитовставки.
Первый и самый простой режим – замена. Открытые данные, подлежащие зашифро-
ванию, разбивают на блоки по 64 бит в каждом, которые можно обозначить T(j).
Очередная последовательность бит T(j) разделяется на две последовательности B(0)
(левые или старшие биты) и A(0) (правые или младшие биты), каждая из которых содер-
жит 32 бита. Затем выполняется итеративный процесс шифрования, который описывает-
ся следующими формулами:
T
(i-1)
ш
T
(i)
ш
(T
(i)
0
)
32…..………..............1
32…..…………….......1
32…..……..…….........1
32…..………..............1
32…..……..…….........1
32…..…….…….........1
32…..…….…….........1
32…..……….….........1
CM5
X
6
X
5
X
4
X
3
X
2
X
1
X
0
32…..………...............1
K
1
K
2
K
3
K
4
K
5
K
6
K
7
K
8
32
1
T
(i)
0
(T
(i)
ш
)
КЗУ
R
CM1
C
1
C
2
N6
CM4
N4
N2
N5
CM3
N3
N1
Г
(i)
ш
K
Страницы
- « первая
- ‹ предыдущая
- …
- 69
- 70
- 71
- 72
- 73
- …
- следующая ›
- последняя »