当前位置: 首页 > 专利查询>浙江大学专利>正文

一种抗制造技术

技术编号:39772895 阅读:9 留言:0更新日期:2023-12-22 02:22
本发明专利技术公开了一种抗

【技术实现步骤摘要】
一种SPA攻击的高性能ECDSA系统点乘计算方法及点乘架构


[0001]本申请涉及密码学
,尤其涉及一种抗
SPA
攻击的高性能
ECDSA
系统点乘计算方法及点乘架构


技术介绍

[0002]ECC
椭圆曲线密码系统凭借其更小的存储空间,更低的传输带宽要求以及更短的密钥长度成为目前使用最广泛的公钥密码系统之一


RSA
密码系统相同,都需要进行复杂的计算来保证其安全性,但
ECC
算法能够在更少的资源消耗前提下提供相同级别的加密强度

随着用户对于密码系统的需求不断提高,高性能以及高安全性成为
ECC
密码系统研究的重点

[0003]ECC
密码系统具有非常严格的层级结构,自顶向下可以分为三个计算层级:协议层

点运算层和模运算层

点运算层是核心计算层级,其核心点乘计算需要根据输入数据循环调用点加计算和倍点计算,计算时间超过总计算时间的
90
%;点加和倍点计算过程数据存在明显的前后关系,数据之间依赖较大,计算并行度较低,因此,实现高性能
ECC
密码系统的关键在于提高点乘计算的计算速度以及提高点加和倍点计算的并行度

[0004]在提高
ECC
密码系统计算效率的同时,计算过程是否安全也是研究者的重要研究方向

简单功耗攻
SPA(Simple PowerAttack)
是针对
ECDSA
数字签名系统攻击效率最高的一种攻击方式;
SPA
攻击是通过分析计算过程中点加和倍点计算的功耗差,从而暴露点乘计算中常数
k
的二进制分布情况,进而影响整个
ECDSA
系统的安全性能

对于
ECDSA
密码系统的设计中,针对
SPA
攻击的抵御措施是十分重要的


技术实现思路

[0005]本申请实施例的目的是提供一种抗
SPA
攻击的高性能
ECDSA
系统点乘计算方法及点乘架构,以解决相关技术中存在的计算效率低,并行度低,安全性能差等技术问题

[0006]根据本申请实施例的第一方面,提供一种抗
SPA
攻击的高性能
ECDSA
点乘计算方法,所述
ECDSA
包括数字签名系统和数字签名验证系统,包括:
[0007]根据用户指令确定点乘计算类型,若执行数字签名操作,则调用执行固定点点乘器,否则调用执行随机点点乘器;所述固定点点乘器应用于
ECDSA
数字签名系统;所述随机点点乘器应用于
ECDSA
数字签名验证系统;
[0008]其中调用执行固定点点乘器包括:获取常数
k
以及基点
G
,预计算基点
G
的部分倍点结果,将基点
G
的预计算倍点结果从直角坐标系转化至加重射影坐标系下;对常数
k
进行
NAF
编码,使用二进制点乘算法,根据编码后的
NAF(k)
序列进行固定点点乘计算
P

kG

[0009]其中调用执行随机点点乘器包括:获取常数
u
以及随机公钥
Q
,将随机公钥
Q
的直角坐标转化至加重射影坐标系下;使用蒙哥马利阶梯点乘算法,根据常数
u
进行随机点点乘计算
P

uQ

[0010]点乘计算结束后将加重射影坐标系下的点坐标转化回直角坐标系下并输出点乘
计算结果

[0011]根据本申请实施例的第二方面,提供一种抗
SPA
攻击的高性能
ECDSA
系统点乘计算装置,所述
ECDSA
系统包括数字签名系统和数字签名验证系统,包括:
[0012]点乘控制模块,用于根据用户指令确定点乘计算类型,若执行数字签名操作,则调用执行固定点点乘器,否则调用执行随机点点乘器;所述固定点点乘器应用于
ECDSA
数字签名系统;所述随机点点乘器应用于
ECDSA
数字签名验证系统;
[0013]其中调用执行固定点点乘器包括:获取常数
k
以及基点
G
,预计算基点
G
的部分倍点结果,将基点
G
的预计算倍点结果从直角坐标系转化至加重射影坐标系下;对常数
k
进行
NAF
编码,使用二进制点乘算法,根据编码后的
NAF(k)
序列进行固定点点乘计算
P

kG

[0014]其中调用执行随机点点乘器包括:获取常数
u
以及随机公钥
Q
,将随机公钥
Q
的直角坐标转化至加重射影坐标系下;使用蒙哥马利阶梯点乘算法,根据常数
u
进行随机点点乘计算
P

uQ

[0015]坐标转化模块,用于点乘计算结束后将加重射影坐标系下的点坐标转化回直角坐标系下并输出点乘计算结果

[0016]根据本申请实施例的第三方面,提供一种电子设备,包括:
[0017]一个或多个处理器;
[0018]存储器,用于存储一个或多个程序;
[0019]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法

[0020]本申请的实施例提供的技术方案可以包括以下有益效果:
[0021]由以上技术方案可知,本申请采用了固定点和随机点分离的手段对
ECDSA
的点乘计算及进行了设计,分别应用在
ECDSA
数字签名系统中和数字签名验证系统中;采用了预计算的方式,克服了
ECDSA
算法硬件实现过程中的计算效率低和并行度低的技术问题;采用了虚拟操作以及蒙哥马利阶梯算法,克服了常规
ECDSA
算法无法抵御
SPA
攻击的技术问题;采用了加重射影坐标系下的高并行度的点加和倍点计算架构,减少了计算过程中点加计算和倍点计算的最大路径延时,进一步降低
ECDSA
点乘计算的计算时间;本申请的
ECDSA
点乘计算方法及架构具有较低的计算复杂度和较高的并行度,能够完全抵御对
ECDSA
算法进行的
SPA
攻击;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种抗
SPA
攻击的高性能
ECDSA
点乘系统计算方法,所述
ECDSA
系统包括数字签名系统和数字签名验证系统,其特征在于,包括:根据用户指令确定点乘计算类型,若执行数字签名操作,则调用执行固定点点乘器,否则调用执行随机点点乘器;所述固定点点乘器应用于
ECDSA
数字签名系统;所述随机点点乘器应用于
ECDSA
数字签名验证系统;其中调用执行固定点点乘器包括:获取常数
k
以及基点
G
,预计算基点
G
的部分倍点结果,将基点
G
的预计算倍点结果从直角坐标系转化至加重射影坐标系下;对常数
k
进行
NAF
编码,使用二进制点乘算法,根据编码后的
NAF(k)
序列进行固定点点乘计算
P

kG
;其中调用执行随机点点乘器包括:获取常数
u
以及随机公钥
Q
,将随机公钥
Q
的直角坐标转化至加重射影坐标系下;使用蒙哥马利阶梯点乘算法,根据常数
u
进行随机点点乘计算
P

uQ
;点乘计算结束后将加重射影坐标系下的点坐标转化回直角坐标系下并输出点乘计算结果
。2.
根据权利要求1所述的方法,其特征在于,所述
ECDSA
系统包括数字签名系统和数字签名验证系统,包括:数字签名系统中的点乘计算为对基点
G
的固定点点乘
P

kG
,数字签名验证系统中的点乘计算主要为随机公钥
Q
的随机点点乘
P

uQ。3.
根据权利要求1所述的方法,其特征在于,获取常数
k
以及基点
G
,预计算基点
G
的部分倍点结果,将基点
G
的预计算倍点结果从直角坐标系转化至加重射影坐标系下,包括:从用户端获取常数
k

k
为用户独享的私钥;预计算基点
G
的2的整数幂倍点坐标在直角坐标系下的坐标值,存入预计算表中,等待进行点乘计算;将基点
G
的预计算倍点结果从直角坐标系转化至加重射影坐标系下,映射关系为
(x,y)

(X/Z2,Y/Z3,Z)
,使用坐标
Z
=1将直角坐标系下的点坐标直接映射至加重射影坐标系
。4.
根据权利要求1所述的方法,其特征在于,对常数
k
进行
NAF
编码,包括:步骤
A1、

i
=0并读取常数
k

i
为循环次数;步骤
A2、

k
为奇数,计算
k
i
=2‑
k[1:0]
;若
k
为偶数,令
k
i
=0;步骤
A3、
计算
k

k

k
i
,步骤
A4、
计算
k

k/2
;步骤
A5、
判断
k
是否为0,若不为0则循环执行步骤
A2
至步骤
A4
,否则编码结束,返回
NAF(k)

{k
i
‑1,
...

k1,
k0}。5.
根据权利要求1所述的方法,其特征在于,使用二进制点乘算法,根据编码后的
NAF(k)
序列进行固定点点乘计算
P

kG
,包括:步骤
B1、
对点乘计算
kG
中的常数
k
进行
NAF
编码;步骤
B2、
由低至高扫描四个编码后的序列
NAF(k)
数据,将数据分为两路分别处理,根据扫描到的数据排列从预计算表中读取对应的点坐标,并将读取的点坐标由直角坐标系转化至加重射影坐标系;步骤
B3、
每路计算过程中包括实际变量
P
,虚拟变量
P

以及基点
G
,根据收到的两个
NAF(k)
确定相应的点计算操作,包括:
若两个
NAF(k)
全为0,计算
P


P

+G
;若两个
NAF(k)
中非0位为正,计算
P

P+2
i
G
;若两个
NAF(k)
中非0位为负,计算
P

【专利技术属性】
技术研发人员:张培勇任宇
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1