用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧计算机应用

数据加密技术与安全电子交易浅析

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 11:51:29
【本文由PB创新网为您整理】 
摘要本文概要介绍了数据加密的一些经典的方法,并且以此为基础讨论电子商务安全技术和SET协议。
关键词密钥,数据加密技术,DESRSA,电子商务,SET

、引言

随着当今计算机网络的飞速发展,计算机安全已经成为社会各界关注的焦点。本文讨论了数据加密的两种分类,并选取两种典型的方法加以讲述。然后在此基础上讨论电子商务的一些安全技术和SET协议。

二、数据加密

设计一种密度强的密码算法有两种方法,一是研究用于密码分析的所有可能性解法,然后设计一套规则以挫败这些解法中的任何一种算法,于是便能构造一种能够抗拒这些解法的算法,二是构造这样的一些算法,使得要破解它就必须解一些问题,而这些问题被认为是不可解的。本文将要介绍的DES算法属于第一种,而RSA则属于第二种。

加密技术按照密钥的公开与否可以分为两种体系,第一是对称密钥体系,这里加密密钥匙和解密密钥是相同的。为了安全性,密钥要定期的改变。对称算法速度快,所以在处理大量数据的时候被广泛使用,其关键是保证密钥的安全。典型的算法有DES及其各种变形(如Triple DES),IDEA,RC4、RC5以及古典密码(如代换密码和转轮密码)等。在众多的对称密码中影响最大的是DES密码。第二是公开密钥体系,分别存在一个公钥和私钥,公钥公开,私钥保密。公钥和私钥具有一一对应的关系,用公钥加密的数据只有用私钥才能解开,其效率低于对称密钥体系,典型的算法有RSA、背包密码,Elliptic Curve、ElGamal算法等等。最有影响的公钥加密算法是RSA,足够位数的RSA能够抵抗到目前为止已知的所有密码攻击。下面选取两体系中各最具有代表性最有影响的算法DES和RSA进行讨论。

1.RSA算法

RSA算取自于它的创始人的名字:Rivest,Shamir,Adelman,该算法于1978年最早提出,至今仍没有发现严重的安全漏洞。RSA基于数学难题,即具有大素数因子的合数分解,以最新的计算方法也还是计算上不可行的。数论经验表明,这个问题是难解的。

RSA使用两个密钥,一个是公钥(public key,以下用PK表示),一个是私钥(private key,以下用SK表示) 加密时把明文分成块,块的大小可变,但不超过密钥的长度。RSA把明文块转化为与密钥长度相同的密文。其算法如下:

首先选择两个秘密的相异质数p,q,计算n=pq,取r是与(p-1)(q-1)互质的数,这里r便是SK。接着找一数m,使得rm==1mod(p-1)(q-1),根据欧几里得算法(a=bn+c,则a与b的gcd就等于b与c的gcd),这样的m一定可以找到。这里m和n便是公钥PK。在编码时,假设资料为A,将其分成等长数据N块, 每块为a

对于p,q的选择,一般来说是足够大的素数, 对于大,并没有一个确定的界限,因为随着计算机技术的发展,破解能力正在逐步增强(根据摩尔定理计算能力18个月就翻一番)。一般来说,安全等级高的,则密钥选取大的,安全等级低些,则选取相对小些的数。RSA的安全性依赖于大数分解,然而值得注意的是,是否等同于大数分解一直未得到理论上的证明,并没有证明要破解RSA就一定得进行大数分解。

2.DES

DES采用传统的换位和置换的方法进行加密,在56比特密钥的控制下,将64比特明文块变换为64比特密文块,加密过程包括16轮的加密迭代,每轮都采用一种乘积密码方式(代替和移位)。首先是处理原密钥,产生16个48位子密钥K(i),i=1,2…16,接着处理64位数据块,过程可以用下图表示:

其中置换和g 函数的选择都按特定的规则进行,g函数操作是先将R(I)扩充成48位后与K(I+1)异或运算,接着将所得的48位数分成8个6位数,记为B[I],I=1,2…8,选取8个S密箱,将B[I]的第一位和第六位串联成一个数记位m,取出B[I]的第二至五位串联成一个四位数记位n,用S密箱中的第n行第m列的数替换B[I],替换完全部的B[I]后,将B[1]至B[8]串联成一个32位数,再经过换位,至此g函数操作全部结束。将所得结果与L[I]异或后,得到R[I+1]。进行下一轮的加密,直到用完K(16),再经过逆初始置换,全部加密过程结束。而脱密时只需要将密钥顺序倒过来,即第一轮用K(16),第二轮用K(15),以次类推。

于是DES加密算法又可以简单地用下式表示:

Ek(m) = N(IP)*T16*T15……T1*IP(m)

  其中IP为初始置换,N( X)X的逆,Tii = 12…16是一系列的变换。Ek(m)表示明文m在密钥k的作用下产生的密文

解密算法: N(Ek) = N(IP)*T1*T2……T16*IP[Ek(m)]

 

在应用时一般是将DES和RSA综合起来使用。DES加密效率高,但是要解决密钥的存储问题,因为只要传输就难以保证密钥不被泄露。这时可以采用如下策略:假如A要向B发送密文(DES)和密钥SK,可以用B公布的公开密钥对Sk进行RSA加密,将其结果和密文一起发送给B,B接受数据首先用自己的私钥对SK进行解密,得到A的密钥SK。再用SK解密密文。这样就解决了密钥的传输问题。因为没有人知道B的私钥,也就没有办法获得SK。

 

、安全电子交易

电子商务的关键是要保证商业活动的安全性,象传统方法一样安全可靠。而数据加密技术则构成了电子商务安全的基础,可以说,没有数据加密技术,就没有电子商务的安全。电子商务主要有下面一些安全控制要求:第一,确定贸易伙伴身份的真实性;第二,确保信息的保密性,如怎样保证用户的信用卡号不被窃取,如何保证货源定单等信息不被竞争对手获悉;第三,保证电子定单等信息的真实性(未被冒充)以及在传输过程中未被篡改;第四,保证电子定单等信息的不可否认性,即交易的任何一方在未经对方同意的情况下都不能出尔反尔;第五,在交易双方发生纠纷时能得到合理的仲裁和解决。

VISAMASTCARD所开发SETSecure Electronic Transaction)协议便能满足以上的要求,它是在开放的网络环境中卡支付安全协议,获得了诸如microsoftIBM等许多大公司的支持。

1SET协议中交易的参与方

SET支付系统的参与放主要方有:

  1. 持卡人,即消费者,他们通过web浏览器或客户端软件购物;
  2. 商家,提供在线商店或商品光盘给消费者;
  3. 发卡人,它是一金融机构,为持卡人开帐户,并且发放支付卡;
  4. 受款银行,它为商家建立帐户,并且处理支付卡的认证和支付事宜
  5. 支付网关,是由受款银行或指定的第三方操纵的设备,它处理商家的支付信息,同时也包括来自消费者的支付指令

 

SET支付系统还涉及到认证机构(CA),但是它不参与SET的支付流程,它给各参与方颁发证书,各参与方可以通过查看对方的证书,来确定对方是否准确而不是冒充的。要建立安全的电子商务系统,首先必须有一个健全可信的CA

 

 

2SET所采用的安全措施

SET采用的安全措施,几乎全部以数据加密技术为基础,可以说没有加密技术,就没有安全电子交易。SET协议把对称密钥体制和公开密钥体制完美的结合了起来,充分利用了DES效率高速度快,RSA安全性高,密钥管理简便的优点。下面以数据加密技术为基础,讨论SET所采用的安全措施。

[1] [2] [3]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:2,375.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号