毕业论文

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

VHDL基于DES数据加密标准的加解密系统设计(2)

时间:2017-06-09 21:10来源:毕业论文
DES的一般设计准则包括; (1) 随机性性,即输出和输入之间是无规律的; (2) 完整性,每个输出位都是所有出入位的一个复杂函数; (3) 雪崩效应,即任意改


DES的一般设计准则包括;
(1) 随机性性,即输出和输入之间是无规律的;
(2) 完整性,每个输出位都是所有出入位的一个复杂函数;
(3) 雪崩效应,即任意改变输入中的一位,平均要导致一半的输出位被改变;
(4) 非线性,即加密函数对于任何密钥来说全部都是非线性的;
(5) 相关免疫性,即输入是统计上独立于任何输入的子集,它不会与输入的任何子集有关联。DES中多次重复交替使用代替运算S和换位运算P这两种变换,以此达到混乱和扩散数据的目的[5]。
 
图1 DES加密算法的结构
明文经过初始置换后顺序改变,然后分成左右各32bit的两组进行之后,右边的那组直接作为下一轮运算的左半部分,而左边组与经过f函数后的数据进行异或运算后作为下一轮的右边组,经过十优尔次这样的运算之后的两组数据组合在一起输入到逆置换IP中再次经过重新排列后即为所要获得的密文。
1.2.1 初始置换IP
输入64位的明文M(M1,M2,…,M64),经过IP置换后就得到Z(M58,M50,…,M7)[6]。例如原来数据前32位都为1后32位都是0,那么经过初始置换之后数据就会变成00001111000011110000111100001111000011110000111100001111。
表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
初始置换IP如表1所示,它的主要作用就是对64位的明文进行换位重新排列,以求达到改变明文中各位排列顺序的目的。通过IP置换将原文中的第58位的数放到第一位,第五十位的数放到第2位,依次类推第七位的数放到最后那一位。初始置换表也是有规律的,其规律为上四行数据全部为偶数,而且从上到下,从左到右是由小到大排列,下四行全都是奇数,而且从上到下,从左往右是按照由小到大的顺序来排列的,整个表的左半部分均是30位之后的数,右半部份都是30位之前的数。
1.2.2 子密钥的产生
子密钥的产生大致可以分为三个主要的步骤:置换选择PC1,循环左移和置换选择PC2。初始输入的密钥为64位的数据,这些数据首先会经过置换选择PC1进行重新排列,然后会将置换之后的64位,除去8个奇偶校验位,也就是58位数据,分成左右各有28位数据的两个组,将其分别记做E0和F0。紧接着在第1轮对E0的数据进行循环左移一位而对F0的数据循环右移一位的操作,后面各轮所需要循环位移的位数全部都可以由表2得到,该表就显示出了在第i次迭代时密钥循环左移和循环右移的位数各为多少[7]。
表2 循环位移
迭代次数    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16 VHDL基于DES数据加密标准的加解密系统设计(2):http://www.youerw.com/zidonghua/lunwen_8869.html
------分隔线----------------------------
推荐内容