我明天有高级开发考试,但我被加密主题困住了。我已经读过它了 http://support.microsoft.com/kb/246071. 。然而我还是很困惑。

如果消息使用非对称加密和公钥进行加密,解密者如何知道用来解密的私钥?当然,做到这一点的唯一方法是公开私钥,但这违背了非对称加密的目的。

有人可以用非技术人员能够理解的方式解释一下吗?它只是我不明白的非对称加密,而不是对称加密。提前致谢。

问候,

理查德

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

  1. 用户访问网站;
  2. 要求用户提供公钥;
  3. 用户创建公钥和私钥对,将私钥保密,并将公钥发送回服务器;
  4. 服务器使用公钥对需要发送给用户的任何内容进行加密,并将信息发送给用户;
  5. 用户使用他/她的私钥解密服务器的响应;
  6. 用户执行他们需要的操作并向服务器发回响应,并使用私钥对其进行加密;
  7. 服务器使用公钥解密。步骤 4 - 7 可能会持续多次,也可能仅发生一次,或者仅发生 4 和 5。

这一切都正确吗?如果是这样,那么这应该就是我考试时需要知道的全部内容。如果出现有关此主题的问题,我认为我不需要了解更多信息即可获得最大 40% - 不过我会提到证书和签名的存在。

感谢您的所有帮助。

问候,

理查德

编辑:嗯,我刚刚考试回来,我认为一切顺利。但没有出现有关密码学的问题,但是......无论如何,我们非常感谢您的帮助。谢谢大家。

问候,

理查德

有帮助吗?

解决方案

Alice 创建了她的私钥 + 公钥。她将私钥保密。她公开了她的公钥。

鲍勃获取爱丽丝的公钥(他应该首先验证,这确实是爱丽丝的公钥!),并使用它来加密发送给爱丽丝的消息。

Alice 可以使用她的私钥解密该消息。

其他提示

私钥只能由其合法用户知道并且不能分发。它的对应部分,即公钥,可以分发给任何人。

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

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

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

  • A 信任网, ,人们在公钥和身份之间签署彼此的关联:这通常是 PGP 模型。
  • A 公钥基础设施 (PKI),您可以让认证机构以树状层次结构生成证书(通常使用中间体)。(PGP 也可以使用此模型,但这似乎不太常见。)

其他人提供了“通用”描述,我将更深入地了解现实生活的一面。

大多数现代非对称加密标准不使用原始公钥和私钥,而是使用更复杂的包装器,例如 X.509 证书或 OpenPGP 密钥(这是当今两种最流行的非对称加密基础设施)。证书和 OpenPGP 密钥都包含额外的信息,可以轻松识别、搜索和管理它们。

现在,加密的数据块通常包括公共部分(即用于加密的证书或公共 OpenPGP 密钥),或者至少是 ID(此公共部分的哈希值)。数据的接收者通常拥有(或应该拥有)公共和私有部分(私钥通常与证书或公共 openpgp 密钥保存在一起)。因此,当接收者收到加密数据时,他知道他需要在其私钥存储中查找具有给定 ID 的公共部分(或者当它包含在加密数据中时查找给定公共部分)。

存在不包含任何内容的情况。然后接收者无需做任何事,只能尝试所有可用的私钥进行解密。但这种情况很少见,因为默认情况下,证书或密钥 ID 存在于加密数据块中。

公钥由“解密者”提供给“加密者”,因此,根据定义,“解密者”知道私钥(因为它是“解密者”创建的密钥对的一部分。

假设“解密器”= D,“加密器”= E。

D 之前将其公钥发送给 E,因此 E 可以加密该消息。因为只有 D 知道自己的私钥,所以只有 D 才会知道如何解密 E 刚刚发送给他的消息(记住:一个密钥用于加密,另一个用于解密)。通过这种方式,您可以获得隐私。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top