公钥和私钥的区别

来源:互联网 发布:网络女神小茉莉 编辑:程序博客网 时间:2024/06/06 02:06
公钥、私钥体制的核心思想
加密和解密采用不同的密钥。这是公钥密码体制和传统的对称密码体制最大的区别。对于传统对称密码而言,密文的安全性完全依赖于密钥的保密性,一旦密钥泄漏,将毫无保密性可言。但是公钥密码体制彻底改变了这一状况。在公钥密码体制中,公钥是公开的,只有私钥是需要保密的。知道公钥和密码算法要推测出私钥在计算上是不可行的。这样,只要私钥是安全的,那么加密就是可信的。

显然,对称密码和公钥密码都需要保证密钥的安全,不同之处在于密钥的管理和分发上面。在对称密码中,必须要有一种可靠的手段将加密密钥(同时也是解密密 钥)告诉给解密方;采用可靠的通道进行密码分发。这使得密钥管理和密钥分发的难度大大降低了。而在公钥密码体制中,这是不需要的。解密方只需要保证自己的私钥的保密性即可,对于公钥,无论是对加密方而言还是对密码分析者而言都是 公开的,故无需考虑

加密和解密:发送方利用接收方的公钥对要发送的明文进行加密,接受方利用自己的私钥进行解密,其中公钥和私钥匙相对的,任何一个作为公钥,则另一个就为私钥。但是因为非对称加密技术的速度比较慢,所以,一般采用对称 加密技术加密明文,然后用非对称加密技术加密对称密钥,即数字信封技术。签名和验证:发送方用特殊的hash算法,由明文中产生固定长度的摘要,然后利用自己的私钥对形成的摘要进行加密,这个过程就叫签名。接受方利用 发送方的公钥解密被加密的摘要得到结果A,然后对明文也进行hash操作产生摘要B.最后,把A和B作比较。此方式既可以保证发送方的身份不可抵赖,又可以保证数据在传输过程中不会被篡改。


加密和认证

  首先我们需要区分加密和认证这两个基本概念。

  加密是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容, 所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。身份认证是用来判断某个身份的真实性,确认身份后,系统才可以依不同的身份给予不同的 权限。其重点在于用户的真实性。两者的侧重点是不同的。

公钥和私钥

  其次我们还要了解公钥和私钥的概念和作用。

  在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。

公钥私钥的原则:

1、一个公钥对应一个私钥,即密钥对中公钥和私钥密钥是相对的。
2、密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
3、如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
4、如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。
  非对称密钥密码的主要应用就是公钥加密和公钥认证,而公钥加密的过程和公钥认证的过程是不一样的,下面我就详细讲解一下两者的区别。 


基于公开密钥的加密过程

例如有两个用户Alice和Bob,Alice想把一段明文通过双钥加密的技术发送给Bob,Bob有一对公钥和私钥,那么加密解密的过程如下:
Bob将他的公开密钥传送给Alice。
Alice用Bob的公开密钥加密她的消息,然后传送给Bob。
Bob用他的私人密钥解密Alice的消息。
上面的过程可以用下图表示,Alice使用Bob的公钥进行加密,Bob用自己的私钥进行解密。


基于公开密钥的认证过程

身份认证和加密就不同了,主要用户鉴别用户的真伪。这里我们只要能够鉴别一个用户的私钥是正确的,就可以鉴别这个用户的真伪。

还是Alice和Bob这两个用户,Alice想让Bob知道自己是真实的Alice,而不是假冒的,因此Alice只要使用公钥密码学对文件签名发送给Bob,Bob使用Alice的公钥对文件进行解密,如果可以解密成功,则证明Alice的私钥是正确的,因而就完成了对Alice的身份鉴别。整个身份认证的过程如下:

Alice用她的私人密钥对文件加密,从而对文件签名。
Alice将签名的文件传送给Bob。
Bob用Alice的公钥解密文件,从而验证签名。
上面的过程可以用下图表示,Alice使用自己的私钥加密,Bob用Alice的公钥进行解密。
0 0