基于RSA的数字签名技术

基于RSA 的数字签名技术

胡思雨1,孙秀丽2,张瑞华3

(1安徽师范大学数学计算机科学学院, 安徽,芜湖,241000 2安徽师范大学数学计算机科学学院, 安徽,芜湖,241000 3安徽师范大学数学计算机科学学院, 安徽,芜湖,241000)

摘 要:信息是推动社会向前发展的重要资源。随着计算机网络技术的不断发展,Internet 技术的日趋成熟,由此而来的互联网信息交换技术给人们的工作、学习和生活等带来了便捷和好处,但是同时网络中的安全问题也日趋严重,病毒、木马程序、远程监听,远程攻击等无时无刻都在困扰着人们,特别是一些商业,科研,国防机构,常常要在互联网上传输一些机密资料。计算机网络的开放性与共享性,系统的复杂性,边界不确定性,以及路径不确定性都导致了网络安全性问题的发生,使得网络很容易受到外界的攻击和破坏同样也使数据信息的保密性受到了严重影响。因此,网络中的信息安全技术和加密技术就显得尤为重要。密码技术是信息安全的核心技术。公钥密码在信息安全中担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。本文介绍了数字签名技术的基本功能、原理和实现条件,并实现了基于RSA 的数字签名算法。

关键词:网络安全; 加密技术; 数字签名技术; 密钥管理; 加密技术应用; RSA 算法;

The Digital Signature Technology Based on RSA

HU Siyu,SUN Xiuli,ZHANG Ruihua

(School of Mathematics & Computer Science,Anhui Normal University,Wuhu241000,China)

Abstract:Inf ormation is an important resource to push society forward. With the continuous development of computer network technology, Internet technology becoming mature, and Internet information exchange technology to give people work, study and life has brought convenience and benefits, but at the same time in the network security problem is increasingly serious, viruses, Trojan horse program, remote monitoring, plagued by ranged attacks, etc. All the people, especially some business, scientific research, the defense agencies, often need to transport some confidential data on the Internet. Openness and sharing of computer network, the complexity of the system, the boundary uncertainty, and the path of uncertainty are lead to the network security problems, and makes the network very vulnerable to the outside world and also the data information privacy has been seriously affected. Therefore, in the network information security technology and encryption technology is particularly important. Cryptography is the core of information security technology. Public key password for key agreement in information security, digital signatures, message authentication and other important role, has become the core of the password. This paper introduces the basic function of digital signature technology, principle and the implementation condition, and realizes digital signature based on RSA algorithm.

Key words:Internet security , encryption techniques, digital signature technology, key management ,encryption techniques application, RSA algorithm

1、引言

21世纪的特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。因为网络可以非常迅速地传递信息, 要实现信息化就必须依靠完善的网络。网络对社会生活的很多方面以及社会经济的发展具有不可估量的影响,正因为如此,在网络信息传输过程中,如果数据受到攻击和监听,由此造成的损失也是巨大的,因此网络信息的安全问题不得不引起我们的重视。特别是对于诸如银行、通迅和国防等等传输机密数据的网络而言,其网络中数据的安全性就更加重要了。网络安全是加密技术产生的直接原因和发展的指导方向。

然而如今随着网络技术的不断发展,Internet 规模逐渐扩大和成熟,由此给人们的工作、学习和生活等便捷的同时,网络的安全问题也日趋严重,病毒、木马、黑客等各种各样的攻击也无时无刻地困扰着我们,尤其是对那些商业,科研,国防等在网络上传输敏感数据的机构,网络信息安全的解决更加迫在眉睫。病毒攻击、黑客攻击的泛滥猖獗使处在网络时代的人们感觉无所适从。也许已经有了一定的技术手段可以改善网络安全的状况,然而,这一切的安全问题是不可能全部找到解决方案,况且有的是根本无法找到彻底的解决方案,如病毒木马程序,因为任何反病毒程序都只能在新病毒被发现之后才能捕获它们,迄今为止还没有一家反病毒软件开发商敢承诺他们的软件能查杀所有已知的和未知的病毒,这说明,网络永远不可能得到绝对的安全。所以我们不能期待网络绝对安全了再展开网络的应用,只要网络存在,病毒、黑客也会存在,它们是一个共存体,就像是矛与盾的关系。

加密技术就是在网络安全的迫切需要下应运而生的,它为人们在网络上进行的数据交换行为提供了一定的安全保障,如在网络中进行文件传输、电子邮件往来和进行合同文本的签署等。其实加密也不是什么新鲜事物,只不过运用在当今电子商务、电脑网

