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

本文是双线性对应用的下篇,从双线性对的性质出发,详细解析了三方一轮密钥交换和SM9数字签名算法的原理,并探讨了双线性对的实现与安全性问题。通过对双线性对的理解,展示了其在区块链和密码学中的关键作用。
摘要由CSDN通过智能技术生成

导 读

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

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

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

1.双线性性: 𝑒(ag₁,bg₂) = ab𝑒(g₁, g₂), 其中g₁∈ G₁, g₂ ∈ G₂

2.非退化性: 存在g₁,g₂,使得𝑒(g₁,g₂) 不为G₃中的单位元

3.可计算性: 存在有效的多项式时间算法计算双线性对的值

上述定

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值