现代密码学实验报告
现代密码学 实验报告
学生姓名 华铮 学 号 0919140112 专业班级 物联网1401 指导教师 段桂华
学 院 信息科学与工程学院
完成时间 2016年4月
实验一 密码算法实验
[实验目的]
1. 掌握密码学中经典的对称密码算法AES 、RC4的算法原理。
2. 掌握AES 、RC4的算法流程和实现方法。
[实验预备]
1.AES 算法的基本原理和特点。
2. 流密码RC4的密钥流生成以及S 盒初始化过程。
[实验内容]
1. 分析AES 、RC4的实现过程。2. 用程序设计语言将算法过程编程实现。
3. 完成字符串数据的加密运算和解密运算
输入十六进制明文:[***********]00AABBCCDDEEFF
输入十六进制密钥:13579BDF02468ACE1234567890ABCDEF
[实验步骤]1. 预习AES 、RC4算法。2. 写出算法流程,用程序设计语言将算法过程编程实现。
3. 输入指定的明文、密钥进行实验,验证结果。
4. 自己选择不同的输入,记录输出结果。
写出所编写程序的流程图和运行界面、运行结果。
[问题讨论]
1. 改变明文或密钥中的一个比特值可能影响AES 值中的多少比特?
2. 在RC4的密钥流生成中,改变初始密钥的一个比特值可能影响输出中的多少比特?
3. 分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。回答问题
实验二 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. 分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。回答问题
一、AES 算法
(1)算法流程图
(2)代码运行结果
(3)问题回答
*改变明文或密钥中的一个比特值可能影响AES 值中的16比特。
二、RC4算法
(1)加密结果
(2)问题回答
*在RC4的密钥流生成中,改变初始密钥的一个比特值导致密钥流的不同,从而影响所有加密的数值
三、SKEY 协议
Alice, R
Alice ------------------------> 服务器
X1,X2......Xn
保管
登陆 ------------------------> 计算f(Xi)与Xi+1比较, 匹配成功,则用Xi 代替 取消 Xi
SHA 算法实现