加密解密算法相同,但使用不同的密钥
发送方拥有加密或解密密钥,而接收方拥有另一个密钥 安全性要求:
1、两个密钥之一必须保密 2、无解密密钥,解密不可行
3、知道算法和其中一个密钥以及若干密文不能确定另一个密钥
3.1 RSA公钥密码体制
1978年,MIT三位年青数学家R.L.Rivest,A.Shamir和L.Adleman 发现了一种用数论构造双钥的方法,称作MIT体制,后来被广泛称之为RSA体制。它既可用于加密、又可用于数字签字,易懂且易于实现,是目前仍然安全并且逐步被广泛应用的一种体制。国际上一些标准化组织ISO、ITU、及SWIFT等均已接受RSA体制作为标准。在Internet中所采用的PGP(Pretty Good Privacy)中也将RSA作为传送会话密钥和数字签字的标准算法。 3.1.1 RSA算法
方案:独立地选取两大素数p1和p2(各100~200位十进制数字),计算 n=p1×p2, 其欧拉函数值 ?(n)=(p1-1)(p2-1)。随机选一整数e, 1?e(n),(?(n), e)=1。因而在模?(n)下,e有逆元 d=e -1 mod ?(n), 取公钥为n,e。秘密钥为d。(p1, p2不再需要,可以销毁。) 加密:将明文分组,各组在mod n下可惟一地表示(以二元数字表示,选2的最大幂小于n)。各组长达200位十进数字。可用明文集 Az={x:1?x x?Az的概率: 3.1.2RSA加密体制的安全性 对大数分解的困难就保证了RSA加密体制的安全性。为了实际上的安全考虑,我们选取的大素数应该至少是155位到200位的素数,以抵御现行的分解大整数的能力。1977年,当里凡斯特等人提出RSA加密体制的时候,他们给出了一个例子。p是64位的素数,q是65位的素数,pq是130位的素数。在当时分解这样的素数简直就是一项不可能的事。但是随着计算机的运算能力的不断加强,在1996年4月。人们已经可以成功分解出一个130位的RSA数。并且在现在为止,随着连分数法、二次筛法、数域筛法的相继出现,人们掌握的整数分解办法已经可以成功地分解出155位的十进制数。所以现在RSA数的选择必须要更大一些。 3.2 离散对数公钥密码体制(ElGamal) ElGamal [1984,1985] 提出一种基于离散对数问题的双钥密码体制,既可用于加密,又可用于签字。本体制基于Zp*中有限群上的离散对数的困难性。 (1) 方案:令Zp 是一个有p个元素的有限域,p是一个素数,令g是Zp*(Zp中除去0 ?(n)n?(p1?1)(p2?1)111?1????1。p1p2p1p2p1p2元素)中的一个本原元或其生成元。明文集M为Zp*,密文集C为 Zp*×Zp*。 公钥:选定g(g (2) 加密:选择随机数k?Zp-1,且(k,p-1)=1,计算: y1=g k mod p (随机数k被加密) y2=M?k mod p(明文被随机数k和公钥?加密) M是发送明文组。密文由y1、y2级连构成,即密文C=y1||y2。 (3)解密:收到密文组C后,计算 M=y2/y1?=M? k/gk?=Mg?k/gk? mod p 3.3 椭圆曲线公钥密码体制 Eliptic Curve Cryptography ,即ECC是1985年,华盛顿大学的Neal Koblitz和当时在IBM工作的Victor Miller相互独立地提出的,这使得被数学家在代数学和代数几何学领域研究了150多年的椭圆曲线在密码领域中得以发挥重要作用。由于ECC具有的特性,利用ECC不但可以实现高度安全性,且在同等安全强度下,可以用较小的开销(所需的计算量、存储量、带宽、软件和硬件实现的规模等)和时延(加密和签字速度高)实现较高的安全性。ECC已经成为公钥密码的主流,成为设计大多数计算能力和集成电路空间受限(如Smart卡)、带宽受限又要求高速实现的安全产品的首选。椭圆曲线上离散对数问题ECDLP定义如下:给定素数p和椭圆曲线E,对Q=kP,在已知P,Q 的情况下求出小于p的正整数k.可以证明由k和P计算Q比较容易,而由Q和P计算k则比较困难。将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,将椭圆曲线中的乘法运算与离散对数中的模幂运算相对应,我们就可以建立基于椭圆曲线的对应的密码体制。 结束语: 公钥密码学经过三十多年的发展与完善,已经取得长足的进步。很多成果已经应用于社会各行各业。但是公钥面貌痛仰面临着安全方面的各种挑战,努力去改进现有的密码体制和研究新的密码体制是十分必要和紧迫的。我们相信,随着社会的不断发展,公钥密码学将会迎来更大的挑战与发展。 参考文献: [1]卢开澄《计算机密码学》[M] 北京:清华大学出版社 2003 [2]谢希仁《计算机网络》[M] 北京:电子工业出版社 2008 [3]曾福庚.公钥密码学的研究与发展.《科技信息》.2010 [4] Wade trappe/ Lawrence C.washington《密码学概论(中文版)》 北京:人民邮电出版社2004
相关推荐: