毕业论文

打赏
当前位置: 毕业论文 > 自动化 >

基于VHDL语言的DES加密算法设计(5)

时间:2017-05-02 11:02来源:毕业论文
59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 2.1.3 选择扩展运算E 选择扩展运算将右边的32bit数据扩展成48bit数据,具体规律如表2-4所示。 表2-4 选择


59    51    43    35    27    19    11    3
61    53    45    37    29    21    13    5
63    55    47    39    31    23    15    7
2.1.3  选择扩展运算E
选择扩展运算将右边的32bit数据扩展成48bit数据,具体规律如表2-4所示。
表2-4   选择扩展运算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
2.1.4  加密运算
加密过程是将扩展运算得到的48bit数据与子密钥产生器输出的48bit子密钥逐位模2相加,输出仍为48bit。
2.1.5  选择压缩运算S
它将来自加密运算的48bit数据自左到右分为8组,每组6bit。然后并行送入8个S盒,每个S盒都是一个非线性变换网络,输出4bit数据,如图2-5所示。
 
其中,每个S盒将6bit的输入经过代换输出4bit数据。以S1盒为例,说明其中的代换方法。
设S1盒的输入矢量为:x0,x1,x2,x3,x4,x5,输出矢量为y0,y1,y2,y3,,它是16种可能的取值之一。S1盒的代换表(矩阵)如表2-5所示。
表2-5   S1盒代换表
列行    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
为了确定S1盒的输出,DES标准规定将输入矢量中的首尾2bit看成是控制S1盒中的行号(0,1,2,3),而将其余的4bit用来确定列号(0,1,2,•••,15)。这样,每组输入就可以唯一确定表中的一个数据,表中数据为0~15,可以用4bit表示并输出。 基于VHDL语言的DES加密算法设计(5):http://www.youerw.com/zidonghua/lunwen_6115.html
------分隔线----------------------------
推荐内容