DES
| DES, Data Encryption Standard | |
| : | |
|---|---|
| : |
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 .3
64 .
[]
T ( 64 ) c IP 1:
| 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- .
IP(T)
,
32 32
IP(T)= 
(i-1) , i-
:


.
2.
[] ( )
| 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 |
32, 1, 2
. 2 , 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29, 32 . 3
31, 32, 1
.
2
.

6- .
4-
.
3.
| 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 | ![]() |
| 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 | ![]() |
| 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 | ![]() |
| 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 | ![]() |
| 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 | ![]() |
| 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 | ![]() |
| 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 | ![]() |
| 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 | ![]() |
| 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 |
,
,
.
, 0<=a<=3, 4 b, 0<=b<=15. S3 0 3, S3 0 15. (, b) , b.
.
,
, , (3,7), 7.
=0111.
| 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 |

4, f 16, 7, 20, 21 
[] 
k (64 = 8 8 ASCII) . , 8, 16, 24, 32, 40, 48, 56, 64 k . . ( 8, 16, 24, 32, 40, 48, 56, 64). 5.
| 57 | 49 | 41 | 33 | 25 | 17 | 9 | 1 | 58 | 50 | 42 | 34 | 26 | 18 | ![]() |
| 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 | ![]() |
| 14 | 6 | 61 | 53 | 45 | 37 | 29 | 21 | 13 | 5 | 28 | 20 | 12 | 4 |
28 . 3
57, 49, 41 .
63, 55, 47 .
i=1,2,3
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 |
| 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 |
[]
| 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 |
[]


.6.
, i=1,,16, f, IP
.
[] DES
DES .
- (ECB Electronic Code Book): DES . , , , (. .7).
- ( Cipher Block Chaining) (. .8).
i>=1, 2
.
, .
- (. Cipher Feed Back) (. .9). CFB «»

.
, - . .
- (OFB Output Feed Back) (. .10). OFB «»
, i>=1
:
[] DES
DES S-, S- . S- :
- {0, 1, 2, , 15}
- S- .
- S- .
- S- S(x)
.
- (
), . 1998 Electronic Frontier Foundation DES-Cracker, DES 3 .
[]
k ,
, x 64- .
| (hexadecimal) | ![]() |
![]() |
| 0101-0101-0101-0101 | ![]() |
![]() |
| FEFE-FEFE-FEFE-FEFE | ![]() |
![]() |
| 1F1F-1F1F-0E0E-0E0E | ![]() |
![]() |
| E0E0-E0E0-F1F1-F1F1 | ![]() |
![]() |
, 28 .
[]
DES . -
, 
6 - , 10. 12 -
«- », , 
![]() |
![]() |
- | ![]() |
![]() |
![]() |
![]() |
01FE-01FE-01FE-01FE,----FE01-FE01-FE01-FE01 | ![]() |
![]() |
![]() |
![]() |
1FE0-1FE0-1FE0-1FE0,----E0F1-E0F1-E0F1-E0F1 | ![]() |
![]() |
![]() |
![]() |
01E0-01E0-01F1-01F1,----E001-E001-F101-F101 | ![]() |
![]() |
![]() |
![]() |
1FFE-1FFE-0EFE-0EFE,----FE1F-FE1F-FE0E-FE0E | ![]() |
![]() |
![]() |
![]() |
O11F-011F-010E-010E,----1F01-1F01-0E01-0E01 | ![]() |
![]() |
![]() |
![]() |
E0FE-E0FE-F1FE-F1FE,----FEE0-FEE0-FEF1-FEF1 | ![]() |
![]() |
[] DES
| . | . | |||
| 1 | - | ![]() |
||
![]() |
- | ![]() |
||
![]() |
- | ![]() |
||
| . | - | ![]() |
![]() |
|
| . | ![]() |
- | ![]() |
() .
[] DES
DES : double DES (2DES), triple DES (3DES), DESX, G-DES.
- 3DES
,
DES. DES . 3 3DES:
- 3DES :
.
, 
.
- DES -. DES, 56- DES 48- - 16 , 768- ( 16 48- ) 16 48- , DES. , - , DES. Biham DES
,
.
[]
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.
[]
- . . , . . , . . , . . .
- A. Menezes, Pvan Oorschot, S. Vanstone Handbook of Applied Cryptography.
- . . DES.
- Query for DES
| SP- | |
|---|---|
| . |
,
, i=18







(56
. IP. 8.
i>=1, 2
. 
.
, i>=1
, .
.
.![[1]^{28}](http://upload.wikimedia.org/wikipedia/ru/math/4/3/4/434b8660df5814c48029da5193f12293.png)
![[01]^{14}](http://upload.wikimedia.org/wikipedia/ru/math/d/2/5/d25ad82ddd2009416e038c6b85f10f77.png)
![[10]^{14}](http://upload.wikimedia.org/wikipedia/ru/math/a/9/0/a90505fb339541839bda36ff4841e2d8.png)






,
DES. DES . 3 3DES:
.
, 
.
,
.