络中还是近几年的事情。

2、数据加密技术原理

对于任何一个一般加密系统至少包括下面四个组成部分:

(1)未加密的报文,也称明文。 (2)加密后的报文,也称密文。 (3)加密解密设备或算法。 (4)加密解密的密钥。

发送方用加密密钥,通过加密设备或算法,将信息加密后发送出去。接收方在收到密文后,用解密密钥将密文解密,恢复为明文。如果传输中有人窃取,他只能得到无法理解的密文,从而对信息起到保密作用。

一般的数据加密模型如图1

所示:

加密过程包括两个元素:算法和密钥。一个加密算法是将普通明文信息(文件或者数据等)与一窜数字或者数字字母的组合(密钥)进行结合,产生不可理解的无意义的密文的步骤。算法以及密钥对加密过程来说是同等重要的,密钥是用来对数据进行编码和解码的一种特殊算法。在安全保密中,可通过适当的密钥加密技术和管理机制,来保证网络的信息通讯安全。 从20世纪60年代起,随着电子技术、计算技术的迅速发展以及结构代数、可计算性和计算复杂性理论等学科的研究,密码学进入了一个新的发展时期,在20世纪70年代起,美国的数据加密标准DES(Data Encryption Standard) , 和公钥密码体制(public key crypto-system)的出现,成为近代

密码学发展史上两个重要里程碑。其中又有两种重要的数据加密技术:对称式加密技术和非对称式加密技术。 2.1 对称式加密技术

对称密钥加密的发送和接受的双方都使用相同的密钥,并且密钥是保密的,不向外公开,通常称之为“Session Key ”。这种加密技术的共同特点在于加密和解密密钥相同,发送方用密钥对数据(明文)进行加密,接收方收到数据后,用同一个密钥进行解密,这类加密技术实现容易,加解密速度快。当然,这种加密方式必须在数据发送接收之前保证收发双方拥有相同的密钥,这就需要通过绝对安全的方式来传送密钥(一般称之为安全信道)。由于容易实现和效率高,这种加密技术被广泛使用,最有名的如美国政府所使用的DES (Data Encryption Standard )加密技术和AES (Advanced Encryption Standard )加密技术。DES 又叫数据加密标准,属于常规密钥密码体系,是一种典型的“对称式”加密法。这种加密技术由IBM 开发,在1977年被美国定为联邦信息的一个标准。ISO 曾将DES 作为数据加密标准。DES 是一种分组对称加解密算法,在加密前,先对整个明文进行分组。每一个组长为 64 bit。然后对每一个 64 bit 二进制数据进行加密处理,产生一组 64 bit 密文数据。最后将各组密文串接起来,即得出整个的密文。使用的密钥为 64 bit(实际密钥长度为 56 bit,有 8 bit 用于奇偶校验)。 2.2 非对称式加密技术

1976年,美国学者Diffe 和Hellman 为解决常规密钥密码体制的密钥分配问题及对数字签名的需求,提出一种密钥交换全新的协议,它允许数据在不安全的传输环境中进行通信,并安全的使用一致的加密密钥,即“公开密钥系统”。公开密钥密码体制使用不同的加密和解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。 相对于“对称加密算法”

这种方法也叫做“非对称加密算法”。

和对称加密算法有所不同的是,非对称加密算法需要两个密钥:即私有密钥(Private Key)和公开密钥(Public Key)。私有密钥和公开密钥是对应的一对:用公开密钥进行加密的数据,只能通过相对应的私有密钥才能解密;同理,用私有密进行加密的数据,只能用相对应的公开密钥才能解密。只是由于加密和解密分别使用不同的两个密钥,所以这种算法也被叫作非对称加密算法。

非对称加密算法的基本原理是,发送方(加密者)必须首先知道接收方(解密者)的公开密钥,然后利用接收方(解密者)的公开密钥加密明文;接收方(解密者)收到加密密文后,使用自己的私有密钥解密密文。显然,采用非对称加密算法,发送接收双方在通信之前,接收方必须将随机生成的公钥发送给发送方进行加密,而自己保留私钥。

[2]

3、RSA 算法的设计与实现

3.1 RSA算法的原理

非对称的加密算法含有两个密钥,特别适用于分布式系统中的数据加密,其中RSA 算法为当今世界上应用最为广泛的非对称加密算法。RSA 公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积分解开则极其困难。在这个体系中每个用户有两个密钥:加密密钥

PK ={e , n }和解密密钥SK ={d , n }。加密

