RSA数字签名在电子商务中的应用_基于rsa的数字签名

2020-02-27 其他范文 下载本文

RSA数字签名在电子商务中的应用由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“基于rsa的数字签名”。

RSA数字签名算法探析

摘 要

随着电子商务飞速发展、普及和应用,安全问题已经成为电子商务发展的瓶颈。本文从电子商务交易过程对电子商务安全性的需求出发,介绍了数字签名的原理,着重介绍了RSA加密算法的工作原理及其在电子商务中的应用。

关 键 词

RSA;加密算法;电子商务

Abstract Along with the electronic commerce rapid development, the popularization and the application, the security problem already became the electronic commerce development the bottleneck.This article embarked from the electronic commerce transaction proce to the electronic commerce secure demand, introduced the digital signature principle, emphatically introduced the RSA encryption algorithm principle of work and its in the electronic commerce application.Keywords RSA;Encryption algorithm;electronic busine

一、引言

随着经济的迅猛发展和网络技术的大范围的普及和应用,一种新兴的商务运作模式——电子商务,已经日趋成熟和完善。越来越多的人把上网作为自己获取信息的首要途径。目前在网上进行贸易的企业和个人日益增多,除了网上购物,还有网上商品销售、网上拍卖、网上货币支付等,人们的消费和生活习惯已经在慢慢改变,但与此同时,交易的风险性和不确定性也大大增加,安全问题已经成为电子商务发展的瓶预。

电子商务是建立在一个较为开放的网络环境上的,由于数据输入时的意外差错或欺诈行为,或数据传输过程中信息丢失、重复或传送次序差异等原因,贸易各方的信息有可能不同。这会导致纠纷的产生,甚至使交易无法进行。因此,要预防对信息的随意生成、修改和删除,同时要防止信息在传输过程中被非法窃取。鉴于此,电子商务活动中的信息及其传播的技术,不仅涉及到信息的制造和传输技术,同时还涉及到数据加密、身份认证和电子签名等技术。目前增强电子商务的安全方法很多,从网络系统到具体应用系统提出了多种方案、规范及加密体系,我们主要来探讨一下RSA加密算法。

二、数字签名的原理

数字签名的过程指报文发送方将报文文本带入哈希函数生成一个128位的数列值,即消息摘要,消息摘要代表文件的特征,其值随着文件的变化而变化,也就是说,不同的文件得到不同的消息摘要。哈希函数对于发送数据的双方都是公开的。发送方用自己的专用密钥对这个散列值进行加密,形成发送方的数字签名。然后,这个数字签名将作业报文的附件和报文一起发送给报文的接收方。报文的接收方首先从收到的原始报文中计算出128位的散列值(消息摘要),接着再用发送方的公开密钥来对报文附加的数字签名进行解密。如果两个散列值相同,那么接收方就能够确认数字签名是发送方的。通过数字签名能够实现对原始报文的鉴别和不可否认性。

从数字签名的过程可以看出,数字签名应当满足下列要求:接收方能够确认或证实发送方的签名,但不能伪造。发送方发出签名的消息给接收方后,就不能再否认所签发的消息。接收方对收到的签名消息不可否认,即有收报认证。

为了实现数字签名的目的,发送方需要向接收方提供足够的非保密信息,以便使其能够验证消息的签名,但又不能泄露用于产生签名的机密信息,以防他人伪造签名,因此,可用RSA签名机制来实现数字签名。

三、RSA加密算法的实现

RSA算法于1977年由美国麻省理工学院MIT(Maachusetts Institute of Technology)的Ronal Rivest,Adi Shamir和Len Adleman三位年轻教授提出,并以三人的姓氏Rivest,Shamir和Adlernan命名为RSA算法。该算法利用了数论领域的一个事实,那就是虽然把两个大质数相乘生成一个合数是件十分容易的事情,但要把一个合数分解为两个质数却十分困难。合数分解问题目前仍然是数学领域尚未解决的一大难题,至今没有任何高效的分解方法。与Diffie-Hellman算法相比,RSA算法具有明显的优越性,因为它无须收发双方同时参与加密过程,且非常适合于电子函件系统的加密。

RSA公共密钥加密算法的核心是欧拉(Euler)函数ψ。对于正整数n,ψ(n)定义为小于n且与n互质的正整数的个数。例如ψ(6)= 2,这是因为小于6且与6互质的数有1和5共两个数;再如ψ(7)= 6,这是因为互质数有1,2,3,5,6共6个。

欧拉在公元前300多年就发现了ψ函数的一个十分有趣的性质,那就是对于任意小于n且与n互质的正整数m,总有m

ψ(n)

mod n = 1。例如,5ψ(6)

mod 6 = 5 mod 6= 25 mod 6 =1。也就是说,在对n求余的运算下,ψ(n)指数具有周期性。

