【php精品源码栏目提醒】:网学会员鉴于大家对php精品源码十分关注,论文会员在此为大家搜集整理了“DES算法和RC4算法实验任务 - 其它资料”一文,供大家参考学习
实验任务 1本练习将主机 A 和 B 作为一组,主机 C 和 D 作为一组,主机 E 和 F 作为一组。
首先使用“快照 X”恢复 Windows 系统环境。
一.DES 加密解密 (1)本机进入“工具箱”|“加密解密”|“DES 加密算法”|“加密/解密”页签,在明文输入区输入明文:____________。
(2)在密钥窗口输入 8(64 位)个字符的密钥 k,密钥 k__________。
单击“加密”按钮,将密文导出到 DES 文件夹(D:WorkEncryptionDES)中,通告同组主机获取密文,并将密钥k 告诉同组主机。
(3)单击“导入”按钮,从同组主机的的 DES 共享文件夹中将密文导入,然后在密钥窗口输入被同组主机通告的密钥 k,点击“解密”按钮进行 DES 解密。
(4)将破解后的明文与同组主机记录的明文比较。
二.DES 算法 进入“工具箱”|“加密解密”|“DES 加密算法”|“演示”页签。
输入 64 位明文与密钥,执行加密操作,查看各演示模块。
在 DES 加密算法中,S-代替是最重要的部分,与其它代替比较起来,它提供了更好的安全性。
因此,掌握 S-盒代替是掌握 DES 算法的关键。
由于加密软件与加密硬件本身的特点有很大的差异,所以在实现 DES 加密算法时,加密软件与加密硬件采用的不同的策略。
加密硬件一般采取标准的 DES 加密算法实现,高加密效率是加密硬件的主要特点。
加密软件为了提高加密的效率,要遵守以下原则: 展开加密循环与函数; 避免内部循环中使用条件转移指令; 变量长度与 CPU 内部寄存器长度相同; 限制变量数量; 避免使用耗时的指令。
所以,加密软件在实现 DES 算法时,一般都对算法加以修改,以提高加密效率。
在工具箱的 DES 算法软件实现中,我们使用了一种修改的 DES 算法,它的 S-盒代替的输入为 64 位,而不是 48 位,这样可以在 32 位计算机上很好的执行。
S-盒代替的置换表如下: 置换表包含了 8 个 S 盒 S0-S7,每个 S 盒中有 64 个元素。
每个 S 盒由左至右,由上至下读取,64 个元素由 0 开始编号。
使用 SBoxxy代表第 x 个 S 盒的第 y 的元素。
例如,SBox100x80108020,代表第 1 个 S 盒的第 0 个元素,SBox79 0x10040000,代表第 7个 S 盒的第 9 个元素。
S 盒代替具体流程如下: (1)输入分成两部分,每部分 32 位,分别记为 S0 和 S1。
(2)将 32 位 S0 的第 25 至 30 位写入变量 S01; 将 32 位 S0 的第 17 至 22 位写入变量 S02; 将 32 位 S0 的第 9 至 14 位写入变量 S03; 将 32 位 S0 的第 1 至 6 位写入变量 S04。
(3)将 32 位 S1 的第 25 至 30 位写入变量 S11; 将 32 位 S1 的第 17 至 22 位写入变量 S12; 将 32 位 S1 的第 9 至 14 位写入变量 S13; 将 32 位 S1 的第 1 至 6 位写入变量 S14。
(4)查找置换表,将 SBox0S01、SBox1S11、SBox2S02、SBox3S12、SBox4S03、SBox5S13、SBox6S04、SBox7S14进行或运算,得到的结果即为 S盒的输出结果。
例如,64 位输入为 0x743DED2D02D3B264,那么 S 盒代替的过程如下: (1)64 位输入分为两部分,S0 0x743DED2D,S1 0x02D3B264。
(2)S01 0x34 5210 S02 0x3D 6110 S03 0x2D 4510 S04 0x2D 4510(3)S11 0x02 210 S12 0x13 1910 S13 0x32 5010 S14 0x24 3610(4)SBox052 0x01000004 SBox12 0x00008000 SBox261 0x00000008 SBox319 0x00802001 SBox445 0x00000100 SBox550 0x00000000 SBox645 0x00000802 SBox736 0x00000040将以上数据进行或操作,得到结果 0x0180A94F 就是 S 盒的输出。
了解了以上的 S 盒代替方法后,请写出输入为 0x843DED9302D3B98B 的 S 盒代替过程数据。
(1)S0 0x843DED93 ,S1 0x02D3B98B。
(2)S01 __________ __________ 10 S02 __________ __________ 10 S03 __________ __________ 10 S04 __________ __________10 (3)S11 __________ __________ 10 S12 __________ __________ 10 S13 __________ __________ 10 S14 ________