现代密码学报告现代密码学报告.doc
文本预览下载声明
实验一 对称密码算法实验
[实验目的]
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.分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。
回答问题
在DES中,如果存在密钥使其产生的子密钥是相同的,则称其为弱密钥。如果其产生的子密钥只有两种,且每种出现8次,则称其为半弱密钥。
可能为16bite
实现算法编程的主要问题 是对算法理解不清 从而使编出的程序逻辑不清。
再后来多查一些相关的资料,最终修改的。
实验二 公钥密码算法实验
[实验目的]
1.掌握密码学中常用的公钥密码算法RSA、ECC的算法原理。
2.掌握RSA、ECC的算法流程和实现方法。
[实验预备]
1.RSA和ECC密码系统所基于的数学难题是什么?
2.RSA和ECC算法的基本原理。
3.公钥密码系统可以取代对称密码系统吗?
4.RSA和ECC的实现过程。
[实验内容]
1. 分析RSA、ECC的实现过程。
2. 用程序设计语言将算法过程编程实现
3. 完成数据的加密运算和解密运算
输入明文:security
输入密钥:cryption
对ASCII码进行加密和解密。
[实验步骤]
1. 预习RSA、ECC算法。
2. 了解大素数的生成、大数的运算、公钥、私钥的生成。
3. 写出算法流程,用程序设计语言将算法过程编程实现。
4. 输入指定的明文和密钥进行实验,验证结果。
写出所编写程序的流程图和运行界面、运行结果。
[问题讨论]
1. 总结算法的特点,分析算法的安全性;
2. 分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。
回答问题
特点:①它是一个既能数据加密也能孕育数字签名的算法。他易于理解和操作,
也很国际化。
②密钥管理简单,但加密速度慢。
安全性:
RSA公开密钥密码算法在信息交换过程中使用比较广泛、安全性比较高。
P和Q必为足够大的素数,使N的分解无法在多项式时间内完成。要求N
至少要有1024或者2048bite。
问题主要出在算法的理解上 但也有很多小问题 比如编程的问题 出错后不
知从何处改正等等。
实验三 SKEY协议设计实验
[实验目的]
1.掌握身份认证协议的原理和基本思想。
2.掌握SKEY协议的机制和实现方法。
[实验预备]
1.SKEY协议的作用。
2.SKEY协议的安全性分析。
3.SKEY协议的实现过程。
[实验内容]
1. 分析SKEY协议的实现过程。
2. 用程序设计语言将算法过程编程实现。
3. 演示SKEY协议的身份鉴别过程。
[实验步骤]
1. 预习SKEY协议的机制。
2. 选择和实现相应的摘要算法MD5或SHA。
3. 写出算法流程,用程序设计语言将协议过程编程实现。
4. 验证SKEY协议的身份鉴别过程。
写出所编写程序的流程图和运行界面、运行结果。
[问题讨论]
1. 分析SKEY的安全性;
2. 分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。
回答问题
由于SKEY协议中每个数只用一次,因此对数据库攻击用处不大》
SKEY协议能有效防止重放攻击
2.程序中无论输入什么 都是验证错误。可能是对SKEY协议的逻辑弄不清楚。
实验一:
1.DES算法
(1) 流程图如下:
(2) 运行界面与运行结果:
2.AES算法
(1)流程图如下:
(2) 运行界面与运行结果:
R
显示全部