对称密码基本加密实验汇总

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
(8)解密时,确保在主窗口中选中了“解密”按钮,将DES的工作模式设置为“解密
运算”。

文本框内输入待解密16个字节长的密文ASCII码串(64比特),16个字节长的密钥ASCII码串(64比特),点击“运行”按钮,得到DES的解密结果,如图
1.1.4-17所示。

解密运算的其他过程与加密过程一样,不再赘述。

图1.1.4-17
(五)算法跟踪
选择DES算法,在算法计算的相应区域输入明/密文和密钥;点击“跟踪加密”/“跟踪解密”按钮,进入调试器,选择对应的算法函数进行算法跟踪;跟踪完成后会自动返回实验界面显示计算结果;切换回调试器,停止调试,关闭调试器,不保存工程。

具体步骤可参照古典密码实验中实验步骤二。

二、3DES
在加密算法选项里选择3DES,以下实验步骤保持算法不变。

(一)加解密计算
选择明/密文和密钥的格式,输入明/密文和密钥;点击“加密”/“解密”按钮,进行加/解密计算;查看计算结果。

具体步骤可参照DES的加解密计算的实验步骤。

(二)查看轮密钥
(1)点击“扩展实验”框中的“查看轮密钥”按钮,进入查看轮密钥窗体。

(2)输入明文、初始化向量和密钥,密钥长度为128位或192位,对应于原理中的两种
情况,此处以输入128位密钥为例;选择工作模式和填充模式,点击“加密”按钮,使用3DES算法按照选定的工作模式和填充模式进行加密;在“密钥”框中查看各轮的密钥,在“密文”框中查看生成的密文。

具体如图1.1.4-18所示。

图1.1.4-18
(三)扩展实验
(1)点击扩展实验下的“3DES扩展实验”按钮,进入3DES扩展实验主窗体,如图1.1.4-19
所示。

图1.1.4-19
(2)点击主窗体内最左边的“3DES密码”按钮,进入3DES加解密实验。

分别在“明
文ACSII码串”、“密钥K1的ASCII码串”中输入16个十六进制的数值,点击左上角的“DES”按钮,在“一重DES密文ASCII码串”中就会显示出加密的密文ASCII码串值。

同样在“密钥K2的ASCII码串”中输入16个十六进制的数值(最好与K1不同),点击上排中间的“DES-1”按钮,在“二重DES密文ASCII码串”
中就会显示出加密的密文ASCII码串值,如图1.1.4-20所示。

图1.1.4-20
(3)在“密钥K3的ASCII码串”中输入16个十六进制的数值,点击右上角“DES”按
钮,在“密文ASCII码串”中就会显示出3DES加密的密文ASCII码串值,如图
1.1.4-21所示。

图1.1.4-21
(4)3DES的解密过程是其加密过程的逆过程。

接着上面的实验步骤,依次从右到左,
顺序点击3DES加解密卡片下排中的按钮“DES-1”、“DES”和“DES-1”,分别得到“二重DES明文ASCII码串”、“一重DES明文ASCII码串”和“明文ASCII码串”,如图1.1.4-22所示。

图1.1.4-22
(四)算法跟踪
选择3DES算法,在算法计算的相应区域输入明/密文和密钥;点击“跟踪加密”/“跟踪解密”按钮,进入调试器,选择对应的算法函数进行算法跟踪;跟踪完成后会自动返回实验界面显示计算结果;切换回调试器,停止调试,关闭调试器,不保存工程。

具体步骤可参照古典密码实验中实验步骤二。

三、IDEA
在加密算法选项里选择IDEA,以下实验步骤保持算法不变。

(一)加解密计算
选择明/密文和密钥的格式,输入明/密文和密钥;点击“加密”/“解密”按钮,进行加/解密计算;查看计算结果。

具体步骤可参照DES的加解密计算的实验步骤。

(二)扩展实验
(1)点击“扩展实验”框中的“IDEA扩展实验”按钮,进入IDEA扩展实验窗口,打
开后默认进入扩展实验主页面。

(2)在主窗口中的“明文”文本框中输入16个十六进制的数值串,在“密钥”文本框
中输入32个十六进制的数值串,点击“加密”按钮,如图1.1.4-23所示。

图1.1.4-23
(3)观察密码生成过程。

在主窗口中点击“密码表”按钮,进入密码表的生成过程。


击“运行”后,再点击“上”、“下”、“左”或“右”箭头,分别得到相应轮次的密码变换结果,如图1.1.4-24所示。

图1.1.4-24
(4)观察轮变换过程。

点击轮变换中的“左”或“右”箭头,观察该轮加密的结果;也
可以直接在轮次文本框中输入一个1-9之间的数值,点击“循环”按钮;具体如图
1.1.4-25所示。

图1.1.4-25
(5)观察输出变换过程。

当轮变换的轮次到9时,即进入了IDEA密码的最后一轮输出
变换,得到最后的加密运算结果;具体如图1.1.4-26所示。

