信息安全技术实验报告.doc

上传人:飞****2 文档编号:66778455 上传时间:2022-12-21 格式:DOC 页数:7 大小:84.50KB
返回 下载 相关 举报
信息安全技术实验报告.doc_第1页
第1页 / 共7页
信息安全技术实验报告.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《信息安全技术实验报告.doc》由会员分享,可在线阅读,更多相关《信息安全技术实验报告.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、信息安全技术实验报告实验名称:公钥加密算法的实现-一、 实验目的分析指数加密、背包加密算法和RSA加密算法流程并写出源程序代码,理解指数加密、背包加密算法和RSA加密算法算法原理。二、 实验环境(软件、硬件及条件) 硬件:运行Windows 操作系统的计算机软件:操作系统:Windows XP环境:JCreator三、 实验步骤1) 分析-源程序-编译-调试。四、 实验分析1、RSA加密算法的实现:public class RSATest public static void main(String args) int m =13;/明文 RSA rsa = new RSA(); System

2、.out.println(明文:+m); System.out.println(密文:+rsa.rsaJia(m); System.out.println(加密后解密的明文:+rsa.rsaJie(rsa.rsaJia(m); class RSA int p =3; int q = 5; int r = 0; int d = 1; int e =11; int pq=0;/(p-1)(q-1) int C = 0;/密文 int P = 0;/明文 RSA() r = p*q; pq =(p-1)*(q-1); while(true) if(e*d)%pq = (1 % pq) ) break

3、; d+; System.out.println(r=+r); System.out.println(d=+d); System.out.println(p-1)(q-1)=+pq); public int rsaJia(int P) C = (int)Math.pow(P, e)%r; return C; public int rsaJie(int C) P = (int)Math.pow(C, d)%r; return P; 2、背包加密算法的实现:public class BeibaoTest public static void main(String args) throws Exc

4、eptionBeibao beibao = new Beibao();int m = new int0,0,1,1,1;System.out.print(明文:);for(int b : m)System.out.print(b);System.out.println();System.out.println(密文:+beibao.jiami(m);System.out.print(加密后再解密的明文:);for(int a : beibao.jiemi(beibao.jiami(m)System.out.print(a);class Beibaoint a = new int3,6,10,2

5、2,44;int b ;int bww ;/b乘以ww,再求模int m = 89;int w = 67;int ww = 4;Beibao()b = new inta.length;bww = new inta.length;for(int i = 0 ;ia.length;i+)int j =1;while(true)if(j%m) = (w*ai)%m)bi =j;bwwi =(j*ww)%m;break;j+;System.out.print(d的数值:);for(int bb : b)System.out.print(bb+ );System.out.println();public

6、 int jiami(int m) throws Exceptionint sum=0;if(m.length != a.length)throw new Exception(m和a的长度不一致!);for(int i =0;i=1;i-)int sum=0;/for(int j =0;ji;j+)sum = sum+bwwj;if(sum 0)x0=1;elsex0=0;return x;3、指数加密算法的实现:import java.math.BigInteger;public class ZhishuTest public static void main(String args)int

7、 M = new int1520,111,802,1004,2417,1800;/字母数字化成数字串的数组zhishu zhishu = new zhishu();String mmm =;/明文字符串String c =;/密文字符串String mm =;/密文转换的明文字符串for(int m : M) mmm = mmm + buling(m); c = c + buling(zhishu.jiami(m); mm = mm+buling(zhishu.jiemi(zhishu.jiami(m);System.out.println(明文:+mmm);System.out.printl

8、n(密文:+c);System.out.println(加密后解密的明文:+mm);/* * 不够长度四,就补零 * param a * return */public static String buling(int a)String b =a+;if(b.length() 4)b = 0+b;return b;class zhishuint p = 2633;int e = 29;int c ;int d =1;BigInteger bi;/大数变量zhishu()while(true)if(d*e)%(p-1) =(1%(p-1)break;d+;System.out.println(d

9、=+d);/* * 指数加密 * param m 明文 * return */public int jiami(int m) bi = new BigInteger(+m);c=bi.pow(e).mod(new BigInteger(p+).intValue();return c;/* * 指数解密 * param c 密文 * return */public int jiemi(int c)int m=1;/明文变量bi = new BigInteger(+c);int a = bi.pow(d).mod(new BigInteger(+p).intValue();while(true)if(a = m%p)break;m+;return m;五、 附件1、RSA加密算法的实现2、背包加密算法的实现3、指数加密算法的实现六、实验结论通过这次上机作业,加深了我对指数加密、背包加密算法和RSA加密算法的理解,理解了指数加密、背包加密算法和RSA加密算法的实现原理,在调试程序时,获得了许多经验。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