现代密码学与加解密技术报告.DOC

上传人:国*** 文档编号:1088833 上传时间:2018-12-03 格式:DOC 页数:26 大小:414KB
下载 相关 举报
现代密码学与加解密技术报告.DOC_第1页
第1页 / 共26页
现代密码学与加解密技术报告.DOC_第2页
第2页 / 共26页
现代密码学与加解密技术报告.DOC_第3页
第3页 / 共26页
现代密码学与加解密技术报告.DOC_第4页
第4页 / 共26页
现代密码学与加解密技术报告.DOC_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、现代密码学与加解密技术实验报告实验名称 DES 的编程实现班 级 软信 1303学 号 20134974姓 名 张阳日 期 2015 年 5 月 20 日成 绩评 阅 人软件学院一、 实验目的与意义实验目的:理解对称加密算法的原理和特点,加深对于 DES 加密算法的理解。实验意义:通过本次实验,可以验证学习过的理论知识,对 DES 的加密原理有了更进一步的理解。二、 实验环境操作系统:Windows 7调试软件名称及版本号:VC+ 6.0上机地点:综合楼 311三、 实验的预习内容预习内容:(1)了解 DES 的具体加密原理和加密想应参数,其中 DES 密钥有56 位,另外还有 8 位奇偶校验

2、位,但是奇偶校验位不参与加密操作。DES 的明文有 64 位。加密过程需要进行 16 轮,最终得到相应的密文结果。(2)在输入初始明文和密钥输入时,需要进行相应的替换操作,分别是 IP 置换和 PC_1 操作。这两个都有相应的规则。(3)需要了解 DES 加密过程中处理的相应的规则,例如 P 盒,S盒,X 盒等等,在这些过程中存在与之相对应的替换表,以此来进行一步步的加密。(4)需要了解在每一轮,左右子密钥需要进行左移操作,这个操作中所移动的位数与加密轮数相关。实验思路:(1)输入八位字符串密钥,并将其转化成二进制存入数组当中。(2)将得到的 56 位数组加入奇偶校验位扩展成 64 位执行 P

3、C_1。(3)将新得到的 56 位二进制分成左右两个子密钥。(4)根据轮数将左右子密钥进行移位操作,将两者进行 PC_2 替代操作,得到每一轮加密的密钥,而移位后的新的左右子密钥则成为下一轮移位之前的子密钥,如此进行 16 轮操作。(5)输入八位字符串明文,将其转化成二进制存在数组当中。(6)将得到的明文二进制数组进行初始置换,得到等长 64 位数组。(7)将新得到的 64 位数组左右分成左右字明文,用右明文继续经过 X 盒,得到的结果和 PC_2 得到的结果进行异或操作,之后经过 S 盒, P 盒,得到的结果和左明文进行异或操作变成下一轮的右子明文,下一轮的左子明文则是本轮初始的右子明文。如

4、此操作进行 16 轮。(8)16 轮加密结束,将左右子明文合并并且执行一次替代操作,最终得到二进制密文。程序框图:16 轮四、 实验的步骤与调试方法实验步骤:(1)建立 win 32 console application 工作空间。(2)建立源文件。(3)按照三中提到的实验思路编写代码。(4)输入八位字符串密钥,并将其转化成二进制存入数组当中。for(i=0;i#include #include /密钥 PC_1 块const static int PC1_Table56 = 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18,10, 2

5、, 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_2 块const static int PC2_Table48 = 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,

6、 55, 30, 40, 51, 45, 33, 48,44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32;/ 密钥每阶段左移位数列表数组 const static int LOOP_Table16 = 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1;/ 明文初始换位表 IPconst static int IP_Table64 = 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,

7、 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;/明文第 16 次换位表 const static int IPR_Table64 = 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, 6

8、1, 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;/ E-boxesstatic const int E_Table48 = 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,

9、 26, 27, 28, 29, 28, 29, 30, 31, 32, 1;/P-boxesstatic const int PBox32 =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, 22, 11, 4, 25 ;/ S-boxes const static int S_Box8416 = / S1 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7,0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8,4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0,15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13,/ S2 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10,3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。