图1.1.4-26
(6)运算器工具。

在主窗口中点击“运算器”,即进入运算器工具窗口;用户可在其中
输入十六进制的数据进行IDEA中的一些典型运算,如“16位按位异或+”、“16位整数作模216+1相乘⊙”或“16位整数作模216相加+”运算;具体如图1.1.4-27
所示。

图1.1.4-27
(7)在主窗口中的“密文”文本框中输入16个十六进制的数值串,在“密钥”文本框
中输入32个十六进制的数值串,点击“解密”按钮,即可进行解密操作;IDEA解
密扩展实验的其他过程与加密类似,不再赘述。

(三)算法跟踪
选择IDEA算法,在算法计算的相应区域输入明/密文和密钥;点击“跟踪加密”/“跟踪解密”按钮,进入调试器,选择对应的算法函数进行算法跟踪;跟踪完成后会自动返回实验界面显示计算结果;切换回调试器,停止调试,关闭调试器,不保存工程。

具体步骤可参照古典密码实验中实验步骤二。

四、AES-128/192/256
AES-128/192/256的区别仅在于密钥长度的不同,此处以AES-128为例,AES-192/256可参照完成。

在加密算法选项里选择AES-128,以下实验步骤保持算法不变。

(一)加解密计算
选择明/密文和密钥的格式,输入明/密文和密钥;点击“加密”/“解密”按钮,进行加/解密计算;查看计算结果。

具体步骤可参照DES的加解密计算的实验步骤。

(二)查看轮密钥
点击“扩展实验”框中的“查看轮密钥”按钮,进入查看轮密钥窗体,可窗体在右侧查看相应的原理。

输入明文、初始化向量和128位密钥,选择工作模式和填充模式,点击“加密”按钮,使用AES-128算法按照选定的工作模式和填充模式进行加密;在“密钥”框中查看各轮的密钥,在“密文”框中查看生成的密文。

具体如图1.1.4-28所示。

图1.1.4-28
(三)查看演示动画
点击算法跟踪实验框内的“AES动画演示”按钮,进入AES算法加密的逐步计算的动画演示窗体,按回车进行逐步查看。

(四)算法跟踪
选择AES-128算法,在算法计算的相应区域输入明/密文和密钥;点击“跟踪加密”/“跟踪解密”按钮,进入调试器,选择对应的算法函数进行算法跟踪;跟踪完成后会自动返回实验界面显示计算结果;切换回调试器,停止调试,关闭调试器,不保存工程。

具体步骤可参照古典密码实验中实验步骤二。

五、SMS4
在加密算法选项里选择SMS4,以下实验步骤保持算法不变。

(一)加密计算
选择明文和密钥格式,输入明文和密钥;选定算法为SMS4,点击“加密”按钮,进行加密计算;在“密文”框内查看加密计算结果。

具体步骤可参照DES的加密计算的实验步骤。

(二)扩展实验
(1)点击“扩展实验”框中的“SMS4扩展实验”按钮,进入SMS4扩展实验窗口,打
开后默认进入扩展实验主页面。

(2)在主窗口中的“明文”文本框中输入32个十六进制的数值串,在“密钥”文本框
中输入32个十六进制的数值串,点击“加密”按钮。

图1.1.4-29
(3)观察密码生成过程。

在主窗口中点击“密码表”按钮,进入密码扩展算法界面,如
图1.1.4-30所示。

图1.1.4-30
①点击密码表窗口中的右上角按钮“K0,K1,K2,K3”,进入密钥扩展的初始运算界面,如图1.1.4-31所示。

图1.1.4-31
②点击密码表窗口中的右边的中间按钮“K4…K35”,进入密钥扩展的轮变换界面。

首先,点击“<”、“>”按钮,可以调整不同的轮次,也可以直接输入相应的轮次后点击“循环”按钮。

然后,依次顺序点击模2加、循环按钮,得到本轮的加密密钥。

依次如图1.1.4-32所示。

图1.1.4-32
③点击密码表窗口中的“S”按钮,进入S盒表变换,如图1.1.4-33所示。

图1.1.4-33
(4)观察轮变换过程。

首先,点击轮变换中的“左”或“右”箭头,观察该轮加密的结
果。

也可以直接在轮次文本框中输入一个1-32之间的数值,点击“循环”按钮。


后,依次点击轮变换中的模加、S变换、循环移位按钮,得到本轮的加密运算结果。

具体如图1.1.4-34所示。

图1.1.4-34
(5)在主窗口中的“密文”文本框中输入32个十六进制的数值串,在“密钥”文本框
中输入32个十六进制的数值串,点击“解密”按钮。

SMS4解密的其他过程与加密类似,不再赘述。

(三)解密计算
选择密文和密钥格式,输入密文和密钥;选定算法为SMS4,点击“解密”按钮,进行解密计算;在“明文”框内查看解密计算结果。

具体步骤可参照DES的解密计算的实验步骤。

相关文档
最新文档