30.10.2015 Views

GOST_R_3412-2015

GOST_R_3412-2015

GOST_R_3412-2015

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ГОСТ Р 34.12 <strong>2015</strong><br />

5 Алгоритм блочного шифрования с длиной<br />

блока n = 64 бит<br />

5.1 Значения параметров<br />

5.1.1 Нелинейное биективное преобразование<br />

В качестве нелинейного биективного преобразования выступают подстановки<br />

π i = Vec 4 π i 'Int 4 : V 4 → V 4 , где π i ': Z 2<br />

4 → Z 2<br />

4, i = 0, 1, …, 7. Значения подстановок π i '<br />

записаны ниже в виде массивов π i ' = (π i '(0), π i '(1), …, π i '(15)), i = 0, 1, …, 7:<br />

π 0 ' = (12, 4, 6, 2, 10, 5, 11, 9, 14, 8, 13, 7, 0, 3, 15, 1);<br />

π 1 ' = (6, 8, 2, 3, 9, 10, 5, 12, 1, 14, 4, 7, 11, 13, 0, 15);<br />

π 2 ' = (11, 3, 5, 8, 2, 15, 10, 13, 14, 1, 7, 4, 12, 9, 6, 0);<br />

π 3 ' = (12, 8, 2, 1, 13, 4, 15, 6, 7, 0, 10, 5, 3, 14, 9, 11);<br />

π 4 ' = (7, 15, 5, 10, 8, 1, 6, 13, 0, 9, 3, 14, 11, 4, 2, 12);<br />

π 5 ' = (5, 13, 15, 6, 9, 2, 12, 10, 11, 7, 8, 1, 4, 3, 14, 0);<br />

π 6 ' = (8, 14, 2, 5, 6, 9, 1, 12, 15, 4, 11, 0, 13, 10, 3, 7);<br />

π 7 ' = (1, 7, 14, 13, 0, 5, 8, 3, 4, 15, 10, 6, 9, 12, 11, 2).<br />

5.2 Преобразования<br />

При реализации алгоритмов зашифрования и расшифрования используются<br />

следующие преобразования:<br />

t: V 32 → V 32 t(a) = t(a 7 ||…||a 0 ) = π 7 (a 7 )||…||π 0 (a 0 ),<br />

где a = a 7 ||…||a 0 ∈ V 32 , a i ∈ V 4 , i = 0, 1, …, 7;<br />

g[k]: V 32 → V 32 g[k](a) = (t(Vec 32 (Int 32 (a) ⊞ Int 32 (k)))) ⋘ 11 ,<br />

где k, a ∈ V 32 ;<br />

G[k]: V 32 × V 32 → V 32 × V 32 G[k](a 1 , a 0 ) = (a 0 , g[k](a 0 ) ⊕ a 1 ),<br />

где k, a 0 , a 1 ∈ V 32 ;<br />

G [k]: V 32 × V 32 → V 64 G [k](a 1 , a 0 ) = (g[k](a 0 ) ⊕ a 1 )||a 0 ,<br />

где k, a 0 , a 1 ∈ V 32 .<br />

(14)<br />

(15)<br />

(16)<br />

(17)<br />

5.3 Алгоритм развертывания ключа<br />

Итерационные ключи K i ∈ V 32 , i = 1, 2, …, 32, вырабатываются на основе ключа<br />

K = k 255 ||…||k 0 ∈ V 256 , k i ∈ V 1 , i = 0, 1, …, 255, и определяются равенствами:<br />

K 1 = k 255 ||…||k 224 ;<br />

K 2 = k 223 ||…||k 192 ;<br />

K 3 = k 191 ||…||k 160 ;<br />

K 4 = k 159 ||…||k 128 ;<br />

9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!