HI,欢迎来到学术家园网,学术咨询热线:13973556650
按学术家园网发行地区分类查找

浅析皇于RSA肋数字签召算法肋设计实现

时间:2023-04-12 15:22:00

密码技术是信息安全的核心技术公钥密码在信息安全中担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。本文介绍了数字签名技术的基本功能、原理和实现条件,并实现了基于RSA的数字签名算法

  0.引言

随着计算机网络的发展,网络的资源共享渗透到人们的日常生活中,在众多领域上实现了网上信息传输、无纸化办公。因此,信息在网络中传输的安全性、可靠性日趋受到网络设计者和网络用户的重视数字签名技术是实现交易安全的核心技术之一,在保障电子数据交换((EDI)的安全性上是一个突破性的进展,可以解决否认、伪造、篡改及冒充等问题

1.数字签名

1.1数字签名技术的功能

数字签名必须满足三个性质

(1)接受者能够核实并确认发送者对信息的签名,但不能伪造签名

(2)发送者事后不能否认和抵赖对信息的签名。

(3)当双方关于签名的真伪发生争执时,能找到一个公证方做出仲裁,但公证方不能伪造这一过程

常用的数字签名技术有RSA签名体制、Robin签名体制、E1Gamal签名体制及在其基础之上产生的数字签名规范DSS签名体制。

1.2数字签名技术的原理

为了提高安全性,可以对签名后的文件再进行加密。假如发送方A要给接收方B发送消息M,那么我们可以把发送和接收M的过程简单描述如下:

(1)发送方A先要将传送的消息M使用自己的私有密钥加密算法E(al)进行签名,得V=E(al(M))其中,A的私有加密密钥为al;

(2)发送方A用自己的私有密钥对消息加密以后,再用接收方B的公开密钥算法Ebl对签名后的消息V进行加密,得C=E(b l (V))。其中,B的公开加密密钥为6l.

(3)最后,发送方A将加密后的签名消息C传送给接收方B

(4)接收方B收到加密的消息C后,先用自己的私有密钥算法D(62)对C进行解密,得V=D(h2挥))其中,B的私有解密密钥为62(5)然后接收方再用发送方A的公开密钥算法D(a2)对解密后的消息V再进行解密,得M=D(a2(V))。其中,,A的公开解密密钥为a2=这就是数字签名技术的基本原理。如果第三方想冒充A向B发送消息,因为他不知道.a的密钥,就无法做出A对消息的签名如果A想否认曾经发送消息给B.因为只有A的公钥才能解开A对消息的签名,.a也无法否认其对消息的签名数字签名的过程图l如下:

 

  2. RSA算法

2.1 RSA算法的原理

RSA算法是第一个成熟的、迄今为止理论上最成功的公开密钥密码体制,该算法由美国的Rivest,Shamir,Adle~三人于1978年提出。它的安全性基于数论中的Enle:定理和计算复杂性理论中的下述论断:求两个大素数的乘积是容易计算的,但要分解两个大素数的乘积,求出它们的素因子则是非常困难的.它属于NP一完全类

2.2 RSA算法

密钥的产生

①计算n用户秘密地选择两个大素数F和9,计算出n=p*q, n称为RSA算法的模数明文必须能够用小于n的数来表示实际上n是几百比特长的数
②计算 (n)用户再计算出n的欧拉函数(n)二(P-1)*(q-1),(n)定义为不超过n并与n互素的数的个数③选择。。用户从[(0, (n)一1〕中选择一个与}(n)互素的数B做为公开的加密指数

4计算d。用户计算出满足下式的d : ed = 1 mal (n)(a与h模n同余.记为a二h mnd n)做为解密指数。

⑤得出所需要的公开密钥和秘密密钥:公开密钥(加密密钥):PK={e,n} ;

秘密密钥(解密密钥);SK=(d,n}

加密和解密过程如下:

设消息为数M(M

设C=(Md)mod n,就得到了加密后的消息C;

设M=(Ce)mod n,就得到了解密后的消息M。其中,上面的d和e可以互换

由于RSA算法具有以下特点:加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥))SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。它们满足条件:①加密密钥PK对明文M加密后,再用解密密钥SK解密,即可恢复出明文,或写为:Dsk(Esk(M))= M②加密密钥不能用来解密,即((D娜e,c}M)) } M③在计算机上可以容易地产生成对的PK和SK}④从已知的PK实际上不可能推导出SK⑤加密和解密的运算可以对调,即:E}(M)(Es}(M)(M))=M所以能够防止身份的伪造、冒充,以及对信息的篡改。

3. RSA用于数字签名系统的实现

RSA竿名讨程如下图2所示:

 

  4.结论

数字签名技术是网络系统虚拟环境中确认身份的重要技术,在技术和法律上有保证。在数字签名应用中,公开密钥可以保存在系统目录内、未加密的电子邮件信息中、电话黄页上或公告牌里等,网上的任何用户都可获得公开密钥。而私有密钥是用户专用的,由用户本身持有.它可以对由公开密钥加密信息进行解密。本文对数字签名进行了初步研究探讨,下一步主要研究该方案与其他算法结合的运行速度。
 

免责声明以上文章内容均来源于其他网络渠道,仅供欣赏,不代表本站观点,与本站立场无关,仅供学习和参考。如有涉及到您的权益,请来信告知(email:qsllxy@163.com),我们核实后会立刻删除。

相关期刊