Академический Документы
Профессиональный Документы
Культура Документы
28147-89,
Intel x86.
,
Intel x86,
. , ,
1,5 1995 .
......................................................................................................................2
1. ...........................................................................................................................
1.1. ...............................................................................................................
1.2. .........................................
1.3. ...............................................................................................
1.4. ...................................................................
1.5. .......................................................................................................
2. .........................................................................
2.1. ....................................................................................
2.2. ...........................................................................................
2.3. ............................................
3. ..................................................................................................................
3.1. ...............................................................................................................
3.2. ...............................................................................
3.3. ............................................................................................................
4. .....................................................................................................
4.1. ............................................................................................................
4.2. ........................................................................................................
4.3. ................................................................................
2
.
, ,
. -
.
, ,
.
, .
, ,
, ,
, ! .
,
. , , , ,
, , .
,
. ,
,
. ,
.
. ,
, , .
,
. ,
. ,
,
,
,
, -
, ,
. ,
, ,
.
.
,
. 28147-89, ,
, 1989 . , ,
.
, .
, , 70-
. . ,
, .
. , ,
.
3
. .
,
, , . ,
,
, .
334 03.04.95
.
, ,
,
, , ..,
, , , .
, ,
,
, ?
, ,
. ,
,
. , , , ,
,
.
. , ,
DES,
, . ? ,
, ,
, DES. , ,
?!
, , ,
, - .
,
, , ,
.
91 94 , ( !)
Intel x86,
.
Intel x86.
,
.
, ,
.
. ,
,
. , ...
.
.
,
4
28147-89. ,
,
. ,
. ,
, ,
,
.
, ,
.
,
, ,
.
.
(, X). |X|
X . , X
, : 0X<2|X|.
,
: X = (X0, X1, ..., Xn-1) = X0||X1||...||Xn-1.
||. ,
: |X|=|X0|+|X1|+...+|Xn-1|.
. ,
, :
5
,
,
.
, , :
) ;
) ;
) .
,
, . ,
,
.
. ,
, .
.
1. 32- ,
: K {K i }0i 7 .
32- : 0 K i 232 . ,
328=256 32 .
2. 816, 4- ,
0 15.
, ,
16 0 15 .
0 i 7
H: H {H i , j }0 j 15 ,0 H i , j 15 .
, : 8 16 / 4 /
= 512 64 .
.
,
64- .
32- , -
. 1.
:
0. :
N 64- ,
(N1) (N2) 32-
. , N=(N1,N2).
X 32- ;
0. . 232
, ;
1. . 32- , ,
4- :
S=(S0,S1,S2,S3,S4,S5,S6,S7).
,
: Si Si-
( ) i- (.. i- ,
). ,
,
, , 4-
. :
4- 32- ,
, 4- ,
24, .
6
0
0. 11 .
(N , X )
1
S ( N 1 X ) mod 232
m = 0..7
2
11
.
11
11
.
Sm H m , S m
S 11 ( S )
S S N2
N 2 N1 , N1 S
6
(N )
. 1.
28147-89.
1. : , 3, 2
.
2. : ,
.
3.
.
.
,
, .
, ,
, ,
.
,
.
, .
,
. ,
,
. ,
,
.
, ,
.
7
.
.
1. 32-:
K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7,K7,K6,K5,K4,K3,K2,K1,K0.
2. 32-:
K0,K1,K2,K3,K4,K5,K6,K7,K7,K6,K5,K4,K3,K2,K1,K0,K7,K6,K5,K4,K3,K2,K1,K0,K7,K6,K5,K4,K3,K2,K1,K0.
3. 16-:
K0,K1,K2,K3,K4,K5,K6,K7,K0,K1,K2,K3,K4,K5,K6,K7.
- ,
n-X, (n),
, (X), ,
() ()
. :
,
, : 32-(32-(T))=T, T
64- , X(T) X
T. , ,
,
.
,
32- 32-.
: ,
32- 32-. ,
,
.
, ,
28147-89
.
8
0
(N )
k = 1..3
j = 0..7
1
N = ( N , K j )
,
, 16
, ,
,
.
j = 7..0
2
N = ( N , K j )
3
(N )
(N )
0
j = 0..7
1
N = ( N , K j )
k = 1..3
j = 7..0
2
N = ( N , K j )
(N )
. 2.
32-.
. 2.
32-.
0
(N )
k = 1..2
j = 0..7
1
N = ( N , K j )
(N )
. 2.
16-.
2-.
64 , N.
(N,X)
N
X.
, :
9
,
.
.
28147-89 :
,
,
,
.
64 ,
, ,
.
8 ,
,
8 .
, ,
:
T,T ;
Ti , Ti i- 64-
: T (T1 , T2 ,..., Tn ) , T (T1 , T2 ,..., Tn ) , in,
: |Ti | |Ti | 64 1 i <n, 1 |Tn | |Tn | 64 ;
n
64- ;
X
64-
X;
:
.
32-
, 32- .
, 64-
.
3 ,
.
,
, 64 : |T|=|T|=64n,
.
10
0
i = 1..
(T )
n
1
Ti 32 (Ti )
2
(T )
. 3.
.
0
i = 1..
(T )
n
1
Ti 32 (Ti )
2
(T )
. 3.
.
1. ,
.
,
,
.
2. 8 64 ,
,
64 . , ,
, ,
,
. , ,
, 64 ,
.
,
,
64 ,
64- . ,
. ,
: , 32 ,
64 . , 8-
,
.
,
, , ,
11
(. ). ,
.
.
? 64
, ,
.
, .
() () ,
,
, () .
, ,
264 64- .
2,
.
; ,
, ,
. ,
64 , ,
.
.
:
() 64-
, 32-,
, .
,
,
, 5.
, , :
i+1=f(i), i , f
. , ,
0. ,
, S,
,
.
,
32-: 0=32-(S). ,
, ,
: i=fi(0), fi(X)=f(fi1(X)), f0(X)=X.
:
i=32-(i)=32-(fi(0))=32-(fi(32-(S)))=i(S,K), i i- , K .
,
.
, -
. ,
,
,
.
,
12
,
.
,
. ,
- .
:
, ,
( )
264;
, ,
, ;
,
, ,
, 32 .
, :
64-
~
: i ( 0i , 1i ), | 0i | | 1i | 32, 0i 1 f ( 0i ), 1i 1 f (1i ) , ,
.
:
0i 1 ( 0i C1 ) mod 232 ,
C1=101010116;
1
1
32
i 1 ( i C 2 1) mod ( 2 1) + 1 , C2=101010416;
, ,
, , 16- .
,
: 1i 1 ( 1i C 2 ) mod ( 232 1) , C2.
, , ,
2321 , .
, (2321)mod(2321)=(2321), 0.
, ,
.
232,
2321, 232(2321),
, , .
, , ,
32- .
13
0
1
S=
(T
( )
323
, S)
4,
:
(S )
i = 1 ..n
2
S 0= (S 0+ C 1)m o d 2 32
S 1= (S 1+ C 2 1 )
m o d (2 32 1 ) + 1
3
Ti() Ti () 32 ( S )
4
(T
( ))
. 4.
()
.
0. :
T() () ,
(),
64 ;
S , 64- ,
;
0. , ,
, ,
;
1. , .
(S1) (S0)
;
2.. 64- , ,
32,
() ()
.
3. () .
.
1.
, .
2. ,
,
. ,
1 .
3. , , -
.
:
,
, 8 ;
,
;
14
, ,
, , ,
. ,
,
,
.
,
- . ,
,
,
.
.
, . ,
,
, .
,
,
, ()
.
, ,
.
.
. ,
, ,
: ti ti i f ( ti , i ) . ,
:
t i t i 1 ( t i i ) 1 ( t i 1) i t i i ,
t t ( 0 1, 1 0 ).
, ,
. ,
. ,
.
, ,
,
.
.
.
32- ,
.
.
.
.
15
0
i = 1..
(T
, S)
()
-
5
.
1
Ti() Ti () 32 ( S )
2
S Ti
(T
()
. 5.
()
.
, ,
.
:
Ti Ti i , ;
Ti Ti 32 (Ti1 ) , ;
,
.
,
,
. , ,
,
, ,
. ,
, ,
1/2
.
.
. ,
,
.
, ,
. ,
,
? .
,
,
, .
, ,
, .
, , ,
, .
16
, , , .
:
, ,
,
.
. ,
0
. (T )
.
, ,
1
S=0
.
i = 1 ..n
2
,
S 16 ( S Ti )
:
3
= ( s 0 ,s 1 ,...,s r-1 )
( )
. 6.
.
;
;
6.
, , 32 .
,
2|| .
32
2320.23109.
.
.
,
.
:
;
, ;
, ,
.
,
, .
,
, . ,
17
, , ,
.
, .
, , ,
, ,
.
.
,
. ,
,
, .
, DES ,
,
, , ..
. ,
.
256-
2256.
, .
DES
56 2 56.
.
DES ,
. , 1998
.
.
, 28147-89
, .
, DES.
, , .
, ,
.
,
, .
, , ,
.
,
, . 7.
,
.
, ,
,
. ,
(X),
. ,
18
: |N1|=|N2|=|X|,
DES 32 .
N 2 f (N 1, X )
. 7.
, .
, 1,2,3 ,
4 5
.
DES ,
.
32 , DES 16.
DES,
. ,
DES .
. ,
.
DES Intel x86
, .
, ,
DES,
.
.
.
. , DES
,
,
.
- , .
.
, , ,
19
, .
.
. ,
, , ,
,
.
,
, :
1. ,
0 1.
,
. , ,
. ,
,
, .
,
, , , , ,
. ,
,
. ,
.
,
0 1 (
), .
.
2. ,
, .
,
.
.
.
,
. ,
. ,
,
, (..
)
, .
. ,
.
0 15,
, ,
,
.
.
32 32 ,
0 15. ,
, , , ,
. ,
, . ,
20
,
, ,
,
.
,
, ,
, ()
.
,
. (
) .
,
.
,
make1key.c.
2 ,
- .
.
,
,
. , .
DOS, DOS- Windows
3.x/95 ,
, Windows NT (
) .
.
.
,
,
.
, .
16- Intel 808880286
, ,
. ,
,
16-. 32 (Intel 80386 )
32-, .
,
.
, ,
.
1. ( , ), 32 .
21
,
.
,
.
2. 8 4 .
4- ,
(xlat). :
;
,
4- .
,
, ,
. 4-
8- , , ,
, . 4-
16 , 8- 256 .
, , ,
4256=1024 , . ,
.
1.
11 . 16-
32- 1 ,
,
1 . ,
11 8 ,
3 . , ,
(xchg).
.
xlat,
AL, , ,
.
, ,
8 ,
.
, ,
1 , ,
,
(adc),
,
!
.
Intel x86,
16- 32- . 32-
16- .
, .
, 1.
22
,
.
1. .
.
16
32
1.
gost.asm
gost~.asm
2. -
simple.asm
simple~.asm
3. -
gamma.asm
gamma~.asm
4.
gammale.asm
gammale~.asm
5.
gammald.asm
gammald~.asm
6.
imito.asm
imito~.asm
7.
expkey.asm
expkey~.asm
8. (1)
expcht.asm
(128 )
9. , ,
ge386cpu.asm
, 32-.
10. gost.h
,
,
.
.
1. (..
) , .
.
:
;
( )
, , ,
,
;
, , -
( ).
1.
. ,
( , .
) .
, 8 .
2. -
.
.
.
23
3. -
,
. ,
(. .5,
1),
,
.
4.
. , ,
( !)
, , .
5. ()
Borland TASM 2.5 ,
Borland C/C++ 2.0 .
.
. :
cryptor.c ;
gost.mak 16-
;
gost386.mak
32-
.
( )
.
.
, ,
. (
, 1193180 ),
.
()
.
32
2 /11931803599.6 , .
, .
, 32- 32-
. ,
2. 32-
32- (
).
DES,
7/1994. ,
,
,
, . (
) DES .
2.
, ..,
DES
24
2.
, ..,
imito
40.8
DES
11.2
93.7
139
124
185
177
264
226
321
451
637
601
777
22.0
25.9
39.3
41.2
82.2
88.7
.
3 ( 70 /)
4 ( 400 /).
,
. ,
.
? ,
, .
gost, 32
, .
,
32+32+16=80 .
, .
.
.
.
,
.
. , ,
,
, .
,
,
. , ,
, , . ,
, , ,
.
25
.
, ,
.
,
.
,
( , ..),
, , .
, (
). ,
.
,
.
,
N=nm, n 32-
, m ,
n=8, m=4. ,
.
, ,
.
( ), ,
. ,
(
).
,
.
( ),
(m=4=3+1), (n=2)
.
64-
, DES 56 .
, ,
,
,
.
.
,
.
.
. ,
0 1 , ,
.
, .
, , ,
26
.
, 28147-89, , ,
. ,
,
, 32 .
. ,
,
.
,
Internet 1988 .
: ,
,
. ,
,
.
, ,
,
. ,
.
.