密码学实验.docx
- 文档编号:17710853
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:22
- 大小:279.71KB
密码学实验.docx
《密码学实验.docx》由会员分享,可在线阅读,更多相关《密码学实验.docx(22页珍藏版)》请在冰豆网上搜索。
密码学实验
《密码学与信息安全》实验报告
专业
班级
姓名
学号
2015年6月5日
实验一古典密码实验
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密文导入。
(5)调节密钥k的微调按钮或者对照表的移位按钮来调节密钥,从而进行密码分析(平均13次,最坏26次破解)。
请将破解出的明文与密钥记录在这里:
密钥k=6。
明文Iamastident。
(6)将破解后的密钥与明文与同组主机记录的密钥与明文比较。
如果不同请调节密钥k继续破解。
4.单表置换密码
(1)单击“密码工具”按钮,进入“加密解密”|“单表置换”|“加密/解密”视图,与同组主机协商好一个密钥词组k=iamastudent、
(2)根据“单表置换”实验原理计算出置换表。
(3)计算完成置换表以后,在明文输入区输入明文,单击“加密”按钮用置换表的对应关系对明文进行加密,加密完成后,单击“导出”按钮,将密文导出到SingleTable共享目录中,并通告同组主机获取密文。
请将明文记录在这里:
datasecurityhasevolvedrapidly。
(4)单击“导入”按钮将同组主机单表置换密文导入,根据同组主机置换表完成本机置换表,单击“解密”按钮对密文进行解密。
(5)本机将解密后的明文与同组主机记录的明文对照,如果双方的明文一致,则说明实验成功,否则说明本机或同组主机的置换表计算错误。
5.单表置换密码分析
(1)图5-2-1就是由统计学得出的英文字母相对频率表。
图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
单击“解密”按钮,得到明文如图5-2-4所示。
图5-2-4
依此类推便可以得到明文,请根据您的置换表填写表5-2-1。
4结论
古典密码算法曾经被广泛应用,大都比较简单,使用手工与机械操作来实现加密与解密。
它的主要对象就是文字信息,利用密码算法实现文字信息的加密与解密。
古典密码学可以分为代替密码(也叫做移位密码)与置换密码(也叫做换位密码)两种,其中代替密码典型的有Caesar密码,数乘密码与仿射变换等,置换密码有单表置换与多表置换等。
实验二分组密码实验
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位明文中输入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告诉同组主机。
(3)单击“导入”按钮,从同组主机的AES共享文件夹中将密文导入,然后在密钥窗口输入被同组主机通告的密钥k,点击“解密”按钮进行AES解密。
(4)将破解后的明文与同组主机记录的明文比较。
4.AES算法
进入“密码工具”|“加密解密”|“AES加密算法”|“演示”页签。
输入128位明文与密钥,执行加密操作,查瞧各演示模块。
根据实验原理中对AES加密算法的SubBytes变换与ShiftRows变换的介绍,对于以下给出的状态矩阵:
请计算它的SubBytes变换,以及经过SubBytes变换之后,再经过ShiftRows变换的结果。
4结论
对称密钥加密机制即对称密码体系,也称为单钥密码体系与传统密码体系。
对称密码体系通常分为两大类,一类就是分组密码(如DES、AES算法),另一类就是序列密码(如RC4算法)。
实验三公钥密码实验
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公私钥生成演示结果
私钥d
1627
私钥n
3551
公钥e
1099
公钥n
3551
(5)在加/解密演示区中输入明文m=2255,公钥n=3551(m 单击“加密演示”按钮,查瞧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工具进行计算): 利用生成的私钥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)本机进入“密码工具”|“加密解密”|“ELGamal加密算法”|“公钥”页签,输入素数p,这里要求p不能小于127,记录您输入的素数p=163。 单击“本原元素g”下拉按钮,选择本原元素g=159。 输入私钥X,X在区间[0,p)上,记录下私钥用于解密,x=155。 点击“生成公钥”按钮生成公钥,记录下公钥y=130。 (2)在公钥生成演示区中输入素数p=163,本原元素g=159,私钥x=155。 单击“开始演示”按钮查瞧ELGamal算法生成公钥过程,记录下公钥y=130。 (3)在加密演示区中输入明文m=111,素数p=163,本原元素g=159,公钥y=130,与随机数x=155。 单击“开始演示”按钮,查瞧ELGamal加密过程,记录密文C1=130,C2=101。 (4)在解密演示区中输入刚刚得到的密文C1与C2,输入素数p=163,私钥x=155。 单击“开始演示”按钮,查瞧ELGamal解密过程,记录得到的明文m=111。 根据实验原理中对ELGamal加密算法的介绍,当素数P=311,本原元素g=136,私钥X=3时,写出ElGamal公钥的生成过程: 利用生成的公钥,写出对明文m=40,随机数x=2的加密过程: 利用私钥X=3,对生成的密文进行解密,请写出解密过程: 四.ELGamal加密解密 (1)本机进入“密码工具”|“加密解密”|“ELGamal加密算法”|“公钥”页签,输入素数p,这里要求p不能小于127,记录您输入的素数p=163。 单击“本原元素g”下拉按钮,选择本原元素g=159。 输入私钥X,X在区间[0,p)上,记录下私钥用于解密,私钥X=6。 单击“生成公钥”按钮生成公钥,记录下公钥Y=21。 将自己的公钥通告给同组主机。 (2)进入“加密”页面,将同组主机的系统素数、本原元素与公钥输入,再选择一个随机数x输入(0 在明文输入区输入明文: 112233445566。 加密后将密文导出到ELGamal共享文件夹(D: \Work\Encryption\ELGamal\)中,通告同组主机获取密文。 c1: 10、 c2: 81,81,76,76,71,71,66,66,61,61,56,56 (3)本机进入“解密”页签,单击“导入”按钮,从同组主机的ELGamal共享文件夹中将密文导入,输入自己的“系统素数P”与“私钥X”,点击“解密”按钮进行ELGamal解密。 (4)将破解后的明文与同组主机记录的明文比较。 4结论 所谓非对称密钥加密就是指每个实体都有自己的公钥与私钥两个密钥,用其中的一个密钥对明文进行加密,都只能用另一个密钥才能解开,并且从其中的一个密钥推导出另一个密钥在计算上都就是困难的。 非对称密码算法解决了对称密码体制中密钥管理的难题,并提供了对信息发送人的身份进行验证的手段,就是现代密码学最重要的发明。 实验四Hash函数实验 1实验目的 1、理解Hash函数的计算原理与特点 2、理解MD5算法原理 3、理解SHA1函数的计算原理与特点 4理解SHA1算法原理 2实验内容 1.MD5生成文件摘要 2.MD5算法 3.SHA1生成文件摘要 4.SHA1算法 3实验过程 本练习主机A、B为一组,C、D为一组,E、F为一组。 首先使用“快照X”恢复Windows系统环境。 一.MD5生成文件摘要 (1)本机进入“密码工具”|“加密解密”|“MD5哈希函数”|“生成摘要”页签,在明文框中编辑文本内容: iamastudent。 单击“生成摘要”按钮,生成文本摘要: 3C8A430925A238D7EE931D9A05821E3AD6F8592A。 单击“导出”按钮,将摘要导出到MD5共享文件夹(D: \Work\Encryption\MD5\)中,并通告同组主机获取摘要。 (2)单击“导入摘要”按钮,从同组主机的MD5共享文件夹中将摘要导入。 在文本框中输入同组主机编辑过的文本内容,单击“生成摘要”按钮,将新生成的摘要与导入的摘要进行比较,验证相同文本会产生相同的摘要。 (3)对同组主机编辑过的文本内容做很小的改动,再次生成摘要,与导入的摘要进行对比,验证MD5算法的抗修改性。 二.MD5算法 本机进入“密码工具”|“加密解密”|“MD5哈希函数”|“演示”页签,在明文输入区输入文本(文本不能超过48个字符),单击“开始演示”,查瞧各模块数据及算法流程。 根据实验原理中对MD5算法的介绍,如果链接变量的值分别为(其中,M[1]=31323334): A: 2B480E7C B: DAEAB5EF C: 2E87BDD9 D: 91D9BEE8 请写出第2轮第1步的运算过程以及经过运算后的链接变量。 三.SHA1生成文件摘要 (1)本机进入“密码工具”|“加密解密”|“SHA1哈希函数”|“生成摘要”页面,在明文框中编辑文本内容: 。 单击“生成摘要”按钮,生成文本摘要: 。 单击“导出”按钮,将摘要导出到SHA1共享文件夹(D: \Work\Encryption\SHA1\)中,并通告同组主机获取摘要。 (2)单击“导入”按钮,从同组主机的SHA1共享文件夹中将摘要导入。 在文本框中输入同组主机编辑过的文本内容,单击“生成摘要”按钮,将新生成的摘要与导入的摘要进行比较,验证相同文本会产生相同的摘要。 (3)对同组主机编辑过的文本内容做很小的改动,再次生成摘要,与导入的摘要进行对比,验证SHA1算法的抗修改性。 四.SHA1算法 本机进入“密码工具”|“加密解密”|“SHA1哈希函数”|“演示”页签,在明文输入区输入文本(文本不能超过48个字符),单击“开始演示”,查瞧各模块数据及算法流程。 根据实验原理中对SHA1算法的介绍,如果链接变量的值分别为(其中,M[1]=E7CBEB94): A: 39669B34 B: 61E7F48C C: C04BD57B D: 8279FF1E E: 4E85FC91 请写出第21步的运算过程以及经过运算后的链接变量。 4结论 信息安全的核心技术就是应用密码技术。 密码技术的应用远不止局限于提供机密性服务,密码技术也提供数据完整性服务。 密码学上的散列函数(HashFunctions)就就是能提供数据完整性保障的一个重要工具。 实验五数字签名实验 1实验目的 1、掌握安全通信中常用的加密算法 2、掌握数字签名过程 3、掌握安全文件传输基本步骤 4、学会利用PGP工具实现安全通信 5、理解安全通信实现过程 2实验内容 1.手动实现信息的安全传输 2.实验操作步骤设计 3.PGP安全通信 3实验过程 本练习主机A、B为一组,C、D为一组,E、F为一组。 首先使用“快照X”恢复Windows系统环境。 一.手动实现信息的安全传输 说明: 实验应采用对称加密算法、非对称加密算法与哈希算法相结合的方式,通过使用密码工具实现信息的安全传输。 以终端A为发送方,终端B为接收方为例,实现流程大致应如下。 终端A操作 与终端B预先协商好通信过程中所使用到的对称加密算法、非对称加密算法与哈希函数; 采用对称加密算法(密钥称之为会话密钥)对传输信息进行加密得到密文,确保传输信息的保密性; 使用终端B的公钥对会话密钥进行加密,确保传输信息的保密性以及信息接收方的不可否认性; 采用哈希函数(生成文件摘要)确保传输信息的完整性,并使用自己的私钥对文件摘要进行签名(得到数字签名),确保信息发送方的不可否认性; 将密文、加密后的会话密钥与数字签名打包封装(放到一起)后,通过网络传输给终端B。 终端B操作: 与终端A预先已协商好通信过程中所使用到的对称加密算法、非对称加密算法与哈希函数; 使用自己的私钥对终端A加密的会话密钥进行解密,得到准会话密钥; 使用准会话密钥对得到的密文进行解密,得到准明文; 使用终端A的公钥对得到的数字签名进行签名验证,得到准明文摘要; 使用哈希函数计算得到准明文摘要; 将计算得到的摘要与准明文摘要进行比较,若相同则表明文件安全传输成功。 要求: 实验同组主机根据实验流程自行设计实验操作步骤,最终实现文件安全传输。 二.实验操作步骤设计 请详细描述您所设计的实验步骤。 终端A操作 (1)与终端B预先协商好通信过程中所使用到的对称加密算法、非对称加密算法与哈希函数;对称加密算法: DES 非对称加密: RSA 哈希函数: SHA1 (2)采用对称加密算法(密钥称之为会话密钥)对传输信息进行加密得到密文,确保传输信息的保密性; (3)使用终端B的公钥对会话密钥进行加密,确保传输信息的保密性以及信息接收方的不可否认性; (4)采用哈希函数(生成文件摘要)确保传输信息的完整性,并使用自己的私钥对文件摘要进行签名(得到数字签名),确保信息发送方的不可否认性; (5)将密文、加密后的会话密钥与数字签名打包封装(放到一起)后,通过网络传输给终端B。 密文: FC5D0043B5C83431 会话密钥: 171 数字签名: (171,107) 终端B操作: (1)与终端A预先已协商好通信过程中所使用到的对称加密算法、非对称加密算法与哈希函数; 对称加密算法: DES 非对称加密: RSA 哈希函数: SHA1 (2)使用自己的私钥对终端A加密的会话密钥进行解密,得到准会话密钥 (3)使用准会话密钥对得到的密文进行解密,得到准明文; (4)使用终端A的公钥对得到的数字签名进行签名验证,得到准明文摘要; 使用哈希函数计算得到准明文摘要; 将计算得到的摘要与准明文摘要进行比较,若相同则表明文件安全传输成功。 三.PGP安全通信 说明: 实验应用PGP工具实现信息的安全通信,其实现流程为: 本机首先生成公私钥对,并导出公钥给同组主机;在收到同组主机的公钥后将其导入到本机中,并利用其对文件进行加密;将加密后的密文传回给同组主机,本机利用自己的私钥对来自同组主机的密文进行解密。 要求: 应用PGP工具过程中所使用的用户名均为userGX格式,其中G为组编号(1-32),X为主机编号(A-F),如第2组主机D,其使用的用户名应为user2D。 1.生成公私密钥 (1)本机单击实验平台“GnuPG”工具按钮,进入工作目录,键入命令: gpg--gen-key开始生成公私钥对。 期间gpg会依次询问如下信息: 欲产生密钥种类(默认选择1) 密钥
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码学 实验