介绍公钥密码体制

您所在的位置:网站首页 公钥密码体制是什么 介绍公钥密码体制

介绍公钥密码体制

2022-03-27 03:13| 来源: 网络整理| 查看: 265

转载自:http://blog.163.com/ruixue62@126/blog/static/3273712200691881715738/

 

1、对称密码体制

对称密码体制是一种传统密码体制,也称为私钥密码体制。在对称加密系统中,加密和解密采用相同的密钥。因为加解密密钥相同,需要通信的双方必须选择和保存他们共同的密钥,各方必须信任对方不会将密钥泄密出去,这样就可以实现数据的机密性和完整性。对于具有n个用户的网络,需要n(n-1)/2个密钥,在用户群不是很大的情况下,对称加密系统是有效的。但是对于大型网络,当用户群很大,分布很广时,密钥的分配和保存就成了问题。对机密信息进行加密和验证随报文一起发送报文摘要(或散列值)来实现。比较典型的算法有DES(Data Encryption Standard数据加密标准)算法及其变形TripleDES(三重DES),GDES(广义DES);欧洲的IDEA;日本的FEAL N、RC5等。DES标准由美国国家标准局提出,主要应用于银行业的电子资金转帐(EFT)领域。DES的密钥长度为56bit。Triple DES使用两个独立的56bit密钥对交换的信息进行3次加密,从而使其有效长度达到112bit。RC2和RC4方法是RSA数据安全公司的对称加密专利算法,它们采用可变密钥长度的算法。通过规定不同的密钥长度,,C2和RC4能够提高或降低安全的程度。对称密码算法的优点是计算开销小,加密速度快,是目前用于信息加密的主要算法。它的局限性在于它存在着通信的贸易双方之间确保密钥安全交换的问题。此外,某一贸易方有几个贸易关系,他就要维护几个专用密钥。它也没法鉴别贸易发起方或贸易最终方,因为贸易的双方的密钥相同。另外,由于对称加密系统仅能用于对数据进行加解密处理,提供数据的机密性,不能用于数字签名。因而人们迫切需要寻找新的密码体制。 2、非对称密码体制 非对称密码体制也叫公钥加密技术,该技术就是针对私钥密码体制的缺陷被提出来的。在公钥加密系统中,加密和解密是相对独立的,加密和解密会使用两把不同的密钥,加密密钥(公开密钥)向公众公开,谁都可以使用,解密密钥(秘密密钥)只有解密人自己知道,非法使用者根据公开的加密密钥无法推算出解密密钥,顾其可称为公钥密码体制。如果一个人选择并公布了他的公钥,另外任何人都可以用这一公钥来加密传送给那个人的消息。私钥是秘密保存的,只有私钥的所有者才能利用私钥对密文进行解密。公钥密码体制的算法中最著名的代表是RSA系统,此外还有:背包密码、McEliece密码、Diffe_Hellman、 Rabin、零知识证明、椭圆曲线、EIGamal算法等。公钥密钥的密钥管理比较简单,并且可以方便的实现数字签名和验证。但算法复杂,加密数据的速率较低。公钥加密系统不存在对称加密系统中密钥的分配和保存问题,对于具有n个用户的网络,仅需要2n个密钥。公钥加密系统除了用于数据加密外,还可用于数字签名。公钥加密系统可提供以下功能:A、机密性(Confidentiality):保证非授权人员不能非法获取信息,通过数据加密来实现;B、确认(Authentication):保证对方属于所声称的实体,通过数字签名来实现;C、数据完整性(Data integrity):保证信息内容不被篡改,入侵者不可能用假消息代替合法消息,通过数字签名来实现;D、不可抵赖性(Nonrepudiation):发送者不可能事后否认他发送过消息,消息的接受者可以向中立的第三方证实所指的发送者确实发出了消息,通过数字签名来实现。可见公钥加密系统满足信息安全的所有主要目标。 RSA公钥密码体制的优势(意义) 1 解决大规模网络应用中密钥的分发和管理问题 采用分组密码、序列密码等对称密码体制时,加解密双方所用的密钥都是秘密的,而且需要定期更换,新的密钥总是要通过某种秘密渠道分配给使用方,在传递的过程中,稍有不慎,就容易泄露。 公钥密码加密密钥通常是公开的,而解密密钥是秘密的,由用户自己保存,不需要往返交换和传递,大大减少了密钥泄露的危险性。同时,在网络通信中使用对称密码体制时,网络内任何两个用户都需要使用互不相同的密钥,只有这样,才能保证不被第三方窃听,因而N个用户就要使用N(N–1)/2个密钥。在大型网络中,如果有100万个用户,则要使用4950万个密钥,密钥量太大,难以管理,而且使用起来非常麻烦。采用公钥密码体制,N个用户只需要产生N对密钥。仍以100万个用户为例,只需100万对密钥,需要秘密保存的仅100万个私钥,二者相差近50倍,数量大大减少,而且分发简单,安全性好。由此可见,只有公钥密码才能方便、可靠地解决大规模网络应用中密钥的分发和管理问题。 2 实现网络中的数字签名机制 对称密钥技术由于其自身的局限性,无法提供网络中的数字签名。这是因为数字签名是网络中表征人或机构的真实性的重要手段,数字签名的数据需要有惟一性、私有性,而对称密钥技术中的密钥至少需要在交互双方之间共享,因此,不满足惟一性、私有性,无法用做网络中的数字签名。相比之下,公钥密码技术由于存在一对公钥和私钥,私钥可以表征惟一性和私有性,而且经私钥加密的数据只能用与之对应的公钥来验证,其他人无法仿冒,所以,可以用做网络中的数字签名服务。 具体而言,一段消息以发送方的私钥加密之后,任何拥有与该私钥相对应的公钥的人均可将它解密。由于该私钥只有发送方拥有,且该私钥是密藏不公开的,所以,以该私钥加密的信息可看做发送方对该信息的签名,其作用和现实中的手工签名一样有效而且具有不可抵赖性。 一种具体的做法是:认证服务器和用户各持有自己的证书,用户端将一个随机数用自己的私钥签名后和证书一起用服务器的公钥加密后传输到服务器;使用服务器的公钥加密保证了只有认证服务器才能进行解密,使用用户的密钥签名保证了数据是由该用户发出;服务器收到用户端数据后,首先用自己的私钥解密,取出用户的证书后,使用用户的公钥进行解密,若成功,则到用户数据库中检索该用户及其权限信息,将认证成功的信息和用户端传来的随机数用服务器的私钥签名后,使用用户的公钥进行加密,然后,传回给用户端,用户端解密后即可得到认证成功的信息。 介绍RSA公钥密码体制 RSA是Rivest,Shamir,Adleman提出基于数论的非对称密钥体制。RSA是建立在大整数分解的困难上的,是一种分组密码体制。它是以推广的欧拉定理为基础的(见下): 定理1 若(a,n)=1, 则=(mod n) ,其中φ(n) 表示不超过n与n互素的正整数个数。 定理2 若(m1,m2)=1,则φ(m1 • m2)=φ(m1) • φ(m2)。 定理3 若p为素数,则φ(p)=p-1。 RSA建立方法如下: •首先随机选两个大素数p,q , 计算n=p • q; •计算欧拉函数 φ(n)=(p-1)(q-1); •任选一个整数e为公开加密密钥,由e求出秘密解密密钥d:d • e= 1 mod φ(n)= k 'φ(n) +1 •加密/解密: 将明文分成长度小于位的明文块m, 加密过程是:c = E(m,e) = mod n 解密过程是:m = D(c,d) = mod n 在RSA体制下: D(d, E(m,e)) o = o m mod n E(e, D(d,m)) o = o m mod n e,d可以互换。在用于数字签名时,发送方只须用己方的解密密钥d先 "加密"即可, 因为只有发送方自己知道自己的d, 收方只有用对应的e "解密" 才能知道明文, 同时也验证了发方的身份。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3