什么是公钥和私钥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是公钥和私钥?相关的知识,希望对你有一定的参考价值。

公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),将其中的一个向外界公开,称为公钥;另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。 参考技术A 现在很多对称性加密算法,都是产生一个密钥对,就是你所问的公私钥~
一般来说公钥是用来加密的~私钥是用来解密的~
私钥是公开的,就是用在客户端~而公钥则是保密的~
举个例子吧~
由用户名A,和公钥3,可以得到一个序号5
那么通过私钥2,可以把序号5解密成A,
这样就容易验证序号的合法性,又不会失密~
3和2的确定是用一些特殊的函数做到的,他们之间有一定的关系,有3可以很容易的推出2来,但有2却很难推出3来~

大体就是这个意思了~
参考技术B 公钥加密,私钥解密;私钥签名,公钥验签

AES加密,啥是公钥和私钥?

【中文标题】AES加密,啥是公钥和私钥?【英文标题】:AES encryption, what are public and private keys?AES加密,什么是公钥和私钥? 【发布时间】:2010-09-21 08:45:27 【问题描述】:

在AES加密(.net框架)中,如何使用公钥和私钥?

是不是把公钥和私钥组合成一个全密钥,然后算法用公钥+私钥对数据进行加密?

(下面使用的简化键用于示例目的)

例如 公钥 = 12345 私钥 = 67890

所以生成加密结果时使用的密钥是:1234567890

【问题讨论】:

【参考方案1】:

正如其他人所说,AES 是一种对称算法 (private-key cryptography)。这涉及到一个单个密钥,它是发送者和接收者之间的共享秘密。一个类比是一个锁定的邮箱没有一个邮箱。任何想留下或阅读信息的人都需要有邮箱的钥匙。

如果您真的想了解 AES 的血腥细节,有一个superb cartoon 可以指导您。

Public-key cryptography 涉及每个相关收件人的两个 相关密钥 - 一个只有收件人知道的秘密的私钥和一个所有发件人都知道的相关公钥。

发件人使用收件人的公钥加密邮件。该消息只能由具有与公钥匹配的私钥的收件人解密。

公钥加密的一个类比是一个锁定的邮箱带有一个邮箱。邮筒是公开的,可供公众使用。它的位置(街道地址)是公钥。任何知道街道地址的人都可以走到门口并通过插槽发送书面信息。但只有拥有私钥的人才能打开邮箱阅读邮件。

【讨论】:

哥们,这漫画太棒了。这很有趣,也很有教育意义。让我开心。【参考方案2】:

AES 是一种对称算法,因此它没有公钥和私钥 - 只有一个共享密钥。

【讨论】:

【参考方案3】:

最简单的形式:

AES 是一种对称算法,它使用相同的密钥进行加密和解密。所以任何拥有密钥的人都可以阅读您的消息。

私钥和公钥用于RSA等非对称算法,通常人们使用公钥加密和私钥解密(只有HMAC或MAC会使用私钥加密,公钥解密)。公钥是所有人都知道,私钥只有自己知道,所以没有人能看到发给你的消息。

【讨论】:

【参考方案4】:

我不知道 .net 框架具体是如何工作的(这个问题可能应该被标记为 .net),但根据你的问题,它听起来像是实现了公钥/私钥加密,只是使用 AES 作为其对称组件。

通常的公钥加密方式是

生成对称密钥 使用此密钥加密数据,使用 AES 等对称算法。 使用公钥加密对称密钥,使用 RSA 等非对称算法。 将加密的 sym 密钥与加密数据捆绑在一起

数据本身首选对称算法的原因是非对称算法非常慢。

鉴于他们无法测试安全性(他们真正拥有的只是没有休息,对于一些候选人来说),选择 Rijndael 进行 AES 的原因(主要)与性能有关。

【讨论】:

-你能给我一个链接,只是为了在实践中参考这个过程吗?谢谢【参考方案5】:

公钥与私钥相关联。公钥(RSA)被分发给'wild'和任何想要发送加密文件的人(一般来说这里),他们将请求公钥并对其进行编码。任何有权访问该文件的人都无法读取密文,即使他们拥有公钥。

解码文件需要私钥。只要私钥保持私密,任何人都不会猜测或破解密钥。不可能,也不是不可能。

真正的问题是保持私钥的私密性。大多数破解都是用social hacking完成的。勒索、记录器和中间人公钥转换是比暴力破解密码或密钥更有可能的其他方式。

在你对 Brawndo 的评论中你问过

公开的意义何在 和私钥然后如果两者都可以 解密别人?为什么两者都没有 同一把钥匙?

您所描述的是对称密钥算法,AES 就是其中之一。使用公钥-私钥的原因是,使用对称密钥算法,您如何通过不安全的网络、邮件、电话或其他任何不被拦截的密钥传递对称密钥。也许加密密钥,但是你如何传递那个密钥?使用公钥-私钥组合,这变得不那么重要了。

“在大多数情况下,有一个更大的 太阳燃烧殆尽的概率 在世界上所有计算机之前 可以考虑所有信息 需要暴力破解 256 位密钥” 乔恩汉森说,副总裁 AccessData Corp 的市场营销 犹他州林登市的公司 为 DNA 提供动力的软件。

【讨论】:

以上是关于什么是公钥和私钥?的主要内容,如果未能解决你的问题,请参考以下文章

RSA怎样设置公钥和私钥?

什么是RSA算法,有公钥和私钥对?他的处理过程是这样的?

AES加密,啥是公钥和私钥?

GIT生成公钥和私钥

公钥和私钥怎么接独立站

请问SSL加密的公钥和私钥区别