高峰的实验报告.docx
《高峰的实验报告.docx》由会员分享,可在线阅读,更多相关《高峰的实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
![高峰的实验报告.docx](https://file1.bdocx.com/fileroot1/2023-1/21/c362324d-5500-4932-8e33-f2bc3a41fd34/c362324d-5500-4932-8e33-f2bc3a41fd341.gif)
高峰的实验报告
高峰的实验报告
现代密码学
实验报告
学生姓名高峰
学号0909120614
专业班级计科1202班
指导教师段桂华学院信息科学与工程学院.
实验一对称密码算法实验
[实验目的]
1.掌握密码学中经典的对称密码算法DES、AES、RC4的算法原理。
2.掌握DES、AES、RC4的算法流程和实现方法。
[实验预备]
1.DES算法有什么特点?
算法中的哪些结构保证了其混淆和扩散的特性?
2.AES算法的基本原理和特点。
3.流密码RC4的密钥流生成以及S盒初始化过程。
[实验内容]
1.分析DES、AES、RC4、SHA的实现过程
2.用程序设计语言将算法过程编程实现。
3.完成字符串数据的加密运算和解密运算
输入明文:
Idolikethisbook
输入密钥:
cryption
[实验步骤
1.预习DES、AES、RC4算法
2.写出算法流程,用程序设计语言将算法过程编程实现。
3.输入指定的明文、密钥进行实验,验证结果。
4.自己选择不同的输入,记录输出结果。
写出所编写程序的流程图和运行界面、运行结果。
[问题讨论]
1.在DES算法中有哪些是弱密钥?
哪些是半弱密钥?
2.改变明文或密钥中的一个比特值可能影响AES值中的多少比特?
3.分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法
回答问题
1.在DES中,如果存在密钥使其产生的子密钥是相同的,则称其为弱密钥。
如果其产生的子密钥只有两种,且每种出现8次,则称其为半弱密钥。
2.可能为16bite
从而使编出的程序逻辑不清。
是对算法理解不清实现算法编程的主要问题3.
再后来多查一些相关的资料,最终修改的。
实验二公钥密码算法实验
[实验目的]
1.掌握密码学中常用的公钥密码算法RSA、ECC的算法原理。
的算法流程和实现方法。
、ECCRSA2.掌握
]
实验预备[密码系统所基于的数学难题是什么?
和ECC1.RSAECC和算法的基本原理。
2.RSA3.公钥密码系统可以取代对称密码系统吗?
ECC的实现过程。
4.RSA和
]
[实验内的实现过程。
RSA、ECC分析1.
用程序设计语言将算法过程编程实现2.
完成数据的加密运算和解密运算3.
security输入明文:
cryption输入密钥:
ASCII码进行加密和解密。
对
实验步骤]算法。
、ECCRSA1.预习2.了解大素数的生成、大数的运算、公钥、私钥的生成。
写出算法流程,用程序设计语言将算法过程编程实现。
3.
输入指定的明文和密钥进行实验,验证结果。
4.
写出所编写程序的流程图和运行界面、运行结果。
]
问题讨论[
1.总结算法的特点,分析算法的安全性;
2.分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。
回答问题
1.特点:
①它是一个既能数据加密也能孕育数字签名的算法。
他易于理解和操作,
也很国际化。
②密钥管理简单,但加密速度慢。
安全性:
RSA公开密钥密码算法在信息交换过程中使用比较广泛、安全性比较高。
P和Q必为足够大的素数,使N的分解无法在多项式时间内完成。
要求N
至少要有1024或者2048bite。
2.问题主要出在算法的理解上但也有很多小问题比如编程的问题出错后不
知从何处改正等等。
实验三SKEY协议设计实验
[实验目的]
1.掌握身份认证协议的原理和基本思想。
2.掌握SKEY协议的机制和实现方法。
[实验预备]
1.SKEY协议的作用。
2.SKEY协议的安全性分析。
3.SKEY协议的实现过程。
[实验内容]
1.分析SKEY协议的实现过程
2.用程序设计语言将算法过程编程实现。
3.演示SKEY协议的身份鉴别过程。
[实验步骤]
1.预习SKEY协议的机制。
。
SHA或MD5选择和实现相应的摘要算法2.
3.写出算法流程,用程序设计语言将协议过程编程实现。
4.验证SKEY协议的身份鉴别过程。
写出所编写程序的流程图和运行界面、运行结果。
[问题讨论]
1.分析SKEY的安全性;
2.分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法
回答问题
1.由于SKEY协议中每个数只用一次,因此对数据库攻击用处不大》
SKEY协议能有效防止重放攻击
2.程序中无论输入什么都是验证错误。
可能是对SKEY协议的逻辑弄不清楚。
实验一:
1.DES算法
(1)流程图如下:
Enter=待加密文本输入8字节密钥字节为一段,8Enter分割,N不足补加,段数为
转为二进6j=初始化*Prini=密钥压KeyRar_Tabl5位段,转为二进6文本形1轮密初始置换IP_Tabl异文本段分为左右两部合并形成子密钥4位置换S_Bo3右部分异扩展置换Exp_Tabl置换P_Tabl左部分3位左右交换j+J<1YeN存*Prini+最终置换Final_TablYei(2)
2.AES算法
流程图如下:
(1).
(2)运行界面与运行结果:
3.RC4算法
实验二:
RSA算法:
(1)流程图如下:
(2)运行界面与运行结果:
:
实验三协议:
SKEY
Alice,R
X1=f(R)
X2=f(X1)服务器Alice------------------------>.
X2......Xn
,X)
Xn+1=f(XnAlice,Xn-1保存保管<-----------------------
比较,与------------------------>计算f(Xi)Xi+1登陆
代替Xi匹配成功,则用Xi<------------------------Xi+1取消
运行界面与运行结果: