非对称加密

时间:2010-08-30 19:49:51

标签: encryption encryption-asymmetric

我明天参加高级开发考试,但我仍然坚持加密的主题。我在http://support.microsoft.com/kb/246071读到了它。但是我仍然很困惑。

如果使用非对称加密使用公钥加密消息,解密器将如何知道要用于解密的私钥?当然,唯一的方法是公开私钥,但这会破坏非对称加密的目标。

有人可以用一种非技术人员能够理解的方式来解释这个问题吗?它唯一的非对称加密我不明白,而不是对称加密。提前谢谢。

此致

理查德

编辑:所以总结一下Web应用程序的所有答案(我需要了解的具体用途):

  1. 用户访问网站;
  2. 要求用户提供公钥;
  3. 用户创建公钥和私钥对,将私有密钥对保密,并将公钥发送回服务器;
  4. 服务器使用公钥加密需要发送给用户的任何内容并将信息发送给用户;
  5. 用户使用他/她的私钥解密来自服务器的响应;
  6. 用户执行他们需要的操作并使用私钥对服务器发回响应;
  7. 服务器使用公钥解密。 步骤4 - 7可以继续多次,或者它们可能只发生一次,或者只发生4和5次。
  8. 这一切都正确吗?如果是这样,那么我应该知道考试的全部内容。我不应该认为如果有关于这个问题的问题出现,我需要知道更多才能获得最高40% - 但是会提到证书和签名的存在。

    感谢您的帮助。

    此致

    理查德

    编辑:嗯,我刚刚从考试中退了回来,我认为这一点相当不错。但是没有关于加密的问题出现了,但是......无论如何,帮助得到了赞赏。谢谢大家。

    此致

    理查德

5 个答案:

答案 0 :(得分:13)

私钥只能由其合法用户知道而不是分发。其对应的公钥可以分发给任何人。

基于此,您可以获得4个操作:

  • 使用公钥加密
  • 使用私钥解密
  • 使用私钥签名
  • 使用公钥验证签名

您可能遇到的下一个问题是将身份绑定到公钥(因为您不希望使用冒名顶替者的公钥加密或信任某些内容)。存在各种公钥分发模型。通常,您可以:

  • a web of trust,人们在公钥和身份之间签署彼此关联:这通常是PGP模型。
  • a public key infrastructure(PKI),您可以获得证书颁发机构以树状层次结构生成证书(通常使用中间证书)。 (PGP也可以使用这个模型,但这似乎不常见。)

答案 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(记住:一个密钥用于加密,另一个密钥用于解密)。通过这种方式,您可以获得隐私。