《现代密码学》实验报告

《现代密码学》实验报告

ID:15714938

大小:207.37 KB

页数:14页

时间:2018-08-05

《现代密码学》实验报告_第1页
《现代密码学》实验报告_第2页
《现代密码学》实验报告_第3页
《现代密码学》实验报告_第4页
《现代密码学》实验报告_第5页
资源描述:

《《现代密码学》实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、现代密码学实验报告学生姓名骆秀娟学号0909121906专业班级计科1204班指导教师段桂华学院信息科学与工程学院完成时间2014年4月25日实验一对称密码算法实验[实验目的]1.掌握密码学中经典的对称密码算法DES、AES、RC4的算法原理。2.掌握DES、AES、RC4的算法流程和实现方法。[实验预备]1.DES算法有什么特点?算法中的哪些结构保证了其混淆和扩散的特性?2.AES算法的基本原理和特点。3.流密码RC4的密钥流生成以及S盒初始化过程。[实验内容]1.分析DES、AES、RC4、SHA的实现过程。2.用程序设计语言将算法过程编程实现。3.完成

2、字符串数据的加密运算和解密运算输入明文:Idolikethisbook输入密钥:cryption[实验步骤]1.预习DES、AES、RC4算法。2.写算法流程,用程序设计语言将算法过程编程实现。3.输入指定的明文、密钥进行实验,验证结果。4.自己选择不同的输入,记录输出结果。写出所编写程序的流程图和运行界面、运行结果。DES程序流程图:输入明文IP置换R0L0fK1⊕R1=L0⊕f(R0,K1)L1=R0经过16轮相同运算R16=L15⊕f(R15,K16)L16=R15IP逆置换密文DES运行结果:AES程序流程图:轮密钥加逆字节代替逆行移位逆列混合轮密钥

3、加逆字节代替逆行移位轮密钥加逆列混合轮密钥加逆字节代替逆行移位密文明文K0K1...Kn-1Kn种子密钥K(K0Kn是K产生的轮密钥)K0K1...Kn-1Kn轮密钥加字节代替行移位轮密钥加字节代替行移位列混合轮密钥加字节代替行移位列混合轮密钥加密文明文AES运行结果:RC4流程图:开始输入明文输入密钥初始化S盒并打印i=0;j=0;i=(i+1)%256j=(j+s[i])%256交换Si,Sj;t=(s[i]+s[j])%256k=St;加密明文,并输出加密后的密文解密,并输出结束RC4运行结果:[问题讨论]1.在DES算法中有哪些是弱密钥?哪些是半弱密

4、钥?2.改变明文或密钥中的一个比特值可能影响AES值中的多少比特?3.分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。回答问题解:1>弱密钥有以下几种情况:全0;全1;一半为0,一半为1;半弱密钥如下:E01FE01FE01FE01FFE01FE01FE01FE01E001E001F101F101FE1FFE1FFE01FE012>改变一个比特值最多改变4个AES值。3>在RC4实验中,为了将输入的char型密钥分个存储进数组中,刚开始我想把它转化为string型,再存储,但是string型数据不能直接从键盘输入,且最后也要转换存储在char型

5、数组中,但是都有各种问题,最后,直接定义char型数组,再直接向其中输入数据。实验二公钥密码算法实验[实验目的]1.掌握密码学中常用的公钥密码算法RSA、ECC的算法原理。2.掌握RSA、ECC的算法流程和实现方法。[实验预备]1.RSA和ECC密码系统所基于的数学难题是什么?2.RSA和ECC算法的基本原理。3.公钥密码系统可以取代对称密码系统吗?4.RSA和ECC的实现过程。[实验内容]1.分析RSA、ECC的实现过程。2.用程序设计语言将算法过程编程实现3.完成数据的加密运算和解密运算输入明文:security输入密钥:cryption对ASCII码进

6、行加密和解密。[实验步骤]1.预习RSA、ECC算法。2.了解大素数的生成、大数的运算、公钥、私钥的生成。3.写出算法流程,用程序设计语言将算法过程编程实现。4.输入指定的明文和密钥进行实验,验证结果。写出所编写程序的流程图和运行界面、运行结果。程序流程图:开始输入两个数素数检测N输入公鈅eY检测e与φ(pq)是否互素NY输入明文加密算法,输出,密文c=m^emodpq输入密文解密算法,输出,明文m=c^dmodpq结束运行结果:[问题讨论]1.总结算法的特点,分析算法的安全性;2.分析实验中在编辑、编译、运行等各环节中所出现的问题及解决方法。回答问题解:1

7、>RSA是第一个既能用于数据加密,也能用于数字签名的算法,它易于理解和操作,因而很流行。RSA的安全性依赖于大素数n的因子分解难题,当n足够大时,可使n的分解无法在多项式时间内完成,因此p、q越大,安全性越高。但是当用户密钥使用不当,或是攻击者获得e1、e2、n、c1、c2,共用模数n,根据c1=m^e1modn,c2=m^e2modn,若e1,e2互素,则有r*e1+s*e2=1,可以根据(c1^-1)^-r*(c2)^s=m^(r*e1+s*e2)=mmodn,从而得到明文m。RSA签名算法亦可根据其指数的特点进行攻击,一般攻击者是将某一信息做一下伪装(

8、盲签名思想),再拥有私钥的实体签署,经过计算很容易得

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。