基于单标量分段乘快速计算的椭圆曲线验签方法及系统技术方案

技术编号:39575062 阅读:9 留言:0更新日期:2023-12-03 19:27
本发明专利技术公开了一种基于单标量分段乘快速计算的椭圆曲线验签方法及系统,该方法包括椭圆曲线数字签名步骤和椭圆曲线数字验签步骤;椭圆曲线数字签名步骤和椭圆曲线数字验签步骤中的单标量乘计算过程包括:获取椭圆曲线上

【技术实现步骤摘要】
基于单标量分段乘快速计算的椭圆曲线验签方法及系统


[0001]本专利技术涉及数字签名
,尤其涉及一种基于单标量分段乘快速计算的椭圆曲线验签方法及系统


技术介绍

[0002]本部分的陈述仅仅是提到了与本专利技术相关的
技术介绍
,并不必然构成现有技术

[0003]椭圆曲线密码
(ECC,Elliptic Curve Cryptography)
算法是一种公钥密码学算法,是近年来发展迅速的密码学分支,它基于数论中的椭圆曲线理论,能够在比基于离散对数问题的密码系统
(

E1Gamal
密码系统或
DSA、RSA
密码系统等
)
更小的有限域中构建椭圆曲线密码系统

在保持相同安全强度的情况下,
ECC
相比于其他密码系统可以大大减少所需计算量

存储空间和数据流量等方面的开销

椭圆曲线密码算法是身份认证

密钥协商

区块链等应用的核心基础算法

[0004]椭圆曲线数字签名算法在实现数字签名和验签的过程中效率低下,浪费计算机内部大量的计算资源,因此,提高公钥密码算法的计算速度是公钥密码算法的研究热点

利用
ECC
算法加密

解密

签名

验签,最主要和最耗时的运算是标量乘法
r/>标量乘法是指给定一个整数
m(
标量
)
和椭圆曲线上的一个点
P(
基点
)
,求另外一个点
mP
的运算

近年来,
ECC
中的标量乘法运算是许多学者研究的重要方向之一

目前有多种主流单标量乘算法,如倍点

点加二进制算法

非相邻表示型
NAF
算法

带窗口的非邻接表示型算法等,目前主流单标量乘算法的核心思想是通过降低单标量的平均汉明密度来减少
ECC
中的额外运算,但是,现有单标量乘算法为了避免重复计算,往往需要提前计算多个点并存储,这将进一步提高时间复杂度,增加内存需求,在资源受限的环境中无法应用

[0005]即,现有的椭圆曲线数字签名算法
(
如上所述的多种主流算法
)
的计算方式提高了时间的复杂度,存储空间较大,数字签名算法在芯片上运行时对芯片的功耗较大,数字签名过程速度慢,影响用户体验


技术实现思路

[0006]为解决上述现有技术的不足,本专利技术提供了一种基于单标量分段乘快速计算的椭圆曲线验签方法及系统,通过对数字签名算法中的单标量乘运算进行优化,极大降低数字签名和数字验签过程的存储空间,使得数字签名算法在芯片上运行的功耗小,提升系统的整体性能,提高用户体验

[0007]第一方面,本公开提供了一种基于单标量分段乘快速计算的椭圆曲线验签方法

[0008]一种基于单标量分段乘快速计算的椭圆曲线验签方法,包括椭圆曲线数字签名步骤和椭圆曲线数字验签步骤;所述椭圆曲线数字签名步骤和椭圆曲线数字验签步骤中的单标量乘计算过程,包括:
[0009]获取椭圆曲线上
256bit
的固定点
G
坐标,将固定点
G
坐标平均划分为
64bit
的四段,得到四组联合坐标表;
[0010]获取标量系数
K
,将标量系数
K
平均划分为四组并进行数据处理,得到四组联合系数表;
[0011]对坐标表和系数表进行逐位计算,得到单标量乘结果

[0012]第二方面,本公开提供了一种基于单标量分段乘快速计算的椭圆曲线验签系统

[0013]一种基于单标量分段乘快速计算的椭圆曲线验签系统,包括椭圆曲线数字签名模块和椭圆曲线签名验签模块;所述椭圆曲线数字签名模块和椭圆曲线数字验签模块中的单标量乘计算过程包括:
[0014]预处理单元,其配置为:获取椭圆曲线上
256bit
的固定点
G
坐标,将固定点
G
坐标平均划分为
64bit
的四段,得到四组联合坐标表;
[0015]处理单元,其配置为:获取标量系数
K
,将标量系数
K
平均划分为四组并进行数据处理,得到四组联合系数表;
[0016]逐位计算单元,其配置为:对坐标表和系数表进行逐位计算,得到单标量乘结果

[0017]第三方面,本公开还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述方法的步骤

