The invention relates to a SM2 elliptic curve signature verification hardware system and method against differential power attack. The method of resisting differential power attack in the invention is applied to scalar multiplication. By adding the improved randomized scalar method to the point multiplication operation, the correlation between the real key information and the power curve is destroyed, and the difficulty of obtaining information by power analysis is greatly offset. The purpose of imperial power analysis is to ensure the security of differential power attack, thus playing a good role in resisting differential power attack; moreover, this method is simple and easy, and can be integrated into a variety of hardware devices such as encryption chips.
【技术实现步骤摘要】
一种抗差分功耗攻击的SM2椭圆曲线签名验签硬件系统及方法
本专利技术涉及SM2密码算法的
,尤其涉及到一种抗差分功耗攻击的SM2椭圆曲线签名验签硬件系统及方法。
技术介绍
信息安全问题是一个关乎国家主权及安全、社会稳定和民族文化传承的重要问题。其中的密码技术是保障信息安全的核心技术,是保证信息完整性、保密性和安全性不可缺少的技术。随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁,由于SM2算法安全性高、计算量小、处理速度快等优势,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线密码算法替换RSA算法。但是,随着椭圆曲线密码体系(Ellipticcurvecryptography,ECC)在信息安全领域的应用不断推广,针对ECC的密码攻击技术层出不穷。在众多攻击方法中,利用时间、功耗等旁路信息获取密码设备的相关密钥信息的旁路攻击(SideChannelAttacks,SCA)方式对密码芯片的安全造成了严重的威胁,其中功耗分析攻击最具威胁性和最有效的攻击方式,特别是对于安全芯片等硬件加密设备中加密算法的实现,因为功耗在密码设备加 ...
【技术保护点】
1.一种抗差分功耗攻击的SM2椭圆曲线签名验签硬件系统,其特征在于:包括SM2主控模块(1)、签名生成模块(2)、签名验证模块(3)、随机数发生器(4)、模运算模块(5)、密码杂凑模块(6)、点乘运算模块(7)以及点加运算模块(8);所述签名生成模块(2)和签名验证模块(3)均与SM2主控模块(1)连接,而随机数发生器(4)、模运算模块(5)、密码杂凑模块(6)、点乘运算模块(7)以及点加运算模块(8)均与所述签名生成模块(2)和签名验证模块(3)连接;其中,所述SM2主控模块(1)用于调用签名生成模块(2)和签名验证模块(3);所述签名生成模块(2)用于在接收到SM2主控 ...
【技术特征摘要】
1.一种抗差分功耗攻击的SM2椭圆曲线签名验签硬件系统,其特征在于:包括SM2主控模块(1)、签名生成模块(2)、签名验证模块(3)、随机数发生器(4)、模运算模块(5)、密码杂凑模块(6)、点乘运算模块(7)以及点加运算模块(8);所述签名生成模块(2)和签名验证模块(3)均与SM2主控模块(1)连接,而随机数发生器(4)、模运算模块(5)、密码杂凑模块(6)、点乘运算模块(7)以及点加运算模块(8)均与所述签名生成模块(2)和签名验证模块(3)连接;其中,所述SM2主控模块(1)用于调用签名生成模块(2)和签名验证模块(3);所述签名生成模块(2)用于在接收到SM2主控模块(1)发送的签名生成命令后,通过调用随机数发生器(4)、模运算模块(5)、密码杂凑模块(6)、点乘运算模块(7)以及点加运算模块(8),生成消息M的数字签名(r,s);所述签名验证模块(3)用于在接收到SM2主控模块(1)发送的签名验证命令后,通过调用随机数发生器(4)、模运算模块(5)、密码杂凑模块(6)、点乘运算模块(7)以及点加运算模块(8),验证签名生成的消息M'及其数字签名(r',s');所述随机数发生器(4)用于产生随机数k∈[1,n-1];所述模运算模块(5)用于进行模加、模减、模乘和模逆运算;所述密码杂凑模块(6)用于产生对于的密码杂凑值,通过调用SM3密码杂凑算法;所述点加运算模块(8)用于进行签名验签过程中需要进行的点加运算;所述点乘运算模块(7)用于进行签名验签过程中需要进行的点乘运算;点乘运算模块的具体算法中采用到三种算法,包括计算正整数的窗口宽度w的NAF算法,计算点乘的窗口NAF算法以及计算点乘的从左到右的二进制算法;当椭圆曲线的基点P为固定点时,点乘运算模块采用计算正整数的窗口宽度w的NAF算法以及计算点乘的窗口NAF算法;当椭圆曲线的基点P为不固定点时,点乘运算模块采用计算点乘的从左到右的二进制算法。2.一种用于权利要求1所述的抗差分功耗攻击的SM2椭圆曲线签名验签硬件系统的方法,其特征在于:签名生成的步骤如下:A1、输入用户A的原始数据,包括椭圆曲线系统参数a,b、阶n、基点G、公钥的杂凑值ZA、待签名的消息M、用户A的公钥PA、用户A的私钥dA;A2、计算在签名的生成过程之前,用密码杂凑函数对进行压缩;A3、调用密码杂凑模块的密码杂凑函数Hv,计算同时将e的数据类型转换成整数;A4、调用随机数发生器产生随机数k∈[1,n-1];A5、调用点乘运算模块计算椭圆曲线上的点(x1,y1)=[k]G,同时将x1的数据类型转换成整数;A6、调用模运算模块计算r=(e+x1)modn,若r=0或r+k=n则返回A4;A7、调用点乘运算模块、模运算模块和点加运算模块计算s=((1+dA)-1·(k-r·dA))modn,若s=0则返回A4;A8、将得到的r、s的数据类型转换为字符串,消息M的签名为(r,s);签名验证的步骤如下:B1、输入用户B的原始数据,包括椭圆曲线系统参数a,b、...
【专利技术属性】
技术研发人员:陆江城,张盛仕,胡湘宏,熊晓明,
申请(专利权)人:广东工业大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。