MAY:密码专栏 | 动手计算双线性对(下)

前言

上一篇文章中,我们在"F_101"上找到了17个点满足椭圆曲线方程,他们构成一个循环。那么在"F_101"中元素作为坐标的点中还有没有其他的点也满足方程呢?换句话说,上篇文章列出的17个点是不是就是满足方程的全部的解呢?并非如此,比如可以验证(3,38)也满足椭圆曲线的方程,但是他不是上面17个点中的一个。另一个子群

实际上,我们甚至可以通过将(6,44)作为生成元来得到一个102个元素的循环群,这个循环群涵盖了曲线在"F_101"上的全部点。但是,曲线在"F_101"上的循环周期为17的循环群却只有中篇列出的一个,也就是说在"F_101"上讨论的话,循环周期为17的点已经被我们全部找到了。

在中篇中,我们也提到数域的扩张会直接影响我们需要讨论的点的多少,那么如果我们对"F_101"进行扩张,是否能够得到更多的循环周期为17的点呢?METASTATE的博客中给出这样一个例子,我们将用这个例子说明这个命题的真假。首先我们选择满足j^2mod17=15的j用于对"F_101"的扩张,过程就像我们上一篇文章中进行的那样,扩张后的域记为“F_101的二次扩域”。在这个扩张下,我们可以找到另一个循环周期为17的群,下面的表格列出这个群的全部元素:

广州市将促进密码与区块链等数字经济新技术深度融合:10月26日,《广州市黄埔区、广州开发区、广州高新区促进商用密码科技创新和产业发展办法》正式推出。在推动密码产业科技创新方面,打造“密码+”创新生态,促进密码与云计算、大数据、物联网、人工智能、区块链、5G等数字经济新技术、新业态深度融合,支持加密通信技术、加密存储技术、芯片等密码核心技术研发。(科技日报)[2020/11/3 11:29:23]

我们随机选择(66,0+23j)这个元素来验证其满足曲线方程:

左侧:y^2mod101=^2mod101=23×15mod101=42

右侧:x^3+3mod101=41^3=3mod101=42

左侧等于右侧,验证完毕。

声音 | Anchorage联合创始人:加密技术正在开创分布式系统、安全性和密码学研究的新领域:据AMBCrypto报道,在最近的一次演讲中,加密安全公司Anchorage的联合创始人Diogo Monica谈到了加密在提高个人安全、隐私和数据主权方面的作用。Diogo注意到加密降低了黑客攻击和服务中断的风险,他宣称加密技术正在开创分布式系统、安全性和密码学研究的新领域。他称,“缺乏个人安全、缺乏隐私和数据主权是我们日常生活中的事情,我们接受这些东西作为互联网的一部分,但这不应该是这样,这就是加密技术的来源。加密货币的发展实际上帮助你的每一台设备变得更安全,因此有助于你的个人安全,新的加密方法有助于保护你的数据,并最终让你重新获得一些隐私。”[2020/2/3]

在发现通过域扩张后还能找到更多的17阶点后,我们不禁会想:

继续对”F_101的二次扩域”进行扩张,能否找到更多的17阶点呢?

或者是:为了找到全部的17阶点,我们需要对F_101进行几次扩张呢?

动态 | 近 27 亿电子邮件地址和密码等组合的文件被泄露系有人在暗网上售卖:根据慢雾区情报,近日有人泄露了近 27 亿电子邮件地址和密码等组合的文件,随后慢雾安全团队进行了持续跟踪与分析。之后发现,有人在暗网上售卖 “Collection #1~5, Latest Anti Public (120GB) and Zabagur #1” 总计 847GB 的数据,数据结构涉及如下组合:电子邮件地址/密码、用户名/密码、电话/密码等。

经过慢雾安全团队的确认:此次泄露数据量极为巨大,这些泄露的部分数据很可能会严重威胁大量交易所用户的资产安全,慢雾安全团队提醒数字货币相关用户及交易所注意风险,提高风控级别,及时阻拦可能存在的异常登陆及交易操作。[2019/1/23]

