资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
加密算法的测试与实现,格式: 附件形式上交 课程名实验次数姓名学号 上交日期 下次实验之前,加密算法的测试与实现,形式: 电子版 jingxi,加密算法的测试与实现,实验内容: DES IDEA RSA MD5,DES,DES,DES,DES,实验中用的是十进制来表示的 演示和事例中加密的字符顺序是不一样的,IDEA,IDEA 采用8次迭代 64位明文变成64位密文 密钥128位,IDEA,IDEA,一共采用三种运算方式 异或 模216的加法运算 模216+1乘法运算,IDEA,异或 00 00 00 00 01 01 模216的加法运算 00 00 00 00 01 01 模216+1乘法运算 00 00 01 00 01 00,IDEA,IDEA (1)X1和第一个子密钥块做乘法模+1运算。 (2)X2和第二个子密钥块做加法运算。 (3)X3和第三个子密钥块做加法运算。 (4)X4和第四个子密钥块做乘法运算。 (5)(1)和(3)的结果做异或运算。 (6)(2)和(4)的结果做异或运算。 (7)(5)的结果和第五个子密钥做乘法运算。 (8)(6)和(7)的结果做加法运算。 (9)(8)的结果与第六个子密钥做乘法运算。 (10)(7)和(9)的结果做加法运算。 (11)(1)和(9)的结果做异或运算。 (12)(3)和(9)的结果做异或运算。 (13)(2)和(10)的结果做异或运算。 (14)(4)和(10)的结果做异或运算。,IDEA,解密处理和加密处理基本相同 选择的密钥不大相同 加密子密钥通过原始密钥不断的循环25位后得到 解密子密钥通过对加密子密钥求加法逆和乘法逆得到,RSA,私钥的生成: 选取两大素数p和q 计算 n=pq,(n)=(p1)(q1) 随机选一整数e,使得e与(n)互质 在模(n)下,计算e的有逆元d=e -1 mod (n) 以n,e为公钥。私钥为d,RSA,加密 将明文分组,各组对应的十进制数小于n c=me mod n 解密 m=cd mod n,RSA,加密 将明文分组,各组对应的十进制数小于n c=me mod n 解密 m=cd mod n,RSA,200 以内的素数: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199,RSA,公钥生成 P:13,q:17,d:143 n=13*17=221 (n)=(p-1)*(q-1)=12*16=192 e=d-1mod (n)=47,RSA,公钥生成 加密: M=40,n=221,e=47 C=memodn=4047mod221=105 解密: C:105,n:221,d:143 M=cdmodn=105143mod221=40,RSA,注意: 实验中n的取值不能小于127 实验原理的表格中的字母的ASCII码是不对的,MD5,128位的摘要长度 算法流程,MD5,填充分组 假设明文长度小于448bit 在明文后添加位,使的它的长度为448:第一个添加位是l,其余都是0。 然后将真正明文的长度(没有添加位以前)以64位表示,附加于前面已添加过位的明文后, 此时的明文长度正好是512位的倍数。,MD5,假设明文长度大于448bit小于264bit时 将明文以512位为单位进行划分, 对最后一个分组进行填充 在明文后添加位,使的它的长度为448:第一个添加位是l,其余都是0。 然后将真正明文的长度(没有添加位以前)以64位表示,附加于前面已添加过位的明文后, 此时的明文长度正好是512位的倍数。,MD5,假设明文长度大于264bit时 将明文以512位为单位进行划分, 对最后一个分组进行填充 在明文后添加位,使的它的长度为448:第一个添加位是l,其余都是0。 仅仅使用低64位比特填充,附加到最后一个分组的末尾 此时的明文长度正好是512位的倍数。,MD5,对子明文进行操作 (1)将512位的明文分组划分为16个子明文分组,每个子明文分组为32位。 (2)申请4个32位的链接变量,记为A、B、C、D (3)子明文分组与链接变量进行第1轮运算。 (4)子明文分组与链接变量进行第2轮运算。 (5)子明文分组与链接变量进行第3轮运算。 (6)子明文分组与链接变量进行第4轮运算。 (7)链接变量与初始链接变量进行求和运算。(模232加操作) 。 (8)最后,4个链接变量里面的数据就是MD5摘要。,MD5,例:一共有四轮,一轮16步 第一轮的第一步 AB+(F(B,C,D)+M0+T1)S),MD5,例:一共有四轮,一轮16步 第一轮的第一步 AB+(F(B,C,D)+M0+T1)7),89ABCDEF,MD5,注意: 实验中演示的答案是有错误的,并且最后一步应该是模加操作,而不是异或操作,两者是有区别的。 摘要的读取顺序(大端结构) H1 | H2 | H3| H4 H1的最低位字节和H4的最高位字节分别是第一个和最后一个字节,MD5,两者之间传递信息,利用共享盘D盘 利用邮件传送,邮件地址的配置,配邮件地址(outlook)-以user1A,user1B为例 显示名:user1A 电子邮件地址:user1ACServer.NetLab 接收邮件服务器,发送邮件服务器: CServer.NetLab 帐户名,密码:user1a,邮件地址的配置,发送邮件时,在收件人中填写: user1BCServer.NetLab,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号