首页 >web前端 >前端问答 >什么是公钥

什么是公钥

云罗郡主
云罗郡主原创
2019-01-15 11:10:5313858浏览

什么是公钥

公钥是密钥对中公开的部分,公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。

密钥是密钥的所有者应该隐藏在公钥密码基础设施上的密钥。在公钥密码系统中,公钥和密钥是成对的,我们假设在将公钥发布给第三方时,私钥应保密。

在公钥密码术出现之前,通常使用公共密钥密码技术,这是因为加密密钥和解密密钥是相同的,通过与通信伙伴共享,加密通信完成。但是,如果在交换密钥的过程中被窃听,则公共密钥加密没有加密的意义。

使用公钥加密,密钥的所有者首先将公钥传递给通信伙伴。通信伙伴使用该公钥加密,并将加密的文档(数据)发送给密钥的所有者,接收加密文档的密钥的所有者用私钥解密文档,解密文档所需的密钥不在通信路径上交换,从而更容易确保安全性。

最广泛使用的公钥加密是RSA加密,在RSA中,公钥和密钥具有相同的结构,并且用一个密钥加密的密钥可以用另一个密钥解密,换句话说,它不仅可以用于使用公钥加密,用密钥解密,还可以用密钥加密并用公钥解密。

数字签名使用了这一特征,除非是拥有与公钥配对的密钥的人,否则无法创建可以使用特定公钥解密的加密文档,以便可以保证密钥的所有者。

但是,应该注意RSA的私钥和公钥永远不是对称关系。可以从私钥创建公钥,但是从公钥创建密钥被认为是非常困难和不可能的,RSA的安全性基于以下事实:很难将大量因素分解,因此有必要延长密钥长度以提高安全性。由于预期将来会发现新的解码算法并提高计算速度,因此密钥长度和算法也会发生变化。


以上是什么是公钥的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn