掌桥专利:专业的专利平台
掌桥专利
首页

基于多线性映射的一轮多方密钥交换协议

文献发布时间:2023-06-19 11:26:00


基于多线性映射的一轮多方密钥交换协议

技术领域

本发明信息安全技术领域,具体涉及一种基于多线性映射的一轮多方密钥交换协议、一种非临时性计算机可读存储介质和一种计算机设备。

背景技术

多线性映射是密码原语是双线性映射的一种推广,不仅能够用来构造非交互式密钥交换协议,三方Diffie-Hellman密钥交换协议和各种公钥加密方案,还广泛用于证据加密(WE:Witness Encryption)、不可区分模糊器(IO:Indistinguishability Obfuscation)和函数加密(FE:Function Encryption)等。随着多线性映射在密码学中的应用范围不断扩大,作为应用基础的构造方案将越来越重要。

在后量子时代,由于离散对数问题或大整数分解问题在量子计算下存在多项式求解算法,因此,基于传统数论难题(比如离散对数问题、大整数分解问题等)构造的公钥密码体制容易遭受量子攻击,其安全性受到严重威胁,研究抗量子攻击(即达到后量子安全)的新型公钥密码体制已成为业界关注的热点问题。同时,作为公钥密码体制的重要分支,如何设计高效且后量子安全AKE(Authentication Key Exchange,认证密码交换)协议也是后量子时代迫切解决的重要科学问题

发明内容

本发明为解决上述技术问题,提供了一种基于多线性映射的一轮多方密钥交换协议,发明基于随机化方法构造多线性映射,并基于该多线性映射生成密钥交换协议,使各参与方可以安全的交换信息,高效且安全。

本发明还提出一种非临时性计算机可读存储介质。

本发明还提出一种计算机设备。

本发明采用的技术方案如下:

本发明第一方面实施例提出了一种基于多线性映射的一轮多方密钥交换协议,包括以下步骤:每个参与方使用新随机化构造的初始化算法产生各自的公共参数并发布;根据所述公共参数按照新随机化方法构造所述多线性映射并发布;根据所述多线性映射生成各参与方的密钥;根据所述密钥产生共享密钥,以使所述各参与方根据所述共享密钥交换信息。

根据本发明的一个实施例,根据所述公共参数按照新随机化方法构造所述多线性映射并发布,包括:根据所述公共参数生成1-级编码;构造编码加法算法、编码乘法算法、“0”测试算法和提取算法,以构造所述多线性映射。

