基于RSA加密算法毕业设计
(完整版)公开密钥加密算法RSA的Matlab实现本科毕业设计
公开密钥加密算法RSA的Matlab实现[摘要]RSA算法是基于数论的公开密钥加密算法,它已经成为现在最流行的公钥加密算法和数字签名算法之一。
其算法的安全性基于数论中大素数分解的困难性,所以RSA公钥密码体制算法的关键是如何产生大素数和进行大指数模幂运算。
本文首先介绍了RSA 公开密钥加密算法的数学原理,并介绍了几种流行的产生大素数的算法。
然后用matlab具体实现公钥加密算法RSA的加密和解密,从而实现了数据的安全传输。
[关键词] RSA算法;加密;素数The Realization of RSA Algorithm for Public Key Encryption Based on Matlab(Grade 07,Class 3,Major electronics and information engineering ,Communicationengineering Dept.,Tutor:[abstract]:The algorithm is based on the theory of RSA public key encryption algorithm, it has become the most popular public key encryption algorithm and digital signature algorithm of one. The safety of the algorithm based on number theory cuhk the difficulty of prime decomposition, so the RSA public key cryptography algorithms is key to how to produce large prime Numbers DaZhi and transmit power operation. This paper first introduced the RSA public key encr -yption algorithm of mathematical theory, and introduces several popular produce large prime Numbers of the algorithm. Then use matlab RSA public key encryption algorithm re -alization of encryption and decryption is realized, and the safety of the data trans -mission.[Key words]:RSA algorithm; encryption; prime number毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
信息安全技术应用毕业设计
信息安全技术应用毕业设计摘要:随着互联网和信息技术的快速发展,信息安全问题日益凸显。
本文将讨论信息安全技术的应用,以及在毕业设计中如何利用这些技术来保护信息安全。
首先介绍信息安全技术的基本原理和方法,然后结合实际案例,探讨信息安全技术在毕业设计中的具体应用,最后总结相关技术的优缺点,提出未来的研究方向。
一、引言信息安全是当前互联网时代面临的重要问题之一。
随着信息技术的不断发展,网络攻击、数据泄露等问题层出不穷,给个人、企业和国家的信息资产安全带来了严重威胁。
研究和应用信息安全技术至关重要。
毕业设计作为学生综合实践的重要环节,通过设计开发相关应用,可以加深对信息安全技术的理解,并且为未来的职业发展奠定基础。
二、信息安全技术基本原理和方法1. 加密技术加密技术是信息安全的基础,通过对数据进行加密,可以保护数据在传输和存储过程中的安全性。
常见的加密算法包括对称加密算法和非对称加密算法,如DES、AES、RSA等。
在毕业设计中,可以利用加密技术来保护用户的个人信息、公司机密等数据。
2. 访问控制技术访问控制技术用于控制用户对系统资源的访问权限,包括身份验证、权限管理等。
在毕业设计中可以设计基于访问控制技术的用户身份验证系统,确保系统只有授权用户才能访问敏感信息。
3. 网络安全技术网络安全技术包括防火墙、入侵检测系统(IDS)、蜜罐等,用于保护网络免受恶意攻击。
在毕业设计中,可以设计和开发基于网络安全技术的防火墙系统,对网络进行有效的安全防护。
三、信息安全技术在毕业设计中的具体应用1. 设计一个基于RSA算法的加密通讯应用在毕业设计中,可以设计一个基于RSA算法的加密通讯应用,实现用户间的安全通讯。
通过RSA算法,对通讯内容进行加密和解密,保证通讯内容的机密性和完整性。
2. 开发一个基于访问控制技术的员工门禁系统可以设计一个基于访问控制技术的员工门禁系统,通过身份验证和权限管理,实现对公司内部区域的安全管控。
RSA毕业设计论文
目录第1章RSA应用现状及应用于文件加密的分析 (2)1.1 RSA算法介绍与应用现状 (2)1.2 RSA应用于文件加密的分析 (3)1.2.1 文件加密使用RSA的可行性 (3)1.2.2 文件加密使用RSA的意义 (4)第2章RSA文件加密软件的设计与实现 (6)2.1 需求分析与总体设计 (6)2.1.1 功能分析 (6)2.1.2 工程方案选择 (7)2.2 各部分的设计与开发 (8)2.2.1 实现RSA加密算法的C++核心类库 (8)2.2.2 封装C++核心类库的DLL组件 (18)2.2.3 引用DLL的.Net类与实现文件操作功能的窗体应用程序 (19)第3章软件整体测试与分析改进 (20)3.1 编写测试各项性能需要的精确计时类 (20)3.2 测试数据与分析改进 (20)3.2.1 密钥生成测试 (20)3.2.2 数据输入输出测试 (23)3.2.3 加密解密测试 (23)3.2.4 性能分析与改进优化 (26)3.3 使用中国余数定理 (27)第4章可移植模块的简要说明与开发前景 (29)结束语 (30)谢辞 (31)参考文献 (32)附录 (33)前言RSA公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。
它易于理解和操作,也十分流行。
算法的名字以发明者的姓氏首字母命名:Ron Rivest, Adi Shamir 和Leonard Adleman。
虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今(2006年)未被完全攻破。
随着越来越多的商业应用和标准化工作,RSA已经成为最具代表性的公钥加密技术。
VISA、MasterCard、IBM、Microsoft等公司协力制定的安全电子交易标准(Secure Electronic Transactions,SET)就采用了标准RSA算法,这使得RSA在我们的生活中几乎无处不在。
《基于ECC与RSA的随机加密方案的研究与设计》范文
《基于ECC与RSA的随机加密方案的研究与设计》篇一一、引言随着信息技术的发展,数据的安全传输与保护已成为至关重要的研究领域。
为了保护敏感信息和防止数据被非法访问,加密技术成为了网络安全的重要基石。
其中,基于公钥和私钥的加密算法尤为常见,例如RSA算法和椭圆曲线密码(ECC)。
本篇文章旨在探讨和研究一种基于ECC与RSA的随机加密方案,并探讨其设计过程及其可能的应用。
二、RSA算法和ECC的基本概念和特性RSA算法:是一种常用的公钥密码体制加密算法,利用公钥与私钥实现信息的加密和解密。
它被广泛地用于加密数字签名等网络交易中。
ECC(椭圆曲线密码):是一种基于椭圆曲线数学理论的公钥密码体制。
相比于传统的公钥密码体制,ECC具有更高的安全性,且在相同的密钥长度下,其安全性更高。
三、基于ECC与RSA的随机加密方案的设计为了结合RSA和ECC的优点,我们设计了一种基于ECC与RSA的随机加密方案。
该方案主要包含以下几个步骤:1. 随机生成密钥:系统首先会随机生成一组公钥和私钥,这些密钥将在之后的加密和解密过程中使用。
2. 数据分割:原始数据将被分割成若干块,以便于分别进行加密处理。
3. ECC加密:其中一部分数据块将使用ECC算法进行加密。
这一步中,公钥将被用于加密数据,而私钥则用于解密数据。
4. RSA加密:另一部分数据块将使用RSA算法进行二次加密。
这一步中,系统将使用RSA公钥对数据进行加密,而解密则需要使用对应的私钥。
5. 混合加密:最后,将ECC和RSA加密后的数据块进行混合,形成一个完整的加密数据包。
四、方案的优势与挑战本方案的优势在于其结合了ECC和RSA两种算法的优点。
一方面,ECC的高效性和高安全性使得在传输敏感信息时能够提供更强的保护;另一方面,RSA的广泛接受性和通用性也使得我们的方案更易于被各种系统所接受和实施。
此外,这种混合加密方式也提供了更高的安全性,因为即使攻击者破解了其中一种加密方式,仍需要面对另一种加密方式的保护。
《基于ECC与RSA的随机加密方案的研究与设计》范文
《基于ECC与RSA的随机加密方案的研究与设计》篇一一、引言随着信息技术的飞速发展,数据安全与隐私保护问题日益突出。
加密技术作为保障信息安全的重要手段,其研究与应用显得尤为重要。
本文提出了一种基于椭圆曲线密码学(ECC)与RSA 算法的随机加密方案,旨在提高数据传输与存储的安全性。
二、背景知识1. ECC(椭圆曲线密码学):一种公钥密码体制,具有较高的安全性与较短的密钥长度。
在相同的密钥长度下,ECC的加密强度远高于其他公钥密码体制。
2. RSA算法:一种非对称加密算法,广泛应用于数据加密、数字签名等领域。
其安全性基于大数分解问题的困难性。
三、方案设计1. 随机加密方案的整体架构本方案采用ECC与RSA相结合的方式,实现随机加密。
整体架构包括密钥生成、加密过程、解密过程三个部分。
(1)密钥生成:首先,生成ECC公私钥对,作为加密过程中的签名与验证环节使用。
然后,生成RSA密钥对,用于加密与解密过程中的密钥交换。
(2)加密过程:在发送方,使用ECC算法对明文进行签名,生成数字签名。
然后,利用RSA算法对ECC公钥及数字签名进行加密,并将加密后的数据发送给接收方。
(3)解密过程:在接收方,使用RSA算法解密出ECC公钥及数字签名。
然后,使用ECC公钥验证数字签名的有效性。
若验证通过,则使用ECC私钥对密文进行解密,得到原始明文。
2. 具体实现步骤(1)密钥生成阶段:利用ECC算法生成一对公私钥;利用RSA算法生成另一对公私钥。
(2)初始化阶段:发送方将需要传输的数据进行初步处理,如分块、编码等。
(3)加密阶段:发送方使用ECC算法对数据块进行签名;然后利用RSA算法将ECC公钥及数字签名进行加密。
(4)传输阶段:发送方将加密后的数据发送给接收方。
(5)解密与验证阶段:接收方使用RSA算法解密出ECC公钥及数字签名;利用ECC公钥验证数字签名的有效性;若验证通过,则使用ECC私钥对密文进行解密,得到原始明文。
基于RSA算法的数字签名的实现毕业论文
基于RSA算法的数字签名的实现毕业论文基于RSA算法的数字签名的实现摘要随着Internet的发展,电子商务已经逐渐成为人们进行商务活动的新模式,越来越多的人通过Internet进行商务活动。
电子商务的发展前景十分诱人,而其安全问题也变得越来越突出,如何建立一个安全、便捷的电子商务应用环境,对信息提供足够的保护,已经成为商家和用户都十分关心的话题。
系统综合运用了RSA算法原理,散列函数以及C#和.NET编程技术,实现了基于RSA 算法的数字签名系统。
经过测试表明,系统运行可靠稳定,实现了保证信息完整性、鉴别发送者的身份真实性与不可否认性目标。
本文基于数字签名技术在电子商务中的应用,对公钥密码体制中的广泛流行的RSA 算法做了深入的研究并主要阐述了利用C#语言实现基于RSA算法的数字签名方法。
从两大基本模块——签名系统和认证系统着手,对数字签名进行了详细的说明和分析。
关键词:数字签名;公钥密码体制;RSA;电子商务;加解密ABSTRACTWith the development of Internet,E-commerce has gradually become a new model of business activities,more and more people take up business affairs through the Internet. Prospects for the development of e-commerce is very tempting,and the security issues are becoming increasingly prominent.Many technologies have been adopted in the system, such as algorithm RSA, hash function, C# and .NET programming technology. And the Digital Signature system is based on algorithm RSA. The tests of application show that this system is reliable and achieves the design object of the integrity of information, identification of the sender's identity and the authenticity of the undeniable..Based on digital signature technology in the application of e-commerce,we conduct a study about the algorithm RSA which is very popular in the public-key cryptosystem,and we mainly explain the implementation of the Digital Signature based on algorithm RSA in C#. From the two basic systems -- the signature system and the authentication system, we did the detailed description and analysis of digital signature.Key words: digital signature; public-key cryptosystem; RSA; Eletronic Commerce; encryption and decryption目录第一章概述 01.1课题背景 01.2数字签名及其应用 (1)1.2.1数字签名概述 (1)1.2.2数字签名的应用 (2)1.3 课题内容 (2)第二章数字签名软件的技术支撑 (4)2.1 RSA加密算法 (4)2.1.1 公钥和私钥的产生 (4)2.1.2 加密消息 (5)2.1.3 解密消息 (5)2.1.4 安全 (5)2.1.5 实现细节 (6)2.2 数字签名原理 (7)2.3 散列函数 (8)2.3.1散列函数的性质 (8)2.3.2 散列函数的应用 (8)2.3.3 MD5算法 (10)2.3.4 SHA-1算法 (11)2.4 C#和.NET (11)第三章系统的分析与设计 (13)3.1需求分析 (13)3.2 总体设计 (14)3.3 功能模块的划分 (15)3.4 各功能模块的介绍 (17)第四章系统的实现 (18)4.1 RSA加密算法的实现 (19)4.1.1 公私密钥的生成 (19)4.1.2 使用私钥加密 (21)4.1.3 使用公钥解密 (21)4.1.4 其他 (22)4.2 散列函数 (22)4.3 数字签名的实现 (23)4.3.1 设计思想 (23)4.3.2 系统实现 (26)4.4 本章小结 (35)结束语 (36)致谢 (37)南京邮电大学2011届本科生毕业设计(论文)第一章概述1.1课题背景随着Internet和计算机网络技术的蓬勃发展,连通全世界的电子信息通道已经形成,应用Internet网开展电子商务业务也开始具备实用的条件,电子商务获得长足发展的时机已经成熟。
C语言课程设计(RSA加密算法)报告
C语言课程设计一、设计内容RSA加密算法二、设计目的1)通过完成具有一定难度的题目,使自己能够将课本上的理论知识和具体问题有机地结合起来,锻炼自己分析问题、解决问题的能力,提高编程能力;2)通过完成一些需要查阅相关资料才能做的题目,提高自己的自学习能力和创新能力。
三、设计思路(包括所用的函数)RSA的公钥、私钥的组成,以及加密、解密的公式可见于下表:主函数实现求n的欧拉数, 由公钥求解私钥, 加密解密选择以及相应的密文明文输出。
candp 实现加密解密时的求幂取余运算,子函数fun 实现e 与t 的互素判断,以验证e 是否符合要求prime实现一个素数的判断,以验证输入的数是否为素数四、程序代码#include <stdio.h>#include <math.h>void main(){int candp(int a,int b,int c);//函数声明int fun(int x,int y);//函数声明int prime(int m);//函数声明int p;int q;int e;int d;int m;int n;int t;int c;int r;printf("请输入两个素数p,q: ");scanf("%d,%d",&p,&q);for(;p>0,q>0;)//for循环判断p和q是否同时为素数{if(prime(p)&&prime(q)){break;}elseprintf("输入有误,请重新输入:");scanf("%d,%d",&p,&q);}n=p*q;printf("计算得n为%d\n",n);t=(p-1)*(q-1); //求n 的欧拉数printf("计算得t为%d\n",t);printf("请输入一个与t互素的数,即公钥e: ");scanf("%d",&e);for(;e>1,e<t;){if(e<=1||e>=t||fun(e,t)){printf("e不合要求,请重新输入: ");//e<1 或e>t 或e 与t 不互素时,重新输入scanf("%d",&e);}elsebreak;}d=1;while(((e*d)%t)!=1)d++; //由公钥e 求出私钥dprintf("经计算d 为%d\n",d);printf("加密请输入1\n"); //加密或解密选择printf("解密请输入2\n");scanf("%d",&r);switch(r){case 1: printf("请输入明文m: "); //输入要加密的明文数字scanf("%d",&m);c=candp(m,e,n);printf("密文为%d\n",c);break;case 2: printf("请输入密文c: "); //输入要解密的密文数字scanf("%d",&c);m=candp(c,d,n);printf("明文为%d\n",m);break;}}int candp(int a,int b,int c)//数据处理函数,实现幂的取余运算{int z;z=1;b=b+1;while(b!=1){z=z*a;z=z%c;b--;}printf("%d\n",z);return z;}int fun(int x,int y) //公钥e 与t 的互素判断{int s;while(y){s=x;x=y;y=s%y;}if(x == 1)return 0; //x 与y 互素时返回0 elsereturn 1; //x 与y 不互素时返回1}int prime(int m)//判断一个数是否为素数{int i;int n;if(m==1)return 0;n=(int)sqrt(m);for(i=2;i<=n;i++)if(m%i==0)return 0;elsereturn 1;}五、运行结果当P=43, q=59 时,对134 进行加密,运行结果如下:六、分析与讨论从对RSA算法的一无所知到现在运行处的结果,中间经过查询各种资料,我们的努力还是有收获的,运行结果基本上还令人满意。
信息安全-RSA加密算法实验报告
求出正数d,使其满足e d=1 mod D (n),则将(p,q,d)作为私钥。
3.加密算法对于明文M,由C=Memod n,得到密文C。
4.解密算法对于密文C,由M=Cdmod n,得到明文M
如果窃密者获得了n, e和密文C,为了破解密文必须计算出私钥d,为此需要先分解n为了提高破解难度,达到更高的安全性,一般商业应用要求n的长度不小于1024位,更重要的场合不小于2048位。
实验原理:
公钥密码算法是指一个加密系统的加密密钥和解密密钥是不同的,或者说不能用其中一个推导出另一个。在公钥密码算法的两个密钥中,一个是用于加密的密钥,它是可以公开的,称为公钥;另一个是用于解密的密钥,是保密的,称为私钥。公钥密码算法解决了对称密码体制中密钥管理的难题,并提供了对信息发送人的身份进行验证的手段,是现代密码学最重要的发明。
{b=b/2;
a=(a*a)%n;}
else{b=b-1;c1=(c1*a)%n;}}
②根据算法可得明文数据:5438 1364 2925 14571 14303 5746 8805 4588 1144 40
三、数字转化为字符
1将所得的数字数据转化为字符数据:
for(i=0;i<sl;i++)
{int j=0;
①根据导入数据的参数密文c:12423 11524 7243 7459 14303 6127 10964 16399927213629调用,以及 进行求解m:
for(i=0;i<sl;i++)
{char m1[100];
c1=1;j=0;
a=c[i];
b=d;
while(b&体制是目前为止最成功的公钥密码算法,虽然它的安全性还未能得到理论证明,但经过20多年的密码分析和攻击,迄今仍然被实践证明是安全的。
《基于ECC与RSA的随机加密方案的研究与设计》范文
《基于ECC与RSA的随机加密方案的研究与设计》篇一一、引言随着互联网的迅猛发展,网络安全问题逐渐受到广大用户的高度重视。
密码学作为保护网络安全的核心技术,对于数据的加密和解密至关重要。
其中,ECC(椭圆曲线密码)和RSA是两种主流的公钥加密算法。
本研究设计了一种基于ECC与RSA的随机加密方案,旨在提供更高层次的加密保护和更好的安全性。
二、ECC与RSA的概述椭圆曲线密码(ECC)是一种基于椭圆曲线数学的公钥密码系统。
由于其加密强度高、密钥长度小等优点,被广泛应用于数字签名、身份验证等领域。
另一方面,RSA算法则是一种基于大数因子分解的公钥密码系统,被广泛用于加密、解密和数字签名等安全领域。
三、研究动机与目的当前,单一使用ECC或RSA进行加密已无法满足日益增长的网络安全需求。
为了解决这一问题,本研究旨在设计一种结合ECC和RSA的随机加密方案。
此方案不仅能够充分利用两者的优点,提高加密强度,同时也能更好地应对各种网络攻击。
四、方案设计1. 密钥生成:首先,生成ECC私钥和公钥对。
然后,利用RSA算法生成RSA私钥和公钥对。
这两对密钥将作为后续加密和解密的基础。
2. 随机加密:在数据传输前,采用随机数生成器生成一个随机数作为一次性的会话密钥。
该会话密钥将用于对数据进行初步的加密处理。
3. ECC加密:将初步加密的数据和ECC公钥作为输入,利用ECC算法进行二次加密。
此时,只有拥有对应ECC私钥的用户才能解密数据。
4. RSA加密:将经过ECC加密的数据和RSA公钥作为输入,利用RSA算法进行第三次加密。
此时,即使拥有ECC私钥,若无对应的RSA私钥也无法解密数据。
5. 数据传输:经过上述三个步骤加密后的数据,通过安全信道进行传输。
五、方案优势本方案结合了ECC和RSA两种算法的优点,具有以下优势:1. 高强度加密:通过三次加密过程,极大地提高了数据的安全性。
2. 随机性:采用随机数生成器生成的会话密钥,增强了数据的保密性。
【毕业设计】基于非对称算法----rsa的数据文件加解密系统的设计与实现[管理资料]
摘要自20世纪90年代以来,随着计算机网络和信息技术的发展,信息安全在各领域发挥着越来越重要的作用,其中密码学已成为信息安全技术的核心。
本文研究课题是基于非对称算法----RSA的数据文件加解密系统的设计与实现,其主要实现的功能有以下几个:(1)数据文件加密;(2)数据文件解密;(3)密钥管理;(4)用户管理。
此系统主要以java2EE作为开发基础,使用myeclipse作为开发工具,以MySQL作为数据库,使用JAVA语言开发,实现可以对文件进行RSA加密操作的窗体应用程序。
本论文给出关键类类图、整个应用程序的结构描述文档、关键模块流程图、较详细的接口文档、部分功能实现截图。
对应用程序进行测试,对测试结果进行分析研究,进而对应用程序进行改进,对关键算法进行尽可能的优化,最终得到一个在windows运行的可以用指定密钥对任意文件进行RSA加密并可解密的完整应用程序。
关键词:RSA算法加密解密 JavaAbstractSince the 1990s , with the development of computer networks and information technology in all areas of information security plays an increasingly important role , which has become the core cryptographic information security technology . This article is based on research ---- RSA asymmetric algorithms plus data file decryption system design and implementation , and its main function has the following : (1)data file encryption ; (2)a data file decryption ; (3)the key management ; (4)user management . RSA algorithm is now recognized in theory and practical application of the most mature and complete a public-key cryptosystem , which is the first not only for data encryption can be used for digital signature algorithm , public key cryptosystems representatives. This system is mainly to java2EE as a development base , using the myeclipse as a development tool for MySQL as a database, using the JA V A language development, implementation can file Forms application RSA encryption operations. The key classes chart shows , the entire application schema document , the key modules flowcharts , more detailed interface documentation , all of the source code. The application for testing, analysis and study of the test results , and thus to improve the application of key algorithms as optimization , finally get a run in the windows key can be used to specify any file RSA encryption and decryption the complete application . Keywords : RSA encryption decryption Java目录前言 (1)第1章绪论 (2)问题的提出 (2)国内外研究现状与水平 (2)研究本课题的意义 (3)第2章RSA算法介绍 (4)密码学中基本概念 (4)RSA公钥加密解密概述 (5)密钥的产生 (5)加密 (5)解密 (6)RSA算法应用现状 (6)RSA算法的攻击与安全性的讨论 (7)对RSA的分解模数n攻击 (7)对RSA的选择密文攻击 (7)对RSA的小指数攻击 (8)对RSA共模攻击 (8)RSA的安全性讨论 (8)RSA参数的选择 (9)模数N的确定 (10)e的选取原则 (11)d的选取原则 (11)文件加密使用RSA的可行性 (12)文件加密使用RSA的意义 (12)第3章RSA文件加解密软件的设计与实现 (15)需求分析与总体设计 (15)工程方案选择 (17)RSA算法的系统及实现 (17)大素数生成实现 (19)模逆运算 (21)模幂乘运算 (24)第4章数据文件加解密的实现过程 (27)用户信息管理 (27)RSA算法加解密管理 (28)密钥产生 (29)加密文件 (29)解密文件 (33)第5章软件的整体性能分析与改进 (35)加密解密测试 (35)性能分析与改进优化 (38)第6章结束语 (40)致谢 (39)参考文献 (42)前言密码技术是保护信息安全的主要手段之一。
RSA加密算法的分析与实现毕业设计论文
河南科技大学毕业设计(论文)题目:__RSA加密算法的分析与实现__摘要随着信息产业的迅速发展,人们对信息和信息技术的需要不断增加,信息安全也显得越来越重要。
基于对网络传输数据安全性的考虑,保障网络信息安全的加密产品具有广泛的应用前景,密码技术则是保障信息安全的一个重要手段。
密码学是信息安全技术的核心,现代密码体制分为公钥体制和私钥体制两大类:私钥体制又称单钥体制,其加密密钥和解密密钥相同;公钥体制又称为双钥体制,其加、解密密钥不同,可以公开加密密钥,而仅需保密解密密钥,从而具有数字签名、鉴别等新功能,被广泛应用于金融、商业等社会生活各领域。
RSA是目前公认的在理论和实际应用中最为成熟和完善的一种公钥密码体制,不仅可以进行加密,还可以用来进行数字签名和身份验证,是公钥密码体制的代表。
大数模幂乘运算是实现RSA等公钥密码的基本运算,该算法存在的问题是在实现时耗时太多,这也是制约其广泛应用的瓶颈。
本论文的第一章介绍了国内外密码学和RSA的有关动态以及本论文的意义,第二章介绍密码学的有关知识,第三章对RSA算法进行分析、介绍,第四章是RSA 加密与解密的实现的代码和测试,第五章对本课题的结论。
最后是致谢和参考文献。
关键词:密码学,RSA公钥密码体制,信息安全ABSTRACTWith the rapid development of IT technology, people depend on it increasingly, As a result, information security is getting more and more important. Meanwhile, Products that ensure network information show a great prospect due to the importance .Of transmitting data by network safely, and as an important means of information Security, cryptography must be lifted.Cryptography is the core of the information security. Modern cryptograph is, Divided into the public key system and the private key system. The private key system, Is also called the single key system, in which the encryption process is the same as the. Decryption process. The public key system is also called the double key system, Where the encryption process is different with the decryption process. Since the Public key system can publish its public key and keep its private key secret, it has, Many new applications such as the digital signature and authentication, which is. ideally used in every field of the society.Among the various public key cryptosystem, RSA algorithm is the best choice in, Both theory and application, and it is open used in digital signature and identificationSystem. Modular exponentiation and modular multiplication are the basic algorithms. For implementing the public key algorithms such as RSA, etc. However the, Time-consuming modulo exponentiation computation, which has always been the, Bottle-neck of RSA restricts its wider application.The first chapter introduces the domestic and foreign progress of cryptograph; The RSA related tendency as well as the meaning of the research. The second chapter Explains cryptograph. The third chapter describes and analyzes the RSA algorithm. Thefourth chapter discusses the improvement of the RSA algorithm including the big, Number restore and operation, and the improvement algorithm of the” Square multiply" algorithm. The fifth chapter reprints an improved algorithm and Comparisons.KEY WORDS: cryptography, RSA, public key cryptosystem, information security目录摘要 (1)ABSTRACT (2)第一章引言 (6)1.1研究背景 (6)1.2信息加密技术 (6)1.3密码技术研究现状 (8)1.4研究本课题的意义 (9)第二章密码学概论 (11)2.1密码学的基本概念 (11)2.2古典密码体制 (14)2.3对称密码体制 (14)2.3.1 DES (Data Encryption Standard) (16)2.3.2 AES(Advanced Encryption Standard) (18)2.4公钥密码体制 (19)2.5密码分析技术 (21)第三章 RSA公钥密码体制 (24)3.1RSA的数学基础知识 (24)3.1.1 因子的概念 (24)3.1.2 素数与合数 (25)3.1.3 公约数与最大公约数 (26)3.1.4 互质数 (27)3.2RSA算法 (28)3.2.1 RSA体制描述 (28)3.2.2 RSA工作原理 (29)第四章 RAS的加密与解密技术的实现 (2)4.1RSA加密与解密代码 (2)4.2测试的环境与工具 (4)4.3测试的结果 (5)第五章结论 (6)5.1结论 (6)致谢 (7)参考文献 (8)第一章引言1.1 研究背景自20世纪90年代以来,计算机网络技术得到了空前飞速的发展和广泛的应用,但网络在带给我们方便快捷的同时,也存在着种种安全危机,随着计算机应用的日益广泛和深入,信息交流和资源共享的范围不断扩大,计算机应用环境日趋复杂,计算机的数据安全问题也越来越重要。
RSA算法(论文+代码)
RSA加密算法设计报告课题名称: RSA加密算法设计人(姓名):设计人(学号):指导教师:评阅成绩:评阅意见:提交报告时间:20 年月日RSA加密算法计算机科学与技术专业学生指导老师[摘要]RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。
RSA是由Ron Rivest、Adi Shamir、Len Adleman与1997年在MT 开发的。
RSA是被研究得最广泛的公钥算法,采用分块加密的思想,明文和密文都是0到n—1中的某个整数,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。
RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。
即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NPC问题。
关键词:RSA 公钥 NPC一.设计环境1.硬件环境:Inter(R)Core(TM)*********************2.软件环境:操作系统:Windows xp操作系统编译软件:Visual C++二.算法描述1.选择两质数p、q2.计算n = p*q。
3. 计算n的欧拉函数(n)=(p-1)(q-1)。
4.选择整数e,使e与(n)互质,且1<e< (n)。
5.计算d,使d*e=1 mod (n)。
6.其中,公钥KU={e,n},私钥KR={d,n}。
7.加密:C=Me mod n8.解密:M=Cd mod n=(Me)d mod n= Med mod n 。
三.源程序清单:#include<iostream>using namespace std;int main(){int p,q,N;int i,D,E,PT,CT;cout<<"*****RSA加密算法*****"<<endl<<endl;cout<<"输入两个素数p和q:\n";cin>>p;cin>>q;N=(p-1)*(q-1);for(i=2;i<N;i++){if(N%i==0){cout<<i<<" ";}}cout<<"\n\n输入一个数,该数不等于上面的任何一个数!"<<endl;cin>>E;i=1;while(i>0){if((i*E)%N==1){D=i;cout<<D<<endl;break;}i++;}cout<<"输入需要加密的明文!"<<endl;cin>>PT;int j=PT;for(i=1;i<E;i++){PT*=j;}cout<<"\n加密后的密文是:";CT=PT%(p*q);cout<<CT<<endl;cout<<"\n*****RSA解密算!*****\n\n";cout<<"接收的密文是"<<CT<<endl;cout<<"密钥是:"<<D<<endl;cout<<"解密后的明文是:\n";PT=CT;for(j=1;j<D;j++){PT=(PT*CT)%(p*q);}cout<<PT<<endl;return 0;}四.运行结果:1.输入素数:2.输入公钥、输出公钥3.输入明文进行加密、解密一个完整的RSA截屏五.RSA算法分析分析RSA的缺点主要有:1. 产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。
基于RSA加密算法本科毕业设计论文 精品
桂林理工大学GUILIN UNIVERSITY OF TECHNOLOGY本科毕业设计(论文) 题目:数据通信中的RSA加密算法的设计与实现摘要数据通信是依照一定的通信协议,利用数据传输技术在两个终端之间传递数据信息的一种通信方式和通信业务。
随着数据通信的迅速发展而带来了数据失密问题。
信息被非法截取和数据库资料被窃的事例经常发生,在日常生活中信用卡密码被盗是常见的例子。
所以数据加密成为十分重要的问题,它能保证数据的安全性和不可篡改性。
RSA加密算法以它难以破译的优点,被广泛的使用在电子商务和VPN中。
本文针对非对称性加密RSA算法,采用软件Visual C++6.0进行程序编写。
根据模乘法运算和模指数运算的数学原理所编写的程序在进行测试后,能够通过输入两个素数进行运算从而实现明文与密文之间的转换,然后通过对公钥和私钥的管理,对所传输的数据进行保护,让数据只能由发送者和接收者阅读,以达到数据通信中数据无法被他人破译的目的。
关键词:RSA算法,数据通信,加密, 解密。
Data communication of the RSA encryption algorithm in the Designand ImplementationTeacher:Chen Fei student:Lu HuiAbstractData communications in accordance with certain communication protocols, the use of data transmission technology in the transmission of data between two terminals as a means of communication of information and communication business. With the rapid development of data communications and has brought the issue of data compromise. Unlawful interception of information and database information on frequent instances of theft, credit card in their daily lives stolen passwords is a common example. Therefore, data encryption has become a very important issue, it can ensure data security and can not be tamper with nature. RSA encryption algorithm to the merits of it difficult to decipher, was widely used in the e-commerce and VPN.In this paper, asymmetric RSA encryption algorithm, the use of software for Visual C + +6.0 programming. According to Die multiplication and modular exponentiation by the mathematical principles in the preparation of test procedures can be adopted for the importation of two prime numbers and computing in order to achieve explicit conversion between the ciphertext, and then through a public key and private key management, for the transmission of data protection, so that data can only be made by the sender and the recipient to read, in order to achieve data communications data can not be the purpose of deciphering the others.Keywords: RSA algorithms, data communication, encryption, decryption.目录摘要 (II)Abstract (III)第1章引言 (1)1.1题目背景 (1)1.2国内外现状 (1)1.3本课题的主要工作 (2)第2章数据通信中的加密技术 (3)2.1数据加密技术的起源和发展 (3)2.2数据加密的方法 (3)2.3密钥的管理 (5)2.4数据加密的标准 (5)2.5数据加密的应用 (6)2.6本章小结 (6)第3章数据加密中的RSA算法 (8)3.1 RSA公钥密码体制概述 (8)3.2 RSA公钥密码体制安全性分析 (9)3.3 RSA算法的缺点 (10)3.4 本章小结 (10)第4章 RSA数据加密中的实现 (11)4.1随机大素数的产生 (11)4.1.1素数的分布 (11)4.1.2大素数生成的方法 (12)4.1.3 Miller Rabin素性测试法 (12)4.1.4基于Miller Rabin素性测试法的新的素数生成方法 (13)4.2密钥的生成及加密和解密 (14)4.2.1最大公因子gcd运算 (14)4.2.2模n求逆元运算 (16)4.2.3模n的大数幂乘运算 (17)4.2.4模n的大数幂乘运算 (17)4.3 RSA算法分析 (18)4.3.1 RSA安全性分析 (18)4.3.2 RSA时间复杂度分析 (19)4.4本章小结 (19)第5章 RSA算法的实现 (21)5.1选定组合算法的准则 (21)5.2模幂组合算法的实现 (21)5.3试验与运行结果 (22)总结 (24)参考文献 (25)致谢 (26)附录.................................................. 错误!未定义书签。
(完整版)利用RSA算法实现数字签名毕业设计
摘要当今世界信息技术获得了前所未有的大发展,因而信息的安全性必将变得越来越受到人们的重视。
而数字签名技术是目前网络安全领域的研究热门方向。
RSA算法是第一个能同时用于加密和数字签名的算法,易于应用和理解。
RSA从提出一直到现在,它经历了各种考验。
它通过认证技术来分辨真与假。
RSA数字签名体制使用地是RSA公开密钥算法进行得数字签名。
本文主要是对RSA公开密钥密码体制的研究,并在此基础上实现了RSA的数字签名的体制。
本文的主要内容包括:关键词:加密解密RSA算法RSA数字签名AbstractNow the information of the world is developing fastly.So the security of the information is becoming more and more importantly. Digital signature filed will become hot spots in future.It is the first algorithm for both data encryption and digital signature.It can be understood easily by people.RSA has undergone various tests when it is put out.RSA as the public key cryptosystem representative approved data integrity is a kind of information technology. It is through the authentication techniques to distinguish true and false. RSA digital signature system using a RSA public key algorithm for digital signature.The text is about the study of RSA public key encryption,based on this generating RSA digital signature.including:,Firstly on the basis of previous research, a system based on elliptical curve proxy signature, The advantage of public key encryption and the security of RSA digital signature(attack )Secondly,it analyzes the principle of RSA,including how to generat a prime number,how to generat the secret keys and how to encryption as well as decrypt, Thirdly,it states the principle of MD5 in detail.Fourthly, it states design and realization of RSA digital signature in detail. The main modules includes producing RSA secret keys, implementation of RSA encryptionalgorithm and decryption algorithm, producing message digest and realizing digital signature and verification by RSA.Key words: RSA algorithm; encryption; decryption; RSA digital signature目录摘要 (I)Abstract ....................................................... I I 1绪论. (1)1.1 研究背景 (2)1.2 研究现状 (3)2密码学基本概念 (4)2.1 公钥密码基本概念 (4)2.1.1 公钥密码原理 (4)2.1.2公钥密码的理论基础 (5)2.2 对称加密体制 (5)3数字签名的基本概念和理论 (7)3.1数字签名概念 (7)3.2 数字签名理论 (7)3.3数字签名过程 (7)3.3.1.发送方签名过程 (8)3.3.2.接收方验证过程 (9)4数字签名常见的算法及其数字签名 (11)4.1 DSA数字签名算法 (11)4.1.1 DSA数字签名实现的三个步骤 (11)4.1.2 DSA的安全性 (12)4.2 椭圆曲线代理签名体制 (12)4.2.1椭圆曲线数字签名ECDSA (12)4.2.2椭圆曲线数字签名的安全性 (13)5 RSA算法及其数字签名 (14)5.1 RSA简述 (14)5.2 RSA加密的可行性 (15)5.3 RSA算法的介绍 (15)5.3.1 RSA中素数的选取 (16)5.3.2 RSA用到的公式和定理 (16)5.3.3 RSA安全性的分析 (16)5.3.4 RSA的攻击 (17)5.3.5 RSA的缺点 (18)5.3.6 RSA的优点 (19)5.4 RSA数字签名 (19)5.4.1 RSA数字签名的过程 (19)5.4.2 RSA数字签名算法实现步骤 (19)5.4.3 散列函数的原理 (20)5.4.4 MD5算法的简介 (21)6 RSA数字签名设计与实现 (23)6.1 开发环境的介绍 (23)6.1.1 C#语言概述 (23)6.1.2 C#语言特点 (23)类的介绍 (24)6.3 RSA数字签名所需实现的功能 (25)6.4 本软件的总体要求和设计 (25)6.5主要实现代码及软件运行结果 (26)结论 (30)致谢 (32)参考文献 (33)附录1 (34)1绪论1.1 研究背景当今社会是信息化社会,电子计算机和通信网络己经广泛的应用于社会的各个领域,以此为基础建立起来的各种信息系统,给人们的生活、工作带来了巨大变革。
RSA公钥加密算法的设计与实现本科毕业论文
RSA公钥加密算法的设计与实现RSA公钥加密算法的设计与实现【论文摘要】RSA公钥加密算法是目前最有影响力的非对称加密算法,为ISO的推荐的加密标准。
而非对称加密因其安全性、开放性以及在数字签名技术中的重要性,在我们的生活中被使用得越加频繁。
RSA的安全性建立在大整数的分解困难上,其基本原理是初等数论中的欧拉定理。
在工业实现上,为了保证加密的安全性,通常要求密钥对大于1Kbits,然而计算机的整型变量为32bits,这构成一个矛盾。
此外,RSA密钥的生成需要产生随机的大素数,这也是本文需要解决的问题。
【关键词】RSA;非对称加密;素数The d esign and implementation of RSA public keyencryption algorithm【ABSTRACT】RSA public key encryption algorithms are the most influential dissymmetrical encryption algorithms, the recommended encryption standard to ISO. And dissymmetrical encryption is used more and more frequently in our lives because of its security, openness and the importance in digital signature technology.RSA's security is built on the difficulties of big integer factorization, whose basic principle is the Euler's theorem in elementary number theory. In order to ensure the security of encryption, when it comes to industry, we often require the key pair is greater than 1Kbits. However, the integer class of computers occupies 32bits, which constitutes a contradiction. In addition, RSA's key-generation needs a random large prime number, which is also a problem to be solved.【Keywords】RSA; dissymmetrical encryption; prime number目录RSA公钥加密算法的设计与实现 (II)The design and implementation of RSA public key encryption algorithm (II)目录 (III)一.前言 (1)(一)引论 (1)(二)背景知识 (2)1. 密码技术的发展 (2)2. 密码学的主要任务 (4)3. 密码系统的安全性 (5)4. 对称与非对称密码的区别 (5)5. 公钥:RSA密码体制 (6)二、实验部分 (8)(一)实验目的 (8)(二)实验环境 (8)(三)实验步骤 (8)1. 大整数类 (8)2. 快速模幂运算 (9)3. 快速产生随机素数 (9)4. 扩展的欧几里德算法 (10)(四)代码设计 (11)1. 大整数类 (11)2. Rsa类 (14)3. 关键代码 (16)三、结果与讨论 (17)(一)程序展示 (17)1. 程序主界面 (17)2. RSA密钥产生 (18)3. 加密解密展示 (20)(二)RSA分析 (21)1. RSA的安全性 (21)2. RSA效率 (22)(三)小结 (24)注释 (25)参考文献 (26)致谢 (27)一.前言(一)引论从公元前5世纪,古希腊斯巴达人用木棍和带子进行换位密码,到现在的网上购物、网上银行,密码学在我们生活中占着越来越重要的地位。
毕业设计(论文)-基于rsa的数字签名的设计与实现[管理资料]
基于RSA的数字签名的设计与实现摘要随着计算机网络和信息技术的发展,信息安全在各领域发挥着越来越重要的作用,其中密码学已成为信息安全技术的核心,本文主要介绍了信息加密技术的应用。
RSA算法是目前公认的在理论和实际应用中最为成熟和完善的一种公钥密码体制,它是第一个既能用于数据加密也能用于数字签名的算法,是公钥密码体制的代表。
数字签名是起到身份认证、核准数据完整性的一种信息安全技术。
它通过认证技术来辨认真伪。
RSA数字签名体制使用的是RSA公开密钥密码算法进行数字签名。
本文主要研究的内容包括:第一,对RSA算法进行了全面系统的介绍,包括RSA 算法的应用现状和原理—大素数的产生、密钥对的产生、对明文的加密运算和密文的解密运算,为具体实现打下了理论基础;第二,介绍了RSA数字签名的一些基本概念和数字签名的理论实现过程;第三,对MD5算法基本原理的介绍;第四,详述了RSA数字签名的设计与实现,主要实现的模块包括RSA密钥的产生(一对公钥和私钥),RSA加密算法和解密算法的实现,消息摘要MD的生成以及利用RSA算法实现数字签名和签名的验证;第五,对该系统进行了整体的测试和分析改进;第六,分析了RSA数字签名的安全性,指出了RSA数字签名的发展方向。
关键字:RSA算法;加密;解密;MD5算法;RSA数字签名The Design and Realization of Digital Signature Based onRSAAbstractWith the development of the computer network and information technology, information security plays more and more important role in every field. Cryptography has become the core of information security technology. This thesis mainly introduces the application of information encryption technology.RSA algorithm is considered as a public-key cryptosystem of the most fully developed and complete in theory and practice application at present.It is the first algorithm for both data encryption and digital signature. Digital signature is an information security technology used to check authentication and data integrity. It identifies true or false by the authentication technology. RSA digital signature system carries on digital signature by using RSA public-key cipher algorithm.The main content of this thesis includes six parts. First of all, it is a comprehensive systematic introduction about RSA algorithm including the present application situation and principle of RSA algorithm----producing big prime numbers and secret keys, the encryption arithmetic for information and the decryption for secret information, which establish the theory foundation for achieving concrete; secondly, it introduces some basic conception of RSA digital signature and theory of digital signature realizing process; thirdly, it introduces the basic principle of MD5 algorithm; fourthly, it states design and realization of RSA digital signature in detail. The main modules includes producing RSA secret keys (a public key and private key ), implementation of RSA encryption algorithm and decryption algorithm, producing message digest and realizing digital signature and verification by RSA; the fifth, it carries on testing entirely, analyzing and improving for this system;The sixth, it analyses the security of RSA digital signature and points out the development direction of RSA digital signature.Key words: RSA algorithm; encryption; decryption; MD5 algorithm; RSAdigital signature目录论文总页数:23页1 引言 (1)研究背景 (1)本课题的研究意义 (2)2 RSA算法和RSA数字签名算法的基本概念和原理 (2)RSA算法的基本概念和原理 (2)RSA算法介绍与应用现状 (2)RSA算法的实现原理 (3)RSA数字签名基本概念和RSA数字签名算法的实现原理 (3)RSA数字签名基本概念 (3)RSA数字签名算法的实现原理 (5)MD5算法的介绍 (6)3 RSA数字签名的设计与实现 (7)RSA数字签名的总体设计 (7)RSA数字签名所需实现的功能 (7)本软件的总体要求和设计 (7)各部分的设计实现 (7)密钥产生的实现 (7)产生消息摘要的设计实现 (10)数字签名的设计实现 (11)验证数字签名的设计与实现 (15)RSA数字签名的运行结果 (17)4 软件的整体测试和分析改进........................................................................错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要数据通信是依照一定的通信协议,利用数据传输技术在两个终端之间传递数据信息的一种通信方式和通信业务。
随着数据通信的迅速发展而带来了数据失密问题。
信息被非法截取和数据库资料被窃的事例经常发生,在日常生活中信用卡密码被盗是常见的例子。
所以数据加密成为十分重要的问题,它能保证数据的安全性和不可篡改性。
RSA加密算法以它难以破译的优点,被广泛的使用在电子商务和VPN中。
本文针对非对称性加密RSA算法,采用软件Visual C++6.0进行程序编写。
根据模乘法运算和模指数运算的数学原理所编写的程序在进行测试后,能够通过输入两个素数进行运算从而实现明文与密文之间的转换,然后通过对公钥和私钥的管理,对所传输的数据进行保护,让数据只能由发送者和接收者阅读,以达到数据通信中数据无法被他人破译的目的。
关键词:RSA算法,数据通信,加密, 解密。
Data communication of the RSA encryption algorithm in the Designand ImplementationTeacher:Chen Fei student:Lu HuiAbstractData communications in accordance with certain communication protocols, the use of data transmission technology in the transmission of data between two terminals as a means of communication of information and communication business. With the rapid development of data communications and has brought the issue of data compromise. Unlawful interception of information and database information on frequent instances of theft, credit card in their daily lives stolen passwords is a common example. Therefore, data encryption has become a very important issue, it can ensure data security and can not be tamper with nature. RSA encryption algorithm to the merits of it difficult to decipher, was widely used in the e-commerce and VPN.In this paper, asymmetric RSA encryption algorithm, the use of software for Visual C + +6.0 programming. According to Die multiplication and modular exponentiation by the mathematical principles in the preparation of test procedures can be adopted for the importation of two prime numbers and computing in order to achieve explicit conversion between the ciphertext, and then through a public key and private key management, for the transmission of data protection, so that data can only be made by the sender and the recipient to read, in order to achieve data communications data can not be the purpose of deciphering the others.Keywords: RSA algorithms, data communication, encryption, decryption.目录摘要 (I)Abstract (II)第1章引言 (1)1.1题目背景 (1)1.2国内外现状 (1)1.3本课题的主要工作 (2)第2章数据通信中的加密技术 (3)2.1数据加密技术的起源和发展 (3)2.2数据加密的方法 (3)2.3密钥的管理 (5)2.4数据加密的标准 (5)2.5数据加密的应用 (6)2.6本章小结 (6)第3章数据加密中的RSA算法 (8)3.1 RSA公钥密码体制概述 (8)3.2 RSA公钥密码体制安全性分析 (9)3.3 RSA算法的缺点 (10)3.4 本章小结 (10)第4章 RSA数据加密中的实现 (11)4.1随机大素数的产生 (11)4.1.1素数的分布 (11)4.1.2大素数生成的方法 (12)4.1.3 Miller Rabin素性测试法 (12)4.1.4基于Miller Rabin素性测试法的新的素数生成方法 (13)4.2密钥的生成及加密和解密 (14)4.2.1最大公因子gcd运算 (14)4.2.2模n求逆元运算 (16)4.2.3模n的大数幂乘运算 (17)4.2.4模n的大数幂乘运算 (17)4.3 RSA算法分析 (18)4.3.1 RSA安全性分析 (18)4.3.2 RSA时间复杂度分析 (19)4.4本章小结 (19)第5章 RSA算法的实现 (21)5.1选定组合算法的准则 (21)5.2模幂组合算法的实现 (21)5.3试验与运行结果 (22)总结 (24)参考文献 (25)致谢 (26)附录.................................................. 错误!未定义书签。
第1章引言1.1题目背景在当今的信息社会中,每天都有大量的信息在传输、交换、存储和处理,而这些处理过程几乎都要依赖强大的计算机系统来完成。
一旦计算机系统发生安全问题,就可能造成信息的丢失、篡改、伪造、假冒,以及系统遭受破坏等严重后果。
因此,如何保证计算机系统的安全,是当前一个需要立即解决的十分严峻的问题。
通常保障网络信息安全的方法有两大类:一是以防火墙技术为代表的被动防卫型,二是建立在数据加密,用户授权确认机制上的开放型网络安全保障技术。
防火墙技术,就是在局域网与外部网络之间设立一个服务器,将它们之间隔离开来,建立起一个安全网关,从而保护内部网免受非法用户的侵入。
数据加密技术是可以与防火墙配合使用的一种安全技术,这种技术可以提高信息系统及数据的安全性和保密性、防止秘密数据被外部破解所采用的主要技术手段之一。
按其不同的作用,数据加密技术主要分为数据传输、数据存储、数据完整性的鉴别以及密钥管理技术四种。
加密技术是通过计算机网络中的加密机构,把网络中的各种原始数字信息(明文)按照某种特定的加密算法变换成与明文完全不同的数字信息,即转换成密文。
计算机网络中的加密技术主要采用链路加密和端对端加密等两种方式。
通常情况是将这两种加密模式结合起来共同使用,即可保证网内用户的数据安全,又可提供用户之间的身份鉴别与认证。
1.2国内外现状RSA被广泛应用于各种安全或认证领域,如web服务器和浏览器信息安全、Email 的安全和认证、对远程登录的安全保证和各种电子信用卡系统的核心。
硬件上,如安全电话、以太网卡和智能卡也多采用RSA技术。
而几乎所Internet安全协议如S/MIME,SSL和S/WAN都引入了RSA加密方法。
IS09796标准把RSA列为一种兼容的加密算法,使得RSA的应用目前非常广泛。
RSA模数n=pq是RSA算法的安全性的核心。
如果模数n被分解,则RSA体制立刻被攻破。
如果RSA算法是安全的,那么n=pq必须足够大,使得因式分解模数n在计算上不可行的。
基于安全性考虑,实际应用中所选择的素数p和q至少应该为100位以上的十进制数,相应的模数n=pq将是200位的十进制数。
C E Shannon建议使用至少100位长度的大素数,从而得到长度为200位以上的大整数模数n。
RSA算法的缺点是加密速度慢,模数n的长度越大,加/解密运算所需要的时间就越长,算法实现的速度也就越慢。
为了尽可能使用大的模数而又不影响系统实现的速度,实际应用中通常使用专门的硬件实现RSA算法。
最重要的影响速度的实现细节是加/解密中的大数运算。
大数模幂乘运算是RSA 算法的核心运算,也是运算速度提高的关键。
高效的大数模幂乘算法可以有效提高系统速度。
需要每做一次平方或乘法运算后,就要作一次模运算,当n的值很大时,做一次模运算所需的时间比做一次平方或一次乘法所需的时间更多,是影响算法实现速度的关键。
但在实际加密解密过程中,n可能是几个数的乘积,如RSA算法中,n是两个大素数的乘积。
这时可通过中国剩余定理进行变换,降低指数的数量级.1.3本课题的主要工作本文选择RSA数字加密体制为研究对象,讨论了RSA实现过程中,每一步的具体实现算法。
RSA加密算法是第一个成熟的、迄今为止理论上最成功的公开钥密系统。
它的安全性基础是数论和计算复杂性理论中的下述论断:求两个大素数的乘积在计算上是容易的,但若要分解两个大素数的积而求出它的素因子则在计算上是困难的。
但是,在进行加密和解密运算时的整数求幂运算耗时很大,影响了运算速度,因此,人们提出了多种实现算法,以加快运算速度,例如本文提到的SMM算法和指数2K进制化法等。
这些算法都是从某一方面入手,在一定程度上加快了运算速度。
本文通过分析这些算法的特点,提出了一种综合性的组合方法,在原有算法的基础上更进一步地加快了运算速度。
本文首先介绍了加密算法的数学基础,从数学理论上分析了RSA算法的原理;然后通过C++程序进行实现。
第2章数据通信中的加密技术随着信息化的应用水平不断提高,尤其是电子政务和电子商务的蓬勃发展,互联网络的信息安全问题越来越引起全社会的重视。
数字化办公和生活面临一系列的严重“威胁”。
由于互联网的开放性,我们面临各种各样的安全威胁。
网上传输的邮件可能被截取,信息的内容可能被篡改;电子商务过程中,信用卡帐号和密码可能暴露在第二者面前;一些人可能会假冒合法用户身份或者假冒网站来用于一些非法目的,而事后又对自己的行为进行抵赖:系统可能由于黑客的攻击而无法提供有效的服务。