《密码学与信息安全》实验报告专业班级姓名学号2015年6月5日-1-实验一古典密码实验1实验目的1.理解代替密码学加密过程2.理解置换密码学加密过程2实验内容1.手动完成Caesar密码2.Caesar加密3.Caesar密码分析4.单表置换密码5.单表置换密码分析3实验过程本练习主机A、B为一组,C、D为一组,E、F为一组。首先使用“快照X”恢复Windows系统环境。1.手动完成Caesar密码(1)在实验原理部分我们已经了解了Caesar密码的基本原理,那么请同学们写出当密钥k=3时,对应明文:datasecurityhasevolvedrapidly的密文:datasecurityhasevolvedrapidly。(2)进入实验平台,单击工具栏中的“密码工具”按钮,启动密码工具,在向导区点击“Caesar密码”。在明文输入区输入明文:datasecurityhasevolvedrapidly。将密钥k调节到3,查看相应的密文,并与你手动加密的密文进行比较。请根据密钥验证密文与明文对应关系是否正确。2.Caesar加密(1)进入“加密解密”|“Caesar密码”视图,在明文输入区输入明文(明文应为英文),单击“加密”按钮进行加密。请将明文记录在这里:Iamastident。(2)调节密钥k的微调按钮或者对照表的移位按钮,选择合适的密钥k值,并记下该密钥k值用于同组主机的解密。加密工作完成后,单击“导出”按钮将密文默认导出到Caesar共享文件夹(D:\Work\Encryption\Caesar\)中,默认文件名为Caesar密文.txt。(3)通知同组主机接收密文,并将密钥k通告给同组主机。6(4)单击“导入”按钮,进入同组主机Work\Encryption\Caesar目录(\\同组主机IP\Work\Encryption\Caesar),打开Caesar密文.txt。(5)调节密钥k的微调按钮或对照表的移位按钮,将k设为同组主机加密时的密钥k值,这时解密已经成功。请将明文写出:Iamastident。(6)将解密后的明文与同组主机记录的明文比较,请对比明文是否相同。3.Caesar密码分析(1)本机进入“密码工具”|“加密解密”|“Caesar密码”,在明文输入区输入明文(要求明文有一定的意义以便让同组主机分析)。请将明文记录在这里:Iamastident。(2)调节密钥k的微调按钮或者对照表的移位按钮,选择合适的密钥k值完成Caesar加密,单击“导出”按钮,将密文默认导出到Caesar共享文件夹中。(3)通告同组主机(不要通告密钥值k)密文已经放在共享文件夹中,让同组主机获取密文。(4)单击“导入”按钮将同组主机Caesar密文导入。-2-(5)调节密钥k的微调按钮或者对照表的移位按钮来调节密钥,从而进行密码分析(平均13次,最坏26次破解)。请将破解出的明文和密钥记录在这里:密钥k=6。明文Iamastident。(6)将破解后的密钥和明文与同组主机记录的密钥和明文比较。如果不同请调节密钥k继续破解。4.单表置换密码(1)单击“密码工具”按钮,进入“加密解密”|“单表置换”|“加密/解密”视图,与同组主机协商好一个密钥词组k=iamastudent.(2)根据“单表置换”实验原理计算出置换表。(3)计算完成置换表以后,在明文输入区输入明文,单击“加密”按钮用置换表的对应关系对明文进行加密,加密完成后,单击“导出”按钮,将密文导出到SingleTable共享目录中,并通告同组主机获取密文。请将明文记录在这里:datasecurityhasevolvedrapidly。(4)单击“导入”按钮将同组主机单表置换密文导入,根据同组主机置换表完成本机置换表,单击“解密”按钮对密文进行解密。(5)本机将解密后的明文与同组主机记录的明文对照,如果双方的明文一致,则说明实验成功,否则说明本机或同组主机的置换表计算错误。5.单表置换密码分析(1)图5-2-1是由统计学得出的英文字母相对频率表。-3-图5-2-1由图5-2-1可以看出,英文字母E出现的频率最高,而J和Z出现的频率最低,这样,就可以通过英文字母出现的频率大致上判定单表置换密码的置换表,从而得到明文。(2)本机进入“密码工具”|“加密解密”|“单表置换”|“密码分析”页面,单击“导入”按钮,将密文“单表置换密码分析密文.txt”导入,单击“统计”按钮,统计密文中每个字母出现的频率,回答下列问题:在密文中出现频率最高的字母是A与上表比较,它可能是由字母E置换的。(3)置换表组框中点击“解密”按钮,这时将得到一个明文。然而此时的明文并不是最终要得到的,可以通过明文的特征和各个字母的比例来调节置换表中的对应关系,从而得到正确的明文。例如,明文第一段和置换表如图5-2-2所示。图5-2-2根据明文我们可猜测图中画线的单词“soedlda’r”应该为“shedidn’t”。首先在置换表中找到明文小写字母o对应的密文大写字母E,然后改变置换表,使猜测的h对应E,依此类推则i对应F,n对应M,t对应T,变换后的置换表如图5-2-3所示。图5-2-3-4-单击“解密”按钮,得到明文如图5-2-4所示。图5-2-4依此类推便可以得到明文,请根据你的置换表填写表5-2-1。abcdefghijklmCHINABDENGJKLnopqrstuvwxyzMOPQRSTUVWXYZ4结论古典密码算法曾经被广泛应用,大都比较简单,使用手工和机械操作来实现加密和解密。它的主要对象是文字信息,利用密码算法实现文字信息的加密和解密。古典密码学可以分为代替密码(也叫做移位密码)和置换密码(也叫做换位密码)两种,其中代替密码典型的有Caesar密码,数乘密码和仿射变换等,置换密码有单表置换和多表置换等。5实验二分组密码实验1实验目的1.理解对称加密算法的原理和特点2.理解DES算法的加密原理3理解AES算法的加密原理2实验内容1.DES加密解密2.DES算法3.AES加密解密4.AES算法3实验过程本练习主机A、B为一组,C、D为一组,E、F为一组。首先使用“快照X”恢复Windows系统环境。1.DES加密解密(1)本机进入“密码工具”|“加密解密”|“DES加密算法”|“加密/解密”页签,在明文输入区输入明文:iamastudent,youareapig。(2)在密钥窗口输入8(64位)个字符的密钥k,密钥k=students。单击“加密”按钮,将密文导出到DES文件夹(D:\Work\Encryption\DES\)中,通告同组主机获取密文,并将密钥k告诉同组主机。(3)单击“导入”按钮,从同组主机的的DES共享文件夹中将密文导入,然后在密钥窗口输入被同组主机通告的密钥k,点击“解密”按钮进行DES解密。(4)将破解后的明文与同组主机记录的明文比较。2.DES算法本机进入“密码工具”|“加密解密”|“DES加密算法”|“演示”页签,向64位明6文中输入8个字符(8*8bit=64),向64位密钥中输入8个字符(8*8bit=64)。点击“加密”按钮。完成加密操作,分别点击“初始置换”、“密钥生成演示”、“十六轮加密变换”和“终结置换”按钮,查看初始置换、密钥生成演示、十六轮加密变换和终结置换的详细加密操作流程。3.AES加密解密(1)本机进入“密码工具”|“加密解密”|“AES加密算法”|“加密/解密”页签,在明文输入区输入明文:iamastudent,youareapig。(2)在密钥窗口输入16(128位)个字符的密钥k,要记住这个密钥以用于解密,密钥k=ilikechinesebest。单击“加密”按钮,将密文导出到AES文件夹(D:\Work\Encryption\AES\)中,通告同组主机获取密文,并将密钥k告诉同组主机。7(3)单击“导入”按钮,从同组主机的AES共享文件夹中将密文导入,然后在密钥窗口输入被同组主机通告的密钥k,点击“解密”按钮进行AES解密。(4)将破解后的明文与同组主机记录的明文比较。4.AES算法进入“密码工具”|“加密解密”|“AES加密算法”|“演示”页签。输入128位明文与密钥,执行加密操作,查看各演示模块。根据实验原理中对AES加密算法的SubBytes变换和ShiftRows变换的介绍,对于以下给出的状态矩阵:请计算它的SubBytes变换,以及经过SubBytes变换之后,再经过ShiftRows变换的结果。84结论对称密钥加密机制即对称密码体系,也称为单钥密码体系和传统密码体系。对称密码体系通常分为两大类,一类是分组密码(如DES、AES算法),另一类是序列密码(如RC4算法)。9实验三公钥密码实验1实验目的1.了解非对称加密机制2.理解RSA算法的加密原理3.理解ELGamal算法的加密原理2实验内容1.RSA生成公私钥及加密解密过程演示2.RSA加密解密3.ELGamal生成公钥及加密解密过程演示4.ELGamal加密解密3实验过程本练习主机A、B为一组,C、D为一组,E、F为一组。首先使用“快照X”恢复Windows系统环境。一.RSA生成公私钥及加密解密过程演示(1)本机进入“密码工具”|“加密解密”|“RSA加密算法”|“公私钥”页签,在生成公私钥区输入素数p和素数q,这里要求p和q不能相等(因为很容易开平方求出p与q的值)并且p与q的乘积也不能小于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公私钥生成演示结果私钥d1627私钥n3551公钥e1099公钥n3551(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工具进行计算):10利用生成的私钥d,对生成的密文进行解密:二.RSA加密解密(1)本机在生成公私钥区输入素数p和素数q,这里要求p和q不能相等,并且p与q的乘积也不能小于127,记录你输入的素数,p=23,q=19。(2)点击“随机选取正整数e:”下拉按钮,选择正整数e,e=149。(3)点击“生成公私钥”按钮生成公私钥,记录下公钥e=149,n=437;私钥d=101,n=437。将自己的公钥通告给同组主机。(4)本机进入“加密/解密”页签,在“公钥e部分”和“公钥n部分”输入同组主机的公钥,在明文输入区输入明文:112233445566。单击“加密”按钮对明文进行加密,单击“导出”按钮将密文导出到RSA共享文件夹(D:\Work\Encryption\RSA\)中,通告同组主机获取密文292,292,255,255,337,337,219,219,249,249,289,289。(5)进入“加密/解密”页签,单击“导入”按钮,从同组主机的RSA共享文件夹中将密文导入,点击“解密”按钮,切换到解密模式,在“私钥d部分”和“私钥n部分”输入自己的私钥,再次点击“解密”按钮进行RSA解密。(6)将破解后的明文与同组主机记录的明文比较。三.ELGamal生成公钥及加密解密过程演示(1)本机进入“密码工具”|“加密解密”|“EL