DES算法實(shí)現(xiàn)過程分析_第1頁
DES算法實(shí)現(xiàn)過程分析_第2頁
DES算法實(shí)現(xiàn)過程分析_第3頁
DES算法實(shí)現(xiàn)過程分析_第4頁
DES算法實(shí)現(xiàn)過程分析_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、DES算法實(shí)現(xiàn)過程分析 內(nèi)容: 1.    處理密鑰: 1.1  從用戶處獲得64位密鑰.(每第8位為校驗(yàn)位,為使密 鑰有正確的奇偶校驗(yàn),每個(gè)密鑰要有奇數(shù)個(gè)”1”位.(本文如未特指,均指二進(jìn)制位) 1.2    具體過程: 1.2.1    對(duì)密鑰實(shí)施變換,使得變換以后的密鑰的各個(gè) 位與原密鑰位對(duì)應(yīng)關(guān)系如下表所示:          表一為忽略校驗(yàn)位以后情況 1

2、60;     2     3     4     5     6     7     8      9    10   

3、0;11    12    13    14    15    16    17     18    19    20    21    22 

4、60;  23    24    25     26    27    28 57    49    41    33    25    17   &

5、#160; 9     1     58    50    42    34    26    18    10     2     59  

6、0; 51    43    35    27    19    11     3     60    52    44    36 29   

7、60;30    31    32    33    34    35    36     37    38    39    40    41 &#

8、160;  42    43    44     45    46    47    48    49    50    51    52   

9、60; 53    54    55    56 63    55    47    39    31    23    15     7     6

10、2    54    46    38    30    22    14     6     61    53    45    37 &

11、#160;  29    21    13     5     28    20    12     4 1.2.2  把變換后的密鑰等分成兩部分,前28位記為C0, 后28位記為D0. 1.2.3  計(jì)算子密鑰(共16個(gè)), 從

12、i=1開始。 1.2.3.1 分別對(duì)Ci-1,Di-1作循環(huán)左移來生成 Ci,Di.(共16次)。每次循環(huán)左移位數(shù)         如下表所示: 循環(huán)次數(shù)    1    2    3    4    5    6    7

13、60;   8     9    10    11    12    13    14    15    16 左移位數(shù)    1    1  

14、60; 2    2    2    2    2    2     1     2     2     2     2  

15、60;  2     2     1 1.2.3.2 串聯(lián)Ci,Di,得到一個(gè)56位數(shù),然后對(duì)此數(shù) 作如下變換以產(chǎn)生48位子密鑰Ki。         變換過程如下: 1      2     3     4  

16、;   5     6     7     8      9    10    11    12    13    14    1

17、5    16    17     18    19    20    21    22    23    24 14    17    11 

18、60;  24     1     5     3    28     15     6    21    10    23    19&#

19、160;   12     4     26     8    16     7    27    20    13     2 25   

20、 26    27    28    29    30    31    32     33    34    35    36    37 

21、;   38    39    40     41    42    43    44    45    46    47    48 41  

22、60; 52    31    37    47    55    30    40     51    45    33    48    44&#

23、160;   49    39    56     34    53    46    42    50    36    29    32 1.2.3.3 &

24、#160;  按以上方法計(jì)算出16個(gè)子密鑰。 2對(duì)64位數(shù)據(jù)塊的處理: 21 把數(shù)據(jù)分成64位的數(shù)據(jù)塊,不夠64位的以適當(dāng)?shù)姆?式填補(bǔ)。 22對(duì)數(shù)據(jù)塊作變換。 bit    goes to bit    bit    goes to bit 58      1       

25、60;     57     33 50      2             49     34 42      3       

26、;      41     35 34      4             33     36 26      5      &

27、#160;      25     37 18      6             17     38 10      7     

28、60;        9     39 2       8              1     40 60      9  &#

29、160;          59     41 52     10             51     42 44     11   &#

30、160;         43     43 36     12             35     44 28     13    &#

31、160;        27     45 20     14             19     46 12     15     &#

32、160;       11     47 4      16              3     48 62     17    

33、0;        61     49 54     18             53     50 46     19     

34、0;       45     51 38     20             37     52 30     21      

35、0;      29     53 22     22             21     54 14     23       

36、0;     13     55 6      24              5     56 64     25       

37、      63     57 56     26             55     58 48     27        

38、     47     59 40     28             39     60 32     29         

39、    31     61 24     30             23     62 16     31          

40、   15     63 8      32              7     64  23 將變換后的數(shù)據(jù)塊等分成前后兩部分,前32位記為 L0,后32位記為R0。 24 用16個(gè)子密鑰對(duì)數(shù)據(jù)加密。 241 根據(jù)下面的擴(kuò)沖函

41、數(shù)E,擴(kuò)展32位的成48位 bit    goes to bit    bit    goes to bit    bit     goes to bit    bit    goes to bit 32   

42、   1              8     13             16      25        

43、60;    24     37 1       2              9     14             

44、;17      26             25     38 2       3             10    

45、60;15             18      27             26     39 3       4    &

46、#160;        11     16             19      28             27   &#

47、160; 40 4       5             12     17             20      29   

48、          28     41 5       6             13     18        &

49、#160;    21      30             29     42 4       7             1

50、2     19             20      31             28     43 5      

51、0;8             13     20             21      32            

52、 29     44 6       9             14     21             22    

53、0; 33             30     45 7      10             15     22    &#

54、160;        23      34             31     46 8      11          &

55、#160;  16     23             24      35             32     47 9   

56、0;  12             17     24             25      36          

57、;    1     48 242 用ERi-1與Ki作異或運(yùn)算。 243 把所得的48位數(shù)分成8個(gè)6位數(shù)。1-6位為B1, 7-12位為B2,43-48位為B8。 244 用S密箱里的值替換Bj。從j=1開始。S密箱里 的值為4位數(shù),共8個(gè)S密箱 2441 取出Bj的第1和第6位串聯(lián)起來成一個(gè)2位 數(shù),記為m.。m即是S密箱里用來替換            

58、;Bj的數(shù)所在的列數(shù)。 2442 取出Bj的第2至第5位串聯(lián)起來成一個(gè)4位 數(shù),記為n。n即是S密箱里用來替換            Bj的數(shù)所在的行數(shù)。 2443 用S密箱里的值Sj m n替換Bj。8個(gè) S密箱如下所示: - S-BOXES1 Binary    d1d6 =>    00    01

59、0;   10    11 / d2.d5 /    Dec   0     1     2     3 0000       0       

60、60; 14     0     4    15 0001       1          4    15     1    12 0010

61、0;      2         13     7    14     8 0011       3          1 &#

62、160;   4     8     2 0100       4          2    14    13     4 0101   

63、    5         15     2     6     9 0110       6         11   

64、0;13     2     1 0111       7          8     1    11     7 1000     &#

65、160; 8          3    10    15     5 1001       9         10     6 

66、0;  12    11 1010      10          6    12     9     3 1011      11    

67、;     12    11     7    14 1100      12          5     9     3   

68、 10 1101      13          9     5    10     0 1110      14         

69、60;0     3     5     6 1111      15          7     8     0    13 - S-BOXES2

70、 binary    d1d6 =>    00    01    10    11 / d2.d5 /    dec   0     1     2   

71、0; 3 0000       0         15     3     0    13 0001       1        

72、60; 1    13    14     8 0010       2          8     4     7    10 0011 

73、;      3         14     7    11     1 0100       4          6 

74、60;  15    10     3 0101       5         11     2     4    15 0110     

75、;  6          3     8    13     4 0111       7          4    14&#

76、160;    1     2 1000       8          9    12     5    11 1001       9

77、          7     0     8     6 1010      10          2     1  

78、;  12     7 1011      11         13    10     6    12 1100      12     

79、;    12     6     9     0 1101      13          0     9     3  &#

80、160;  5 1110      14          5    11     2    14 1111      15         

81、;10     5    15     9 - S-BOXES3 binary    d1d6 =>    00    01    10    11 / d2.d5 /    dec&

82、#160;  0     1     2     3 0000       0         10    13    13     1 0

83、001       1          0     7     6    10 0010       2         

84、60;9     0     4    13 0011       3         14     9     9     0 0100 

85、      4          6     3     8     6 0101       5          3

86、     4    15     9 0110       6         15     6     3     8 0111 

87、0;     7          5    10     0     7 1000       8          1 

88、60;   2    11     4 1001       9         13     8     1    15 1010    

89、  10         12     5     2    14 1011      11          7    14  

90、  12     3 1100      12         11    12     5    11 1101      13     

91、     4    11    10     5 1110      14          2    15    14     

92、2 1111      15          8     1     7    12 - S-BOXES4 binary    d1d6 =>    00    

93、01    10    11 / d2.d5 /    dec   0     1     2     3 0000       0      

94、60;   7    13    10     3 0001       1         13     8     6    15 00

95、10       2         14    11     9     0 0011       3          3&#

96、160;    5     0     6 0100       4          0     6    12    10 0101  

97、     5          6    15    11     1 0110       6          9  

98、0;  0     7    13 0111       7         10     3    13     8 1000     &

99、#160; 8          1     4    15     9 1001       9          2     

100、7     1     4 1010      10          8     2     3     5 1011      

101、;11          5    12    14    11 1100      12         11     1    

102、0;5    12 1101      13         12    10     2     7 1110      14       

103、;   4    14     8     2 1111      15         15     9     4    14 - S-

104、BOXES5 binary    d1d6 =>    00    01    10    11 / d2.d5 /    dec   0     1     2  

105、0;  3 0000       0          2    14     4    11 0001       1       

106、60; 12    11     2     8 0010       2          4     2     1    12 001

107、1       3          1    12    11     7 0100       4          7

108、60;    4    10     1 0101       5         10     7    13    14 0110    

109、;   6         11    13     7     2 0111       7          6    

110、60;1     8    13 1000       8          8     5    15     6 1001      &

111、#160;9          5     0     9    15 1010      10          3    15  

112、60; 12     0 1011      11         15    10     5     9 1100      12    

113、0;    13     3     6    10 1101      13          0     9     3   

114、  4 1110      14         14     8     0     5 1111      15        

115、0; 9     6    14     3 - S-BOXES6 binary    d1d6 =>    00    01    10    11 / d2.d5 /   

116、0;dec   0     1     2     3 0000       0         12    10     9   

117、0; 4 0001       1          1    15    14     3 0010       2        

118、60;10     4    15     2 0011       3         15     2     5    12 0100 

119、0;     4          9     7     2     9 0101       5          2

120、0;   12     8     5 0110       6          6     9    12    15 0111   &

121、#160;   7          8     5     3    10 1000       8          0   

122、  6     7    11 1001       9         13     1     0    14 1010     

123、60;10          3    13     4     1 1011      11          4    14  

124、0; 10     7 1100      12         14     0     1     6 1101      13    

125、      7    11    13     0 1110      14          5     3    11   &

126、#160; 8 1111      15         11     8     6    13 - S-BOXES7 binary    d1d6 =>    00   

127、 01    10    11 / d2.d5 /    dec    0    1     2     3 0000       0     

128、60;    4    13     1     6 0001       1         11     0     4   

129、 11 0010       2          2    11    11    13 0011       3         14&

130、#160;    7    13     8 0100       4         15     4    12     1 0101  

131、0;    5          0     9     3     4 0110       6          8 

132、0;   1     7    10 0111       7         13    10    14     7 1000     

133、  8          3    14    10     9 1001       9         12     3 &#

134、160;  15     5 1010      10          9     5     6     0 1011      11  

135、;        7    12     8    15 1100      12          5     2     0&

136、#160;   14 1101      13         10    15     5     2 1110      14       

137、60;  6     8     9     3 1111      15          1     6     2    1

138、2 - S-BOXES8 binary    d1d6 =>    00    01    10    11 / d2.d5 /    dec   0     1     2 

139、0;   3 0000       0         13     1     7     2 0001       1     

140、0;    2    15    11     1 0010       2          8    13     4    

141、14 0011       3          4     8     1     7 0100       4        

142、  6    10     9     4 0101       5         15     3    12    10 0110       6  

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論