嵌入度其实就是描述这个问题的一个概念。E是定义在F_101上的椭圆曲线,我们已经有一个包含n=17个点的子群,我们称这个子群的嵌入度是满足17整除q^k-1的最小的k。在这个例子中,k=2。计算嵌入度的价值在于事实证明,当对F_101进行扩张以期其上的椭圆曲线包含全部17阶点时,最小的扩张次数就等于嵌入度。也就是说在”F_101的二次扩域”上,我们已经找到全部的17阶元素。

动态 | 密码朋克运动的发起人之一Timothy C. May去世:以太坊联合创始人Vitalik Buterin今日发推称,《加密无政府主义者宣言》(The Crypto Anarchist Manifesto)的作者Timothy C. May已去世。Timothy C. May是密码朋克运动的发起人之一,也是英特尔早期资深的科学家。1992年,他建立了密码朋克邮件列表,全世界的密码学家、程序员、极客在这里通过加密电子邮件进行交流。[2018/12/16]

Millier循环

下面给出计算双线性映射的Millier算法,当计算e(P,Q)时,该算法根据P的坐标创建一个二元多项式,然后将P坐标的x和y分量带入求值:

METASTATE的博客中作者已经计算了e((1,2),(90,82u))点的结果为97+89j。我们给出另外一个计算的例子,并且稍后通过对比这两个例子的结果说明双线性对的一些属性。

现场 | 姜海:密码学将随着黎曼猜想等理论研究的深入迎来大发展:金色财经现场报道,今日,2018可信区块链峰会在北京召开。在主题为“区块链安全焦点关注”的区块链安全论坛上,丁牛科技有限公司CEO姜海结合最近黎曼猜想被证明引起了密码学界的高度关注,分析了黎曼猜想与区块链密码安全。他提出,尽管黎曼猜想的证明对于传统密码安全有极大的冲击,但是区块链技术的安全建立在SHA-256、椭圆曲线、算法校验等基础之上,在使用过程中能够极大地抵抗密码攻击。尽管最近有很多的安全事件发生,而其根本原因在于程序的违规操作。未来随着随机发生器、量子计算机以及黎曼几个等基础理论的研究,密码学将会有更大的发展空间。[2018/10/10]

其中f_17是二元的多项式,通过一个称为Millier循环的过程我们可以生成该多项式,这个过程类似于计算指数运算时的mul-and-square操作。但是为了更直观的展示原理,我们选择根据上文定义直接展开计算f_17,这会增加一些计算量。

因此我们需要计算

的表达式。通过查询上一篇文章的列表我们可以找出P,±2P,±4P,±8P,±16P的值,其中P=(12,32)=5G:

接下来我们来计算这些直线的方程:

这样我们已经可以计算f_17的结果:

最后我们计算(81+52j)^600

完全解决curve101配对问题

实际上,我们可以计算出GT的生成元e(G1,G2),也就是e((1,2),(36,31j)),其值为7+28j。这样我们能够完全掌握GT中全部的元素:

可以看到GT也是一个循环群,他其实是在“F_101的二次扩域”上满足方程x^17=1的17个根。根据该表我们不加以计算就可以知道这个配对的任何一个计算结果,例如e((12,32),(36,31u))=e(5G1,G2),因此其值就是上表的第5个元素:93+25j。我们之所以能够完全解决curve101的配对问题,是因为curve101的一系列参数决定其足够简单,而实际零知识证明算法中使用的配对就要复杂很多。例如一些标准中要求其配对曲线的嵌入度至少为12,这意味着GT的元素至少是基础素域的12次扩张!如果其素域特征为常见的256位,那么为了表示一个GT元素就需要256*12/8=384字节的大小。对于任何一个实际使用的曲线,其计算复杂度和规模都使我们当前绝无可能计算出其映射表,这也是离散对数问题困难的所在。

通过系列文章,我们计算了一个简单的配对曲线,加深了对双线性映射的理解。后续,我们继续使用这个配对曲线来讲解和演示零知识证明中Groth16算法的过程和原理,敬请期待。

乔沛杨趣链科技基础平台区块链底层密码学小组

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-1:33ms