您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页现代密码学实验报告

现代密码学实验报告

来源:意榕旅游网


现代密码学

实验报告

学生姓名 学 号 专业班级 指导教师 段桂华

学 院 信息科学与工程学院 完成时间 2016年4月

实验一 密码算法实验

[实验目的]

1.掌握密码学中经典的对称密码算法AES、RC4的算法原理。 2.掌握AES、RC4的算法流程和实现方法。

[实验预备]

1.AES算法的基本原理和特点。

2.流密码RC4的密钥流生成以及S盒初始化过程。

[实验内容]

1. 分析AES、RC4的实现过程。 2. 用程序设计语言将算法过程编程实现。 3. 完成字符串数据的加密运算和解密运算

输入十六进制明文:11223344556677889900AABBCCDDEEFF 输入十六进制密钥:13579BDF02468ACE1234567890ABCDEF

[实验步骤] 1. 预习AES、RC4算法。 2. 写出算法流程,用程序设计语言将算法过程编程实现。 3. 输入指定的明文、密钥进行实验,验证结果。 4. 自己选择不同的输入,记录输出结果。

AES算法流程图:

读进明文 读进密钥 (1)产生轮子密钥 (2)AddRoundKey变换 (3)轮变换 Round(State,RoundKey) { ByteSub(State); Nr1 ShiftRow(State); MixColumn(State); AddRoundKey(State,RoundKey); } (4)最后轮变换 FinalRound(State,RoundKey) { ByteSub(State) ShiftRow(State) AddRoundKey(State,RoundKey); } 密文

运行界面:

RC4算法流程图:

结束 解密,并输出 i=0;j=0; i=(i+1)%256 j=(j+s[i])%256 交换Si,Sj; t=(s[i]+s[j])%256 k=St; 初始化S盒并打印 输入密钥 输入明文 开始 加密明文,并输出加密后的密文 运行界面:

[问题讨论]

1.改变明文或密钥中的一个比特值可能影响AES值中的多少比特?

答:明文和密钥在S盒置换时,不同的字节会替换出不同的结果。算法过程中一共进行了10轮加密,所以改变一个比特值可能影响AES值中的80比特。 2.在RC4的密钥流生成中,改变初始密钥的一个比特值可能影响输出中的多少比特?

答:初始密钥的不同会导致S盒的不同,所以可能影响输出中的256比特。 3.分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。 答:在查找相关资料时,遇到的资料并不是完全正确的,再加上这个算法学完已经很久了,记忆有些模糊了,所以在修改代码的过程中花费了很多时间和精力。

实验二 SKEY协议设计实验

[实验目的]

1.掌握身份认证协议的原理和基本思想。 2.掌握SKEY协议的机制和实现方法。

[实验预备]

1.SKEY协议的作用。 2.SKEY协议的安全性分析。 3.SKEY协议的实现过程。

[实验内容]

1. 分析SKEY协议的实现过程。 2. 用程序设计语言将算法过程编程实现。 3. 演示SKEY协议的身份鉴别过程。 [实验步骤] 1. 预习SKEY协议的机制。 2. 选择和实现相应的摘要算法MD5或SHA。

3. 写出算法流程,用程序设计语言将协议过程编程实现。 4. 验证SKEY协议的身份鉴别过程。 流程图: 的生 成100hash 初始化 i=100 登录次数 i 读取登录次数 i<100 否 hash值 读取第i个hash值 保存i=i+1 是 相等 生成(key+i)hash值 首次登录 是 否 开始验证 值 个( )key+i登录成功 登录失败 运行界面:

[问题讨论]

1. 分析SKEY的安全性;

答:由于SKEY协议中每个数只用一次,因此对数据库攻击用处不大,另外SKEY协议能有效防止重放攻击。

2. 分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。 答:由于该协议的代码并不完全是自己所写,很多都是通过网上查找资料来完成的,所以在看代码的过程中会出现一种理解上的问题,导致不能达到预想目的。 通过重新复习上课内容,认真了解SKEY协议修改代码,达到比较理想的效果。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrf.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务