如果对称密码系统有C^2_n密钥,非对称系统有2n密钥,那么混合系统有多少密钥?这是学校在网上进行的测验。
A公司正在考虑采用一种加密系统,以确保员工之间的安全通信。目前,它有5员工。假设每个员工都使用了采用的密码系统与所有其他员工进行一次通信。
( 3)如果公司采用混合密码体制,在这种情况下将使用多少密钥?显示你的工作。
我的回答是
C_n^2对称会话密钥+ 2n非对称密钥= C_5^2 + 2 \times 5 = 20密钥
这是错误的。我哪里出问题了?据我所知,在混合系统中,他们使用非对称密钥加密对称会话密钥,而对称会话密钥用于对文档进行加密/解密。
发布于 2019-01-10 13:51:04
首先,每个员工都有一个公共私钥对,即2n。
为每个会话创建一个对称密钥。您的解决方案假设通信合作伙伴最初就他们在彼此通信中使用的对称密钥达成一致。
将会话看作一个方向上的通信,而不是n*(n-1)/2对称密钥,就会出现n*(n-1)对称密钥,从而生成一个2n + n*(n-1) = 30键。
需要澄清的
最初的问题是“每一位员工与所有其他员工沟通一次”。
这可能意味着两件事:
A将用symkey_1加密的消息发送给B
用同样使用symkey_1加密的消息进行响应
因此,A与B通信一次,B与A通信一次。
另一种解释:
A将用symkey_1加密的消息发送给B
两天后,B向A发送了一条用symkey_2加密的消息
因此,A与B通信一次,B与A通信一次。
第二个解释将创建n*(n-1)对称密钥,而第一个解释只创建n*(n-1)/2对称密钥。
发布于 2019-01-10 15:14:38
在典型的混合系统(PGP、S-MIME等)中,消息包含对称系统的加密密钥k_s,该加密密钥由接收者的公钥加密。每条消息生成一个新的k_s。因此,如果我们发送5 \times 4=20消息(问题在“相互交流”的意义上有点模糊,但我假设这意味着每个员工A都向其他员工发送了一条消息,B,B \neq A),那么我们就有20对称的“一次性”密钥,当然还有通常的5公钥和5私钥(同样含糊不清:一个公共/私钥对由两个密钥组成,就像我刚才假设的那样,还是仅仅是一个:在大多数情况下,私钥以一种独特的方式引导到一个公钥,因此,也可以为非对称系统的每个用户只有一个密钥(他/她的私钥)辩护。因此,在这个计数中使用了30键。
还可以假设每个用户都为这对用户维护一个对称的“会话密钥”,就像我们在TLS中使用用户证书所做的那样,在这种情况下,我们只需要10个会话密钥(\binom{5}{2})和10 (或5,见上文)。不过,这忽略了问题的“仅一个”通信部分,也没有改进我们在完全对称版本中需要的10共享对称密钥(但需要额外的脱机密钥分配负担)。
https://crypto.stackexchange.com/questions/66380
复制相似问题