一种基于随机素数的双通道交换的超奇异椭圆曲线算法的密
钥交换方法
技术领域
背景技术
[0002] 物联网安全领域主要采用
基础加密算法进行
数据处理,包括对称加密算法和非对称加密算法两种。
[0003] 而对称加密只能进行数据加密,应用场景少且抗攻击性差,不能保证安全性和可靠性,因此非对称加密算法是一个常用的选择。其中椭圆曲线类加密算法应用较多。物联网系统中应用椭圆曲线加密算法进行数据加密主要面对以下两个问题:
[0004] 1、物联网设备受资源影响计算能
力有限,导致椭圆曲线类算法计算效率低下;
[0005] 2、现有椭圆加密曲线算法只能抵抗普通类型的攻击,对于量子攻击无法实现抵抗。
发明内容
[0006] 本发明要解决的技术问题在于:克服现有的物联网系统中应用椭圆曲线加密算法进行数据加密导致椭圆曲线类算法计算效率低下、无法抵抗量子攻击的
缺陷,提出
一种基于随机素数的双通道交换的超奇异椭圆曲线算法的密钥交换方法,该算法作为一种后量子加密算法,可以很好抵抗量子攻击。同时,本发明对密钥交换的流程和相关算法范式上进行了优化和改进,简化了密钥交换所消耗的资源量,以达到提高加密算法效率的目标。
[0007] 为了解决上述技术问题,本发明提出下列技术方案:一种基于随机素数的双通道交换的超奇异椭圆曲线算法的密钥交换方法,直接在初始化曲线上进行互运算点的定义,在初始化曲线E0(Fp):y2=x3+6x2+x,四个点P2、Q2、P3、Q3的计算直接采用初始化曲线函数,即f=x3+6x2+x带入方程进行特征点求解,此处c是素数集合中最小的非负整数,具体四点的计算公式如下所示:
[0008]
[0009]
[0010]
[0011]
[0012] 此处 Q3∈E0(FP),通过初始化公式直接得到的四个点P2、Q2、P3、Q3将通过互运算作为SIKE加密算法的公共参数进行密钥分配;
[0013] 通过交换参数的方式实现倍点运算的优化,直接通过引入两组随机素数系数mA、mB和nA、nB进行近似求解;
[0014] 通过随机素数系数进行近似求解,求解计算函数如下所示:
[0015] φ:E→E/ (公式9)
[0016] R=<[m]P+[n]Q> (公式10)
[0017] φA:E0→EA=E0/<[mA]P2+[nA]Q2> (公式11)
[0018] φB:E0→EB=E0/<[mB]P3+[nB]Q3> (公式12)
[0019] 通过以上计算后得到φA、φB,并得到RAB、RBA,并通过公式15、16的互运算得到中间态φ'A、φ'B;
[0020] RAB=<[mA]φB(P2)+[nA]φB(Q2)> (公式13)
[0021] RBA=<[mB]φA(P3)+[nB]φA(Q3)> (公式14)
[0022] φ'A:EB→EAB (公式15)
[0023] φ'B:EA→EBA (公式16)
[0024] 最后通过2通道进行交换,Alice得到EAB,Bob得到EBA,
[0025] EAB=EB/<([mA]φB(P2)+[nA]φB(Q2))> (公式17)
[0026] EBA=EA/<([mB]φA(P3)+[nB]φA(Q3))> (公式18)。
[0027]
[0028] 与
现有技术相比,本发明具有下列有益效果:
[0029] 1、通过以上交换函数求解过程进行优化之后,在降低一定安全性的前提下,超奇异自同态密钥交换算法(SIKE算法)的密钥交换复杂度实现了大幅度下降,整体效率得到大幅度提升,从而能够实现针对有限物联网网关有限计算能力的前提下实现抗
量子计算攻击。
[0030] 2、通过本发明所提出的超奇异椭圆曲线加密算法的优化,将从计算开销方面实现优化,具体可以达到的效果如下:在密钥交换等通信阶段计算开销降低值≥32%。
附图说明
[0031] 图1是现有技术的具体密钥交换方式图。
[0032] 图2是本发明基于随机素数的双通道密钥交换过程图。
具体实施方式
[0033] 现有的超奇异自同态密钥交换算法,主要集中在应用在特征2或者3域上标量乘法法,特别是在公有制密钥交换过程中(传统的Alice&Bob交换方式),同时使用这两种标量曲线进行互运算,从而实现抗击量子攻击的效果。超奇异椭圆加密曲线的密钥交换过程从本质上讲是初始化曲线上(分别是特征2和特征3的曲线)已知定义点的互运算,而这已知点就是曲线上所定义的点。
[0034] 首先基于特征2定义两个点分别为P2、Q2,此处 以上两个e2 e2
点均存在于离散素数集2 中,并构成的组合{P2,Q2}属于E0[2 ]。
[0035] 同样基于特征3定义两个点分别是P3、Q3,此处 Q3∈E0(FP),以e3 e3
上两个点均存在于离散素数集3 中,并构成组合{P3,Q3}属于E0[3 ]。
[0036] 在具体的密钥分配过程中,Alice导入私钥基于特征2的函数为sk2,而Bob获取私钥采用基于特征3的sk3。sk2、sk3两个函数分别通过EA、EB双曲线进行密钥分配运算。
[0037]
[0038]
[0039] 通过以上计算后,通过6通道进行交换,Alice得到EAB,Bob得到EBA。
[0040]
[0041]
[0042] 具体密钥交换方式如图1所示。
[0043] 基于以上对于Diffie-Hellman体制的密钥交换运算主要采用六路密钥数据处理进行求解,其计算复杂度主要集中在倍点运算和数据交换两个过程,即采用协议的
迭代和交换中间数据来实现运算。
[0044] 因此,本发明针对密钥交换的求解过程进行优化,对起始点互运算求解和交换过程分别进行简化,提出一种基于随机素数的双通道交换的超奇异椭圆曲线算法的密钥交换方法。
[0045] 主要特点在于:
[0046] 1.直接在初始化曲线上进行互运算点的定义;
[0047] 2.直接通过引入两组随机素数系数mA、mB和nA、nB进行近似求解,可以大幅度减少特征点系数的运算开销;
[0048] 3.通过两通道计算代替六通道计算交换完成整个密钥交换过程。
[0049] 本发明基于随机素数的双通道交换的超奇异椭圆曲线算法的密钥交换方法的具体过程如下:
[0050] 首先为了简化交换过程,直接在初始化曲线上进行互运算点的定义。在初始化曲线E0(Fp):y2=x3+6x2+x,以上四个点的计算直接采用初始化曲线函数,即f=x3+6x2+x带入方程进行特征点求解,此处c是素数集合中最小的非负整数,具体四点的计算公式如下所示。
[0051]
[0052]
[0053]
[0054]
[0055] 此处 Q3∈E0(FP)。通过初始化公式直接得到的四个点P2、Q2、P3、Q3将通过互运算作为SIKE加密算法的公共参数进行密钥分配。
[0056] 通过以上参数点的优化,密钥分配过程也将进一步得到简化,提出一种基于随时素数通道的密钥交换过程。
[0057] 通过交换参数的方式实现倍点运算的优化,不同于公式4、5所提出的通过指数运算得到的sk2、sk3两个函数,直接通过引入两组随机素数系数mA、mB和nA、nB进行近似求解,这是本发明一个重要创新,可以大幅度减少特征点系数的运算开销;
[0058] 通过随机素数系数进行近似求解,根据上一章节通过高阶自同态计算得到的φA、φB的求解的方式实现交换;求解计算函数如下所示:
[0059] φ:E→E/ (公式9)
[0060] R=<[m]P+[n]Q> (公式10)
[0061] φA:E0→EA=E0/<[mA]P2+[nA]Q2> (公式11)
[0062] φB:E0→EB=E0/<[mB]P3+[nB]Q3> (公式12)
[0063] 通过以上计算后得到φA、φB,并得到RAB、RBA,并通过公式15、16的互运算得到中间态φ'A、φ'B;
[0064] RAB=<[mA]φB(P2)+[nA]φB(Q2)> (公式13)
[0065] RBA=<[mB]φA(P3)+[nB]φA(Q3)> (公式14)
[0066] φ'A:EB→EAB (公式15)
[0067] φ'B:EA→EBA (公式16)
[0068] 最后通过2通道进行交换,Ailce得到EAB,Bob得到EBA。
[0069] EAB=EB/<([mA]φB(P2)+[nA]φB(Q2))> (公式17)
[0070] EBA=EA/<([mB]φA(P3)+[nB]φA(Q3))> (公式18)
[0071] 根据以上交换过程,设计了如图2所示的密钥交换过程。通过以上交换函数求解过程进行优化之后,在降低一定安全性的前提下,超奇异自同态密钥交换算法(SIKE算法)的密钥交换复杂度实现了大幅度下降,整体效率得到大幅度提升,从而能够实现针对有限物联网网关有限计算能力的前提下实现抗量子计算攻击。