我正在阅读关于非对称密钥加密的知识,并且知道它解决了对称密钥加密引起的问题。 (用于加密和解密的相同密钥以及窃取密钥的机会更高)。
在非对称密钥密码术中,我们有两个公钥和私钥。公钥可由外部访问,而另一个密钥仅为该用户所知。现在,如果我将消息发送给其他人,那么首先我应该知道他的公钥并通过他的公钥加密发送消息,并且只有其他用户使用私钥解密消息。
但我怀疑 -
回答你的两个问题:
如果两个用户拥有相同的私钥,该怎么办? (两个用户都可以读取彼此的敏感信息)
在这种情况下,两个接收器都能够解密加密到其(共享)公钥的密文。但是,正如我们将很快看到的,这不仅仅发生。
每个用户的公钥是否都是唯一的?
是。
在非对称密码术中,密钥对是随机生成的。
此外,可以生成的不同密钥对的数量巨大。因此,两个人意外生成相同密钥对的概率可以忽略不计。
在实践中,这意味着,以极大的概率,存在的所有密钥将是不同的。即所有这些都是独一无二的。
通常,两个用户永远不会拥有相同的私钥。如果多个位置中存在相同的私钥,则实际上这是使用多台计算机的同一用户。
在多个位置中存在相同私钥的情况的示例是冗余。如果组织维护多个等效服务器以实现容错或负载平衡,那么它们可能会在所有这些服务器上使用相同的私钥。从加密的角度来看,多个服务器将是单个“用户”。
两个不同的私钥具有不同的公钥。因此,公钥也是唯一的。
问:“当两个用户拥有相同的私钥时会怎样。(两个用户都可以读取彼此的敏感信息)”
答:不,不是正常情况。用户必须明确地共享私钥。
讨论: 用户可以选择共享公钥和/或私钥。如果使用安全方法生成非对称密钥,则在没有显式共享的情况下,假设不对称密钥是不同的。这同样适用于对称密钥。
对称和非对称加密之间存在很大差异。非对称加密很慢并且限于加密数据,其大小小于密钥大小,密钥大小往往更大,(RSA)2048或4096位。对称加密很快,通常(AES)没有数据大小限制和小密钥,128到256位。它们通常与使用对称加密加密的数据和使用非对称加密的对称加密一起使用,这称为混合加密。
注意: 需要更多的学习来理解对称和非对称密钥的不同用法。通常默认为对称加密,并且在需要单独的加密和解密密钥时使用非对称加密。
更多: 声明“(用于加密和解密的相同密钥以及窃取密钥的可能性更高)”是不正确的,密钥被盗的可能性取决于它们受保护的程度。