Сравнительный анализ российского стандарта шифрования по гост р 34. 12–2015 и американского
Шифр «Кузнечик» по ГОСТ Р 34.12–2015. Описание шифра
Download 232.22 Kb. Pdf ko'rish
|
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 3 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 a принимает значение в диапазоне от 0 до 255 и массив π имеет 256 элементов, поэтому при = 0 i a значение i a будет заменено значением π = (0) 252, а при = 1 i a — значением π = (1) 238 и т. д. В целом для выходного блока нелинейная подстановка определяется следующей формулой: π = π … = π … π 15 0 15 0 ( ) ( || || ( || || ( ) ) ). a a a a a Линейное перемешивание L шифра «Кузнечик» может быть описано с по- мощью алгоритма линейного регистра сдвига R: 1) байты i a представляют в виде полиномов из поля Галуа 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 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 K — ключи раундов, записанные подряд преобразования; [ ] i LSX K — по- следовательное применение преобразований справа налево, т. е. сначала осу- ществляется прибавление ключа, затем нелинейная подстановка S, а после про- исходит линейное перемешивание L. М.А. Соболев 4 Политехнический молодежный журнал. 2022. № 04 Download 232.22 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling