公钥加密与私钥加密的区别是什么

作者: | 2022-12-19 14:55:28 | 5004人阅读 |

公钥加密与私钥加密的区别是什么?说道公钥和私钥,第一时间想到的自然是数字货币钱包了,不少投资者分不清公钥加密和密钥加密有什么区别,那么接下来就和fx小编一起来了解一下吧,希望对小伙伴们能够有所帮助。

公钥加密与私钥加密的区别是什么(公钥加密和密钥加密有什么区别)

公钥加密和密钥加密有什么区别?

什么是私钥加密?

纵观历史,有无数的私钥加密学例子,可以追溯到公元前1900年左右。在私钥加密学中,双方必须持有一个匹配的私钥(或者在传输时交换私钥),它们可以使用该私钥来加密明文,然后对其进行解密。著名的例子是凯撒的密码,神秘机器和路易十四的大密码。

但是,私钥加密存在一个固有的重大缺陷。今天,我们把它称为密钥分发,对99.9%的人来说,这是一种事后考虑。但从历史上看,密钥分配是一个很大的问题。

想想看,双方都必须拥有一个物理密钥。如果双方之间有任何距离,你必须委托一名快递员携带私钥或亲自前往那里交易。如果钥匙落入坏人之手,可能会破产。过去,人们因为这类私钥问题跌了很多跟头。

即使在数字时代,私钥加密本身也在与密钥分配进行斗争。您怎么知道您在没有身份验证机制的情况下能将私钥(在SSL/TLS中称为会话密钥)发送给正确的接收方?

公钥加密技术的发明

公开密钥加密的发明实际上有两次重大进展。1970年,一位名叫JamesEllis的加密学家在英国政府通信总部(GCHQ)工作,他从理论上提出了一种公开密钥加密系统,但当时不知道如何实现它。三年后的1973年,CliffordCocks想出了一种实用的实现方法,方法是将一种和RSA(是1977年Ron Rivest、Adi Shamir和Leonard Adleman一起提出的。

1987年7月首次在美国公布,当时他们三人都在麻省理工学院工作实习。RSA就是他们三人姓氏开头字母拼在一起组成的。目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。)大致相当的算法混合在一起。第三个人,数学家Malcolm Williamson开发了一个等价于Diffie Helman密钥交换的密钥交换系统。

这些信息也被传递给了美国国家安全局,但这两个组织都不理解它的重要性,而且由于当时计算机的性质,这种技术被认为是不切实际的,更像是一个有趣的思想实验。它在1997年解密了27年。

据我们所知,它从未被任何一方使用过。因此,1976年,公开密钥密码再次被发现,这一次是由Whitfield Diffie和Martin Hellman共同命名的。

一年后,RSA创作者--Ron Rivest、Adi Shamir和Leonard Adleman正在麻省理工学院完成他们的这项工作。

什么是公钥密码?

Diffie-Helman密钥交换和RSA是非对称加密体制。到目前为止,加密一直是对称的,双方都能够使用相同的私钥进行加密和解密。正如我们已经讨论过的,这给人们带来了各种各样的问题。

从术语“密钥交换”中可以看出,这些系统的创建者已经在考虑纠正一个由来已久的问题:密钥分配。

公钥加密使用一对密钥。分别是可以加密的公钥和解密的私钥。使用公钥加密,通信只能走一条路,因此被称为“不对称”。这个想法是,授权方持有私钥,而公钥是公共密钥。

公钥加密中的私钥仍然和以往一样有价值,因此必须额外考虑如何确保私钥的安全。但在坏人手里,公钥绝对是一文不值的。不存在公钥被盗的风险。那么公钥加密是如何解决私钥问题的呢?

通过启用更安全的对称加密。

公钥加密是一种密钥交换机制

显然,公钥加密的单向特性使得它成为通信的一个特殊的选择。但这并不是真正的目的。它既是一种认证机制,也是一种加密机制。这是为了加密信息并确保它到达正确的地点。最好的加密方法之一就是私钥。

这就是您在SSL/TLS中看到的。在短暂的片刻,客户端生成对称会话(私有)密钥,对其进行加密,并将其发送到服务器。如果服务器拥有私钥,它会解密会话密钥,客户端和服务器可以开始使用对称密钥进行通信。

这也有助于对服务器进行身份验证,因为如果没有正确的私钥,服务器就无法解密客户端的消息。

公钥密码学是一个辉煌的突破,为我们今天使用的SSL/TLS协议奠定了基础。到目前为止,即使是最先进的加密系统也只能与其私钥一样安全。公钥加密也是如此。但公钥加密作为一种密钥交换机制,消除了大量的攻击向量。

由于它的单向特性,用于公钥加密的私钥可以更加健壮。强对称私钥是256位。这仍然是足够的安全措施。但与2048位RSA私钥相比却相形见绌。这使得它成为一种更好的密钥分发机制。

公钥加密在SSL中是如何工作的?

在SSL中,公钥加密有助于身份验证和密钥交换。为了解释这一点,我将使用TLS1.3模型,因为这是我们前进的方向。在早期的TLS版本中,这有点复杂。

让我们从密码和密码套件开始。密码是用于加密的算法。密码套件是SSL/TLS协议联合使用的一组算法。每个服务器和每个浏览器都被配置为支持某些密码套件。

传统上,密码套件由:密钥交换/认证算法_WITH_S组成。

TLS 1.3将加密和身份验证算法与关联数据(Aead)算法结合在一起。当用户(客户端)到达网站(服务器)时,它会发送一条ClientHello消息,其中包含按首选项排序的受支持密码套件列表。它还猜测将使用何种加密算法并发送会话密钥。所有这些都是使用服务器的公钥加密的。

服务器使用自己的私钥解密ClientHello消息,然后返回服务器Hello消息及其证书、所选的密码套件以及密钥。在收到服务器-Hello之后,客户端和服务器开始使用他们交换的对称加密密钥进行通信。

现在会话密钥的快速消息经常被替换。在某些情况下,为每条消息使用不同的会话密钥并不少见。但是,如果没有安全处理密钥分发的能力,这是不可能实现的。这也是公钥密码学的历史意义。

以上所述的就是关于公钥加密与私钥加密的区别是什么的全部快讯内容了,区块链中的任何投资都是有风险的,广大投资者们需要合理性的进行投资,如果还想了解更多关于区块链的相关资讯内容尽在fxdiv外汇汇率查询网,这里会持续更新有关区块链的相关资讯。

相关阅读
汇率 | 美金汇率 | 人民币汇率 | 欧元汇率 | 澳元汇率 | 加币汇率 | 卢布汇率人民币 | 越南盾汇率对人民币 | 外汇牌价 | 美元指数 | 汇率换算器
版权所有 © 2013 外汇汇率查询网 www.fxdiv.com 蜀ICP备2022011134号-2