- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DES数据加算法实验报告
实验报告
课程名称 信息安全/计算机安全 实验项目 实验一 DES数据加密算法
姓名 学号 班级 专业 电子信息工程
同组人姓名 指导教师姓名 实验日期 2011年 月 日
一、实验目的
通过本实验的学习,深刻理解DES加密标准,提高算法设计能力,为今后继续学习密码技术和数字签名奠定基础。
二、实验内容
根据DES加密标准,用C++设计编写符合DES算法思想的加、解密程序,能够实现对字符串和数组的加密和解密。
三、实验步骤
1. 在操作系统环境下启动VC++集成环境(Microsoft Visual C++ 6.0 ,其中6.0为版本号,也可为其它版本),则产生如图1所示界面。
图1 VC++ 集成环境界面
2. 选择“文件”菜单下的“新建”命令,出现如图2所示界面(不可直接按“新建”按钮,此按钮是新建一个文本文件)。此界面缺省标签是要为新程序设定工程项目,但编辑小的源程序也可以不建立项目,可以直接选择其左上角的“文件”标签,产生如图3所示界面。
3. 在图3所示的界面中左边选定文件类型为“C++ Source File”,右边填好文件名并选定文件存放目录,然后单击“确定”按钮,出现如图4所示编程界面,开始输入程序。
4. 输入完源程序后,按编译菜单下的编译命令,对源程序进行编译。系统将在下方
的窗口中显示编译信息。如果无此窗口,可按Alt + 2键或执行查看菜单下的输出命令。
如果编译后已无提示错误,则可按编译菜单下的构件命令来生成相应的可执行文件,随后可按编译菜单下的执行命令运行的程序。
图2 新建VC++工程项目界面
图3 新建VC++源程序文件界面
图4 VC++源程序编辑界面
DES算法的过程
1. 处理密钥:
1.1 从用户处获得64位密钥Key。(每第8位为校验位,为使密钥有正确的奇偶校验,每个字节要有奇数个“1”位。
1.2 处理过程:
1.2.1 对密钥实施变换,经过子密钥换位表PC-1的变换后,Key 的位数由64 位变成了56位。
1.2.2 把变换后的密钥等分成两部分,前28位记为C0,后28位记为D0。
1.2.3 计算子密钥(共16个), 从i=1开始。
1.2.3.1 分别对Ci-1、Di-1作循环左移来生成Ci、Di(共16次)。
1.2.3.2 串联Ci、Di,得到一个56位数,然后对此数作子密钥换位表PC-2变换以产生48位子密钥Ki 。
1.2.3.3 按以上方法计算出16个子密钥。
2.对64位数据块的处理:
2.1 把数据分成64位的数据块,不够64位的以适当方式填补。
2.2 对数据块利用初始变换IP表作变换。
2.3 将变换后的数据块等分成前后两部分,前32位记为L0,后32位记为R0。
2.4 用16个子密钥对数据加密。
2.4.1 利用扩展置换E,将32位R(i-1)数据扩展成48位。
2.4.2 用E{R (i-1)}与子密钥K(i)作按位异或运算。
2.4.3 把所得的48位数分成8个6位数组。1-6位为Z1,7-12位为Z2,……43-48位为Z8。
2.4.4 从j=1开始,用S盒里的值替换Zj。S盒里的值为4位数,共8个S盒,输出32位数。
2.4.4.1 取出Z j的第1和第6位串联起来成一个2位数,记为m。m即是Sj盒里用来替换Z j的数所在的行数。
2.4.4.2 取出Z j的第2至第5位串联起来成一个4位数,记为n。n即是Sj盒里用来替换Z j的数所在的列数。2.4.4.3 用坐标(m,n)在S盒中查找出相应的值作为S盒的输出。
2.4.5 八个选择函数Sj(1≤j≤8)的输出拼接为32位二进制数据,把它作为P盒置换的输入,得到输出
2.4.6 把得到的结果与L(i-1)作异或运算。把计算结果賦给R(i)。
2.4.7 把R(i-1)的值賦给L(i),完成1轮乘积变换。
2.4.8 从2.4.1起循环执行16次,直到K(16)也被用到。
2.5 把R(16)和L(16) 顺序串联起来得到一个64位数。对这个数实施2.2变换的逆变换IP-1。
五.算法实现
(1)源程序:
#ifndef _DES_ENCRYPT_DECRYPT #define _DES_ENCRYPT_DECRYPT #define BYTE unsigned char #define LPBYTE BYTE*
您可能关注的文档
- CFC基金持仓.ppt
- CFTC持结构.ppt
- ch05例图用例图建模.ppt
- ch06 營運績效暨獲利能力分析a ch6 營運績效暨獲利能力分析.ppt
- ch 3 供需彈性與均衡分析 投片1.ppt
- ch05分析消费者场课件.ppt
- Ch5PENSEC外周神经系统递质.ppt
- Chap01济学十大原理.ppt
- Chap2 熱學基礎2.doc
- case discussion 3r day课件.ppt
- 《3.3 邻里之间》(教学设计)-2023-2024学年三年级上册综合实践活动安徽大学版.docx
- 2.1细胞中的元素和化合物教学设计教学反思-2023-2024学年高一上学期生物人教版(2019)必修1.docx
- 4.2 以礼待人(教学设计)-2024年秋八年级道德与法治上册高效课堂优质教学设计(统编版).docx
- 《第13课 电子公告牌》教学设计教学反思-2023-2024学年小学信息技术人教版三起四年级下册.docx
- 《5 梅花获奖证书》教学设计-2023-2024学年清华版(2012)信息技术一年级下册.docx
- 第13课 我能行 第一课时 教学设计-2023-2024学年道德与法治二年级下册统编版.docx
- 2024-2025学年新教材高中化学 第五章 化工生产中的重要非金属元素教学实录 新人教版必修2.docx
- 浙教版2023信息技术六年级上册第一单元“算法的实现”第7课《猜数字算法验证》教学设计.docx
- 初级人力资源管理《综合试题预测》模拟卷.doc
- 江苏省徐州市贾汪区建平中学高中语文 第3课 最后的常春藤叶教学实录2 苏教版必修2.docx
最近下载
- Odrive使用和开发技术资料-Odrive3.6-56V原理图.pdf
- 《伊川县志》(1986~2021)出版发行.docx
- 《新媒体文案写作(微课版)》全套教学课件.pptx
- 护理诊断及护理措施128条护理诊断护理措施 .pdf VIP
- 《生产经营单位应急能力评估规范》.pdf
- 临床微生物学检验理论课:16放线菌属、诺卡菌属、分枝杆菌属检验.pptx
- 医用粘胶相关皮肤损伤MARSI-★.pptx VIP
- 大学毕设论文__汽车雨刮器的设计与动力学分析.doc
- 2023年ABBVD4真空断路器安装手册配CL操动机构及EP固封极柱.pdf
- 3.2.2 共价晶体 (课件)高二化学(人教版2019选择性必修2).pptx
文档评论(0)