根据本发明的一个实施例,所述密钥包括公钥和私钥,根据所述多线性映射生成各参与方的密钥,包括:第t方高斯抽样选择元素{d

根据本发明的一个实施例,根据所述密钥产生共享密钥,包括:

第t方产生一个κ-级编码u′

本发明第二方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面实施例所述的基于多线性映射的一轮多方密钥交换协议。

本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现本发明第一方面实施例所述的基于多线性映射的一轮多方密钥交换协议。

本发明的有益效果:

本发明基于随机化方法构造多线性映射,并基于该多线性映射生成密钥交换协议,使各参与方可以安全的交换信息,高效且安全。

附图说明

图1是根据本发明一个实施例的基于多线性映射的一轮多方密钥交换协议的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明中,符号约定如下:

设λ为安全参数。设符号

设n=2

使用小写黑体字母表示列向量(如a),大写黑体字母表示矩阵(如A)。向量或矩阵的转置使用上标符号T表示(如a

符号[a]

给定任意元素a∈R,符号MSB

本文使用标准渐近符号O(·),Ω(·),Θ(·),ω(·),o(·)。

可忽略量(Negligible Amount)是指对于任意正常数c,其渐近小于λ

κ:多线性映射的次数;

q:构造中编码的模;

n:多项式环R、R

σ:产生秘密理想元素(如g)的高斯抽样参数;

σ′:产生公共参数中k-级编码的高斯抽样参数;

σ

τ:公共参数中k-级编码的个数;

l

l:从提取编码的每个系数中提取l个最有意义的比特位。

图1是根据本发明一个实施例的基于多线性映射的一轮多方密钥交换协议的流程图。如图1所示,该协议包括以下步骤:

S1,每个参与方使用新随机化构造的初始化算法产生各自的公共参数并发布。

进一步地,公共参数产生算法par←InstGen(1

(1)选择足够大素数q;

(2)随机抽样z←U(R

(3)抽样选择素理想元素

(4)抽样选择素理想元素

(5)对于j∈[τ]:

(5.1)抽样选择元素

(5.2)计算e

(5.3)计算产生明文元素e

(6)对于j∈[τ]:

(6.1)抽样选择元素

(6.2)计算h

(6.3)产生新的“0”测试参数p

//p

(7)输出公共参数par={n,q,{y

S2,根据公共参数按照新随机化方法构造多线性映射并发布。

在本发明的一个实施例中,根据公共参数按照新随机化方法构造多线性映射并发布,包括:根据公共参数生成1-级编码;构造编码加法算法、编码乘法算法、“0”测试算法和提取算法,以构造多线性映射。

具体地,多线性映射算法是多级的编码,最基础从1级编码开始。再通过低级编码的乘法操作,生成更高级别的编码。

其中,高斯抽样CRT编码算法d

(1)使用高斯抽样算法选取N个元素

(2)使用CRT计算产生R

1-级编码算法u←ENC(PAR,1,{d

(1)使用高斯抽样CRT编码算法产生d

(2)计算产生R

加法编码算法u←ADD(PAR,k,u

给定m个k-级编码u

乘法编码算法u←MUL(PAR,1,u

给定k个1-级编码u

“0”测试算法ISZero(PAR,{d

(1)给定d

(2)给定一个κ-级编码u,计算“0”测试函数ISZero以判定u中明文元素是否为“0”,即

其中q

提取算法w←EXT(PAR,{d

(1)给定d

(2)给定一个κ-级编码u,计算提取编码v=[u·p

(3)从v的每个系数中提取l=(log q

w=EXT(PAR,{d

S3,根据多线性映射生成各参与方的密钥。

根据本发明的一个实施例,密钥包括公钥和私钥,根据多线性映射生成各参与方的密钥,包括:

第t方高斯抽样选择元素{d

具体地,根据上述多线性映射算法,构造一轮多方密钥交换协议(nr-MPKE)如下:

安装阶段setup(1

设κ=N-1和

(1)第t方抽样选择

(2)第t方将1-级编码u

S4,根据密钥产生共享密钥,以使各参与方根据共享密钥交换信息。

进一步地,产生共享密钥阶段

(1)第t方产生一个κ-级编码u′

(2)第t方提取共享密钥

具体地,本发明利用NTL(一种高性能的可移植C++库,提供用于处理带符号的任意长度整数以及整数和有限域上的矢量,矩阵和多项式的数据结构和算法)函数库来实现基于多线性映射的多方密钥交换协议算法,并对算法的空间复杂性和执行时间复杂性进行评估。该系统主要在整系数n阶多项式上进行操作,算法执行时间大部分用于多项式的乘法和加法。此外,公钥初始化过程中,随机选取向量和在高斯分布上采样也需要一定的时间。所以,对这两方面进行优化就非常必要。系统采用C++语言,采用NTL自带的函数库进行相关数学操作。计算机硬件配置为主机四核3.10GHZ,4GB RAM。

在计算中,计算复杂性最高的多项式乘法采用快速傅里叶变换(FFT)算法来提高计算速度。NTL库函数经过优化,所以运行速度较快。当安全参数λ取值不同时,对应的安全等级、编码加法、乘法和提取算法所需时间如表1所示。

表1:安全参数不同时的各项指标

本方案安全级单位以比特位计算,根据分析,在λ选取不同参数时,本方案能够达到的安全级别为2

表2显示了λ在选取典型的值80,大素数q≈2

表2:公共参数和每个协商方k级编码所需的存储空间大小

经过多次测试,公共参数的建立,每个协商方生成编码、共享密钥的协商和提取算法的运行时间基本与理论分析的复杂性一致,随着多项式阶和大素数的增大,公共参数和编码所需存储空间不断增大,对应编码和提取时间也会相应加大。为获取比较快的应用速度,并且保证系统的安全,一般选择λ=80就可以满足实践需求。

对于该编码算法,下面给出安全性证明。

下面通过定理1和2给出上述nr-MPKE协议的正确性和安全性。

定理1.上述nr-MPKE中算法KeyGen产生的N个共享密钥sk

证明,对于任意t∈[N],根据提取算法Ext有

(1)计算产生第t方的“0”测试参数

其中d

(2)因为

其中x

又由x

x

其中d

所以,计算产生提取编码v

其中

根据参数设置可得,||h

因此,所有N方从各自提取码的每个系数中提取l=(log q)/8-λ个最有意义的比特位都相同的概率约为1-o(N2

证毕。

定理2.如果ext-GCDH/ext-GDDH问题难度假设成立,则nr-MPKE是一轮多方密钥交换协议。

证明,我们仅证明基于ext-GDDH难度假设的nr-MPKE协议,而略去基于ext-GCDH难度假设的证明,因为其与基于ext-GDDH的证明类似。

我们需要证明给定公共参数par和所有方发布的公钥u

反证法。给定{par,u

|Pr[A(sk

如果设p

其中

由引理知,元素[r

|Pr[B(sk

所以,我们有

|Pr[A(sk

同时,我们易于验证,

D

D

满足定义5中难度假设问题ext-GDDH。

所以,多项式时间算法A能够以不可忽略的概率优势(至少1/(2λ

综上所述,根据本发明实施例的基于多线性映射的一轮多方密钥交换协议,每个参与方使用新随机化构造的初始化算法产生各自的公共参数并发布;根据公共参数按照新随机化方法构造多线性映射并发布;根据多线性映射生成各参与方的密钥;根据密钥产生共享密钥,以使各参与方根据共享密钥交换信息。本发明基于随机化方法构造多线性映射,并基于该多线性映射生成密钥交换协议,使各参与方可以安全的交换信息,高效且安全。

此外,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的基于多线性映射的一轮多方密钥交换协议。

根据本发明实施例的非临时性计算机可读存储介质,存储在其上的计算机程序被处理器执行时,每个参与方使用新随机化构造的初始化算法产生各自的公共参数并发布,然后,根据公共参数按照新随机化方法构造多线性映射并发布,再根据多线性映射生成各参与方的密钥,最后根据密钥产生共享密钥,以使各参与方根据共享密钥交换信息,由此,基于随机化方法构造多线性映射,并基于该多线性映射生成密钥交换协议,使各参与方可以安全的交换信息,高效且安全。

此外,本发明还提出一种计算机设备,处理器运行存储在存储器上的计算机程序时,每个参与方使用新随机化构造的初始化算法产生各自的公共参数并发布,然后,根据公共参数按照新随机化方法构造多线性映射并发布,再根据多线性映射生成各参与方的密钥,最后根据密钥产生共享密钥,以使各参与方根据共享密钥交换信息,由此,基于随机化方法构造多线性映射,并基于该多线性映射生成密钥交换协议,使各参与方可以安全的交换信息,高效且安全。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 基于多线性映射的一轮多方密钥交换协议
  • 一种基于位置和口令的密钥交换协议
技术分类

06120112920362