当前位置:   article > 正文

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

双线性映射在密码学中的应用

导 读

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

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

本文为下篇进阶篇,会从双线性对的性质开始着手,然后分析三方一轮密钥交换和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阶循环群,一个双线性对(双线性映射)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/483274
推荐阅读
相关标签