目录 实验二密码学综合应用 练习一对称加/解密算法 3 一.DS算法 3 二.AES算法 三.RC4算法. .4 实验结果与分析:6 思考题: 6 练习二Hash算法与非对称加密算法 7 MD5. 7 二.SHA-1 8 三.RSA 8 实验结果与分析:. 10 思考题:。 10 练习三密码学综合应用. 11 一,安全通信的要求。 .11 二。手动实现信息的安全传输.11 实验结果与分析: 12 思考题: 12 2112
2 / 12 目录 实验二 密码学综合应用.3 练习一 对称加/解密算法.3 一.DES 算法 .3 二.AES 算法.4 三.RC4 算法.4 实验结果与分析:.6 思考题:.6 练习二 Hash 算法与非对称加密算法.7 一.MD5.7 二.SHA-1.8 三.RSA .8 实验结果与分析:.10 思考题:.10 练习三 密码学综合应用.11 一.安全通信的要求.11 二.手动实现信息的安全传输.11 实验结果与分析:.12 思考题:.12
实验二密码学综合应用 实验日期:年月日 实验成绩: 练习一对称加/解密算法 实验目的 1,理解对称加密算法的原理和特点 2.理解DES算法的加密原理 3.理解AES算法的加密原理 4.理解C4加密算法加密过程 实验环境(设备、仪器、网络): 系统环境:Windows Server2003 Enterprise Edition 网络环境:交换网络结构 实验工具: ASC码表 VC++6.0 密码工具 实验类型: 验证型 实验内容(实验方案、实验步骤、测量数据及处理等): 本练习主机A、B为一组,C、D为一组,E、F为一组。 首先使用"快照X"恢复Windows系统环境。 一.DES算法 1.D5加密/解密 (1)本机进入“密码工具“加密解密”“D5加密算法”|“加密/解密“页签,在明文输 入区输入明文 (2)在密钥窗口输入8(64位)个字符的密钥k,密钥k 。单击“加密按钮, 将密文导出到DEs文件夹(D:\Work\Encryption\DES\)中,通告同组主机获取密文,并将密 钥k告诉同组主机。 (3)单击“导入“按钮,从同组主机的的DS共享文件夹中将密文导入,然后在密钥窗口 3/12
3 / 12 实验二 密码学综合应用 实验日期:_年_月_日 实验成绩:_ 练习一 对称加/解密算法 实验目的: 1.理解对称加密算法的原理和特点 2.理解 DES 算法的加密原理 3.理解 AES 算法的加密原理 4.理解 RC4 加密算法加密过程 实验环境(设备、仪器、网络): 系统环境:Windows Server 2003 Enterprise Edition 网络环境:交换网络结构 实验工具: ASCII 码表 VC++6.0 密码工具 实验类型: 验证型 实验内容(实验方案、实验步骤、测量数据及处理等): 本练习主机 A、B 为一组,C、D 为一组,E、F 为一组。 首先使用“快照 X”恢复 Windows 系统环境。 一.DES 算法 1.DES 加密/解密 (1)本机进入“密码工具”|“加密解密”|“DES 加密算法”|“加密/解密”页签,在明文输 入区输入明文: 。 (2)在密钥窗口输入 8(64 位)个字符的密钥 k,密钥 k= 。单击“加密”按钮, 将密文导出到 DES 文件夹(D:\Work\Encryption\DES\)中,通告同组主机获取密文,并将密 钥 k 告诉同组主机。 (3)单击“导入”按钮,从同组主机的的 DES 共享文件夹中将密文导入,然后在密钥窗口
输入被同组主机通告的密钥k,点击“解密"按钮进行DS解密。 (4)将破解后的明文与同组主机记录的明文比较。 2.DES算法 本机进入“密码工具”1“加密解密”|“DE5加密算法”1“演示"页签向64位明文中输入8 个字符(8*8bit=64),向64位密钥中输入8个字符(8*8bt=64)。点击"加密"按钮。完成加 密操作,分别点击#初始置换”、“密细生成演示#、十六轮加密变换和“终结置换”按钥,杏 看初始置换、密钥生成演示 、十六轮加密变换和终结置换的详细加密操作流程。 3.源码应用(选做) 设计DES加密工具,利用DES加密算法对文件进行加密。 单击工具栏“DES加密工具工程”按钮。基于此工程进行程序设计 二.AES算法 1.AE5加密/解密 (1)本机进入“密码工具“|“加密解密"|“ES加密算法”|“加密/解密“页签,在明文输 入区输入明文: (2)在密钥窗口输入16(128位)个字符的密钥k,要记住这个密钥以用于解密,密钥 。单击“加密"按钮,将密文导出到AES文件夹(D:\Work\Encryption\AES)中, 通告同组主机获取密文,并将密钥k告诉同组主机。 (3)单击"导入“按钮,从同组主机的AES共享文件夹中将密文导入,然后在密钥窗口输 入被同组主机通告的密钥k,点击“解密”按钮进行AE5解密。 (4)将破解后的明文与同组主机记录的明文比较 2.AES算法 进入“密码工具"|“加密解密”|"AES加密算法”|“演示"页签。输入128位明文与密钥 执行加密操作,查看各演示模块。 根据实验原理中对 ES加密算法的SubBytes变换和ShiftRows变换的介绍,对于以下给出 的状态矩阵: 12151117 IF OE 0A ID 0F070704 L02531544 请计算它的SubBytes变换,以及经过SubBytes变换之后,再经过ShiftRows变换的结果。 3,源码应用(选做) 设计AES加密工具,利用AE加法对文件讲行加 单击工具栏AES加密工具工程"按钮。基于此工程进行程序设计。 三.RC4算法 4112
4 / 12 输入被同组主机通告的密钥 k,点击“解密”按钮进行 DES 解密。 (4)将破解后的明文与同组主机记录的明文比较。 2.DES 算法 本机进入“密码工具”|“加密解密”|“DES 加密算法”|“演示”页签,向 64 位明文中输入 8 个字符(8*8bit=64),向 64 位密钥中输入 8 个字符(8*8bit=64)。点击“加密”按钮。完成加 密操作,分别点击“初始置换”、“密钥生成演示”、“十六轮加密变换”和“终结置换”按钮,查 看初始置换、密钥生成演示、十六轮加密变换和终结置换的详细加密操作流程。 3.源码应用(选做) 设计 DES 加密工具,利用 DES 加密算法对文件进行加密。 单击工具栏“DES 加密工具工程”按钮。基于此工程进行程序设计。 二.AES 算法 1.AES 加密/解密 (1)本机进入“密码工具”|“加密解密”|“AES 加密算法”|“加密/解密”页签,在明文输 入区输入明文: 。 (2)在密钥窗口输入 16(128 位)个字符的密钥 k,要记住这个密钥以用于解密,密钥 k= 。单击“加密”按钮,将密文导出到 AES 文件夹(D:\Work\Encryption\AES\)中, 通告同组主机获取密文,并将密钥 k 告诉同组主机。 (3)单击“导入”按钮,从同组主机的 AES 共享文件夹中将密文导入,然后在密钥窗口输 入被同组主机通告的密钥 k,点击“解密”按钮进行 AES 解密。 (4)将破解后的明文与同组主机记录的明文比较。 2.AES 算法 进入“密码工具”|“加密解密”|“AES 加密算法”|“演示”页签。输入 128 位明文与密钥, 执行加密操作,查看各演示模块。 根据实验原理中对 AES 加密算法的 SubBytes 变换和 ShiftRows 变换的介绍,对于以下给出 的状态矩阵: 请计算它的 SubBytes 变换,以及经过 SubBytes 变换之后,再经过 ShiftRows 变换的结果。 3.源码应用(选做) 设计 AES 加密工具,利用 AES 加密算法对文件进行加密。 单击工具栏“AES 加密工具工程”按钮。基于此工程进行程序设计。 三.RC4 算法
1.RC4加密/解密 (1)本机进入"密码工具“加密解密”1“C4加密算法”“加密/解密"页签,在明文输入 区输入明文: (2)在密钥窗口输入密钥k= 。单击“加密:按钮,将密文导出到RC4共享文 件夹(D:\Work\Encryption\RC4)中,通告同组主机获取密文,并将密钥k告诉同组主机。 (3)单击“导入“按钮,从同组主机的C4共享文件夹中将密文导入,然后在密钥窗口输 入被同组主机通告的密钊 K 点击“解密”按钮进行RC4解密 (4)将破解后的明文与同组主机记录的明文比较。 2.RC4算法 (一)手动模拟C4加密 (1)实例化 一个含有MDE个元素的5Box(S)(这里假设MODE=9,步骤如下 MOD 初始为9,j初始为0,i初始为0,将5_Box赋值为0一(M0DE-1的一个序列 将含有MODE个元素的KBox使用密钥"abcde"序列循环填充: ●j=((S_Box的第i个字节的值)+(KBox的第i个字节的值)+j)mod MODE: ●i=0,1,.M0DE-1: 将5_Box与S_Box的值交换 ● 1加1 ● 1是否等于MODE,是则退出实例化结束操作,否则转至第3步: 实例化后的S_Box是: (2)利用(1)获得的S_Box按下面的方法加密"Hello RC4”(可通过ASC1码对照表查询 字符对应ASC1码) 加密方法:初始化m=i-0:MoDE=9,送入明文数据存入Buf长度Len m=(i+1)mod MODE,j=(j+S_Box[m])mod MODE; k=(s_Box[m]+S_Box[i])mod MODE: R=S_Box[k]: ● 密文i等于Bu异或R的值 ●1自加1: ●i是否小于Len,否完成加密并退出,是转至第二步。 加密后的密文数字序列是: (二)验证 进入“密码工具”|“加密解密"|“C4加密算法”|“RC4演示“页签,将S-Box元素个数调整 为9,明文中填入“Hello RC4!“,密钥中填入“abcde”,执行加密操作,查看各演示模块,验 证手动计算结果。 3.源码应用(选做 设计RC4加密工具,利用RC4加密算法对文件进行加密。 单击工具栏“C4加密工具工程按钮。基于此工程进行程序设计。 5/12
5 / 12 1.RC4 加密/解密 (1)本机进入“密码工具”|“加密解密”|“RC4 加密算法”|“加密/解密”页签,在明文输入 区输入明文: 。 (2)在密钥窗口输入密钥 k= 。单击“加密”按钮,将密文导出到 RC4 共享文 件夹(D:\Work\Encryption\RC4\)中,通告同组主机获取密文,并将密钥 k 告诉同组主机。 (3)单击“导入”按钮,从同组主机的 RC4 共享文件夹中将密文导入,然后在密钥窗口输 入被同组主机通告的密钥 k,点击“解密”按钮进行 RC4 解密。 (4)将破解后的明文与同组主机记录的明文比较。 2.RC4 算法 (一)手动模拟 RC4 加密 (1)实例化一个含有 MODE 个元素的 S_Box(S)(这里假设 MODE=9),步骤如下: ⚫ MODE 初始为 9,j 初始为 0,i 初始为 0,将 S_Box 赋值为 0~(MODE-1)的一个序列; ⚫ 将含有 MODE 个元素的 K_Box 使用密钥“abcde”序列循环填充; ⚫ j=((S_Box 的第 i 个字节的值)+(K_Box 的第 i 个字节的值)+ j)mod MODE; ⚫ i={0,1,., MODE-1 }; ⚫ 将 S_Box[j]与 S_Box[i]的值交换; ⚫ i 加 1; ⚫ i 是否等于 MODE,是则退出实例化结束操作,否则转至第 3 步; 实例化后的 S_Box 是: 。 (2)利用(1)获得的 S_Box 按下面的方法加密“Hello RC4!”(可通过 ASCII 码对照表查询 字符对应 ASCII 码)。 加密方法:初始化 m=i=j=0;MODE=9,送入明文数据存入 Buf,长度 Len; ⚫ m=(i+1) mod MODE,j=(j+S_Box[m]) mod MODE; ⚫ 交换 S_Box[m],S_Box[j]; ⚫ k=(S_Box[m] + S_Box[j])mod MODE; ⚫ R=S_Box[k]; ⚫ 密文 i 等于 Buf[i]异或 R 的值; ⚫ i 自加 1; ⚫ i 是否小于 Len,否完成加密并退出,是转至第二步。 加密后的密文数字序列是: 。 (二)验证 进入“密码工具”|“加密解密”|“RC4 加密算法”|“RC4 演示”页签, 将 S-Box 元素个数调整 为 9,明文中填入“Hello RC4!”,密钥中填入“abcde”,执行加密操作,查看各演示模块,验 证手动计算结果。 3.源码应用(选做) 设计 RC4 加密工具,利用 RC4 加密算法对文件进行加密。 单击工具栏“RC4 加密工具工程”按钮。基于此工程进行程序设计
实验结果与分析: 思考题: 1.DS每一个明文分组的长度是多少位?这个明文分组加密后的密文是多少位? 2.在AE5加密的10轮循环中,前9轮与第10轮有什么不同? 3.简述RC4算法中S_BOx的产生步骤。 6112
6 / 12 实验结果与分析: 思考题: 1.DES 每一个明文分组的长度是多少位?这个明文分组加密后的密文是多少位? 2.在 AES 加密的 10 轮循环中,前 9 轮与第 10 轮有什么不同? 3. 简述 RC4 算法中 S_Box 的产生步骤