对称密码基本加密实验汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对称密码基本加密实验
【实验环境】
ISES客户端
Microsoft CLR Debugger 2005或其它调试器
【实验步骤】
一、DES
在加密算法选项里选择DES,以下实验步骤保持算法不变。
(一)加解密计算
(1)加密
在明文栏的下拉菜单里选择文本或十六进制,然后在后面相应的文本框内输入所要加密的明文;
在密钥栏的下拉菜单里选择文本或十六进制,然后在后面相应的文本框内输入相应的密钥;
点击“加密”按钮,在密文文本框内就会出现加密后的密文,如图1.1.4-5所示。
图1.1.4-5
(2)解密
在密文栏相应的文本框内输入所要解密的密文;
在密钥栏的下拉菜单里选择文本或十六进制,然后在后面相应的文本框内输入相应的密钥;
点击“解密”按钮,在明文文本框内就会出现解密后的明文。
(二)分步演示
(1)点击“扩展实验”框中的“DES分步演示”按钮,进入DES分步演示窗口,打开
后默认进入分步演示页面。
(2)密钥生成
在“子密钥产生过程”框中,选择密钥的输入形式后,输入密钥;DES要求密钥长度为64位,即选择“ASCII”(输入形式为ASCII码)时应输入8个字符,选择“HEX”(输入形式为十六进制)时应输入16个十六进制码;
点击“比特流”按钮生成输入密钥的比特流;
点击“等分密钥”按钮,将生成的密钥比特流进行置换选择后,等分为28位的C0和D0两部分;
分别点击两侧的“循环左移”按钮,对C0和D0分别进行循环左移操作(具体的循环左移的移位数与轮序有关,此处演示为第一轮,循环左移1位),生成同样为28位的C1和D1;
点击“密钥选取”按钮,对C1和D1进行置换选择,选取48位的轮密钥,此处生成第一轮的密钥K1。
上述密钥生成过程如图1.1.4-6所示。
图1.1.4-6
(3)加密过程
在“加密过程”框中,选择明文的输入形式后,输入明文;DES要求明文分组长度为64位,输入要求参照密钥输入步骤;
点击“比特流”按钮生成输入的明文分组的比特流;
点击“初始置换IP”对明文比特流进行初始置换,并等分为32位左右两部分L0和R0;
点击“扩展置换E”按钮对32位R0进行扩展置换,将其扩展到48位;
点击“异或计算”按钮,将得到的扩展结果与轮密钥K1进行异或,得到48位异或结果;
分别点击“S1”、“S2”、…、“S8”按钮,将得到的48位异或结果通过S代换产生32位输出;
点击“异或计算”按钮,将得到的32位输出与L0进行异或,得到R1;同时令L1=R1,进入下一轮加密计算。
上述加密过程如图1.1.4-7所示。
依次进行16轮计算,最终得到L16和R16;
点击“终结置换”按钮,对交换后的L16和R16进行初始逆置换IP-1,即可得到密文。
上述加密过程如图1.1.4-8所示。
图1.1.4-7
图1.1.4-8
(三)D ES实例
(1)点击DES分步演示窗体中的“DES实例”标签,进入DES实例演示页面。
(2)加密实例
输入明文、初始化向量和密钥,选择工作模式和填充模式,点击“加密”按钮,对输入
的明文使用DES算法按照选定的工作模式和填充模式进行加密;在轮密钥显示框内以十六进制显示各轮加密使用的密钥,加密结果以两种形式显示在密文框中。上述过程如图1.1.4-9所示。
图1.1.4-9
(3)解密实例
输入密文、密钥和初始化向量,选择工作模式和填充模式,点击“解密”按钮,对输入的密文使用DES算法按照选定的工作模式和填充模式进行解密;在轮密钥显示框内以十六进制显示各轮加密使用的密钥,解密结果以两种形式显示在明文框中。
(四)D ES扩展实验
(1)点击“扩展实验”框中的“DES扩展实验”按钮,进入DES扩展实验窗口,打开
后默认进入扩展实验主页面,进行加解密。
(2)确保在主窗口中选中了“加密”按钮,将DES的工作模式设置为“加密运算”。
(3)文本框内输入待加密16个字节长的明文ASCII码串(64比特),16个字节长的密钥
ASCII码串(64比特),点击“运行”按钮,得到DES的加密结果,如图1.1.4-10所示。
图1.1.4-10
(4)观察“初始置换”(初始置换IP)。在主窗口中点击“初始置换”按钮,进入“首置
换”卡片,再次点击“运行”,即可观察明文的初始变换过程,如图1.1.4-11所示。
可以根据需要,调节变换显示的速度。
图1.1.4-11
(5)观察密钥变换。在主窗口中点击“密码表”按钮,打开密码变换卡片组。
①选择“密码表”卡片,观察16轮加密变换的密钥,如图1.1.4-12所示。
图1.1.4-12
②选择“密码盒”卡片,观察16轮加密变换密钥的生成过程。点击“置换选择1”按
钮,得到该密钥的初始变换,选择想要测试加密密钥的轮次,再点击“置换选择2”按钮,
即可得到相应的加密密钥,如图1.1.4-13所示。
图1.1.4-13
(6)观察加密函数。点击主窗口的“F(Ri,Ki+1)”按钮,进入加密函数变换卡片。
①依次顺序点击“F(Ri,Ri+1)”卡片中的各个按钮,可以得到“选择运算E”、“代替函
数组S”和“置换运算P”的运算结果,如图1.1.4-14所示。
图1.1.4-14
②选择“F(Ri,Ri+1)”卡片右下角的“Ebox”、“Sbox”或“Pbox”,并点击“查看”按钮,可以详细观察相应的变换过程,如图1.1.4-15所示。
图1.1.4-15
(7)观察“末置换”(逆初始变换IP-1)。在主窗口中点击“末置换”按钮,进入“末置
换”卡片,再次点击“运行”,即可观察加密过程的末置换(逆初始变换IP-1)的执行过程,如图1.1.4-16所示。只有当主窗口中循环轮次等于16时,“末置换”按钮才变为有效的,否则无法激活该窗口。
图1.1.4-16