1、密码学与信息安全实验报告专 业 班 级 姓 名 学 号 2015 年 6 月 5 日- 0 -实验一 古典密码实验1 实验目的1.理解代替密码学加密过程 2.理解置换密码学加密过程2 实验内容1手动完成 Caesar 密码2Caesar 加密3Caesar 密码分析4单表置换密码5单表置换密码分析3 实验过程本练习主机 A、B 为一组,C、D 为一组,E、F 为一组。首先使用“快照 X”恢复 Windows 系统环境。1手动完成 Caesar 密码(1)在实验原理部分我们已经了解了 Caesar 密码的基本原理,那么请同学们写出当密钥 k=3 时,对应明文:data security has
2、evolved rapidly 的密文:data security has evolved rapidly 。(2)进入实验平台,单击工具栏中的“密码工具”按钮,启动密码工具,在向导区点击“Caesar 密码” 。在明文输入区输入明文:data security has evolved rapidly。将密钥 k 调节到 3,查看相应的密文,并与你手动加密的密文进行比较。请根据密钥验证密文与明文对应关系是否正确。2Caesar 加密(1)进入“加密解密”“Caesar 密码”视图,在明文输入区输入明文(明文应为英文) ,单击“加密”按钮进行加密。请将明文记录在这里:I am a stident
3、 。(2)调节密钥 k 的微调按钮或者对照表的移位按钮,选择合适的密钥 k 值,并记下该密钥 k 值用于同组主机的解密。加密工作完成后,单击“导出”按钮将密文默认导出到 Caesar 共享文件夹(D:WorkEncryptionCaesar) 中,默认文件名为 Caesar 密文.txt。(3)通知同组主机接收密文,并将密钥 k 通告给同组主机。6(4)单击“导入”按钮,进入同组主机 WorkEncryptionCaesar 目录( 同组主机IPWorkEncryptionCaesar) ,打开 Caesar 密文.txt。(5)调节密钥 k 的微调按钮或对照表的移位按钮,将 k 设为同组主机
4、加密时的密钥k 值,这时解密已经成功。请将明文写出:I am a stident 。(6)将解密后的明文与同组主机记录的明文比较,请对比明文是否相同。3Caesar 密码分析(1)本机进入“密码工具”“加密解密”“Caesar 密码” ,在明文输入区输入明文(要求明文有一定的意义以便让同组主机分析) 。请将明文记录在这里:I am a stident 。(2)调节密钥 k 的微调按钮或者对照表的移位按钮,选择合适的密钥 k 值完成 Caesar加密,单击“导出”按钮,将密文默认导出到 Caesar 共享文件夹中。(3)通告同组主机(不要通告密钥值 k)密文已经放在共享文件夹中,让同组主机获取密
5、文。(4)单击“导入”按钮将同组主机 Caesar 密文导入。- 1 -(5)调节密钥 k 的微调按钮或者对照表的移位按钮来调节密钥,从而进行密码分析(平 均 13 次,最坏 26 次破解) 。请将破解出的明文和密钥记录在这里:密钥 k= 6 。明文 I am a stident 。(6)将破解后的密钥和明文与同组主机记录的密钥和明文比较。如果不同请调节密钥k 继续破解。4单表置换密码(1)单击“密码工具”按钮,进入“加密解密”“单表置换”“加密/解密”视图,与同组主机协商好一个密钥词组 k= i am a student .(2)根据“单表置换”实验原理计算出置换表。(3)计算完成置换表以后
6、,在明文输入区输入明文,单击“加密”按钮用置换表的对应关系对明文进行加密,加密完成后,单击“导出”按钮,将密文导出到 SingleTable共享目录中,并通告同组主机获取密文。请将明文记录在这里:data security has evolved rapidly。(4)单击“导入”按钮将同组主机单表置换密文导入,根据同组主机置换表完成本机置换表,单击“解密”按钮对密文进行解密。(5)本机将解密后的明文与同组主机记录的明文对照,如果双方的明文一致,则说明实验成功,否则说明本机或同组主机的置换表计算错误。5单表置换密码分析(1)图 5-2-1 是由统计学得出的英文字母相对频率表。- 2 -图 5-
7、2-1由图 5-2-1 可以看出,英文字母 E 出现的频率最高,而 J 和 Z 出现的频率最低,这样,就可以通过英文字母出现的频率大致上判定单表置换密码的置换表,从而得到明文。(2)本机进入“密码工具”“加密解密”“单表置换”“密码分析”页面,单击“导入”按钮,将密文“单表置换密码分析密文.txt”导入,单击 “统计”按钮,统计密文中每个字母出现的频率,回答下列问题:在密文中出现频率最高的字母是 A 与上表比较,它可能是由字母 E 置换的。(3)置换表组框中点击“解密”按钮,这时将得到一个明文。然而此时的明文并不是最终要得到的,可以通过明文的特征和各个字母的比例来调节置换表中的对应关系,从而得
8、到正确的明文。例如,明文第一段和置换表如图 5-2-2 所示。图 5-2-2根据明文我们可猜测图中画线的单词“soe dldar”应该为 “she didnt”。首先在置换表中找到明文小写字母 o 对应的密文大写字母 E,然后改变置换表,使猜测的 h 对应 E,依此类推则 i 对应 F, n 对应 M,t 对应 T,变换后的置换表如图 5-2-3 所示。图 5-2-3- 3 -单击“解密”按钮,得到明文如图 5-2-4 所示。图 5-2-4依此类推便可以得到明文,请根据你的置换表填写表 5-2-1。a b c d e f g h i j k l m C H I N A B D E N G J
9、K L n o p q r s t u v w x y z M O P Q R S T U V W X Y Z 4 结论古典密码算法曾经被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要对象是文字信息,利用密码算法实现文字信息的加密和解密。古典密码学可以分为代替密码(也叫做移位密码)和置换密码(也叫做换位密码)两种,其中代替密码典型的有 Caesar 密码,数乘密码和仿射变换等,置换密码有单表置换和多表置换等。4实验二 分组密码实验1 实验目的1.理解对称加密算法的原理和特点2.理解 DES 算法的加密原理3 理解 AES 算法的加密原理 2 实验内容1DES 加密解密2D
10、ES 算法3AES 加密解密4AES 算法3 实验过程本练习主机 A、B 为一组,C、D 为一组,E、F 为一组。首先使用“快照 X”恢复 Windows 系统环境。1DES 加密解密(1)本机进入“密码工具”“加密解密”“DES 加密算法”“加密/解密”页签,在明文输入区输入明文:i am a student,you are a pig。(2)在密钥窗口输入 8(64 位)个字符的密钥 k,密钥 k= students 。单击“加密”按钮,将密文导出到 DES 文件夹(D:WorkEncryptionDES )中,通告同组主机获取密文,并将密钥 k 告诉同组主机。(3)单击“导入”按钮,从同
11、组主机的的 DES 共享文件夹中将密文导入,然后在密钥窗口输入被同组主机通告的密钥 k,点击“解密”按钮进行 DES 解密。(4)将破解后的明文与同组主机记录的明文比较。2DES 算法本机进入“密码工具”“加密解密”“DES 加密算法”“演示”页签,向 64 位5明文中输入 8 个字符(8*8bit=64) ,向 64 位密钥中输入 8 个字符(8*8bit=64 ) 。点击“加密”按钮。完成加密操作,分别点击“初始置换” 、 “密钥生成演示” 、 “十六轮加密变换”和“终结置换”按钮,查看初始置换、密钥生成演示、十六轮加密变换和终结置换的详细加密操作流程。3AES 加密解密(1)本机进入“密
12、码工具”“加密解密”“AES 加密算法”“加密/解密”页签,在明文输入区输入明文:i am a student,you are a pig。(2)在密钥窗口输入 16(128 位)个字符的密钥 k,要记住这个密钥以用于解密,密钥 k= ilikechinesebest。单击“加密”按钮,将密文导出到 AES 文件夹(D:WorkEncryptionAES)中,通告同组主机获取密文,并将密钥 k 告诉同组主机。6(3)单击“导入”按钮,从同组主机的 AES 共享文件夹中将密文导入,然后在密钥窗口输入被同组主机通告的密钥 k,点击“解密”按钮进行 AES 解密。(4)将破解后的明文与同组主机记录的
13、明文比较。4AES 算法进入“密码工具”“加密解密”“AES 加密算法”“演示”页签。输入 128 位明文与密钥,执行加密操作,查看各演示模块。根据实验原理中对 AES 加密算法的 SubBytes 变换和 ShiftRows 变换的介绍,对于以下给出的状态矩阵:7请计算它的 SubBytes 变换,以及经过 SubBytes 变换之后,再经过 ShiftRows 变换的结果。4 结论对称密钥加密机制即对称密码体系,也称为单钥密码体系和传统密码体系。对称密码体系通常分为两大类,一类是分组密码(如 DES、AES 算法) ,另一类是序列密码(如 RC4 算法) 。8实验三 公钥密码实验1 实验目
14、的1.了解非对称加密机制2.理解 RSA 算法的加密原理 3.理解 ELGamal 算法的加密原理2 实验内容1RSA 生成公私钥及加密解密过程演示2RSA 加密解密3ELGamal 生成公钥及加密解密过程演示4ELGamal 加密解密3 实验过程本练习主机 A、B 为一组,C、D 为一组,E、F 为一组。首先使用“快照 X”恢复 Windows 系统环境。一RSA 生成公私钥及加密解密过程演示(1)本机进入“密码工具”“加密解密”“RSA 加密算法”“公私钥”页签,在生成公私钥区输入素数 p 和素数 q,这里要求 p 和 q 不能相等(因为很容易开平方求出 p 与 q 的值)并且 p 与 q
15、 的乘积也不能小于 127(因为小于 127 不能包括所有的ASCII 码,导致加密失败) ,你选用的素数 p 与 q 分别是:p= 53 ;q= 67 。 (2)单击“随机选取正整数 e”下拉按钮,随机选取 e,e= 1099 。(3)单击“生成公私钥”按钮生成公私钥,记录下公钥 (1099,3551) ,私钥 (1627,3551) 。(4)在公私钥生成演示区中输入素数 p= 53 和素数 q= 67 ,还有正整数 e= 1099 。单击“开始演示”按钮查看结果,填写表 3-1-1。表 3-1-1 公私钥生成演示结果私钥 d 1627 私钥 n 3551公钥 e 1099 公钥 n 355
16、1(5)在加/解密演示区中输入明文 m= 2255,公钥 n= 3551(mn ) ,公钥 e= 1099 。单击“加密演示”按钮,查看 RSA 加密过程,然后记录得到的密文 c= 2402 。(6)在密文 c 编辑框输入刚刚得到的密文,分别输入私钥 n= 3551 ,私钥 d= 1627 ,点击“解密演示”按钮,查看 RSA 解密过程,然后记录得到的明文 m= 2255 。(7)比较解密后的明文与原来的明文是否一致。根据实验原理中对 RSA 加密算法的介绍,当素数 p=13,素数 q=17,正整数 e=143 时,写出 RSA 私钥的生成过程:当公钥 e=143 时,写出对明文 m=40 的加密过程(加密过程计算量比较大,请使用密码工具的 RSA 工具进行计算):