根据NewHope网页,一个R后量子密钥封装机制(KEM)的标准化候选,它的类型是IND或IND安全。我知道CPA和CCA的安全性是什么,但我不明白这两种NewHope之间的区别,以及为什么需要在其中一种或另一种之间进行选择(比如,RSA提供这两种安全性)。
发布于 2019-01-04 04:08:25
事实证明,LWE密钥交换的直接实现很容易受到选择的密文攻击,如果一方多次重复使用相同的私有值a,则很容易受到攻击。
在这个直接的实现中,Alice生成一个私有向量a,并发送他的密钥共享a M + \epsilon。然后,当Bob接收到这个密钥共享时,他会生成一个私有向量b,并发送他的密钥共享b M + \epsilon'和一个协调向量。这个协调向量是需要的,因为双方计算的向量将不完全相同(因为误差向量\epsilon, \epsilon'),并建议Alice如何进行舍入。
最著名的攻击是攻击者在协调向量中发送不正确的比特,这些比特(通过多个交换)可以从a向量中生成单个值。
在CPA版本中,他们假设您永远不会在多个交换中重用相同的公共值,因此此攻击与此无关。
在共同国家评估版本中,他们不能做出这样的假设。NewHope团队决定让鲍勃用一种确定性的方式从种子中生成他的密钥份额,并将该种子作为密文的一部分进行加密,因此,当爱丽丝得到它时,她可以解密种子,然后重新生成鲍勃的密钥共享(基于种子),并查看这是否是她得到的值;这样可以防止基于发送非法密钥共享的攻击(如上面的攻击)。
当然,所有这些额外的检查都会减慢速度;这就是CCA版本慢的原因。
https://crypto.stackexchange.com/questions/66174
复制相似问题