下载此文档

DES加密算法.docx


文档分类:IT计算机 | 页数:约25页 举报非法文档有奖
1/25
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/25 下载此文档
文档列表 文档介绍
实验二 DES加密算法
一、实验目的:
理解对称加密算法的原理和特点以及DES和AES算法的加密原理。
二、实验原理:
在DES这个加密系统中,每次加密或解密的分组大小均为64位,所以DES没有密文扩充的问题。对大于64位的明文只要按每64位一组进行切割,而对小于64位的明文只要在后面补“0”即可,另一方面,DES所用的加密或解密密钥也是64位大小,但因其中有8个位是用来作奇偶校验的,所以64位中真正起密钥作用的只有56位,密钥过短也是DES最大的缺点。DES加密与解密所用的算法除了子密钥的顺序不同外,其他部分完全相同。
算法过程:
。用户的64bit密钥,其中第8, 16, 24, 32, 40, 48, 56, 64位是校验位, 使得每个密钥都有奇数个1。所以密钥事实上是56位。变换后得到56bit数据,将它分成两部分,C[0][28], D[0][28]。
,计算方法C[i][28] D[i][28]为对前一个C[i-1][28], D[i-1][28]做循环左移操作。
[i][28] D[i][28] 得到56位,然后对它进行如下变换得到48位子密钥K[i][48]
。得到64位数据,将这数据前后分成两块L[0][32], R[0][32]。
,对R[i][32]进行扩展变换成48位数, 记为E(R[i][32])。
(R[i][32])与K[i][48]作异或运算,得到48位数,将48位数顺序分成8份,6位一份,B[8][6]。
[i]替换B[i][6]。过程如下: 取出B[i][6]的第1位和第6位连成一个2位数m, m就是S[i]中对应的行数(0-3),取出B[i][6]的第2到第5位连成一个4位数n(0-15),n就是S[i]中对应的列数,用S[i][m][n]代替B[i][6]。S是4行16列的对应表,里面是4位的数,一共有8个S。
[i][6]经过S得到的8个4位数连起来得到32位数。
[i-1][32]的值赋给L[i],从5开始循环。直到K[16][48]结束。
,R合并成64位,然后进行如下转化得到最后的结果。这是对第4步的一个逆变化。
,只需要把16个子密钥K[i][48]的顺序颠倒过来就行了。 
输入8个字节流程图:
8个字节转化成二进制64位
输入密钥,设置成字节,并转化成64位
初始置换
将64位密钥通过置换选择1,输出56位密钥
将文本段分为左右两个部分
经过循环左移,置换选2,变换后输出48位密钥
右部分(32位)位)
左部分(32位)
48位密钥
扩展运算(48)位
异或XOR()
左右交换,rount++
选择压缩变换S盒代换
Round<16
置换运算P,输出32位
逆初始置换
DES加密结束,显示加密后的文本
64位二进制转化成8字节
三、实验设备:
Windows虚拟机
CIS工具箱——该实验使用加密解密工具验证实验结果
四、实验步骤:
用C语言编写DES算法代码,代码如下:
#include <>
#include <>
//明文IP置换坐标
int DataIP[] = {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};
char preData[8]; //用户输入的明文
char preKey[8]; //用户输入的密钥
int Data64[64]; //8个明文通过十进制转二进制得到的64bit明文
int Key64[64]; //8个密钥通过十进制转二进制得到的64bit密钥
int DataTemp[64]; //Data64[]通过IP置换得到的64bit明文,用于得到L0和R0
int L0[32],R0[32];
int flagDorK=0; //标志位,如果是1的时候表示明文,是0的时候表示密文
//此段全局变量服务于段雪琦所写所用函数
//PC_1置换坐标表
int PC_1[56] = {57,49,41,33,25,17,9,
1,58,50,42,34,26,18,

DES加密算法 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数25
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小89 KB
  • 时间2017-11-08