对称和 public 密钥加密

Symmetric and public key encryption

假设 N 个人想要使用对称密钥加密与 N- 1 个其他人中的每个人进行通信。任何两个人 i 和 j 之间的所有通信对这组 N 中的所有其他人都是可见的,并且该组中的任何其他人都不应该能够解码他们的通信。整个系统需要多少个密钥?现在假设使用 public 密钥加密。在这种情况下需要多少个密钥?

我找到了关于对称的两个答案,说明它是 n(n-1)/2 或 n(n-1),前者对我来说最有意义。

对于 public 我找到了 2N 个键或 N 个键。同样,前者在这里对我来说最有意义。

有人能解释一下正确答案吗?

这超出了 SO 的范围,我建议您以后再看看 crypto.stackexchange.com。此外,这个问题在某些方面含糊不清,你无法解释你的理性。我鼓励您下次提供更多信息。也就是说...

要使用对称密钥加密技术进行通信,每一对人都必须共享一个密钥。这导致 N(N-1)/2 等式。但是,大多数系统会假设您的密钥是单向的,因此每个 sender 对每个 receiver 都有一个唯一的密钥,这会使密钥数量增加一倍,达到 N(N-1).

要使用非对称加密进行通信,并且不计算任何类型的证书颁发机构,每个用户都有一个 public/private 密钥对。每个用户两个密钥导致 2N 值。但是,如果你认为每个 "pair" 只是一个键,那么我可以理解一个合理的人称这个 N 键(它们甚至可能意味着 "on the order of N keys",或 O(N) 键).