数据加密技术与安全电子交易浅析
一、引言
随着当今计算机网络的飞速发展,计算机安全已经成为社会各界关注的焦点。本文讨论了数据加密的两种分类,并选取两种典型的方法加以讲述。然后在此基础上讨论电子商务的一些安全技术和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<n。计算b==a^m mod(pq),则b就是编码后的资料。至于解码,取c==b^r mod(pq)。则c=a 。黑客攻击时他想得到r,这样他就必须对n进行因式分解,选择足够大的质数p,q便能阻止他分解因式。
对于p,q的选择,一般来说是足够大的素数, 对于大,并没有一个确定的界限,因为随着计算机技术的发展,破解能力正在逐步增强(根据摩尔定理计算能力18个月就翻一番)。一般来说,安全等级高的,则密钥选取大的,安全等级低些,则选取相对小些的数。RSA的安全性依赖于大数分解,然而值得注意的是,是否等同于大数分解一直未得到理论上的证明,并没有证明要破解RSA就一定得进行大数分解。
2
《数据加密技术与安全电子交易浅析》