我明天参加高级开发考试,但我仍然坚持加密的主题。我在http://support.microsoft.com/kb/246071读到了它。但是我仍然很困惑。
如果使用非对称加密使用公钥加密消息,解密器将如何知道要用于解密的私钥?当然,唯一的方法是公开私钥,但这会破坏非对称加密的目标。
有人可以用一种非技术人员能够理解的方式来解释这个问题吗?它唯一的非对称加密我不明白,而不是对称加密。提前谢谢。
此致
理查德
编辑:所以总结一下Web应用程序的所有答案(我需要了解的具体用途):
这一切都正确吗?如果是这样,那么我应该知道考试的全部内容。我不应该认为如果有关于这个问题的问题出现,我需要知道更多才能获得最高40% - 但是会提到证书和签名的存在。
感谢您的帮助。
此致
理查德
编辑:嗯,我刚刚从考试中退了回来,我认为这一点相当不错。但是没有关于加密的问题出现了,但是......无论如何,帮助得到了赞赏。谢谢大家。
此致
理查德
答案 0 :(得分:13)
私钥只能由其合法用户知道而不是分发。其对应的公钥可以分发给任何人。
基于此,您可以获得4个操作:
您可能遇到的下一个问题是将身份绑定到公钥(因为您不希望使用冒名顶替者的公钥加密或信任某些内容)。存在各种公钥分发模型。通常,您可以:
答案 1 :(得分:7)
Alice创建了她的私钥+公钥。她将私钥保密。她公开她的公钥。
Bob接受Alice的公钥(他应该首先验证它是Alice的公钥!),然后使用它来加密消息,然后发送给Alice。
Alice可以使用她的私钥解密邮件。
答案 2 :(得分:5)
其他人提供了“通用”描述,我将深入到现实生活中。
大多数现代非对称加密标准不使用原始公钥和私钥,而是使用更复杂的包装器,例如X.509证书或OpenPGP密钥(这些是当今最流行的两种非对称加密基础结构)。证书和OpenPGP密钥都包含额外的信息,可以轻松识别,搜索和管理它们。
现在,加密数据块通常包括用于加密的公共部分(即证书或公共OpenPGP密钥),或者至少包括ID(该公共部分的散列)。数据的接收者通常具有(或者应该具有)公共和私有部分(私钥通常与证书或公共openpgp密钥保持在一起)。因此,当收件人收到加密数据时,他知道他需要查看具有给定ID的公共部分的私钥存储(或者当它被包含在加密数据中时用于公共部分)。
存在不包含任何内容的情况。然后收件人无所事事,但尝试所有可用的私钥进行解密。但是这种情况很少见,因为默认情况下,证书或密钥ID存在于加密数据块中。
答案 3 :(得分:2)
公钥由“解密器”提供给“加密器”,因此,根据定义,“解密器”知道私钥(因为它是“解密器”创建的密钥对的一部分。
答案 4 :(得分:1)
假设“decryptor”= D,“encryptor”= E。
D先前已将其公钥发送给E,因此E可以加密消息。因为只有D知道他自己的私钥,所以只有D知道如何解密刚发送给他的消息E(记住:一个密钥用于加密,另一个密钥用于解密)。通过这种方式,您可以获得隐私。