密钥是公开的,使得系统中任何用户都可无限制使用,而对解密密钥中的d 则保密,只有使用者自己知道。具体实现过程为: 1. 随机选取两个素数p , q 2. 计算n =p *q

3. 计算欧拉函数Φ(n ) =(p -1) *(q -1) 4. 在2和Φ(n ) 之间随机选择一个数e ,

e 必须和Φ(n ) 互素,整数e 用做加密

密钥。

5. 从公式e *d ≡1mod Φ(n ) 中求出解密

密钥d 。

6. 得公钥KP (e , n ) , 私钥 KS (d , n ) 。公

开公钥,但不公开私钥。

7. 将明文P (假设P 是一个小于n 的整

数) 加密为密文C ,计算方法为:

C =P e mod n

8. 将密文C 解密为明文P ,计算方法为:

P =C d mod n

然而只根据n 和e (不是p 和q )要计算出d 是不可能的。因此,任何人都可对明文进行加密,但只有授权用户(知道d )才可对密文解密。 3.2 RSA 算法的实现图 3.2.1 密钥产生过程

图2 密钥产生过程

3.2.2 解加密过程如图3

图3解加密过程

的信息附加在一起, 合称为数字签名。必须满足三个性质: (1)接受者能够核实并确认发送者对信息的签名,但不能伪造签名。(2)发送者事后不能否认和抵赖对信息的签名。(3)当双方关于签名的真伪发生争执时,能找到一个公证方做出仲裁,但公证方不能伪造这一过程。常用的数字签名技术有RSA 签名体制、Robin 签名体制、ElGamal 签名体制及在其基础之上产生的数字签名规范 DSS 签名体制。

报文的发送方从报文文本中生成一个128位或160位的单向散列值(或报文摘要) ,并用自己的私有的密钥对这个散列值进行加密,形成发送方的数字签名;然后将这个数字签名作为报文的附件和报文一起发送给报文的接收方;报文的接收方首先从接收到的原始报文中计算出128位的散列值(或报文摘要) ,接着再用发送方的公开密钥对报文附加的数字签名进行解密;如果这两个散列值相同,那么接收方就能确认数字签名是发送方的。

数字签名的过程如图4

4、基于RSA 算法的数字签名技术

4.2 RSA用于数字签名的实现

虽然RSA 算法存在一些缺点,但是它仍然是目前世界公认的最好的算法,因为它不仅可以作为加密算法使用,还可以用作数字签名和密钥分配与管理。数字签名技术是实现交易安全的核心技术之一, 在保障电子数据交换(EDI ) 的安全性上是一个突破性的进展, 可以解决否认、伪造、篡改及冒充等问题。

4.1数字签名技术的原理

数字签名(Digital Signature ) 是公开密钥加密技术的一种应用, 是指用发送方的私有密钥加密报文摘要, 然后将其与原始

