GNU Free Documentation License . .

DES

: ,
DES, Data Encryption Standard
:

IBM

:

1977 .

:

1977 .

:

56

:

64

:

16

:

DES (Data Encryption Standard , IBM 1977 (FIPS 46-3). DES 64 16 , 56 . (S-) ( E, IP, IP-1) . DES :

  • (ECB  Electronic Code Book),
  • (  Cipher Block Chaining),
  • (CFB  Cipher Feed Back),
  • (OFB  Output Feed Back).

DES Triple DES.

[]

1972 , , ( )  ( )  . 15 1973 , ( ), , , . 27 1974. , Lucifer, IBM 19731974 , .

17 1975 DES . 2 , , : S- ( ), . , . , , 1978, , DES IBM, , DES, S-, , DES , , . , .

S- 1990, (Eli Biham) (Adi Shamir)   . S- DES , , . , 70- XX .

1998 250 . ., RSA Laboratory «» (DES) . ( , , 39 ). - , . DES Challenge II, RSA Laboratory Electronic Frontier Foundation (EFF), Internet. , RSA Laboratory , DES 56- , EFF DES Cracker. , DES . « DES »,  EFF . , , 40 . , RSA Laboratory, . , . « - »,  , DES Challenge EFF.

DES . , DES, , .

[]

.1
.2

n k- . , , n- , . .

:

  • .
  • .

, . , , , . , .

[]

() . DES (. .1) (. .2).

[] DES

.3 DES
.4 DES

DES .3

  64 .

, 16 .

[]

T ( 64 ) c IP 1:

1. IP
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

3 IP(T) IP 58, 50, 42 , 3 23, 15, 7 .

[]

64- IP(T) 16- .

16 :

IP(T) L_0, R_0, L_0, R_0  32 32 T_0 IP(T)= L_0R_0

T_{i-1} = L_{i-1}R_{i-1} (i-1) , i- T_i = L_iR_i :

L_i = R_{i-1}
R_i = L_{i-1}\oplus f(R_{i-1},k_i)

L_i L_{i-1}R_{i-1}. R_i  L_{i-1} f(R_{i-1},k_i) 2.

16- f . f.

[] ( )

f 32- R_{i-1} 48- ki, 56- k.

f , S, 8 S- S_1,S_2,S_3\ldots\ S_8, P.

32- R_{i-1} 48- E(R_{i-1}) R_{i-1}; E(R_{i-1}) 2.

2. E
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1

E(R_{i-1}) 32, 1, 2 R_{i-1}. 2 , 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29, 32 . 3 E(R_{i-1})  31, 32, 1 R_{i-1}. E(R_{i-1})k_i B_1,B_2,...B_8.
E(R_{i-1})= B_1B_2...B_8
B_j 6- . B_j 4- B'_j S_j. S_j 3.

.5 f
3. S_i, i=18
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 S_1
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
1 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 S_2
2 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
3 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
0 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
1 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 S_3
2 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
3 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
0 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
1 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 S_4
2 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
0 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
1 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 S_5
2 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
3 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
0 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
1 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 S_6
2 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
3 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
0 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 S_7
2 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
3 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
0 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 S_8
2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
3 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

, B_3 = 101111, B'_3. B_3 , 0<=a<=3, 4 b, 0<=b<=15. S3 0 3, S3 0 15. (, b) , b. B'_3 . a = 11_2 = 3, b = 0111_2 = 7, , (3,7), 7. B'_3=0111.

f(R_{i-1},k_i) (32 ) , 32- B'_1B'_2...B'_8. 4.

4. P
16 7 20 21 29 12 28 17
1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25

f(R_{i-1},k_i) = P(B'_1B'_2...B'_8)
4, f  16, 7, 20, 21 B'_1B'_2...B'_8

[] k_i

k_i k (64 = 8 8 ASCII) . , 8, 16, 24, 32, 40, 48, 56, 64 k . . ( 8, 16, 24, 32, 40, 48, 56, 64). 5.

.6 DES
5.
57 49 41 33 25 17 9 1 58 50 42 34 26 18 C_0
10 2 59 51 43 35 27 19 11 3 60 52 44 36
63 55 47 39 31 23 15 7 62 54 46 38 30 22 D_0
14 6 61 53 45 37 29 21 13 5 28 20 12 4

C_0 D_0 28 . 3 C_0 57, 49, 41 . D_0 63, 55, 47 . C_i, D_i i=1,2,3 C_{i-1}, D_{i-1} 6.

6.
i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

k_i, i=1,16 48 , C_iD_i (56 ) 7. k_i 14, 17 C_iD_i

7.
14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4
26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40
51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32

[]

IP^{-1} T_{16} . IP. 8.

8. IP^{-1}
40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25

[]

. 16 , c , .

R_{i-1} = L_i
L_{i-1} = R_i \oplus f(L_i,k_i)

.6.
k_i, i=1,,16, f, IP IP^{-1} .

[] DES

DES .

  1. (ECB  Electronic Code Book): DES . , , , (. .7).
    .7   ECB
  2. (  Cipher Block Chaining) (. .8). C_i i>=1, 2 M_{i+1}. C_0  , .
    .8  
  3. (. Cipher Feed Back) (. .9). CFB «» Z_0, Z_1,... Z_i=DES_k(C_{i-1}) C_i = M_i \oplus Z_i. C_0 , - . .
    .9   CFB
  4. (OFB  Output Feed Back) (. .10). OFB «» Z_0, Z_1,... Z_i=DES_k(Z_{i-1})
C_i = M_i \oplus Z_i , i>=1
    .10   OFB

:

[] DES

DES S-, S- . S- :

  • {0, 1, 2, , 15}
  • S- .
  • S- .
  • S- S(x) S(x \oplus 001100_2) .

- ( 2^{56}), . 1998 Electronic Frontier Foundation DES-Cracker, DES 3 .

[]

k , DES_k(DES_k(x)) = x, x  64- .

4 , 9. 2^{32} , , 64- , DES_k(x) = x.

9. DES-
(hexadecimal) C_0 D_0
0101-0101-0101-0101 [0]^{28} [0]^{28}
FEFE-FEFE-FEFE-FEFE [1]^{28} [1]^{28}
1F1F-1F1F-0E0E-0E0E [0]^{28} [1]^{28}
E0E0-E0E0-F1F1-F1F1 [1]^{28} [0]^{28}

[0]^{28} , 28 .

[]

DES . -   (k_1, k_2), DES_{k1}(DES_{k2}(x)) = x.

6 - , 10. 12 - 2^{32} «- », , DES_k(x) = \tilde{x}.

10. -
C_0 D_0 - C_0 D_0
[01]^{14} [01]^{14} 01FE-01FE-01FE-01FE,----FE01-FE01-FE01-FE01 [10]^{14} [10]^{14}
[01]^{14} [01]^{14} 1FE0-1FE0-1FE0-1FE0,----E0F1-E0F1-E0F1-E0F1 [10]^{14} [10]^{14}
[01]^{14} [0]^{28} 01E0-01E0-01F1-01F1,----E001-E001-F101-F101 [10]^{14} [0]^{28}
[01]^{14} [1]^{28} 1FFE-1FFE-0EFE-0EFE,----FE1F-FE1F-FE0E-FE0E [0]^{28} [1]^{28}
[0]^{28} [01]^{14} O11F-011F-010E-010E,----1F01-1F01-0E01-0E01 [0]^{28} [10]^{14}
[1]^{28} [01]^{14} E0FE-E0FE-F1FE-F1FE,----FEE0-FEE0-FEF1-FEF1 [1]^{28} [10]^{14}

[] DES

11. DES.
. .
1 - 2^{55}
2^{43} (85%) - 2^{43}
2^{38} (10%) - 2^{50}
. - 2^{47} 2^{47}
. 2^{55} - 2^{55}
  • , , 2^{55} .
  •   DES . 2^{47} , 2^{47} . , - . Biham Shamir , DES .
  • Matsui. DES 2^{43} , 2^{43} . DES, Matsui, 50 12 HP 9735.

() .

[] DES

DES : double DES (2DES), triple DES (3DES), DESX, G-DES.

  • 2DES 3DES DES, (2DES  112 , 3DES  168 ) .
  • 3DES DES(k_3,DES(k_2,DES(k_1,M))), k_1,k_2,k_3 DES. DES . 3 3DES:
3DES  DES-EDE3, :
: C = E_{k_3}(E^{-1}_{k_2}(E_{k_1}(P))).
: P = E^{-1}_{k_1}(E_{k_2}(E^{-1}_{k_3}(C)))
3DES :
  • k_1,k_2,k_3 .
  • k_1,k_2 , k_1 = k_3
  • k_1=k_2=k_3.
  • DESX Killian Rogaway.   DES, RSA Security. DESX DES , DESX 2  64 , DES. 2  64 . DESX DES .
  • G-DES Schaumuller-Bichl DES . , G-DES DES. , Biham Shamir , G-DES , DES.
  • DES -. DES, 56- DES 48- - 16 , 768- ( 16 48- ) 16 48- , DES. , - , DES. Biham DES 2^{61} , 2^{60} .

[]

DES 19771980 ., DES ( 56 ) , (3DES, 2DES). 3DES DES, . DES Triple DES AES (Advanced Encryption Standard  ). DES : , THALES (Racal) HSM RG7000 TripleDES VISA, EuroPay . THALES (Racal) DataDryptor 2000 TripleDES . DES THALES-eSECURITY.

[]