【密码学】密码学数学基础:双线性配对

news/2024/9/25 12:44:45/

        又到了枯燥乏味的数学打基础时间,本文不会有太深的讲解,毕竟是我本人对此概念的理解(我的理解不太深,还请大家见谅),如果想系统性的学习此知识,推荐看相关数学教材。免责声明结束后,简单说下本文的行文结构。要想理解双线性配对是个啥?我觉得先得知道线双线性映射是什么,要想知道双线性映射是什么,就要先理解线性映射是什么。

        文章无法避免严谨(枯燥)的数学表达方式,但求尽量用我的理解,说人话通俗表达。

一、线性映射与线性函数

(1)线性映射的定义

        线性映射(Linear Map)是从一个向量空间到另一个向量空间的映射,它保持了向量加法和标量乘法的线性性质。如果这个映射是从一个向量空间到另一个向量空间的函数,我们通常称它为线性函数。

        严谨表达来了,给定两个向量空间 V 和 W,定义在同一个标量域 F 上,一个函数 f:V\rightarrow W 被称为线性函数,如果它满足以下两个条件:

  1. 加法性:对于所有 v,{v}' \in V,有 f(v+{v}')=f(v)+f({v}')
  2. 标量乘法:对于所有 v \in V 和所有标量 a \in F,有 f(av)=af(v)

        在坐标表示中,线性函数可以用矩阵表示,且它的图形通常是一条直线(在一维情况下)或者一个平面/超平面(在更高维度的情况下)。

(2)线性函数与线性映射什么关系

        在大多数数学文献和教材中,线性函数和线性映射是同义词。因此,当我们在讨论从一个向量空间到另一个向量空间的映射时,线性函数和线性映射可以互换使用。

二、双线性映射与双线性函数

(1)双线性映射的定义

        双线性映射(Bilinear Map)是从两个向量空间的笛卡尔积到第三个向量空间的映射,它同时关于两个输入变量都是线性的。如果这个映射特别关注的是从两个向量空间到第三个向量空间的函数,我们通常称它为双线性函数。

        严谨表达来了,设 V, W 和 U 是三个向量空间,并且假设它们都定义在一个相同的标量域 F 上。一个从 V\times WU  的映射 B:V\times W\rightarrow U 称为双线性映射,如果它同时关于 VW 中的变量是线性的。具体来说,如果对于所有 v,{v}'\in Vw,{w}'\in W和所有标量 a,b\in F,映射 B  满足以下条件:

  1. 对第一个变量的线性:

    • 加法性:B(v+{v}',w)=B(v,w)+B({v}',w)
    • 标量乘法:B(av,w)=aB(v,w)
  2. 对第二个变量的线性

    • 加法性:B(v,w+{w}')=B(v,w)+B(v,{w}')
    • 标量乘法:B(v,bw)=bB(v,w)

        换句话说,对于固定的 w\in W,映射 v \mapsto B(v,w) 是从 V 到 U 的线性映射;

        同样地,对于固定的 v\in V,映射 w \mapsto B(v,w) 也是从 WU 的线性映射。

        内积和矩阵乘法就是双线性函数,在欧几里得空间中,两个向量的内积(点积)是一个双线性函数。当我们将两个向量分别视为行向量和列向量时,它们的乘积就是一个双线性函数的例子。

(2)双线性映射和线性映射的关系

        从某种意义上说,双线性映射可以看作是两个独立线性映射的组合。 

        联系:线性映射和双线性映射都保持了线性性质。线性映射保持了一个向量空间到另一个向量空间的线性性质,而双线性映射保持了两个向量空间到第三个向量空间的线性性质。

        区别:线性映射涉及单个向量空间到另一个向量空间的映射,而双线性映射涉及两个向量空间到第三个向量空间的映射,并且它在两个输入变量上都是线性的。

三、双线性配对的定义

        双线性配对(Bilinear Pairing)是一种特殊的双线性函数,它通常涉及两个向量空间(或更一般的代数结构)和一个输出标量值的代数结构。双线性配对不仅保持了双线性函数的特性,还具有非退化性和计算可行性。

        设 G_1 和 G_2 是定义在同一标量域 F 上的两个向量空间(或更一般的代数结构,如群),而 G_T​ 是另一个定义在相同标量域 F上的向量空间或代数结构。一个函数 e:G_1 \times G_2\rightarrow G_T被称为双线性配对,如果它满足以下条件:

  1. 双线性:对于固定的g_2\in G_2​,映射 g_1 \mapsto e(g_1,g_2) 是从 G_1​ 到 G_T​ 的线性映射;同样地,对于固定的g_1\in G_1,映射 g_2 \mapsto (g_1,g_2) 也是从 G_2​ 到 G_T​ 的线性映射。
  2. 非退化性:存在 g_1\in G_1和 g_2\in G_2 使得 e(g_1,g_2)\neq 1,其中1G_T中的单位元。这意味着配对不是恒等的零映射。
  3. 计算可行性:对于所有 g_1\in G_1和 g_2\in G_2,配对 e(g_1,g_2) 是有效计算的。

四、椭圆曲线上的双线性配对

(1)椭圆曲线上的双线性配对 

        椭圆曲线上的双线性配对是在椭圆曲线E上定义的一种双线性配对,它将两个椭圆曲线上的子群 G_1​ 和 G_2​ 映射到一个特定的代数结构G_T,通常是有限域的一个子群。

        稍微回顾一下椭圆曲线,椭圆曲线 E 定义在一个有限域 Fq​ 上,其中 q 是一个素数或素数的幂。椭圆曲线上的点构成一个阿贝尔群,其中群操作是点的加法。

更多关于椭圆曲线的内容可以看我之前的文章:【密码学】椭圆曲线密码体制(ECC)

(2)举例和应用

        Weil 配对和 Tate 配对是在椭圆曲线上常见的双线性配对。

        椭圆曲线上的双线性配对在密码学中有许多应用,包括身份基加密(IBE)、属性基加密(ABE)、短签名、非交互式零知识证明等,这些应用依赖于双线性配对的独特性质来增强安全性或简化加密协议的设计。

五、总结

        线性映射与线性函数是保持向量加法和标量乘法线性性质的最基础概念。双线性映射与双线性函数扩展了线性函数的概念,涉及两个向量空间,并保持了关于两个输入变量的线性性质。双线性配对是双线性函数的一个特例,它具有非退化性和计算可行性,适用于密码学等多种应用场景。椭圆曲线上的双线性配对是在椭圆曲线这一特定代数结构上定义的双线性配对,它在密码学中有着广泛的应用。


http://www.ppmy.cn/news/1505930.html

相关文章

面试经典算法150题系列-O(1)时间插入、删除和获取随机元素

序言:这题可能相对之前的题稍微代码量大一些,但是别急,我们只有理清思路,其实实现起来也挺简单,重在理解,我在实现代码部分特地还增加了一些变量方法的详细解释,担心有人不懂ArrayList集合和哈希…

OpenNebula-6.9.80中文详细部署安装

目录 OpenNebula介绍 主要特点 应用场景 一. 虚拟机准备 二. 下载安装 1. 导入yum源 2. 数据库配置 3. 安装包 4. 设置配置 数据存放位置 端口介绍 命令介绍 OpenNebula介绍 OpenNebula 是一个开源的云计算平台,主要用于创建和管理虚拟化环境。它被设…

【Redis】Redis 数据类型

文章目录 前言1 通用知识1.1 基本全局命令1.2 数据结构和内部编码 2 String2.1 类型介绍2.2 相关命令2.2.1 SET/GET 系列命令2.2.2 INCR/DECR 计数系列命令2.2.3 其他命令2.2.4 命令小结 2.3 内部编码2.4 应用场景2.4.1 缓存功能2.4.2 计数功能2.4.3 共享会话2.4.4 验证码功能 …

【运维项目经历|039】Ceph高性能云存储集群部署与优化

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专家博主 💊交流社区:CSDN云计算交流社区欢迎您的加入! 目录 项目名称 项目背景 项目目标 项目成果…

gin框架 自定义404错误页面,自定义500等服务端异常,业务异常,根据不同异常类型显示不同的异常页面方法 整理

在gin框架中,要显示自定义的异常页面,首先需要通过gin路由对象中的LoadHTMLFiles或者LoadHTMLGlob方法加载自定义的错误页面模板文件, 然后定义符合 gin.HandlerFunc 类型的路由处理函数/方法 ,即只有一个参数(c *ginx.XContext)的…

英特尔凌动® P5300 和 P5700 处理器使企业能够优化现代网络基础架构、安全加速器和存储设备之间的性能和成本平衡。

介绍英特尔凌动 P5300 和 P5700 处理器 英特尔凌动处理器提供核心数和硬件功能各异的多种配置,用于支持不同的边缘用例。基于 10 纳米工艺的先进微架构与一组强大的加速器相结合,带来卓越的每核性能和先进的数据包处理能力。这些平台基于高能效的系统级…

TCL 实业 x TiDB丨从分销转向零售,如何考虑中台建设和数据库选型?

导读 在数字化转型的浪潮中,TCL 实业通过“新方舟”项目构建统一中台,实现了从分销向零售的转型,显著提升了业务精准度和效率。本文根据 InfoQ 记者高玉娴对 TCL 实业企业架构部架构师蔡玖发的采访整理,揭秘了 TCL 实业在这一转型…

【iOS】AutoreleasePool自动释放池的实现原理

目录 ARC与MRC项目中的main函数自动释放池autoreleasepool {}实现原理AutoreleasePoolPage总结 objc_autoreleasePoolPush的源码分析autoreleaseNewPageautoreleaseFullPageautoreleaseNoPage autoreleaseFast总结 autorelease方法源码分析objc_autoreleasePoolPop的源码分析po…