私钥只能由其合法用户知道而不是分发。其对应的公钥可以分发给任何人。
基于此,您可以获得4个操作:
您可能遇到的下一个问题是身份与公钥的绑定(因为您不希望使用冒名顶替者的公钥加密或信任某些内容)。存在各种公钥分发模型。通常,您可以:
假设“decryptor”= D,“encryptor”= E。
D先前将他的公钥发送给E,因此E可以加密消息。因为只有D知道他自己的私钥,所以只有D知道如何解密刚发送给他的消息E(记住:一个密钥用于加密,另一个密钥用于解密)。通过这种方式,您可以获得隐私。
其他人提供了“通用”描述,我将深入到现实生活中。
大多数现代非对称加密标准不使用原始公钥和私钥,而是使用更复杂的包装器,例如X.509证书或OpenPGP密钥(这些是当今最流行的两种非对称加密基础结构)。证书和OpenPGP密钥都包含额外的信息,可以轻松识别,搜索和管理它们。
现在,加密数据块通常包括用于加密的公共部分(即证书或公共OpenPGP密钥),或至少包括ID(该公共部分的散列)。数据的接收者通常具有(或者应该具有)公共和私有部分(私钥通常与证书或公共openpgp密钥保持在一起)。因此,当收件人收到加密数据时,他知道他需要查看具有给定ID的公共部分的私钥存储(或者当它被包含在加密数据中时用于公共部分)。
存在不包括任何内容的情况。然后收件人无所事事,但尝试所有可用的私钥进行解密。但是这种情况很少见,因为默认情况下,证书或密钥ID存在于加密数据块中。
公钥由“解密器”提供给“加密器”,因此,根据定义,“解密器”知道私钥(因为它是由“解密器”创建的密钥对的一部分)。
Alice创建了她的私钥+公钥。她将私钥保密。她公开她的公钥。
Bob接受了Alice的公钥(他应该首先验证,它确实是Alice的公钥!),然后用它来加密消息,然后发送给Alice。
Alice可以使用她的私钥解密消息。