用公钥加密是什么意思?

时间:2015-04-27 18:51:24

标签: security cryptography public-key-encryption

我听过很多公钥理论,但我从来没有真正理解你如何加密可以使用你没有的私钥解密的东西。

如何使用公钥加密邮件,以便只有具有与该密钥关联的相应私钥的人才能解密?

3 个答案:

答案 0 :(得分:2)

加密密钥来自公共/私人对。私人由业主密切关注,但公众可以传递给需要加密某些东西的人,以便将其发送给所有者。

通过公钥加密的东西只能用私钥解密,因为它包含加密/解密例程使用的更多细节。

虽然这可能无法提供您可能正在寻找的技术细节,但希望它有助于阐明密钥之间的关系。

答案 1 :(得分:1)

Youtube频道的这个问题video在深入了解RSA算法如何实现它的确切细节之前,在概念上做了很好的解释。

如果您认为加密是使用锁和密钥来保护信息,那么标准的共享密钥加密涉及您和您的协作者持有相同的密钥。当您发送消息时,您会收到消息,使用您的密钥将其关闭在锁定的盒子内,然后将该盒子发送给使用您所拥有的密钥副本打开它的收件人。

在公钥 - 私钥加密中,您不能提供密钥的副本;你保密你的钥匙。相反,您将提供有关如何构建只有您的密钥才能打开的锁的说明。你把它告诉任何要求它的人。他们负责构建锁并使用它来保护他们的信息,然后再将其发回给您。如果他们正确地执行了操作,那么当您将私钥放入其中时,他们构建的锁就会完美打开。

考虑加密步骤的另一种方法是,您实际将锁的副本分发给任何想要向您发送消息的人。他们可以拿这个锁,把它打在他们的消息上,没有人可以打开它来读取没有钥匙的内容 - 甚至不是原始发件人!这对物理锁来说非常昂贵,但很容易以数字方式进行。

公共 - 私有加密依赖于One-way function(更准确地说,某种类型的单向函数称为trapdoor function),这是一个易于计算的数学公式,但很难找到输入,如果你只有输出。类似地,你有一个锁定设计,很容易从一组指令构造,但很难进行逆向工程而不会看到适合锁定的实际密钥。

我倾向于在打结方面考虑这部分。很容易采取一系列步骤将绳索打结。即使知道你做了什么以及按什么顺序,有时也无法扭转撤消结的步骤的顺序。要么你已经在某个地方放了一个滑,要么你需要得到你的秘密结解钥匙以释放绳索。 (提示:解开密钥的秘密结是一把刀。当你完成时,用手指数。)

答案 2 :(得分:0)

这样看:

  

来自人B的消息仅传递给人员A.人员A   有钥匙(私钥)打开胸部(公钥)并阅读   信息。此时,人员A可以响应消息和地点   它回到胸部(公钥)并重新回到人B. B   现在可以使用他们的密钥(他们自己的私钥)来读取胸部(公钥)

中的消息

希望这个类比会有所帮助。