现代密码学实验报告 - 实验报告 - 书业网

现代密码学实验报告 - 实验报告 - 书业网

ID:11860522

大小:36.00 KB

页数:17页

时间:2018-07-14

现代密码学实验报告  - 实验报告 - 书业网_第1页
现代密码学实验报告  - 实验报告 - 书业网_第2页
现代密码学实验报告  - 实验报告 - 书业网_第3页
现代密码学实验报告  - 实验报告 - 书业网_第4页
现代密码学实验报告  - 实验报告 - 书业网_第5页
资源描述:

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

1、现代密码学实验报告-实验报告-书业网中南大学现代密码学实验报告学生姓名文子龙学号0909081517专业班级信息安全0801班指导教师段桂华学院信息科学与工程学院完成时间2011年6月实验一密码算法实现[实验目的]1.掌握公钥密码算法的基本原理,算法实现过程以及大数运算的方法。2.掌握和理解DES算法、AES算法的原理。[实验内容]1.分析RSA算法、DES算法和AES算法的原理与测试过程。2.17写出算法流程,用程序设计语言将算法过程编程实现。3.对输入的数据,验证加密和解密运算。[实验步骤]一、RSA算法

2、1.RSA算法及原理RSA公钥密码系统以其发明者R.Rivest,A.Shamir和L.Adleman的三个姓的首个字母命名的。它是应用最广泛的公钥密码系统。不仅可以用于信息的机密性,还可用于数字签名。其所依赖的是大整数因数分解问题。假设公钥密码系统使用N字符集信息空间为。明文信息空间为。和私钥-字符组组成的集合,密文-字符组组成的集合RSA公钥密码系统的描述:每个使用者产生各自的公钥使用者A将作如下事情:(1)随机产生两个不同的大素数p和q,具有相同的阶(2)计算n=pq和(3)随机选取整数(5)A17的公

3、钥是2.RSA算法加密解密过程发送者B将明文信息加密后变成密文信息发送给接受者A,A解密。(1)加密过程。发送者B将作如下事情:a.得到确认的接受者A的加密公钥公告栏等处得到)b.将明文信息表示为整数。(要求以最有效的方式来表达信息)(从认证中心或电话本或信息,私钥是。,使得(4)运用广义欧几里得算法计算唯一的整数c.计算整数d.将整数c转换成密文信息.f.将密文信息发送给A.(可以在公开通道中传递,在不知道解密私钥的情况下第三者无法破解密文信息)(2)解密过程。为了将密文信息恢复为明文信息,接受者A将作如下

4、事情:a.将密文信息转换成整数c.b.运用解密私钥3.17RSA算法Java实现(1)RSA算法流程图恢复整数.c.将整数c转换成明文信息.图1.RSA算法流程图(2)模块化设计a.素性检测(判定输入的数是否为素数)publicbooleanprimenumber(longt){longk=0;k=(long)Math.sqrt((double)t);booleanflag=true;outer:for(inti=2;i<=k;i++){if((t%i)==0)}returnflag;}b.求两个数的最

5、大公约数publiclonggcd(longa,longb){longgcd;if(b==0)17gcd=a;else}c.求乘法逆publicintgetValue(intx,inty){intyValue=y;int[][]c=newint[2][2];//cisthemultiplyofmatrix//xislessthanyif(x>y)gcd=gcd(b,a%b);returngcd;{}flag=false;breakouter;}x=x%y;inti=0;while(true){}setV

6、alue();c=arrayList.get(0);for(intj=1;j<length;j++){}if(c[0][1]>0)returnc[0][1];returnyValue-Math.abs(c[0][1])%yValue;elsec=matrixMul(c,arrayList.get(j));intk=y%x;a[i]=(k-y)/x;i++;length++;if(k==0){}inttemp;temp=x;x=y%x;y=temp;break;elsepublicint[][]ma

7、trixMul(int[][]a,int[][]b){int[][]c=newint[2][2];for(inti=0;i<2;i++)}{}returnc;for(intj=0;j<2;j++){}for(intk=0;k<2;k++)c[i][j]+=(a[i][k]*b[k][j]);二、DES算法1.DES算法及原理DES(TheDataEncryptionStandard)17使用一个56位的密钥以及附加的8位奇偶校验位,产生最大64位的分组大小。这是一个迭代的分组密码,其中将加密

8、的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES使用16个循环,使用异或,置换,代换,移位操作四种基本运算。算法流程图参见如下:图2.DES算法流程图图3.f函数流程图图4.子密钥产生流程图2.DES算法加密解密过程(1)加密过程。a.初始置换。DES的第一阶段包括64位分组的置换,改变每个分组中

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

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

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