RSA 算法具有以下特点:加密密钥(即公开密钥 )PK 是公开信息,而解密密钥(即秘密密钥)SK 是需要保密的。加密算法 E 和解密算法D 也都是公开的。虽然秘密密钥S 是由公开密钥PK 决定的,但却不能根据 PK 计算出SK 。它们满足条件 :①加密密钥 PK 对明文M 加密后,再用解密秘钥SK 解密,即可恢复出明文,或写为:DSK(ESK(M))= M 。②加密密钥不能用来解密,即 (DPK(EPK(M))≠M 。③在计算机上可以容易地产生成对的 PK 和SK 。④从已知的PK 实际上不可能推导出SK 。⑤加密和解密的运算可以对调即:

EPK(M)(ESK(M)(M))=M所以能够防止身份的伪造、冒充,以及对信息的篡改。 所以可以用RSA 去对数字签名进行加密解密。由RSA 的原理及特点可得出RSA 签名的过程如下:

RSA 签名的过程如图5

Φ(n ) =42*58=2436,取e =13,解方程 d *e =1(mod2436) ,得d =937。

若有明文: public key encryptions,现将明文块分为:pu bl ic ke ye nc ry pt io ns

如利用英文字母顺序: 即a 为00,b 为01,c 为02, ...,y为24, z为25, 将明文数字化得: 1520 0111 0802 1004 2404 1302 1724 1519 0814 1418

利用加密得密文: 0095 1648 1410 1299 1365 1379 2333 1751 1289

验证过程如图6

5、小结

计算机网络技术的不断发展和Internet 技术的日趋成熟,让信息资源安全的重要性和紧迫性也不断显现出来:而数据安全不仅仅是数据加密技术和加密算法, 它还涉及其他很多方面的技术与知识, 如:黑客技术、防火墙技术、入侵检测技术、病毒防护技术、信息隐藏技术等。所以, 这就要求一个完善的数据加密安全保障系统, 不仅应该善于根据具体需求对安全技术进行有效的取舍, 而且能够对银行系统中的关键业务数据进行充分的保护。于此同时还应该提高企业的网络安全。而数字签名技术是网络系统虚拟环境中确认身份的重要技术,在技术和法律上有保证。

在数字签名应用中,公开密钥可以保存在系统目录内、未加密的电子邮件信息中、电话黄页上或公告牌里等,网上的任何用户都可获得公开密钥。而私有密钥是用户专用的由用户本身持有. 它可以对由公开密钥加密信息进行解密。本文对数据加密技术进行了初步研究探讨,下一步主要研究了RSA 算法的原理以及其应用。详细讨论了RSA 在数字签名方面的应用。

RSA 技术是实现网络环境下数据安全的重要手段之一,是一种主动安全防御策略,为信息传输提供安全保护。并且和其它网络安全技术一起共同构筑安全、可靠的网络环境,使得网络更好的为人服务。

以A 将签名信息传送给B 为例, A 签名的过程: A 用自己的私钥{d , n } 对信息m 进行签名, 即 s =m d (modn ) 。并将s 作为A 对消息m 的数字签名附在消息m 后; B 验证的过程:B用A 的公钥{e , n } 对签名s 进

' e

行验证, 即m =s (modn ) , 若m =m ,

'

则签名正确。完整地, 验证算法可以表达如下:

ver (m , s ) =(m ==s e (modn )) ?true :false

其中phase ? true :false 表示如果phase 为真, 则整个表达式的最终

结果为true, 否则表达式的最终结果为false 。

4.3 RSA 算法的仿真

n =43*59=2539,q =59,例设p =43,

参考文献

[1] 谢希仁. 计算机网络(第四版) [M]. 北京:电子工业出版社,2003.6 :286-290 [2] 赵晓敏, 赵常林. 计算机网络安全技术研究. 鸡西大学学报 [J] 2007年4月 第七卷第二期

[3] 郭丽. 关于网络安全之数据加密技术. 安徽电子信息职业技术学院学报 2008,6(3):11-13.

[4] 谢冬青, 谢志坚, 李超 , 冷健. 关于一种算数编码数据加密方案的密码分析通信学报 2001,6(4):18-22.

[5] 葛淑杰, 乔付, 任建民; 计算机网络通信安全的数据加密算法分析[J];黑龙江科技学院学报;2001,6(3):24-27.

[6]嬴政天下. 加密算法之RSA 算法,http://soft.winzheng.com/infoView/Article_296.htm,2003.

[7] 罗英辉. 陈忆群 . 快速实现数字签名的宏观加模算法[J ]. 计算机工程与应用,2007,43(10):117-120.

基于RSA 的数字签名技术

胡思雨1,孙秀丽2,张瑞华3

(1安徽师范大学数学计算机科学学院, 安徽,芜湖,241000 2安徽师范大学数学计算机科学学院, 安徽,芜湖,241000 3安徽师范大学数学计算机科学学院, 安徽,芜湖,241000)

摘 要:信息是推动社会向前发展的重要资源。随着计算机网络技术的不断发展,Internet 技术的日趋成熟,由此而来的互联网信息交换技术给人们的工作、学习和生活等带来了便捷和好处,但是同时网络中的安全问题也日趋严重,病毒、木马程序、远程监听,远程攻击等无时无刻都在困扰着人们,特别是一些商业,科研,国防机构,常常要在互联网上传输一些机密资料。计算机网络的开放性与共享性,系统的复杂性,边界不确定性,以及路径不确定性都导致了网络安全性问题的发生,使得网络很容易受到外界的攻击和破坏同样也使数据信息的保密性受到了严重影响。因此,网络中的信息安全技术和加密技术就显得尤为重要。密码技术是信息安全的核心技术。公钥密码在信息安全中担负起密钥协商、数字签名、消息认证等重要角色,已成为最核心的密码。本文介绍了数字签名技术的基本功能、原理和实现条件,并实现了基于RSA 的数字签名算法。

关键词:网络安全; 加密技术; 数字签名技术; 密钥管理; 加密技术应用; RSA 算法;

The Digital Signature Technology Based on RSA

HU Siyu,SUN Xiuli,ZHANG Ruihua

(School of Mathematics & Computer Science,Anhui Normal University,Wuhu241000,China)

Abstract:Inf ormation is an important resource to push society forward. With the continuous development of computer network technology, Internet technology becoming mature, and Internet information exchange technology to give people work, study and life has brought convenience and benefits, but at the same time in the network security problem is increasingly serious, viruses, Trojan horse program, remote monitoring, plagued by ranged attacks, etc. All the people, especially some business, scientific research, the defense agencies, often need to transport some confidential data on the Internet. Openness and sharing of computer network, the complexity of the system, the boundary uncertainty, and the path of uncertainty are lead to the network security problems, and makes the network very vulnerable to the outside world and also the data information privacy has been seriously affected. Therefore, in the network information security technology and encryption technology is particularly important. Cryptography is the core of information security technology. Public key password for key agreement in information security, digital signatures, message authentication and other important role, has become the core of the password. This paper introduces the basic function of digital signature technology, principle and the implementation condition, and realizes digital signature based on RSA algorithm.

Key words:Internet security , encryption techniques, digital signature technology, key management ,encryption techniques application, RSA algorithm

1、引言

21世纪的特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。因为网络可以非常迅速地传递信息, 要实现信息化就必须依靠完善的网络。网络对社会生活的很多方面以及社会经济的发展具有不可估量的影响,正因为如此,在网络信息传输过程中,如果数据受到攻击和监听,由此造成的损失也是巨大的,因此网络信息的安全问题不得不引起我们的重视。特别是对于诸如银行、通迅和国防等等传输机密数据的网络而言,其网络中数据的安全性就更加重要了。网络安全是加密技术产生的直接原因和发展的指导方向。

然而如今随着网络技术的不断发展,Internet 规模逐渐扩大和成熟,由此给人们的工作、学习和生活等便捷的同时,网络的安全问题也日趋严重,病毒、木马、黑客等各种各样的攻击也无时无刻地困扰着我们,尤其是对那些商业,科研,国防等在网络上传输敏感数据的机构,网络信息安全的解决更加迫在眉睫。病毒攻击、黑客攻击的泛滥猖獗使处在网络时代的人们感觉无所适从。也许已经有了一定的技术手段可以改善网络安全的状况,然而,这一切的安全问题是不可能全部找到解决方案,况且有的是根本无法找到彻底的解决方案,如病毒木马程序,因为任何反病毒程序都只能在新病毒被发现之后才能捕获它们,迄今为止还没有一家反病毒软件开发商敢承诺他们的软件能查杀所有已知的和未知的病毒,这说明,网络永远不可能得到绝对的安全。所以我们不能期待网络绝对安全了再展开网络的应用,只要网络存在,病毒、黑客也会存在,它们是一个共存体,就像是矛与盾的关系。

加密技术就是在网络安全的迫切需要下应运而生的,它为人们在网络上进行的数据交换行为提供了一定的安全保障,如在网络中进行文件传输、电子邮件往来和进行合同文本的签署等。其实加密也不是什么新鲜事物,只不过运用在当今电子商务、电脑网

络中还是近几年的事情。

2、数据加密技术原理

对于任何一个一般加密系统至少包括下面四个组成部分:

(1)未加密的报文,也称明文。 (2)加密后的报文,也称密文。 (3)加密解密设备或算法。 (4)加密解密的密钥。

发送方用加密密钥,通过加密设备或算法,将信息加密后发送出去。接收方在收到密文后,用解密密钥将密文解密,恢复为明文。如果传输中有人窃取,他只能得到无法理解的密文,从而对信息起到保密作用。

一般的数据加密模型如图1

所示:

加密过程包括两个元素:算法和密钥。一个加密算法是将普通明文信息(文件或者数据等)与一窜数字或者数字字母的组合(密钥)进行结合,产生不可理解的无意义的密文的步骤。算法以及密钥对加密过程来说是同等重要的,密钥是用来对数据进行编码和解码的一种特殊算法。在安全保密中,可通过适当的密钥加密技术和管理机制,来保证网络的信息通讯安全。 从20世纪60年代起,随着电子技术、计算技术的迅速发展以及结构代数、可计算性和计算复杂性理论等学科的研究,密码学进入了一个新的发展时期,在20世纪70年代起,美国的数据加密标准DES(Data Encryption Standard) , 和公钥密码体制(public key crypto-system)的出现,成为近代

密码学发展史上两个重要里程碑。其中又有两种重要的数据加密技术:对称式加密技术和非对称式加密技术。 2.1 对称式加密技术

对称密钥加密的发送和接受的双方都使用相同的密钥,并且密钥是保密的,不向外公开,通常称之为“Session Key ”。这种加密技术的共同特点在于加密和解密密钥相同,发送方用密钥对数据(明文)进行加密,接收方收到数据后,用同一个密钥进行解密,这类加密技术实现容易,加解密速度快。当然,这种加密方式必须在数据发送接收之前保证收发双方拥有相同的密钥,这就需要通过绝对安全的方式来传送密钥(一般称之为安全信道)。由于容易实现和效率高,这种加密技术被广泛使用,最有名的如美国政府所使用的DES (Data Encryption Standard )加密技术和AES (Advanced Encryption Standard )加密技术。DES 又叫数据加密标准,属于常规密钥密码体系,是一种典型的“对称式”加密法。这种加密技术由IBM 开发,在1977年被美国定为联邦信息的一个标准。ISO 曾将DES 作为数据加密标准。DES 是一种分组对称加解密算法,在加密前,先对整个明文进行分组。每一个组长为 64 bit。然后对每一个 64 bit 二进制数据进行加密处理,产生一组 64 bit 密文数据。最后将各组密文串接起来,即得出整个的密文。使用的密钥为 64 bit(实际密钥长度为 56 bit,有 8 bit 用于奇偶校验)。 2.2 非对称式加密技术

1976年,美国学者Diffe 和Hellman 为解决常规密钥密码体制的密钥分配问题及对数字签名的需求,提出一种密钥交换全新的协议,它允许数据在不安全的传输环境中进行通信,并安全的使用一致的加密密钥,即“公开密钥系统”。公开密钥密码体制使用不同的加密和解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。 相对于“对称加密算法”

这种方法也叫做“非对称加密算法”。

和对称加密算法有所不同的是,非对称加密算法需要两个密钥:即私有密钥(Private Key)和公开密钥(Public Key)。私有密钥和公开密钥是对应的一对:用公开密钥进行加密的数据,只能通过相对应的私有密钥才能解密;同理,用私有密进行加密的数据,只能用相对应的公开密钥才能解密。只是由于加密和解密分别使用不同的两个密钥,所以这种算法也被叫作非对称加密算法。

非对称加密算法的基本原理是,发送方(加密者)必须首先知道接收方(解密者)的公开密钥,然后利用接收方(解密者)的公开密钥加密明文;接收方(解密者)收到加密密文后,使用自己的私有密钥解密密文。显然,采用非对称加密算法,发送接收双方在通信之前,接收方必须将随机生成的公钥发送给发送方进行加密,而自己保留私钥。

[2]

3、RSA 算法的设计与实现

3.1 RSA算法的原理

非对称的加密算法含有两个密钥,特别适用于分布式系统中的数据加密,其中RSA 算法为当今世界上应用最为广泛的非对称加密算法。RSA 公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积分解开则极其困难。在这个体系中每个用户有两个密钥:加密密钥

PK ={e , n }和解密密钥SK ={d , n }。加密

密钥是公开的,使得系统中任何用户都可无限制使用,而对解密密钥中的d 则保密,只有使用者自己知道。具体实现过程为: 1. 随机选取两个素数p , q 2. 计算n =p *q

3. 计算欧拉函数Φ(n ) =(p -1) *(q -1) 4. 在2和Φ(n ) 之间随机选择一个数e ,

e 必须和Φ(n ) 互素,整数e 用做加密

密钥。

5. 从公式e *d ≡1mod Φ(n ) 中求出解密

密钥d 。

6. 得公钥KP (e , n ) , 私钥 KS (d , n ) 。公

开公钥,但不公开私钥。

7. 将明文P (假设P 是一个小于n 的整

数) 加密为密文C ,计算方法为:

C =P e mod n

8. 将密文C 解密为明文P ,计算方法为:

P =C d mod n

然而只根据n 和e (不是p 和q )要计算出d 是不可能的。因此,任何人都可对明文进行加密,但只有授权用户(知道d )才可对密文解密。 3.2 RSA 算法的实现图 3.2.1 密钥产生过程

图2 密钥产生过程

3.2.2 解加密过程如图3

图3解加密过程

的信息附加在一起, 合称为数字签名。必须满足三个性质: (1)接受者能够核实并确认发送者对信息的签名,但不能伪造签名。(2)发送者事后不能否认和抵赖对信息的签名。(3)当双方关于签名的真伪发生争执时,能找到一个公证方做出仲裁,但公证方不能伪造这一过程。常用的数字签名技术有RSA 签名体制、Robin 签名体制、ElGamal 签名体制及在其基础之上产生的数字签名规范 DSS 签名体制。

报文的发送方从报文文本中生成一个128位或160位的单向散列值(或报文摘要) ,并用自己的私有的密钥对这个散列值进行加密,形成发送方的数字签名;然后将这个数字签名作为报文的附件和报文一起发送给报文的接收方;报文的接收方首先从接收到的原始报文中计算出128位的散列值(或报文摘要) ,接着再用发送方的公开密钥对报文附加的数字签名进行解密;如果这两个散列值相同,那么接收方就能确认数字签名是发送方的。

数字签名的过程如图4

4、基于RSA 算法的数字签名技术

4.2 RSA用于数字签名的实现

虽然RSA 算法存在一些缺点,但是它仍然是目前世界公认的最好的算法,因为它不仅可以作为加密算法使用,还可以用作数字签名和密钥分配与管理。数字签名技术是实现交易安全的核心技术之一, 在保障电子数据交换(EDI ) 的安全性上是一个突破性的进展, 可以解决否认、伪造、篡改及冒充等问题。

4.1数字签名技术的原理

数字签名(Digital Signature ) 是公开密钥加密技术的一种应用, 是指用发送方的私有密钥加密报文摘要, 然后将其与原始

RSA 算法具有以下特点:加密密钥(即公开密钥 )PK 是公开信息,而解密密钥(即秘密密钥)SK 是需要保密的。加密算法 E 和解密算法D 也都是公开的。虽然秘密密钥S 是由公开密钥PK 决定的,但却不能根据 PK 计算出SK 。它们满足条件 :①加密密钥 PK 对明文M 加密后,再用解密秘钥SK 解密,即可恢复出明文,或写为:DSK(ESK(M))= M 。②加密密钥不能用来解密,即 (DPK(EPK(M))≠M 。③在计算机上可以容易地产生成对的 PK 和SK 。④从已知的PK 实际上不可能推导出SK 。⑤加密和解密的运算可以对调即:

EPK(M)(ESK(M)(M))=M所以能够防止身份的伪造、冒充,以及对信息的篡改。 所以可以用RSA 去对数字签名进行加密解密。由RSA 的原理及特点可得出RSA 签名的过程如下:

RSA 签名的过程如图5

Φ(n ) =42*58=2436,取e =13,解方程 d *e =1(mod2436) ,得d =937。

若有明文: public key encryptions,现将明文块分为:pu bl ic ke ye nc ry pt io ns

如利用英文字母顺序: 即a 为00,b 为01,c 为02, ...,y为24, z为25, 将明文数字化得: 1520 0111 0802 1004 2404 1302 1724 1519 0814 1418

利用加密得密文: 0095 1648 1410 1299 1365 1379 2333 1751 1289

验证过程如图6

5、小结

计算机网络技术的不断发展和Internet 技术的日趋成熟,让信息资源安全的重要性和紧迫性也不断显现出来:而数据安全不仅仅是数据加密技术和加密算法, 它还涉及其他很多方面的技术与知识, 如:黑客技术、防火墙技术、入侵检测技术、病毒防护技术、信息隐藏技术等。所以, 这就要求一个完善的数据加密安全保障系统, 不仅应该善于根据具体需求对安全技术进行有效的取舍, 而且能够对银行系统中的关键业务数据进行充分的保护。于此同时还应该提高企业的网络安全。而数字签名技术是网络系统虚拟环境中确认身份的重要技术,在技术和法律上有保证。

在数字签名应用中,公开密钥可以保存在系统目录内、未加密的电子邮件信息中、电话黄页上或公告牌里等,网上的任何用户都可获得公开密钥。而私有密钥是用户专用的由用户本身持有. 它可以对由公开密钥加密信息进行解密。本文对数据加密技术进行了初步研究探讨,下一步主要研究了RSA 算法的原理以及其应用。详细讨论了RSA 在数字签名方面的应用。

RSA 技术是实现网络环境下数据安全的重要手段之一,是一种主动安全防御策略,为信息传输提供安全保护。并且和其它网络安全技术一起共同构筑安全、可靠的网络环境,使得网络更好的为人服务。

以A 将签名信息传送给B 为例, A 签名的过程: A 用自己的私钥{d , n } 对信息m 进行签名, 即 s =m d (modn ) 。并将s 作为A 对消息m 的数字签名附在消息m 后; B 验证的过程:B用A 的公钥{e , n } 对签名s 进

' e

行验证, 即m =s (modn ) , 若m =m ,

'

则签名正确。完整地, 验证算法可以表达如下:

ver (m , s ) =(m ==s e (modn )) ?true :false

其中phase ? true :false 表示如果phase 为真, 则整个表达式的最终

结果为true, 否则表达式的最终结果为false 。

4.3 RSA 算法的仿真

n =43*59=2539,q =59,例设p =43,

参考文献

[1] 谢希仁. 计算机网络(第四版) [M]. 北京:电子工业出版社,2003.6 :286-290 [2] 赵晓敏, 赵常林. 计算机网络安全技术研究. 鸡西大学学报 [J] 2007年4月 第七卷第二期

[3] 郭丽. 关于网络安全之数据加密技术. 安徽电子信息职业技术学院学报 2008,6(3):11-13.

[4] 谢冬青, 谢志坚, 李超 , 冷健. 关于一种算数编码数据加密方案的密码分析通信学报 2001,6(4):18-22.

[5] 葛淑杰, 乔付, 任建民; 计算机网络通信安全的数据加密算法分析[J];黑龙江科技学院学报;2001,6(3):24-27.

[6]嬴政天下. 加密算法之RSA 算法,http://soft.winzheng.com/infoView/Article_296.htm,2003.

[7] 罗英辉. 陈忆群 . 快速实现数字签名的宏观加模算法[J ]. 计算机工程与应用,2007,43(10):117-120.


相关文章

  • [网络安全技术]课程教案
  • <网络安全技术>课程教案 一.课程定位 网络的安全使用是企事业单位应用网络的基本需求.网络应用包括"建网"."管网"和"用网"三个部分.如果用一棵树形容网络应用,&qu ...查看


  • 电子商务的安全技术-数字签名
  • 电子商务的安全技术--数字签名 专业:信息管理与信息系统 班级:信管本科班 学号: 姓名: 日期:2015年6月30日 摘要:近来基于Internet 开展的电子商务已逐渐成为人们进行商务活动的新模式.越来 越多的人通过 Internet ...查看


  • 数据加密技术
  • 数据加密技术 数据加密技术 我们经常需要一种措施来保护我们的数据,防止被一些怀有不良用心的人所看到或者破坏.在信息时代,信息可以帮助团体或个人,使他们受益,同样,信息也可以用来对他们构成威胁,造成破坏.在竞争激烈的大公司中,工业间谍经常会获 ...查看


  • 密码学基础实验讲义
  • 常熟理工学院 计算机科学与工程系 <密码学基础>实验指导书 网络工程系 2009年7月 实验一.熟悉CAP4 一.实验目的与要求 通过实验,使学生对密码学有一定的感性认识:学会正确使用CAP(Cryptographic Anal ...查看


  • 信息安全概论加密算法论文
  • 随着信息时代的到来,特别是随着Internet和电子商务的发展,怎样才能达到使信息系统的机密信息难以被泄漏,或者即使被窃取了也极难识别,以及即使被识别了也极难篡改,已经成为IT业界的热点研究课题.到现在为止网络安全解决方案可以分为两大类:一 ...查看


  • 浅析密码理论与技术
  • 科技资讯2008N O. 07 SCI EN CE &TECHN OLOG Y I NFOR M A TI O N 高新技术 浅析密码理论与技术 (92941部队96分队姜威辽宁葫芦岛125000) 摘要:文章介绍了国内外密码理论与 ...查看


  • 三级计算机信息安全技术第六套
  • 第六套 一.填空题 1.TCSEC将计算机系统安全划分为( ). A) 三个等级七个级别 B) 四个等级七个级别 C) 五个等级七个级别 D) 六个等级七个级别 2.信息安全属性中,含义是"保证信息不被窃听,或窃听者不能了解信息的 ...查看


  • 信息安全论文 1
  • 郑州工业应用技术学院 课程设计(论文) 题 目:公钥密码学原理及应用 指导教师: 职称: 无 学生姓名: 学号: 2 专 业: 14级通信工程 院 (系): 信息工程学院 2017年1月2 摘要 公开密钥密码体制是现代密码学最重要的发明,也 ...查看


  • 拿破仑定论.勾股定理.数论与密码
  • 一.简述拿破仑定理及其证明方法 拿破仑定理:以任意三角形的三边为边向外作等边三角形,则这三个等边三角形的中心的连线是一个等边三角形. 如图8-27所示.在△ABC的各边上向外各作等边△ABD,等边△ACF,等边△BCE. 求证:这3个等边三 ...查看


热门内容