在阅读许多密钥交换协议时,我最终感到奇怪的一些问题是:
发布于 2018-10-07 12:13:01
除了研究得很好外,为什么大多数密钥交换协议都使用基于组的方法,这有其内在原因吗?
不是的。只是碰巧
除此之外,您还可以从任何加密方案中构建安全密钥交换,例如McEliece (只需对共享的秘密进行加密并将其发送出去)。
给定密钥交换协议,是否总是需要某个组或特定的代数结构?
从某种意义上说是的。您无法避免字段/组,因为计算机算法基本上都在处理这些字段/组,因此,如果您想要实际计算/执行protcol,那么在某个时候您将涉及字段和组。
在更高的层次上,要在公共渠道上达成秘密协议,我们需要某种结构,让我们能够公开展示价值,并阻止被动对手学习相应的秘密。机会是,你总是可以找到一个相关的数学概念/基本想法,从任何关键的交换。此外,这些协议有时是从我们知道如何作为诚实的用户快速计算,但又知道很难从其他领域中分离出来的东西开始的,那么,当您可以在大量现有研究的基础上建立起来的时候,为什么要努力想出一些新的东西(几天后可能会被打破)?
那么密钥交换和完美的前向保密要求呢?
几乎任何协议都可以修改/扩展以提供前向保密,所以这个属性和组没有什么特别之处。正因为如此,有了组,这个属性就可以在某种程度上便宜地实现了。
安全密钥交换所涉及的最小约束代数结构是什么?
在抽象的层次上,可能是半群,这对于我们所使用的“基于组”的密钥交换来说通常是足够的,因为它们实际上并没有利用转换每个元素的能力,也没有利用一个中性元素的可用性。
但是请注意,并不是每一个半组(例如自然数加上加法)实际上都提供密码安全。如果您正在寻找基于安全半组密钥交换的示例,请不要再看标准的ECDH和DH,它们使用(E(\mathbb F_p),+_{\text{EC}})和(\mathbb F_p^*,\cdot)作为它们的半群。
如果没有,您能给出一些不涉及组操作的完善的前向安全密钥交换协议的示例吗?
关于避免分组和使用McEliece,请参阅上面的内容。您可以通过在每次密钥交换后丢弃加密方案的私钥/公钥来实现保密。
https://crypto.stackexchange.com/questions/62929
复制相似问题