Сравнительный анализ российского стандарта шифрования по гост р 34. 12–2015 и американского


Шифр «Кузнечик» по ГОСТ Р 34.12–2015. Описание шифра


Download 232.22 Kb.
Pdf ko'rish
bet2/8
Sana20.06.2023
Hajmi232.22 Kb.
#1627525
1   2   3   4   5   6   7   8
Bog'liq
amal

Шифр «Кузнечик» по ГОСТ Р 34.12–2015. Описание шифра. В российском 
шифре ГОСТ Р 34.12–2015 «Кузнечик» применяется SP-сеть 
(
Substitution-
Permutation network, подстановочно-перестановочная сеть) — разновидность 


М.А. Соболев 
2
Политехнический молодежный журнал. 2022. № 04 
блочного шифра, предложенная в 1971 г. Хорстом Фейстелем. В простейшем 
варианте SP-сеть представляет собой «сэндвич» из слоев двух типов, используе-
мых многократно по очереди. Слой первого типа — P-слой, состоящий из
P-блока большой разрядности, за ним идет слой второго типа — S-слой, пред-
ставляющий собой большое количество S-блоков малой разрядности, потом 
опять P-слой и т. д. 
S-блок — блок подстановок, блок нелинейных замен. На вход данного блока 
поступает один поток бит (блок данных), а на выходе получается другой. Осо-
бенностью блока подстановок является то, что если на вход подается поток
бит A, то на выходе получится поток бит B, а если на выход подать поток бит B, 
то на входе будет поток бит A. 
P-блок — блок перестановок, блок линейных замен. Представляет собой 
частный случай S-блока. На выходе этого блока поток будет содержать те же 
биты, что и поток, поступивший на вход, но в новом потоке положение битов 
изменено по сравнению с входным потоком. 
Шифр «Кузнечик» имеет 128-битный размер входного блока данных,
256-битный ключ и выполняет 10 раундов шифрования. В последнем раунде 
шифрования выполняется только одна операция — наложение раундового 
ключа. 
В линейном преобразовании алгоритма «Кузнечик» используются операции 
с байтами, которые переставляются как элементы поля Галуа: 
=
8
(2 ).
F GF
В шифре «Кузнечик» преобразование осуществляется с помощью неприводимо-
го полинома: 
=
+
+
+ +
8
7
6
( )
1.
m x
x
x
x
x
Байты-константы задаются целыми числами, двоичные разряды которых 
служат соответствующими коэффициентами полинома.
Сначала выполняется операция наложения раундового ключа с помощью 
операции побитового XOR: 
= ⊕
[ ]( )
.
X k a k a  
На следующем этапе входной 128-битовый блок a алгоритма шифрования 
представляется в виде 16-байтной последовательности, байты которой нумеру-
ются справа налево, начиная с нулевого байта:
=

15
14
1
0
||
|| || || ,
a a
a
a a  
где знаком || обозначена операция конкатенации строк. 
Нелинейная подстановка применяется к каждому байту и задается следую-
щим массивом: 
π = 252,238,221,17,207,110,49,22,251,196,250,218,35,197,4,77,233,119,240,219,
(
147,
46,153,186,23,54,241,187,20,205,95,193,249,24,101,90,226,92,239,33,129,28,60,66,


Сравнительный анализ российского стандарта шифрования…
Политехнический молодежный журнал. 2022. № 04 

139,1,142,79,5,132,2,174,227,106,143,160,6,11,237,152,127,212,211,31,235,52,44,81,
234,200,72,171,242,42,104,162,253,58,206,204,181,112,14,86,8,12,118,18,191,114,19,
71,156,183,93,135,21,161,150,41,16,123,154,199,243,145,120,111,157,158,178,177,50, 
117,25,61,255,53,138,126,109,84,198,128,195,189,13,87,223,245,36,169,62,168,67,201,
215,121,214,246,124,34,185,3,224,15,236,222,122,148,176,188,220,232,40,80,78,51,10,
74,167,151,96,115,30,0,98,68,26,184,56,130,100,159,38,65,173,69,70,146,39,94,85,47,
140,163,165,125,105,213,149,59,7,88,179,64,134,172,29,247,48,55,107,228,136,217,
231,137,225,27,131,73,76,63,248,254,141,83,170,144,202,216,133,97,32,113,103,164,
45,43,9,91,203,155,37,208,190,229,108,82,89,166,116,210,230,244,180,192,209,102,
175,194,57,75,99,182)

Каждый байт 
i
принимает значение в диапазоне от 0 до 255 и массив π 
имеет 256 элементов, поэтому при = 0
i
a
значение 
i
 будет заменено значением 
π
=
(0) 252, а при =
1
i
a
— значением π =
(1) 238 и т. д. В целом для выходного 
блока нелинейная подстановка определяется следующей формулой: 
π
= π

= π
… π
15
0
15
0
( )
( || ||
(
|| || (
)
)
).
a
a
a
a
 
Линейное перемешивание L шифра «Кузнечик» может быть описано с по-
мощью алгоритма линейного регистра сдвига R
1) байты 
i
 представляют в виде полиномов из поля Галуа 
8
(2 );
GF
2) в поле F вычисляют новый байт: 
γ

=
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+

15
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
(
, ) 148
32
133
16
194
192
251
192
194
16
133
32
1
,
;
48
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a a
3) записывают выражение, осуществляющее сдвиг вправо строки байтов: 

= γ


15
0
15
0
15
14
1
(
,
(
,
||
||
|| ||
,
)
,
)
;
R a
a
a
a
a
a
 
4) шаги 1–3 повторяют 16 раз; при этом получаемая строка 
=
16
(
(
)
)
L a R a  не 
содержит ни одного не преобразованного символа. 
В результате выполнения действий 1–4 шифрование 128-битного входного 
блока будет описываться следующей формулой: 
=

1
10
9
2
( )
[
[
]
]
]
]( )
[
,
[
E a
X K LSX K
L
K LSX K a
SX
где 
i
 — ключи раундов, записанные подряд преобразования; 
[ ]
i
LSX K  — по-
следовательное применение преобразований справа налево, т. е. сначала осу-
ществляется прибавление ключа, затем нелинейная подстановка S, а после про-
исходит линейное перемешивание L


М.А. Соболев 
4
Политехнический молодежный журнал. 2022. № 04 

Download 232.22 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling