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