Your location: Home > News > Details

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

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阶循环群,一个双线性对(双线性映射)

New fund password
Confirm new password
Email Verification Code

Please upgrade your browser version

You are using an old version of the browser. Please upgrade your browser for a better experience.

Notice of Legal Statements and Policy Limitations

Dear users, due to policy restrictions, mainland China IP addresses will be forbidden to access this website, registration and use are prohibited. If you are a mainland China user, please exit safely, if you continue to use the risks caused The responsibility and responsibility will be solely borne by you. At the same time, the platform has the right to refuse to provide services. Thank you for your understanding, please accept and agree!