- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DES算法程序实验报告`
《密码编码学与网络安全》实验报告 题目:实验二 DES算法 姓名 戴光昱 052433 信息安全 实验环境:Windows XP Sp2 硬件环境:CPU:Intel Core 2 Duo T7100 硬盘:120G 内存:2G 实验要求: 应用DES算法编写一个程序。要求此程序能够进行正常的加解密。要求按照书中提供的算法进行模拟。 实验原理: Des算法是一种标准的对称加密算法,其精华就是明文经过一系列的复杂变化后,一般在不知密码的情况下要把它的恢复很难。 算法可以由四个部分描述:1.获取16个子密钥 2.初始置换置换函数ip?? 3.加密函数f 4.末置换函数 下是: 1.获取16个子密钥: 密码是64位的布尔值,经过以下步骤得到16个48位的字密钥: (1)去掉每个第八位,然后通过置换表,得到56位的子密钥 (2) 分成前后28位 (3)根据表对前后28为进行1~16轮的1或2位的循环 (4)移位后,再将两部分合并成56位,然后通过压缩置换得到48位子密钥 2.初始置换函数: 就是把64位的明文根据置换表置换成56位的明文,然后分成左右两部分 3.密码函数f 密码函数F的输入为32位的数据和48位的子E是扩展置换,把32位部分明文扩展成48位再与48的子密钥抑或,再经过s盒转化,成32位输出,最后再经过一个置换(p盒)就得到了密码函数的输出了。 然后把密码函数的输出跟初始置换后的左边32位抑或,结果作为新明文的后边,原右边作为新左边。 用16个子密钥重复上面的行为。 ???? s盒的过程:把48位分成8个6位,取6位的第一位和最后一位,这两位组成的数作为s盒的行,其他三位作为列,知道行列后就在s盒表中查到对应的的数,这个数是4位的,就用这个4位的数代替该6位的数。所以最后出来的是32位了。 4.f函数后,重组左右部分,得到64位,再一次末置换就得到了用des加密后的密文。 IP_1:int型一维数组,静态,用于存储初始置换矩阵的逆矩阵。 PC_1:int型一维数组,静态,用于存储置换选择矩阵1。 PC_2:int型一维数组,静态,用于存储置换选择矩阵2。 E:int型一维数组,静态,用于存储扩充置换矩阵。 P:int型一维数组,静态,用于置换函数矩阵。 S_Box:int型三维数组,静态,用于SBox矩阵设置。 LeftMove:int型一维数组,静态,用于设置左移位置列表。 keydata:int型一维数组,用于存储二进制加密密钥。 encryptdata:int型一维数组,用于存储二进制加密数据。 EncryptCode:byte型一维数组,用于存储加密操作完成后的字节数组。 KeyArray:int型二维数组,用于存储密钥初试化后的二维数组。 2.基本函数用途说明: UnitDes:初始化函数,用于将密钥初始化成字节型数组密钥。 KeyInitialize:用于初始化密钥,生成每一轮的子密钥。 Encrypt:每一轮的加密函数。 ReadDataToBirnaryIntArray:将数据转换为二进制数,存储到数组。 LeftBitMove:循环移位操作函数。 LoopF:落实到每一轮的具体操作函数。 GetEncryptResultOfByteArray:将存储64位二进制数据的数组中的数据转换为八个整数(byte)。 ByteDataFormat:字符串数组拼接函数。 DesEncrypt:具体的加、解密函数,由flag控制工作模式。 3.主要的算法思想: 1.初始化置换函数: for (i = 0; i 64; i++) { M[i] = timeData[IP[i] - 1]; // 明文IP变换 } 此语句将明文字节型数组矩阵进行了明文IP的置换。 2.每一轮变换的详细过程: 每一轮的扩充,S盒代换,P置换,以及L、R的交换具体由每轮LoopF函数实现: private void LoopF(int[] M, int times, int flag, int[][] keyarray) { int i; int j; int[] L0 = new int[32]; int[] R0 = new int[32]; int[] L1 = new int[32]; int[] R1 = new int[32]; int[] RE = new int[48]; int[][] S = new int[8][6]; int[] sBoxData = new int[8]; int[] sValue = new int[32]; int[] RP = new int[3
您可能关注的文档
- 08年25万吨丙烷脱氢投资分析.doc
- 010第十章劳动安全卫生与消防`.doc
- 08教案21量子论初步.doc
- 08第十七章光的衍射作业答案.doc
- 08大学物理习题解答(下).doc
- 0910热力学试卷A.doc
- 094章急性肺损伤和急性呼吸窘迫综合征.doc
- 09级食品加工技术考试大纲(加工部分2).doc
- 100000m3原料油罐玻璃钢内浮顶施工新工艺.doc
- 1009高起本《病理生理学》.doc
- 2025年空间机器人行业技术发展趋势预测报告.docx
- 浙江省初中名校发展共同体2023-2024学年九年级上学期中考模拟英语试卷(含答案).docx
- 2025年农产品区块链溯源技术发展趋势预测.docx
- 《2025年宠物服务行业扩张中的标准化运营与质量控制》.docx
- 《2025年证券行业财富管理转型投顾服务产品创新策略》.docx
- 2025年电动牙刷市场增长趋势分析报告.docx
- 3《电工电子技术基础》课程实施方案.docx
- 2026福建省面向中国农业大学选调生选拔参考题库带答案解析.docx
- 《2025年物联网行业全景分析:270亿台设备连接技术应用场景技术演进》.docx
- 2026福建省面向重庆大学选调生选拔历年参考题库及答案解析(夺冠系列).docx
最近下载
- (高清版)G-B∕T 36992-2019 手动牙间刷.pdf VIP
- 《一只鸟仔》(课件)人音版音乐三年级下册.ppt VIP
- 视觉传达设计专业介绍.pptx VIP
- JB_T 13649.1-2019 高速刀柄与机床主轴接口 第1部分:带有法兰接触面的空心圆锥(HSK)接口技术规范.docx VIP
- J B-T 11342-2013 小型电机定子端部整形机.pdf VIP
- 2023年视觉传达设计专业介绍模板.pptx VIP
- 消防安全评估合同范本6篇.docx VIP
- ags8101_大华视频监控平台接入网关服务器_使用说明书_v1 0 0_20130924.pdf VIP
- SAE AMS2774G-2020 镍及钴合金零件的热处理 Heat Treatment Nickel Alloy and Cobalt Alloy Parts.pdf
- (可直接使用)中国土壤分布.ppt VIP
有哪些信誉好的足球投注网站
文档评论(0)