Классификация

Download Report

Transcript Классификация

 N – входной блок
(64 бита)
 X – раундовый ключ
(32 бита)
 H – таблица замен
gost32 PROC
iloop: mov
EBP,EAX
add
add
REPT 3
xlat
ror
add
EBX,100h
ENDM
xlat
sub
EBX,300h
rol
EAX,3
xor
EAX,[ESI]
ESI,4
EAX,8
EAX
AL
 Характеристика поля р - простое число
 Число элементов поля pn
- натуральная степень простого числа
 В поле определены операции сложения
и умножения
 В поле существуют элементы 0, 1, -α, α-1
 В поле существует особый элемент ω,
называемый примитивным
0
1
2
 Сложение
4 + 5 = 9 mod 7 = 2
3
4
5
 Умножение
5 • 4 = 20 mod 7 = 6
6
n
100...010
001...110
...
101...011
2n
1*xn-1 + 0*xn-2 + 1*xn-3 + … + 0*x2 + 1*x + 1
(x6 + x4 + x2 + x + 1) + (x7 + x + 1) =
= x7 + x6 + x4 + x2 + 2x + 2 = x7 + x6 + x4 + x2
01010111
10000011 = 11010100
φ(х) = x8 + x4 + x3 + x + 1
(x6 + x4 + x2 + x + 1) · (x7 + x + 1) mod (x8 + x4 + x3 + x + 1) =
= (x13 + x11 + x9 +x8 + x6 + x5 + x4 + x3 + 1) mod (x8 + x4 + x3 + x + 1) =
= x7 + x6 + 1
φ(х) = x4 + x + 1
1
x
x2
x3
x+1
1
ω
ω2
ω3
ω4
...
x3 + 1
1
ω14
ω15 = 1
i
j
(i + j) mod 15
ω ·ω = ω
x3 · (x3 + 1) mod (x4 + x + 1) =ω3 · ω14 = ω2 = x2
БУ
aN
aN-i
Q0
...
a0
Qi
...
QN-1
Ф(х) = x8 + x7 + x5 + x3 + 1
~x8
1
~x7
2
~x5
3
4
~x3
5
6
~1
7
8
Lfsr
PROC
shl
AX, 1
jnc
Exit
xor
AX, FeedBack
Exit:
ret
Lfsr
ENDP
FeedBack – вектор обратных связей,
например, для Ф(х) = x8 + x7 + x5 + x3 + 1
FeedBack = 0D4h
AL – входной байт;
AH – параметр преобразования;
DS: BX – адрес массива Addr&H
Hsize = 256
Rbox8 PROC
push
xlat
add
add
HSize
xlat
pop
ret
Rbox8 ENDP
BX
AL, AH
BX,
BX
Addr[0]
Addr[1]
Addr[2]
...
H[0]
H[1]
H[2]
...
 Ситуация с ГОСТом неопределенная:
запас его прочности велик, но в то же время
имеются предпосылки для его пересмотра
 Необходима специальная команда, суть которой
n тактов работы генератора элементов поля GF(2n)
 Необходимы специальные команды, реализующие
операции 4- и 8-разрядной замены
 Желательна специальная команда, реализующая
такт работы стохастического сумматора