ГОСТ Р 34.12—2015
lnts: Vs-» 22.
А: Ув —»F
V: F —* \/8
Ф У
Л«<11
циклический сдвиг строки А е V32 на 11 компонент в сторону компонент,
имеющих большие номера;
операция покомпонентного сложения по модулю 2 двух двоичных строк
одинаковой длины;
z2.
кольцо вычетов по модулю 2*;
Ш
операция сложения в кольце 22м;
F
конечное
элементы
поле GF(2)(х]ф(х), где р{х) = xs + x7+ x6 + x + 1eGF(2)[x];
поля F представляются целыми числами, причем элемен
туz0 + z, •0 ♦ ... ♦ z7 ■97€Fсоответствует числоz0 + 2 ■z1+ ... + 27 •z7,
где z, e {0.1}, i = 0.1
......
7 и 0обозначает класс вычетов по модулюр(х).
содержащий х;
Veca:
г2. -+ Vt
биективное отображение, сопоставляющее элемент у кольца 2г. его
двоичное представление, т. е. для любого элемента zе Z2«. представ
ленноговвиде
2
=
2
о + 2 •z, ♦ ... + 24’ 1 ■
2
а.,,
гдег, 6 {0.1}. /= 0,1
......
s-1,выполнено
равенство Veca(
2
) = = zs., ||...||z, ||
2
э;
отображение, обратное к отображению Vecs, т.е. Inta= Vec^;
биективноеотображение.сопоставляющеедвоичнойстроке
из Vg элемент поля F следующим образом:
строке z7||...||z, ||Zo.
z
, е {0, 1}, /= 0 .1 ..... 7соответствует
элемент z^ + ♦
2
, •0 + ... + zT•07е F;
отображение, обратное к отображению Л, r.e.V = А’1;
композиция отображений, при которой отображение У действует
первым;
Ф4
композиция отображений Ф5’ и Ф. причем Ф = Ф.
3 Общие положения
В настоящем стандарте приведено описание двух базовых блочных шифров с длинами
блоков п = 128 бит и п = 64 бит и длинами ключей к = 256бит.
П р и м е ч а н и я
1 На описанный в настоящем стандарте шифр с длиной блока л = 128 бит можно ссылаться как на
блочный шифр «Кузнечик» («Kuznyechik»).
2 На описанный в настоящем стандарте шифр с длиной блока п = 64 бит (ложно ссылаться как на блочный
шифр «Магма» («Magma»).
4 Алгоритм блочного шифрования с длиной блока п = 128 бит
4.1 Значения параметров
4.1.1 Нелинейное биоктивное прообразование
В качестве нелинейного биективного преобразования выступает
подстановка тт = Vec3n’lnta; V8 -»
VB,
где гГ: 22»-»
2 24
. Значения подстановки тт*записаны ниже в виде
массива if = (тт’(0), тт’(1)
......
тт’(255)):
тт*= (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. 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).
3