您的位置: 首页 > 行业资讯 > 详情

双线性对在密码学中的应用(下)

2020-12-16 16:11

如果关心近年的密码学成果,可以发现双线性对作为一个基础的密码学工具频频出现。双线性对是一种二元映射,它作为密码学算法的构造工具,在各区块链平台中广泛应用,比如零知识证明、聚合签名等技术方案大多基于双线性对构造得来。

本次分为上、下两个篇章讲解双线性对在密码学中的应用。

上篇回顾《双线性对在密码学中的应用(上)》

本文为下篇进阶篇,会从双线性对的性质开始着手,然后分析三方一轮密钥交换和SM9数字签名算法两个例子的原理,最后介绍一些双线性对的优秀代码实现。

双线性对的性质介绍

▲ 性质介绍
在本科阶段的线性代数课程中,读者可能已经学习过线性映射(linear mapping)的概念,但是对双线性映射(bilinear mapping)的概念可能会感到陌生。

我们说一个函数f是线性的是指函数f满足可加性和齐次性,也就是:

可加性:f(a)+f(b)=f(a+b)

齐次性:f(ka)=kf(a)

比如中学就接触的正比例函数就是一个线性映射。

例如对f(x)=3x,有f(1)=3,f(-2)=-6,则:

可加性:f(1)+f(-2)=f(-1)=-3

齐次性:f(-2)=-6=-2f(1)

理解了线性,那么双线性就好理解很多。

和线性函数不同的点在于满足双线性的函数有两个输入,而且对这两个输入分别满足线性。换言之,如果固定其中一个输入使之成为一元函数,则这个一元函数满足线性。

而双线性对就是指群上元素满足双线性映射的三个群,它们的关系满足双线性,下面是定义:

G₁、G₂和G₃是三个n阶循环群,一个双线性对(双线性映射)

新支付密码
确认新密码
邮箱验证码

请升级浏览器版本

你正在使用旧版本浏览器。请升级浏览器以获得更好的体验。

法律声明和政策限制通知

尊敬的用户,因政策受限,中国大陆IP地址将禁止访问本网站,禁止注册和使用。如果您是中国大陆用户,请安全清退退出使用,如继续使用导致的风险和责任将完全由您独立承担,同时平台有权拒绝提供服务,谢谢您的理解,请接受并同意!