网络安全rsa算法的实现实验报告

上传人:第*** 文档编号:31928628 上传时间:2018-02-09 格式:DOC 页数:7 大小:52.50KB
返回 下载 相关 举报
网络安全rsa算法的实现实验报告_第1页
第1页 / 共7页
网络安全rsa算法的实现实验报告_第2页
第2页 / 共7页
网络安全rsa算法的实现实验报告_第3页
第3页 / 共7页
网络安全rsa算法的实现实验报告_第4页
第4页 / 共7页
网络安全rsa算法的实现实验报告_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《网络安全rsa算法的实现实验报告》由会员分享,可在线阅读,更多相关《网络安全rsa算法的实现实验报告(7页珍藏版)》请在金锄头文库上搜索。

1、网络安全基础教程报告题 目 : RSA 加 密 算 法学 号 : 1108040205 专业及班级 : 计网 1102 班 姓 名 : 李雪飞 日 期 : 2013.11.26 1、RSA 算法介绍与应用现状RSA 公开密钥加密算法自 20 世纪 70 年代提出以来,已经得到了广泛认可和应用。发展至今,电子安全领域的各方面已经形成了较为完备的国际规范。RSA 作为最重要的公开密钥算法,在各领域的应用数不胜数。RSA 在硬件方面,以技术成熟的 IC 应用于各种消费类电子产品。RSA 在软件方面的应用,主要集中在 Internet 上。加密连接、数字签名和数字证书的核心算法广泛使用 RSA。日常应

2、用中,有比较著名的工具包 Open SSL(SSL,Security Socket Layer,是一个安全传输协议,在 Internet 上进行数据保护和身份确认。 Open SSL 是一个开放源代码的实现了 SSL 及相关加密技术的软件包,由加拿大的 Eric Yang 等发起编写的。Open SSL 应用 RSA 实现签名和密钥交换,已经在各种操作系统得到非常广泛的应用。另外,家喻户晓的 IE 浏览器,自然也实现了 SSL 协议,集成了使用 RSA 技术的加密功能,结合 MD5 和 SHA1,主要用于数字证书和数字签名,对于习惯于使用网上购物和网上银行的用户来说,几乎天天都在使用 RSA

3、技术。RSA 更出现在要求高度安全稳定的企业级商务应用中。在当今的企业级商务应用中,不得不提及使用最广泛的平台 j2ee。事实上,在 j2se 的标准库中,就为安全和加密服务提供了两组 API:JCA 和 JCE。 JCA (Java Cryptography Architecture)提供基本的加密框架,如证书、数字签名、报文摘要和密钥对产生器; JCA 由几个实现了基本的加密技术功能的类和接口组成,其中最主要的是 java.security 包,此软件包包含的是一组核心的类和接口,Java 中数字签名的方法就集中在此软件包中。JCE(Java Cryptography Extension)

4、 在 JCA 的基础上作了扩展,JCE 也是由几个软件包组成,其中最主要的是 javax.crypto 包,此软件包提供了 JCE 加密技术操作 API。javax.crypto 中的 Cipher 类用于具体的加密和解密。在上述软件包的实现中,集成了应用 RSA 算法的各种数据加密规范(RSA 算法应用规范介绍参见:http:/ ,这些 API 内部支持的算法不仅仅只有 RSA,但是 RSA 是数字签名和证书中最常用的 ),用户程序可以直接使用 java 标准库中提供的 API 进行数字签名和证书的各种操作。二、算法原理1选择两个不同的大素数 p、q(目前两个数的长度都接近 512bit 是

5、安全的) ;2. 计算 n = p*q。 3. 计算 n 的欧拉函数 t=(p-1)(q-1)。 4. 选择整数 e 作为公钥,使 e 与 t 互素,且 1#includeint candp(int a,int b,int c) int r=1;b=b+1;while(b!=1)r=r*a;r=r%c;b-;printf(%dn,r);return r;void main()int p,q,e,d,m,n,t,c,r;char s;printf(please input the p,q: );scanf(%d%d,n=p*q;printf(the n is %3dn,n);t=(p-1)*(q

6、-1);printf(the t is %3dn,t);printf(please input the e: );scanf(%d,if(et)printf(e is error,please input again: );scanf(%d,d=1;while(e*d)%t)!=1) d+;printf(then caculate out that the d is %dn,d);printf(the cipher please input 1n);printf(the plain please input 2n);scanf(%d,switch(r)case 1: printf(input

7、the m: ); /*输入要加密的明文数字*/scanf(%d,c=candp(m,e,n);printf(the cipher is %dn,c);break;case 2: printf(input the c: ); /*输入要解密的密文数字*/scanf(%d,m=candp(c,d,n);printf(the cipher is %dn,m);break;getch();2、代码的思想:首先随意输入两个素数 p 和 q,然后利用算法计算出 p*q 即 n,再算出(p-1)*(q-1)即 t,并且同时输出计算的结果 n 和 t,接下来输入 e,经过算法可以计算出 d,由此可以知道 RSA 算法的公钥和私钥;接下来可以有两个选择:一选择输入明文,有明文经过算法可以计算出密文;二输入密文,有密文经过算法可以计算出明文。3、运行以上代码就可以得到实验的结果。五、实验结果实验结果如下图所示:六、实验心得:通过这次的实验,会运用一些现成的算法进行编程,对一些比较复杂的算法开始基本认识并深刻的掌握。在以后所涉及这方面的知识将会有全新的了解和掌握。让我对 RSA 算法有了较通透的理解。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 工业设计

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号