信息安全个人基础实验报告

信息安全个人基础实验报告

ID:1238728

大小:843.00 KB

页数:37页

时间:2017-11-09

信息安全个人基础实验报告_第1页
信息安全个人基础实验报告_第2页
信息安全个人基础实验报告_第3页
信息安全个人基础实验报告_第4页
信息安全个人基础实验报告_第5页
资源描述:

《信息安全个人基础实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验4信息隐藏和加解密——关于DES和RSA加密算法的实验报告实验环境与实验目的:C语言,完成对记事本格式文件的信息隐藏(加密)和提取(解密)过程。DES算法概述:DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。明文按64位进行分组,密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。D

2、ES算法实现过程:从子密钥Ki的生成算法描述图中我们可以看到:初始Key值为64位,但DES算法规定,其中第8、16、......64位是奇偶校验位,不参与DES运算。故Key实际可用位数便只有56位。即:经过缩小选择换位表1的变换后,Key的位数由64位变成了56位,此56位分为C0、D0两部分,各28位,然后分别进行第1次循环左移,得到C1、D1,将C1(28位)、D1(28位)合并得到56位,再经过缩小选择换位2,从而便得到了密钥K0(48位)。依此类推,便可得到K1、K2、......、K15。

3、实验代码段(des.cpp):#include"memory.h"#include#include"stdio.h"#include"string.h"#include"fstream"enum{ENCRYPT,DECRYPT};//ENCRYPT==0表示加密DECRYPT==1表示解密charbufer[1024];//定义了一个1024个字符组来充当计算过程中的临时变量charkey[64];//定义了一个接受密匙的字符组charcontext[1024];//定义了一个1024

4、个字符的组来存储明文和密文的空间//DES的初始置换IP表conststaticcharIP_Table[64]={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};//DES的IP逆置换表

5、conststaticcharIPR_Table[64]={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};//DES加密过程的选为表EstaticconstcharE_Table[48]

6、={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位置换函数P使用的S盒的输出conststaticcharP_Table[32]={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

7、,22,11,4,25};//置换选择表PC-1conststaticcharPC1_Table[56]={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};//置换选择表PC-2conststaticcharPC2_Table[48]

8、={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};//循环左移运算表conststaticcharLOOP_Table[16]={//1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,161,1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。