当n很小时,计算ψ(n)并不难,使用穷举法即可求出;但当n很大时,计算ψ(n)就十分困难了,其运算量与判断n是否为质数的情况相当。不过在特殊情况下,利用ψ函数的两个性质,可以极大地减少运算量。

性质1:如果p是质数,则ψ(p)=(p-1)。

性质2:如果p与q均为质数,则ψ(p·q)= ψ(p)·ψ(q)=(p-1)(q-1)。

RSA算法正是注意到这两条性质来设计公共密钥加密系统的,p与q的乘积n可以作为公共密钥公布出来,而n的因子p和q则包含在专用密钥中,可以用来解密。如果解密需要用到ψ(n),收信方由于知道因子p和q,可以方便地算出ψ(n)=(p-1)(q-1)。如果窃听者窃得了n,但由于不知道它的因子p与q,则很难求出ψ(n)。这时,窃听者要么强行算出ψ(n),要么对n进行因数分解求得p与q。然而,我们知道,在大数范围内作合数分解是十分困难的,因此窃密者很难成功。

2四、RSA加密算法的工作原理

有了关于ψ函数的认识,我们再来分析RSA算法的工作原理:

1、密钥配制。设m是要加密的信息,任选两个大质数p与q,选择正整数e,使得e与ψ(n)=(p-1)(q-1)互质。

利用辗转相除法,计算d,使得ed mod ψ(n)=1,即ed = kψ(n)+1,其中k为某一正整数。

公共密钥为(e,n),其中没有包含任何有关n的因子p和q的信息。专用密钥为(d,n),其中d隐含有因子p和q的信息。

2、加密过程。将明文m(其值的范围在0到n-1之间)按模为n自乘e次

e幂以完成加密操作,c=m(mod n),得密文c。

3、解密过程。使用(d,n)对密文c进行解密,将密文c按模为n自乘d次幂,完成解密操作m=c(mod n)计算过程为:

c mod n =(m mod n)mod n = m mod n = m(kψ(n)+ 1)kψ(n)edd

e

d

d

mod n =(m mod n)·(m mod n)

= m m即为从密文c中恢复出来的明文。

例如,假设我们需要加密的明文代码信息为m = 14,则: 选择e = 3,p = 5,q = 11; 计算出n = p·q = 55,(p-1)(q-1)= 40,d = 27; 可以验证:(e·d)mod(p-1)(q-1)= 81 mod 40 = 1; 加密:c = m mod n = 14 mod 55 = 49; 解密:m = c mod n = 49 mod 55 = 14。

关于RSA算法,还有几点需要进一步说明:

1、之所以要求e与(p-1)(q-1)互质,是为了保证 ed mod(p-1)(q-1)有解。

2、实际操作时,通常先选定e,再找出并确定质数p和q,使得计算出d后它们能满足公式(12-3)。常用的e有3和65537,这两个数都是费马序列中的数。费马序列是以17世纪法国数学家费马命名的序列。

3、破密者主要通过将n分解成p·q的办法来解密,不过目前还没有办法证明这是唯一的办法,也可能有更有效的方法,因为因数分解问题毕竟是一个不断发展的领域,自从RSA算法发明以来,人们已经发现了不少有效的因数分解方法,在一定程度上降低了破译RSA算法的难度,但至今还没有出现动摇RSA算法根基的方法。

4、在RSA算法中,n的长度是控制该算法可靠性的重要因素。目前129位、甚至155位的RSA加密勉强可解,但目前大多数加密程序均采用231、308甚至616位的RSA算法,因此RSA加密还是相当安全的。d

27e

3五、结束语

据专家测算,攻破512位密钥RSA算法大约需要8个月时间;而一个768位密钥RSA算法在1年之内无法攻破。现在,在技术上还无法预测攻破具有2048位密钥的RSA加密算法需要多少时间。美国Lotus公司悬赏1亿美元,奖励能破译其Domino产品中1024位密钥的RSA算法的人。从这个意义上说,遵照SET协议开发的电子商务系统是绝对安全的。

利用前面讲解的加密方法,尤其是基于双钥技术的现代加密方法,我们针对网络安全可以实现多种具体的手段及方法,如数字签名、数字时间戳、数字凭证及认证中心等,而且这些方法和手段常常结合在一起使用,长短互补,从而构成了网上安全防范的实用体系。

参考文献

[1]王茜,杨德礼.电子商务的安全体系结构及技术研究[J],计算机工程,2004年

[2]朱文余.计算机密码应用基础,科学出版社,2005年

[3]陈风,张利萍.RAS算法及其在电子商务中的应用[ J] .铁路训算机应用,2005 [4]倪春胜.数字签名技术在电子商务中的应用[J] .计算机工程与应用,2006

《RSA数字签名在电子商务中的应用.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
RSA数字签名在电子商务中的应用
点击下载文档
相关专题 基于rsa的数字签名 电子商务 数字签名 RSA 基于rsa的数字签名 电子商务 数字签名 RSA
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文