【技术实现步骤摘要】
国密SM2算法中点加与倍点的单乘法器无缝调度方法
本专利技术涉及信息安全
,特别涉及一种国密SM2算法中点加与倍点的单乘法器无缝调度方法。
技术介绍
椭圆曲线密码学是构建公钥密码体制的重要组成部分。国密SM2签名验签、加密解密协议属于椭圆曲线密码学的范畴,其计算主体是椭圆曲线上的单点乘和双点乘,因而点乘的时间开销直接影响着顶层协议的执行速度。点乘向下可以细分为一系列的倍点和点加运算,这两种运算都定义在椭圆曲线上,计算过程较为复杂,因而通过合理调度乘法器硬件单元,设计低时钟周期的倍点和点加过程并使两种运算可以无缝衔接对于提升顶层签名验签、加密解密协议时间性能具有重要意义。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种国密SM2算法中点加与倍点的单乘法器无缝调度方法,该方法通过合理调度单个256位乘法器可以在8个时钟周期完成雅克比坐标下倍点过程,同时可以在11个时钟周期内完成雅克比仿射混合点加过程。本专利技术的另一个目的 ...
【技术保护点】
1.一种国密SM2算法中点加与倍点的单乘法器无缝调度方法,其特征在于,包括以下步骤:/n获取雅克比投影坐标下的SM2椭圆曲线方程;/n根据倍点调度方案对所述SM2椭圆曲线方程上的点P=(X
【技术特征摘要】
1.一种国密SM2算法中点加与倍点的单乘法器无缝调度方法,其特征在于,包括以下步骤:
获取雅克比投影坐标下的SM2椭圆曲线方程;
根据倍点调度方案对所述SM2椭圆曲线方程上的点P=(X1:Y1:Z1),倍点R=2P=(X3:Y3:Z3)进行调度计算;
根据点加调度方案对所述SM2椭圆曲线方程上的点P=(X1:Y1:Z1),Q=(X2:Y2:1),点加R=P+Q=(X3:Y3:Z3)进行调度计算;
将倍点和点加的调度计算过程映射到两级流水倍点和点加硬件计算架构中。
2.根据权利要求1所述的方法,其特征在于,所述雅克比投影坐标下的SM2椭圆曲线方程为Y2=X3-3XZ4+bZ6,对于P=(X1:Y1:Z1)且满足P≠-P,倍点R=2P=(X3:Y3:Z3),各坐标计算公式为:
X3=(3X12-3Z14)2-8X1Y12;
Y3=(3X12-3Z14)(4X1Y12-X3)-8Y14;
Z3=2Y1Z1;
对P=(X1:Y1:Z1),Q=(X2:Y2:1),点加R=P+Q=(X3:Y3:Z3),各坐标计算公式为:
X3=(Y2Z13-Y1)2-(X2Z12-X1)2(X1+X2Z12);
Y3=(Y2Z13-Y1)(X1(X2Z12-X1)2-X3)-Y1(X2Z12-X1)3;
Z3=(X2Z12-X1)Z1。
3.根据权利要求1所述的方法,其特征在于,对于所述SM2椭圆曲线方程上的单个点P进行倍点调度计算消耗的周期为8个,对于所述SM2椭圆曲线方程上的单个点P、Q,进行点加调度计算消耗的周期为11个。
4.根据权利要求1所述的方法,其特征在于,所述两级流水倍点和点加硬件计算架构包括:乘法器,包括多个寄存器的寄存器堆,约减单元和模加减器。
5.根据权利要求4所述的方法,其特征在于,根据倍点调度方案对所述SM2椭圆曲线方程上的点P=(X1:Y1:Z1),倍点R=2P=(X3:Y3:Z3)进行调度计算,包括:
所述寄存器堆包括14个寄存器R1-R14,点P=(X1:Y1:Z1),倍点R=2P=(X3:Y3:Z3)计算为:
初始化寄存器堆中R10=X1,R12=Y1,R14=Z1,R13=Z12;
周期0:R1=R10+R13=X1+Z12
周期1:R5=2R12R12=2Y12;周期1:R3=3R10-3R13=3X1-3Z12
周期2:R7=R1R3=3(X12-Z14)
周期3:R2=2R10R5=4X1Y12
周期4:R4=R7R7=(3X12-3Z14)2
周期5:R6=2R5R5=8Y14
周期6:R13=2R5R13=4Y12Z12;周期6:R1=3R2-R4=12X1Y12-(3X12-3Z14)2
周期7:R12=R7R1-R6=3(X12-Z14)(12X1Y12-(3X12-3Z14)2)-8Y14;
周期7:R10=R4-2R2=(3X12-3Z14)2-8X1Y12
周期8:R14=2R12R14=2Y1Z1
计算结果X3,Y3,Z3,Z32分别保存在R10,R1...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。