一种SM9标识密码算法的加速方法技术

技术编号:19150906 阅读:42 留言:0更新日期:2018-10-13 10:29
本发明专利技术设计一种针对国密SM9标识密码算法的加速方法,基于算法中12次扩域结构及特定数学性质,大幅度提高12次扩域中特定元素平方乘运算效率,主要应用于国密SM9标识密码算法软硬件实现领域,是利用数学性质提高密码实现效率的方法。SM9是国密发布的一种基于椭圆曲线对设计的标识密码算法,其安全关键在于椭圆曲线对的双线性特点,而双线性对运算数学上需要基域和扩域上的算法,SM9设计中采用的扩域通过塔式扩张得到,任何一次扩域上的运算都需要大量的基域运算作为基础,本发明专利技术通过研究双线性对运算过程中Miller算法特征和塔式扩张的特定结构,大幅度提高12次扩域中特定元素平方乘运算的实现效率,相比于基础12次扩域平方乘法,运算效率可提高近50%。

An acceleration method for SM9 identification cryptography algorithm

The invention designs an acceleration method for the state secret SM9 identification cryptography algorithm, which greatly improves the square multiplication efficiency of the specific elements in the 12 expansion domains based on the 12 expansion domain structure and the special mathematical properties of the algorithm. The method is mainly applied to the software and hardware implementation of the state secret SM9 identification cryptography algorithm, and improves the cryptography implementation by using the mathematical properties. Methods of efficiency. SM9 is a cryptographic algorithm based on elliptic curve pairs. The key to its security lies in the bilinear property of elliptic curve pairs. The arithmetic of bilinear pairs arithmetic needs the arithmetic of base field and extension field mathematically. By studying the characteristics of Miller algorithm and the special structure of pyramidal expansion in the bilinear pairing operation, the invention greatly improves the implementation efficiency of the square multiplication of specific elements in the twelve-order extension domain, and the operation efficiency can be improved by nearly 50% compared with the square multiplication of the twelve-order extension domain.

【技术实现步骤摘要】
一种SM9标识密码算法的加速方法
:本专利技术主要应用于国密SM9标识密码算法软硬件实现领域。
技术介绍
:国密SM9标识密码算法12次扩域平方乘加速方法主要基于两个方面:1.12次扩域采用塔式扩张结构:基于有限域Fp上的1-2-4-12塔式扩张结构:(1)(2)(3)其中,有限域Fp是模大素数p的有限域,有性质p2≡1(mod6);第(1)次进行二次扩张的约化多项式为:x2-α,α=-2;第(2)次进行二次扩张的约化多项式为:x2-u,u2=α,第(3)次进行三次扩张的约化多项式为:x3-v,v2=u,同时有ω3=v。2.双线性对运算中Miller算法后元素的特定阶:国密SM9标识算法关于椭圆曲线对计算过程中,在Miller算法最后对元素做了(p2+1)(p6-1)次幂,而由于塔式扩张结构可知,12次扩域中任何非零元的阶为p12-1,由于p12-1=(p2+1)(p6-1)(p4-p2+1)则做了(p2+1)(p6-1)次幂后元素的阶为(p4-p2+1)。
技术实现思路
:本专利技术基于上述两个背景,在对Miller算法后元素进行平方乘运算加速方法如下:记12次扩域中元素α=a+bω+cω2,其中a,b,c均为4次扩域中元素,记a=a0+a1v,其中a0,a1为2次扩域中元素,对于b,c同理(1)计算4次扩域中a2和计算记为A;(2)计算4次扩域中c2和计算记为B;(3)计算4次扩域中b2和计算记为C;(4)最后α2=A+Bω+Cω2。其中,转换至基域上的运算,普通的12次平方乘需要36次乘法和174次加法,而改进后的平方乘只需18次乘法和130次加法,效率提升近50%。12次扩域上平方乘运算效率分析表如下:注:12次扩域元素α=a+bω+cω2,其中a,b,c均为4次扩域中元素,若a=a0+a1v,则记其中a0,a1为2次扩域中元素,记α2=A+Bw+Cw2。附图说明:12次扩域上平方乘运算流程图。具体实施方式:如图1所示例:令α=a+bω+cω2,其中a,b,c均为4次扩域中元素,若a=a0+a1v,则记其中a0,a1为2次扩域中元素计算α2=A+Bω+Cω2其中,具体分析:构建6阶扩展群如下:其中q是正整数,且q≡1(mod6)。令α=(a0+a1v)+(b0+b1v)ω+(c0+c1v)ω2=a+bω+cω2其中a=a0+a1vb=b0+b1vc=c0+c1v则有α2=a2+2abω+(2ac+b2)ω2+2bcω3+c2ω4=(a2+2bcv)+(2ab+c2v)ω+(2ac+b2)ω2=A+Bω+Cω2其中A=a2+2bcvB=2ab+c2vC=2ac+b2观察发现vq=v2(q-1)/2·v=ξ(q-1)/2·v由于(ξ(q-1)/2)2=ξ(q-1)=1,且v2-ξ为本原多项式,ζ(q-1)/2=-1则vq=-vωq=ω3(q-1)/3·ω=v(q-1)/3·ω=v2(q-1)/6·ω=ξ(q-1)/6·ω引入6阶单位根δ,即δ6-1=0,δ2-1≠0,δ3-1≠0,则有ωq=δ·ω且由δ6-1=(δ2-1)(δ4+δ2+1)=0δ6-1=(δ3-1)(δ3+1)=0有(δ4+δ2+1)=0(δ3+1)=0由于(a+bv)q=a+bvq=a-bv若A=a+bv,则记若令q=p2,将12次扩域看作6次多项式扩展,则miller循环外幂次后元素阶为(q2-q+1),将此元素记为α,有即将上方α表达式带入有展开合并后等式右侧为0,左侧多项式ω多项式常数项为:一次项为:二次项为:多项式为0,即各项系数为0,可得:将其带入A,B,C表达式有:。本文档来自技高网...

【技术保护点】
1.一种SM9标识密码算法的加速方法,其特征在于对于任何一次双线性对运算过程中Miller算法后需要大量12次扩域上元素的幂次运算,此加速幂次算法步骤如下:记12次扩域中元素α=a+bω+cω

【技术特征摘要】
1.一种SM9标识密码算法的加速方法,其特征在于对于任何一次双线性对运算过程中Miller算法后需要大量12次扩域上元素的幂次运算,此加速幂次算法步骤如下:记12次扩域中元素α=a+bω+cω2,其中a,b,c均为4次扩域...

【专利技术属性】
技术研发人员:李丹徐茂智
申请(专利权)人:北京中电华大电子设计有限责任公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1