(警告:前面有数学。但最后有一个总结。)
由 Voltage 实现的 IBE 使用配对. 已知的有效配对适用于特制的椭圆曲线(两个主要配对是 Weil 配对和 Tate 配对,后者的一些变体在某些情况下可以提高性能)。这些配对是在 1950 年代由数学家发现的。Miller 在 1980 年代首次暗示将配对应用于密码学。
最初,配对被认为是攻击椭圆曲线系统的方法——通过将椭圆曲线上的离散对数减少为离散对数到一个更“简单”的领域。关键参数是“嵌入度”,我会记下k。对于正常的n位椭圆曲线,离散对数很难进行2 n/2 次操作,因此 256 位曲线足以满足标准的“128 位安全性”。对于给定的曲线,可以定义一个pairing,用来将曲线上的离散对数问题转化为kn比特域的乘法子群中的离散对数问题。ķ _参数取决于所使用的曲线。例如,如果您有一个 256 位曲线,其嵌入度非常低,则该曲线上的离散对数并不比 512 位字段的乘法子组中的离散对数难,这要容易得多(530位离散对数是在 2007 年进行的)。
幸运的是,一条“正常”的曲线会有很高的嵌入度;典型的 256 位椭圆曲线的嵌入度约为 2 255,即远大于 2 或 3。根据相关标准 (ANSI X9.62-2005) 选择椭圆曲线涉及验证k不低于100,无论如何,对于随机选择的曲线,这总是具有压倒性的概率。这称为“MOV 条件”。
一个有效的配对要求kn不太大,因为配对结果是一个kn位的值,我们希望用这些值做一些相对繁重的计算(模幂运算......)。因此,IBE(不是攻击)的配对需要一个嵌入度非常低的“弱化”曲线。Boneh-Franklin 文章 (2003) 中描述的方案使用具有“超奇异”特性的 512 位椭圆曲线,这意味着(这里)嵌入度k=2(因此得到的安全性是离散对数的安全性)在 1024 位字段中,大致类似于 1024 位 RSA)。
总结:上面的数学细节旨在显示 IBE 的立场:
- 第一个实际实现在 2003 年的一篇文章中进行了描述。
- 该实现适用于具有特殊结构的椭圆曲线,最初被认为是一个弱点。
- 椭圆曲线用于密码学的历史可以追溯到 1980 年代。椭圆曲线被认为是安全的,因为没有人能找到任何可以用来加速椭圆曲线上离散对数的内部结构——幸运的是,配对除外,它不适用于“正常”曲线。但对于 IBE,我们需要一条“弱”曲线。
因此,在实践中,IBE 安全性是基于在椭圆曲线中注入的谨慎剂量的弱点,并且细节是在不到十年前定义的。这不是很多时间。相比之下,整数因式分解的研究可以吹嘘(至少)长达 2500 年的历史,所以当我们声称因式分解一定是一个难题时,我们有一些事实来支持这一断言。累积的研究时间是估计密码风险的主要指标,也是唯一的指标。
因此,在我看来,IBE 对于未经检查的一般部署来说有点年轻。然而,你可以比遵循 Dan Boneh 的步骤做得更糟,而且如果(何时)你会被黑客入侵,这不会是由于配对中的任何数学问题。此外,配对很有趣(对于数学家来说,就是这样)。
关于配对的好读物是Ben Lynn 的博士论文(顺便说一下,他的导师是 Boneh)。