[0018]第四方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述方法的步骤

[0019]以上一个或多个技术方案存在以下有益效果:
[0020]1、
本专利技术提供了一种基于单标量分段乘快速计算的椭圆曲线验签方法及系统,将单标量分段并通过四组联合表示,按照一定规则进行替换的快速计算方法,大幅度降低了标量乘法执行过程中点加
ADD
的运算量,由存储
325
个点
、20K
字节的存储空间,减少为存储
81
个点
、5K
字节存储空间,极大的减少计算过程中存储空间的占用量

[0021]2、
本专利技术中,将点加运算
ADD
与倍点运算
DOUBLE
组合,进一步降低计算复杂度,与现有技术相比,本专利技术具有速度快

内存和存储占用少的优势

附图说明
[0022]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定

[0023]图1为本专利技术实施例所述基于单标量分段乘快速计算的椭圆曲线验签方法的流程图

具体实施方式
[0024]应该指出,以下详细说明都是示例性的,仅是为了描述具体实施方式,旨在对本专利技术提供进一步的说明,并非意图限制根据本专利技术的示例性实施方式

除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义

此外,还应当理解的是,当在本说明书中使用术语“包含”和
/
或“包括”时,其指明存在特征
本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种基于单标量分段乘快速计算的椭圆曲线验签方法,其特征是,包括椭圆曲线数字签名步骤和椭圆曲线数字验签步骤;所述椭圆曲线数字签名步骤和椭圆曲线数字验签步骤中的单标量乘计算过程包括:获取椭圆曲线上
256bit
的固定点
G
坐标,将固定点
G
坐标平均划分为
64bit
的四段,得到四组联合坐标表;获取标量系数
K
,将标量系数
K
平均划分为四组并进行数据处理,得到四组联合系数表;对坐标表和系数表进行逐位计算,得到单标量乘结果
。2.
如权利要求1所述的基于单标量分段乘快速计算的椭圆曲线验签方法,其特征是,所述获取标量系数
K
,将标量系数
K
平均划分为四组并进行数据处理,得到四组联合系数表,包括:获取标量系数
K
,将标量系数
K
以二进制的格式展开四组联合,获取初始的四组联合系数表;针对初始的四组联合系数表,按照从高位到低位的顺序扫描系数表的全部列;判断扫描的每列中的四组元素数是否均满足预设条件,若均满足,则进行替换操作;对所有列完成替换操作后,输出最终的四组联合系数表
。3.
如权利要求2所述的基于单标量分段乘快速计算的椭圆曲线验签方法,其特征是,获取标量系数
K
,将标量系数
K
以二进制的格式展开四组联合,获取初始的四组联合系数表,包括:设定数组
a[4][65]

abc[4][65]
,且每一数组中的数据类型均为整形;将获取的标量系数
K
以二进制的格式展开为四组联合数组
K[n]>>1
,将四组联合数组
K[n]
分别与二进制格式的1进行按位与操作,将操作结果分别保存至数组
a[n][i]
中,其中
0<

n<4

0<

i<64
;针对数组
a[n][i]
,首先将每个
n
从0到3循环,将
a[n][63]
赋值给
abc[n][64]
;其次将每个
i

63
到1循环,且每个循环中将每个
n
从0到3循环,将
a[n][i

1]

a[n][i]
的结果赋值给
abc[n][i]
;最后,将每个
n
从0到3循环,将

a[n][0]
的值赋给
abc[n][0]
,最终得到的数组
abc[4][65]
即为初始的四组联合系数表
。4.
如权利要求2所述的基于单标量分段乘快速计算的椭圆曲线验签方法,其特征是,针对初始的四组联合系数表,按照从高位到低位的顺序扫描系数表的全部列,包括:设定变量
sts0、sts1、sts2
,且变量的初始值均为0;从
abc
数组的左边第
64
位开始扫描系数表的全部列,在每一行中,根据当前扫描的第
i
列的元素值进行计数;所述计数分为两种情况:特定情况下:若当前扫描第
i
列的四个元素值存在元素值为0,则变量
sts0
加1,否则
sts0
不变;若当前扫描第
i
列的四个元素值分别对应乘第
i
‑1列四个元素值,所得到的四个值中存在值为
‑1,则变量
sts1
加1,否则
sts1
不变;非特定情况下:若当前扫描第
i
列的四个元素值存在元素值为0,则变量
sts0
加1,否则
sts0
不变;若当前扫描第
i
‑1列的四个元素值为0且第
i
列的四个元素值与第
i
‑2列的四个元素值相乘所得值中存在值为
‑1,则变量<...

【专利技术属性】
技术研发人员:高绍锋付勇王坤陈丽娟
申请(专利权)人:齐鲁工业大学山东省科学院
类型:发明
国别省市:

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

1