导?读
如果关心近年的密码学成果,可以发现双线性对作为一个基础的密码学工具频频出现。
双线性对是一种二元映射,它作为密码学算法的构造工具,在各区块链平台中广泛应用,比如零知识证明、聚合签名等技术方案大多基于双线性对构造得来。
本次将分为上、下两个篇章讲解双线性对在密码学中的应用。
本文为上篇入门篇,会从概念介绍、发展历程、实际应用三个方面展开说明,下篇为进阶篇,将从原理层面深入剖析。
双线性对的研究历程
▲1946年作为一个数学工具被提出
1946年双线性对首先被法国数学家Weil提出并成为代数几何领域重要的概念和研究工具。
在最初的时候,双线性对的概念并非为了密码学的研究,甚至Weil在提出双线性对时现代密码学还未成为系统的科学。
▲?1996年Menezes、Okamoto和Vanstone提出利用双线性对将ECDLP问题规约到DLP问题的MOV攻击
在19年火热的电影《罗小黑战记》中,主人公拥有控制自己“领域”的能力。电影中的“领域”指自己专有的一个空间,在此空间中可以主宰一切。
数据:长期比特币持有者11个月来首次回到盈利状态:4月28日消息,数据显示,比特币的长期持有者近一年来首次盈利。从历史上看,长期持有者的盈利能力恢复预示着市场的大幅上涨。
根据数据跟踪公司Glassnode的数据,比特币长期持有者的7日平均支出产出利润率(LTH-SOPR)自2022年5月以来首次超过1。SOPR比率高于1表明,平均而言,移动的比特币正在获利出售。LTH-SOPR关注在链上移动的寿命至少为155天的加密货币。[2023/4/28 14:33:16]
不严谨的说,双线性映射的功能也有几分相似——虽然攻击椭圆曲线系统在离散数域解决起来很难,但是如果被映射到特定的扩域从而规约为一般的离散对数问题,解决起来就相对容易。
但与攻击椭圆曲线系统的目的恰恰相反,MOV最终促进了椭圆曲线密码学的发展。
这当然也是密码学家去研究攻击方法的本意——毕竟攻和防从来都是对立统一的两个方面而已。
MOV攻击并非能作用于全部的椭圆曲线,而是只能对参数满足一定条件的曲线进行攻击。这促使人们在选择椭圆曲线参数时更加谨慎,更加注重抗MOV攻击。
今天我们再选用椭圆曲线参数时都会考虑避开MOV攻击的条件从而使所选的参数更安全。
Cherokee Acquisitions为加密货币投资者提供看跌期权:2月2日消息,投资公司Cherokee Acquisitions已开始向加密货币投资者提供看跌期权,以在破产时保护投资者在加密货币交易所Binance、Coinbase和Kraken上的资金。看跌期权将保护上市交易所账户持有人的存款,如果交易所在合同期内申请破产保护,将偿还账户中100%的资产。
Cherokee采购和交易专家Brian Ferrara表示,大型机构投资者和对冲基金将在申请破产时出售期权并补偿投资者。该公司在发送给投资者的电子邮件中表示,Coinbase期权月费为0.25%至0.35%,Kraken为0.35%至 0.45%,Binance Holdings Ltd为0.45%至0.55%。(CoinDesk)[2023/2/2 11:43:06]
例如国标《SM2椭圆曲线公钥密码算法》就充分重视了受到MOV攻击的可能性,不仅在第一部分《总则》中用附录A的部分篇幅介绍验证曲线参抗MOV攻击的方法,而且也在第五部分《参数定义》中给出了安全曲线的推荐参数。
▲2000年双线性对开始在密码学领域得到重视,成果有基于身份的密码体制、三方一轮密钥协商、BLS签名算法等
经合组织呼吁就加密货币政策开展国际合作:12月15日消息,经济合作与发展组织(OECD)发布一份新报告,分析Terra、Celsius、Three Arrows Capital、FTX等事件及其影响。报告称,虽然目前加密公司倒闭对传统金融影响不大,但是未来随着加密行业与传统金融的联系越来越紧密,下一次加密崩溃可能会导致更广泛的金融不稳定。“如果情况发生变化,未来更大的加密资产市场出现类似动荡,可能会对金融稳定产生影响。”经合组织声称“迫切需要采取政策行动”,特别是保护散户投资者。
经合组织呼吁在加密货币政策方面进行国际合作,以避免监管套利机会,并避免全球各地的监管分散。(The Block)[2022/12/15 21:46:40]
基于身份的密码体制是公钥密码学的一个研究方向,其特点是直接用标识用户身份的字符串作为公钥。大家熟悉的国密SM9算法就属于该类算法,这是目前国产密码算法中唯一一个基于双线性对的密码算法。
三方一轮密钥协商是一种可以在一轮交互内完成三方的密钥协商的密钥协商协议,效率高于DH密钥协商。
传统的DH密钥协商可以完成两两之间的密钥协商。虽然能够通过两两之间多轮协商完成三方之间的密钥协商,但是增加了通信复杂度。
三箭资本欠27家加密货币公司共35亿美元:金色财经消息,根据法庭文件,对冲基金三箭资本(3AC)欠27家加密货币公司35亿美元。名单上最大的债权人是Genesis,曾向3AC贷款23亿美元。最近申请破产的Voyager Digital紧随Genesis之后,以比特币和以太币的形式向3AC提供了超过6.85亿美元(以当前价加密货币价格计算)的贷款。3AC的其他知名债权人包括加密货币交易所Deribit的母公司DRB Panama(1,300BTC和15,000ETH);Celsius(借出约7500万美元的USDC);CoinList Services(3500万美元的USDC)和FalconX(6500万美元)。(The Block)[2022/7/19 2:21:26]
基于双线性对能够在三方之间通过一轮通信完成密钥协商,大大降低了通信复杂度。
BLS签名是Boneh、Lynn和Shacham三人基于双线性映射构造的短签名方案,其特性之一就是能用于构造聚合签名。
除了上述的代表成果,双线性对在隐私保护方面、可证明执行、可信计算等方面也有大量成果,例如可信计算组在可信平台模块规范中推荐的椭圆曲线直接匿名证明协议,适用于通用问题的零知识证明,intel的可信计算环境SGX以及加强隐私ID等。
Polygon链上DeFi协议总锁仓量为15.9亿美元:金色财经报道,据DefiLlama数据显示,目前Polygon链上DeFi协议总锁仓量为15.9亿美元,24小时增加3.52%。锁仓资产排名前五分别为AAVE(3.58亿美元)、Quickswap(2.8亿美元)、Curve(1.63亿美元)、Stargate(0.76亿美元)、Meshswap(0.73亿美元)。[2022/7/5 1:50:48]
双线性对的应用
虽然双线性对有大量的应用案例,但是限于篇幅,本文挑选了三方一轮密钥交换和SM9数字签名算法作为例子。
本部分先将算法过程剥离开来,还没有太多去分析算法的原理,这是因为在不了解双线性对的前提下理解这些算法是有困难的。
我们建议读者先简单阅读本部分了解算法能实现的功能,然后在阅读下篇的双线性对的性质介绍后再回来品味算法的优美。
▲三方一轮密钥交换
密钥交换又叫密钥协商,是一种能够让参与者在公共信道上通过交换某些信息来公共建立一个共享密钥的密码协议。
最常见的是两方DH密钥交换,椭圆曲线群上的DH依据的椭圆曲线群是循环群这个性质。
如下图:
1.用户A生成随机数a,计算aG,并将aG发送给对方
2.用户B生成随机数b,计算bG,并将bG发送给对方
3.A和B利用手中信息分别计算出abG作为协商密钥,原因是abG=baG
通过上述的DH算法可以轻松地完成两方的密钥协商,但是较难满足需要三方密钥协商的场景。
利用双线性对可以仅做一轮通信完成密钥协商。
如下图所示:
1.A选择随机数a,计算aG,将结果发送给B和C
2.B选择随机数b,计算bG,将结果发送给A和C
3.C选择随机数c,计算cG,将结果发送给A和B
4.A计算a?(bG,cG)
5.B计算b?(aG,cG)
6.C计算c?(aG,bG)
A、B、C分别计算出的结果就是协商出的密钥。这个协议是双线性配对在密码学研究中的第一次正面应用。
SM9数字签名算法
SM9标识密码算法包括数字签名算法、密钥协商算法、加解密算法三部分,我们主要来关注数字签名算法。
不同于传统签名算法的由用户随机选择私钥然后计算得到公钥的方式,SM9能够实现用户指定公钥,密钥生成中心通过公钥计算私钥。
这样可以将一些有意义的字符串,例如身份证号码、邮箱地址等作为用户公钥,从而能在公钥中直接反应出用户信息,这也是标识密码的含义。
签名算法包括参数生成、密钥生成、签名和验签等几个步骤。和一般签名验签不同的地方在于,密钥生成分为主密钥生成和用户密钥生成两部分,主私钥由密钥生成中心保管。
可以看到不论是在三方一轮密钥协商中,还是在SM9签名验签中,?都扮演了重要的角色。当不知道?是指什么的情况下要理解上面两个算法是不现实的,而这个映射?也正是本文的核心:双线性映射。
?的计算是一个计算复杂度较高的操作,我们不打算介绍关于?的原理和细节,读者只需要了解?的一些属性就足够理解上面两个例子的思想。
因为篇幅原因,双线性映射的性质将在下篇介绍。在下篇的开始我们就会先帮助读者理解什么是双线性,然后紧接着再回顾上面的两个算法,介绍并分析它们的思想和原理。
更多精彩敬请期待下篇
本文有任何问题欢迎与我们一起探讨
名词解释
▲?MOV攻击
又称MOV规约攻击,是Menezes、Okamoto和Vanstone三人的论文中提出的针对特殊椭圆曲线离散对数问题的一种有效解法。通过双线性配对,将椭圆曲线上的离散对数问题规约成为某个乘法群上的离散对数问题,能够在亚指数步骤中计算ECDLP。
▲?DLP
离散对数问题。例如在整数模11乘法群中容易计算5×5×5×5=9mod11,那么求几个5相乘的结果是9这个问题就是一个离散对数问题。当模数为很大的质数时,这个问题是困难的。
▲?ECDLP
椭圆曲线离散对数问题。例如已知P、Q是两个椭圆曲线点,并且4个P相加得到Q,那么已知P和Q求解几个P相加得到Q的问题就是椭圆曲线离散对数问题。当选择的曲线满足一定要求时,该问题是困难的。
参考文献与推荐阅读
?cl签名?
https://www.iacr.org/archive/crypto2004/31520055/cl04.pdf
配对友好的曲线
https://tools.ietf.org/pdf/draft-irtf-cfrg-pairing-friendly-curves-07.pdf
?三方一轮密钥交换?
https://xueshu.baidu.com/usercenter/paper/show?paperid=5521a92e88e750ae92df7b1cd8287452&site=xueshu_se
?一个关于双线性对的综述?
http://jos.org.cn/ch/reader/create_pdf.aspx?file_no=3651&journal_id=jos
?基于bn曲线的双线性对实现?
https://cryptojedi.org/papers/dclxvi-20100714.pdf
?SM9标识密码算法GMT0044
http://www.gmbz.org.cn/main/viewfile/20180110024900801385.html
作者简介
乔沛杨
来自趣链科技基础平台部
区块链密码学研究小组
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。