可以解释一下密码学中什么叫双线性配对吗?

可以解释一下密码学中什么叫双线性配对吗?

如果不需要完全了解数学原理,可解其他答案说的释下什叫双线东西其实已经满足需求了,只需要把Pairing当作一个黑盒就好了,密码只需要关注其基本性质就行(参见其他答主的学中性配答案),这样基本就能理解Pairing-based Cryptography。可解

如果不是释下什叫双线数学专业的,其实了解了上面的密码东西就可以了,真的学中性配不要深究了。珍爱头发,可解远离数学!释下什叫双线

如果执意要了解数学原理,密码那么我根据我学习的学中性配过程给一点建议:

前提:数论基础、抽象代数、可解代数几何基础、释下什叫双线椭圆曲线密码基础

关键概念:代数曲线、密码有理函数、除子(divisor)、扭子群

我有一个很清晰的回答,但是这里地方太小写不下。

我就大致说一下会涉及的东西。

密码学上的Pairing一般都是构建在椭圆曲线或者超椭圆曲线上,例如常见的有Weil对、Tate对以其他的一些变种(例如中国的商用标识密码标准SM9里使用的R-ate对)。椭圆曲线上的攻击很多都利用了Pairing,例如利用Weil对的MOV规约、利用Tate对的FR规约。

Pairing的构建是基于除子的,除子和代数曲线上的有理函数有关,所以需要了解一下基本的代数几何的概念,例如有理函数、零点和极点等,大致明白每一个椭圆曲线上的有理函数都对应一个主除子。在这之后,了解一下椭圆曲线的扭子群、嵌入次数等概念,特别是嵌入次数,它对于适合Pairing的曲线的选择有很大关系。然后就是Weil对和Tate对的定义,以及如何通过Miller算法计算。

除了Pairing的概念之外,还需要了解一下如何构建一个适合Pairing的曲线,例如超奇异曲线、MNT曲线、BN曲线等。

如果需要用到Pairing的实现,Miracl和PBC这两个库是比较常用的。

资料:

  1. Pairings for beginners
  2. Pairing-Based Cryptography
  3. An elementary introduction to hyperelliptic curves ,这个主要讲超椭圆曲线,但涉及除子的知识和证明比较详细。
探索
上一篇:如何评价 iOS 14?
下一篇:“X战警”里的时间线到底怎么回事? 从公元前3000年到未来 历史怎样被逆转?