最新
推荐
2014年高等教育信息化十大“关... 01-04 教育部成立教育信息化专家组 12-24
我国首次开展全国性教育信息化... 12-22 CERNET第二十一届学术年会 11-24
|
(2) 公开密钥算法 公开密钥算法是指使用一对密钥加解密信息,加密的密钥不同于解密的密钥,而且解密的密钥不能根据密钥在合理的时间和财力内计算出来。之所以叫公开密钥算法(以下简称公钥算法),是因为加密密钥能够公开,谁都可以使用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。 着名的公钥算法有: 1) RSA算法 RSA由美国的Rivest、Shamir和Adleman于1978年提出。该算法基于大数分解的难度,即已知合数n,求pq,使n=pq。所以随着大整数分解算法和计算能力的不断提高,对RSA的破译能力也在增强。有报道482位的RSA已被利用数域筛NFS分解出来,512位也可以在数月时间被分解,1024位的RSA目前仍是比较安全的。与DES相比,RSA拥有更高的安全。与DES相比,RSA拥有更高的安全性,但执行速度慢,因些两者经常结合起来使用,DES加密速度快,适合加密较长的报文;而 RSA 可解决 DES 密钥分配的问题。比如:若 A 要与 B 通信,首先 A产生一个与B通信的DES密钥,用B的公钥对通信密钥加密后传给B,B用其私有密钥(只有B拥有)解密,获得双方的一次性通信DES密钥。然后双方采用此DES通信进行保密通信。 2) Diffe-Hellman算法 该算法是第一个公钥算法,由美国的Diffe和Hellman于1976年提出。其安全性源于在有限域上计算离散对数比计算指数更困难,该算法主要用于密钥交换。协议如下:首先A与B协商一个大的素数n和g ,g是模n的本原元;A选取一个大的随机数x并且发送给B:X=gx mod n;B选取一个大的随机数y并且发送给A:Y=gy mod n;A计算k2=Yx mod n;B计算k2=Xy mod n,k1和k2都等于gxy mod n,偷听者即使知道n,g,X和Y,也无法计算出k,除非他们计算离散对数,因此k是A与B的秘密密钥。 3) 椭圆曲线 椭圆曲线已研究了许多年,Koblitz和Miller 于1985年分别提出将它用于公钥密码体制。椭圆曲线的吸引人之处在于提供了由元素和组合规则来组成群的构造方法,即利用椭圆曲线上的点构成 Abelian 加法群构造离散对数问题。基于有限域GF(2n)的椭圆曲线算术运算器很容易构造,并且n在130位至200位之间的实现相当简单,它提供了一个更快的具有更小密钥长度的公钥算法。 公钥密码的优点是可以适应网络的开放性要求,且密钥管理问题也较为简单,尤其可方便的实现数字签名和验证。但其算法复杂,加密数据的速率较低,尽管如此,随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密体制。 当然在实际应用中人们通常将常规密码和公钥密码结合在一起使用,比如:利用DES或者IDEA来加密信息,而采用 RSA 来传递会话密钥。如果按照每次加密所处理的比特来分类,可以将加密算法分为序列密码和分组密码。前者每次只加密一个比特而后者则先将信息序列分组,每次处理一个组。 |
版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号
关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com