CN112131613B - 一种针对sm2算法的掩码运算方法及装置 - Google Patents

一种针对sm2算法的掩码运算方法及装置 Download PDF

Info

Publication number
CN112131613B
CN112131613B CN202010966633.3A CN202010966633A CN112131613B CN 112131613 B CN112131613 B CN 112131613B CN 202010966633 A CN202010966633 A CN 202010966633A CN 112131613 B CN112131613 B CN 112131613B
Authority
CN
China
Prior art keywords
point
random number
module
verification
mask operation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010966633.3A
Other languages
English (en)
Other versions
CN112131613A (zh
Inventor
彭金辉
雷宗华
王阳阳
刘武忠
卫志刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Xinda Jiean Information Technology Co Ltd
Original Assignee
Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Xinda Jiean Information Technology Co Ltd filed Critical Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority to CN202010966633.3A priority Critical patent/CN112131613B/zh
Publication of CN112131613A publication Critical patent/CN112131613A/zh
Application granted granted Critical
Publication of CN112131613B publication Critical patent/CN112131613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种针对SM2算法的掩码运算方法及装置,掩码运算方法是通过预置点和随机数的方式将进行[k]G运算中的随机数k进行掩盖,SM2算法运算过程中[k]G计算具体包括:在芯片内部预置点P0=[r‑1]G和第一随机数r;P0为有限域椭圆曲线上的点,G为椭圆曲线上的基点;在芯片内部生成第二随机数d;通过第一随机数r和第二随机数d计算生成第三随机数k=d·r‑1;计算生成点P1=[k]G=[d·r‑1]G=[d]·[r‑1]G=[d]P0,掩码运算装置包括预置模块、随机数生成模块、随机数运算模块和点乘运算模块;本发明能够增强真实参数信息k和功耗分析获取信息的破解难度,有效应对功耗分析攻击。

Description

一种针对SM2算法的掩码运算方法及装置
技术领域
本发明属于SM2密码算法的技术领域,具体涉及一种针对SM2算法的掩码运算方法及装置。
背景技术
随着密码技术和计算技术的不断发展,目前常用的1024位公钥密码算法RSA面临严重威胁,由于SM2算法安全性高、计算量小、处理速度快等优势,我们国家密码管理部门经过研究,决定采用SM2椭圆曲线密码算法替换RSA算法。相对于RSA算法,在达到相同的安全强度前提下,SM2算法所需要的密钥长度更短,硬件实现更为简单。
SM2密码算法在理论上是十分安全的,但是在实现过程中要考虑到近些年新兴起的密码分析手段,在众多攻击方法中,利用时间、功耗等旁路信息获取密码设备的相关密钥信息的旁路攻击方式对密码芯片的安全造成了严重的威胁,其中功耗分析攻击最具威胁性和最有效的攻击方式,特别是对于安全芯片等硬件加密设备中加密算法的实现,因为功耗在密码设备加密过程中是主要的旁路泄露信息。对于不同的操作,密码设备会出现不同的能量消耗,从而攻击者可以从中判断出其中以什么样的顺序进行了什么样的操作。DPA是一种对密码芯片泄露的功耗信息进行统计分析从而恢复出密钥的攻击方法。因此如何设计一种针对SM2算法的掩码运算方法,能够将SM2算法过程中的真实参数信息进行掩码,增强真实参数信息和功耗分析获取信息的破解难度,有效应对功耗分析攻击是目前急需解决的问题。
发明内容
本发明的目的在于克服现有技术中存在的不足而提供一种采用预置点和随机数的方式能够将SM2算法过程中的真实参数信息进行掩码,增强真实参数信息和功耗分析获取信息的破解难度,有效应对功耗分析攻击的针对SM2算法的掩码运算方法及装置。
本发明第一方面提出一种针对SM2算法的掩码运算方法,所述掩码运算方法是通过预置点和随机数的方式将进行[k]G运算中的随机数k进行掩盖,SM2算法运算过程中[k]G计算具体包括:
在芯片内部预置点P0=[r-1]G和第一随机数r;其中,P0为有限域椭圆曲线上的点,G为椭圆曲线上的基点;
在芯片内部生成第二随机数d;
通过第一随机数r和第二随机数d计算生成第三随机数k=d·r-1
计算生成点P1=[k]G=[d·r-1]G=[d]·[r-1]G=[d]P0。
进一步的,在计算生成点P1之后还包括坐标系的转换,具体包括:
将点P0从仿射坐标系转换为雅可比坐标系下,P0=(x0,y0,z0);
计算点P1=[d]P0=(x1,y1,z1),再将点P1转换至仿射坐标系下P1=(x,y)。
进一步的,在计算生成点P1之后还包括点P1的验证和输出,具体包括:
验证点P1是否在椭圆曲线上:若y2=x3+ax+b,则验证成功,输出点P1=[k]G=(x,y);否则验证失败,输出错误标识。
进一步的,在验证点P1之后还包括预置点P0和第一随机数r的更新,具体包括:
获取1比特第四随机数b,更新第一随机数r=(-1)b·2r,点P0=[r-1]G=(-1)b·2·[r-1]G。
进一步的,在获取到计算生成的点P1=[k]G=(x,y)和第三随机数k之后,获取SM2算法的签名值过程具体包括:
将x的数据类型转换成整数,计算r’=(e+x)modn,若r’=0或r’+k=n,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
计算s’=(1+dA)-1·(k-r·dA)modn,若s’=0,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
将获得的r’、s’的数据类型转换为字符串,消息的签名值为(r’,s’);
其中,e为消息经过哈希计算后的值,dA为私钥。
本发明第二方面还提出一种针对SM2算法的掩码运算装置,所述掩码运算装置包括:预置模块、随机数生成模块、随机数运算模块和点乘运算模块;
所述预置模块,用于在芯片内部预置点P0=[r-1]G和第一随机数r;其中,P0为有限域椭圆曲线上的点,n为椭圆曲线的阶数,G为椭圆曲线上的基点;
所述随机数生成模块,用于在芯片内部生成第二随机数d;
所述随机数运算模块,用于通过第一随机数r和第二随机数d计算生成第三随机数k=d·r-1
所述点乘运算模块,用于计算生成点P1=[k]G=[d·r-1]G=[d]·[r-1]G=[d]·P0。
进一步的,所述掩码运算装置还包括坐标转换模块;
所述坐标转换模块,用于将点P0从仿射坐标系转换为雅可比坐标系下,P0=(x0,y0,z0);
所述点乘运算模块,还用于计算点P1=[d]·P0=(x1,y1,z1);
所述坐标转换模块,还用于将点P1转换至仿射坐标系下P1=(x,y)。
进一步的,所述掩码运算装置还包括点验证模块和输出模块;
所述点验证模块,用于验证点P1是否在椭圆曲线上:若y2=x3+ax+b,则验证成功;否则验证失败。
所述输出模块,用于在所述点验证模块验证成功时,输出点P1=[k]G=(x,y);在验证失败时,输出错误标识。
进一步的,所述掩码运算装置还包括更新模块;
所述更新模块,用于获取1比特第四随机数b,更新第一随机数r=(-1)b·2r,点P0=[r-1]G=(-1)b·2·[r-1]G。
进一步的,所述掩码运算装置还包括签名生成模块;
所述签名生成模块,用于调用预置模块、随机数生成模块、随机数运算模块、点乘运算模块、坐标转换模块、点验证模块和输出模块,获取到计算生成的点P1=[k]G=(x,y)和第三随机数k后,再通过所述点P1和第三随机数k进行签名值的生成;
所述签名值的生成具体包括:
将x的数据类型转换成整数,计算r’=(e+x)modn,若r’=0或r’+k=n,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
计算s’=(1+dA)-1·(k-r·dA)modn,若s’=0,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
将获得的r’、s’的数据类型转换为字符串,消息的签名值为(r’,s’);
其中,e为消息经过哈希计算后的值,dA为私钥。
本发明具有突出的实质性特点和显著的进步,具体的说:在椭圆曲线密码体系中,SM2算法涉及的加密、签名等过程均是以椭圆曲线上的点乘运算P=[k]G为基础来实现的,因此k的安全性至关重要;本发明在芯片内部预置点P0=[r-1]G和第一随机数r;在芯片内部生成第二随机数d;通过第一随机数r和第二随机数d计算生成第三随机数k=d·r-1;计算生成点P1=[k]G=[d·r-1]G=[d]·[r-1]G=[d]P0;使得[k]G的运算由预置点P0和第二随机数d共同计算生成,即使第二随机数d被破解,但是第一随机数r是预置的,所以r不会被破解,增加了k的破解难度,破坏了真实k信息和功耗曲线之间的相关性,给功耗分析获取信息增加了相应的难度,达到抵御功耗分析的目的,从而起到很好的抗功耗攻击作用;此外,通过对预置点P0和第一随机数r的更新机制,使得点P0和第一随机数r的信息是动态变化的,从而增强k的破解难度,有效抵御功耗分析攻击。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出本发明一种针对SM2算法的掩码运算方法流程图;
图2示出本发明一种针对SM2算法的掩码运算装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
如图1所示,本发明第一方面提出一种针对SM2算法的掩码运算方法,所述掩码运算方法是通过预置点和随机数的方式将进行[k]G运算中的随机数k进行掩盖,SM2算法运算过程中[k]G计算具体包括:
在芯片内部预置点P0=[r-1]G和第一随机数r;其中,P0为有限域椭圆曲线上的点,G为椭圆曲线上的基点;
在芯片内部生成第二随机数d;
通过第一随机数r和第二随机数d计算生成第三随机数k=d·r-1
计算生成点P1=[k]G=[d·r-1]G=[d]·[r-1]G=[d]P0。
进一步的,在计算生成点P1之后还包括坐标系的转换,具体包括:
将点P0从仿射坐标系转换为雅可比坐标系下,P0=(x0,y0,z0);
计算点P1=[d]P0=(x1,y1,z1),再将点P1转换至仿射坐标系下P1=(x,y)。
进一步的,在计算生成点P1之后还包括点P1的验证和输出,具体包括:
验证点P1是否在椭圆曲线上:若y2=x3+ax+b,则验证成功,输出点P1=[k]G=(x,y);否则验证失败,输出错误标识。
进一步的,在验证点P1之后还包括预置点P0和第一随机数r的更新,具体包括:
获取1比特第四随机数b,更新第一随机数r=(-1)b·2r,点P0=[r-1]G=(-1)b·2·[r-1]G。
需要说明的是,预置点P0和第一随机数r在进行SM2算法的运算过程中是动态更新的,不会预置一次就不变化,能够有效增强预置点P0和第一随机数r的破解难度。
进一步的,在获取到计算生成的点P1=[k]G=(x,y)和第三随机数k之后,获取SM2算法的签名值过程具体包括:
将x的数据类型转换成整数,计算r’=(e+x)modn,若r’=0或r’+k=n,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
计算s’=(1+dA)-1·(k-r·dA)modn,若s’=0,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
将获得的r’、s’的数据类型转换为字符串,消息的签名值为(r’,s’);
其中,e为消息经过哈希计算后的值,dA为私钥。
需要说明的是,椭圆曲线密码体系中,加解密、签名和验签等操作均是以点乘运算[k]G为基础实现的,以签名过程为例,通常SM2签名的具体实现过程为:
M为待签名消息,数字签名结果为(r,s),用户密钥对(d,P)。
实现步骤:
1)e=hash(M)//获取消息散列值
2)产生随机数k//以便即使是同一个消息,每次签名出来的结果不同。
3)使用随机数,计算椭圆曲线点(x,y)=[k]G
4)r=(e+x)modn//判断:r=0或者r+k=n,继续第2步。
5)s=((1+dA)-1*(k-r*dA))modn,若s=0,继续第2步
6)r,s为签名信息。
本发明签名过程中涉及的第三随机数k的值为d·r-1,[k]G=[d·r-1]G,因此k和[k]G的值是随机变化的,由于r是预置的,很难被破解,所以增强了k和[k]G的破解难度,从而也有效提升了签名过程的安全性,防止功耗攻击。
如图2所示,本发明第二方面还提出一种针对SM2算法的掩码运算装置,所述掩码运算装置包括:预置模块、随机数生成模块、随机数运算模块和点乘运算模块;
所述预置模块,用于在芯片内部预置点P0=[r-1]G和第一随机数r;其中,P0为有限域椭圆曲线上的点,n为椭圆曲线的阶数,G为椭圆曲线上的基点;
所述随机数生成模块,用于在芯片内部生成第二随机数d;
所述随机数运算模块,用于通过第一随机数r和第二随机数d计算生成第三随机数k=d·r-1
所述点乘运算模块,用于计算生成点P1=[k]G=[d·r-1]G=[d]·[r-1]G=[d]·P0。
进一步的,所述掩码运算装置还包括坐标转换模块;
所述坐标转换模块,用于将点P0从仿射坐标系转换为雅可比坐标系下,P0=(x0,y0,z0);
所述点乘运算模块,还用于计算点P1=[d]·P0=(x1,y1,z1);
所述坐标转换模块,还用于将点P1转换至仿射坐标系下P1=(x,y)。
进一步的,所述掩码运算装置还包括点验证模块和输出模块;
所述点验证模块,用于验证点P1是否在椭圆曲线上:若y2=x3+ax+b,则验证成功;否则验证失败。
所述输出模块,用于在所述点验证模块验证成功时,输出点P1=[k]G=(x,y);在验证失败时,输出错误标识。
进一步的,所述掩码运算装置还包括更新模块;
所述更新模块,用于获取1比特第四随机数b,更新第一随机数r=(-1)b·2r,点P0=[r-1]G=(-1)b·2·[r-1]G。
进一步的,所述掩码运算装置还包括签名生成模块;
所述签名生成模块,用于调用预置模块、随机数生成模块、随机数运算模块、点乘运算模块、坐标转换模块、点验证模块和输出模块,获取到计算生成的点P1=[k]G=(x,y)和第三随机数k后,再通过所述点P1和第三随机数k进行签名值的生成;
所述签名值的生成具体包括:
将x的数据类型转换成整数,计算r’=(e+x)modn,若r’=0或r’+k=n,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
计算s’=(1+dA)-1·(k-r·dA)modn,若s’=0,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
将获得的r’、s’的数据类型转换为字符串,消息的签名值为(r’,s’);
其中,e为消息经过哈希计算后的值,dA为私钥。
在椭圆曲线密码体系中,SM2算法涉及的加密、签名等过程均是以椭圆曲线上的点乘运算P=[k]G为基础来实现的,因此k的安全性至关重要;本发明在芯片内部预置点P0=[r-1]G和第一随机数r;在芯片内部生成第二随机数d;通过第一随机数r和第二随机数d计算生成第三随机数k=d·r-1;计算生成点P1=[k]G=[d·r-1]G=[d]·[r-1]G=[d]P0;使得[k]G的运算由预置点P0和第二随机数d共同计算生成,即使第二随机数d被破解,但是第一随机数r是预置的,所以r不会被破解,增加了k的破解难度,破坏了真实k信息和功耗曲线之间的相关性,给功耗分析获取信息增加了相应的难度,达到抵御功耗分析的目的,从而起到很好的抗功耗攻击作用;此外,通过对预置点P0和第一随机数r的更新机制,使得点P0和第一随机数r的信息是动态变化的,从而增强k的破解难度,有效抵御功耗分析攻击。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种针对SM2算法的掩码运算方法,其特征在于,所述掩码运算方法是通过预置点和随机数的方式将进行[k]G运算中的随机数k进行掩盖,SM2算法运算过程中[k]G计算具体包括:
在芯片内部预置点P0=[r-1]G和第一随机数r;其中,P0为有限域椭圆曲线上的点,G为椭圆曲线上的基点;
在芯片内部生成第二随机数d;
通过第一随机数r和第二随机数d计算生成第三随机数k=d·r-1
计算生成点P1=[k]G=[d·r-1]G=[d]·[r-1]G=[d]P0。
2.根据权利要求1所述的掩码运算方法,其特征在于,在计算生成点P1之后还包括坐标系的转换,具体包括:
将点P0从仿射坐标系转换为雅可比坐标系下,P0=(x0,y0,z0);
计算点P1=[d]P0=(x1,y1,z1),再将点P1转换至仿射坐标系下P1=(x,y)。
3.根据权利要求2所述的掩码运算方法,其特征在于,在计算生成点P1之后还包括点P1的验证和输出,具体包括:
验证点P1是否在椭圆曲线上:若y2=x3+ax+b,则验证成功,输出点P1=[k]G=(x,y);否则验证失败,输出错误标识。
4.根据权利要求3所述的掩码运算方法,其特征在于,在验证点P1之后还包括预置点P0和第一随机数r的更新,具体包括:
获取1比特第四随机数b,更新第一随机数r=(-1)b·2r,点P0=[r-1]G=(-1)b·2·[r-1]G。
5.根据权利要求1-4之一所述的掩码运算方法,其特征在于,在获取到计算生成的点P1=[k]G=(x,y)和第三随机数k之后,获取SM2算法的签名值过程具体包括:
将x的数据类型转换成整数,计算r’=(e+x)modn,若r’=0或r’+k=n,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
计算s’=(1+dA)-1·(k-r·dA)modn,若s’=0,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
将获得的r’、s’的数据类型转换为字符串,消息的签名值为(r’,s’);
其中,e为消息经过哈希计算后的值,dA为私钥。
6.一种针对SM2算法的掩码运算装置,其特征在于,所述掩码运算装置包括:预置模块、随机数生成模块、随机数运算模块和点乘运算模块;
所述预置模块,用于在芯片内部预置点P0=[r-1]G和第一随机数r;其中,P0为有限域椭圆曲线上的点,n为椭圆曲线的阶数,G为椭圆曲线上的基点;
所述随机数生成模块,用于在芯片内部生成第二随机数d;
所述随机数运算模块,用于通过第一随机数r和第二随机数d计算生成第三随机数k=d·r-1
所述点乘运算模块,用于计算生成点P1=[k]G=[d·r-1]G=[d]·[r-1]G=[d]·P0。
7.根据权利要求6所述的掩码运算装置,其特征在于,所述掩码运算装置还包括坐标转换模块;
所述坐标转换模块,用于将点P0从仿射坐标系转换为雅可比坐标系下,P0=(x0,y0,z0);
所述点乘运算模块,还用于计算点P1=[d]·P0=(x1,y1,z1);
所述坐标转换模块,还用于将点P1转换至仿射坐标系下P1=(x,y)。
8.根据权利要求6所述的掩码运算装置,其特征在于,所述掩码运算装置还包括点验证模块和输出模块;
所述点验证模块,用于验证点P1是否在椭圆曲线上:若y2=x3+ax+b,则验证成功;否则验证失败;
所述输出模块,用于在所述点验证模块验证成功时,输出点P1=[k]G=(x,y);在验证失败时,输出错误标识。
9.根据权利要求6所述的掩码运算装置,其特征在于,所述掩码运算装置还包括更新模块;
所述更新模块,用于获取1比特第四随机数b,更新第一随机数r=(-1)b·2r,点P0=[r-1]G=(-1)b·2·[r-1]G。
10.根据权利要求6-9之一所述的掩码运算装置,其特征在于,所述掩码运算装置还包括签名生成模块;
所述签名生成模块,用于调用预置模块、随机数生成模块、随机数运算模块、点乘运算模块、坐标转换模块、点验证模块和输出模块,获取到计算生成的点P1=[k]G=(x,y)和第三随机数k后,再通过所述点P1和第三随机数k进行签名值的生成;
所述签名值的生成具体包括:
将x的数据类型转换成整数,计算r’=(e+x)modn,若r’=0或r’+k=n,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
计算s’=(1+dA)-1·(k-r·dA)modn,若s’=0,则输出错误标识,并返回重新计算生成第三随机数k和点P1;
将获得的r’、s’的数据类型转换为字符串,消息的签名值为(r’,s’);
其中,e为消息经过哈希计算后的值,dA为私钥。
CN202010966633.3A 2020-09-15 2020-09-15 一种针对sm2算法的掩码运算方法及装置 Active CN112131613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010966633.3A CN112131613B (zh) 2020-09-15 2020-09-15 一种针对sm2算法的掩码运算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010966633.3A CN112131613B (zh) 2020-09-15 2020-09-15 一种针对sm2算法的掩码运算方法及装置

Publications (2)

Publication Number Publication Date
CN112131613A CN112131613A (zh) 2020-12-25
CN112131613B true CN112131613B (zh) 2022-02-22

Family

ID=73846819

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010966633.3A Active CN112131613B (zh) 2020-09-15 2020-09-15 一种针对sm2算法的掩码运算方法及装置

Country Status (1)

Country Link
CN (1) CN112131613B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306091A (zh) * 2011-07-08 2012-01-04 西安电子科技大学 椭圆曲线点乘硬件快速实现方法
CN102546160A (zh) * 2010-12-08 2012-07-04 上海华虹集成电路有限责任公司 用于椭圆曲线密码防御差分功耗攻击的方法
CN102761413A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线公钥密码算法的实现系统
CN108039947A (zh) * 2017-12-05 2018-05-15 飞天诚信科技股份有限公司 一种利用协处理器抗攻击的sm2签名方法
CN109214195A (zh) * 2018-07-26 2019-01-15 广东工业大学 一种抗差分功耗攻击的sm2椭圆曲线签名验签硬件系统及方法
CN109302278A (zh) * 2018-12-07 2019-02-01 上海爱信诺航芯电子科技有限公司 一种抵御能量分析攻击的掩码方法及掩码电路

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090214023A1 (en) * 2008-02-26 2009-08-27 Al-Somani Turki F Method for elliptic curve scalar multiplication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546160A (zh) * 2010-12-08 2012-07-04 上海华虹集成电路有限责任公司 用于椭圆曲线密码防御差分功耗攻击的方法
CN102761413A (zh) * 2011-04-27 2012-10-31 航天信息股份有限公司 p元域SM2椭圆曲线公钥密码算法的实现系统
CN102306091A (zh) * 2011-07-08 2012-01-04 西安电子科技大学 椭圆曲线点乘硬件快速实现方法
CN108039947A (zh) * 2017-12-05 2018-05-15 飞天诚信科技股份有限公司 一种利用协处理器抗攻击的sm2签名方法
CN109214195A (zh) * 2018-07-26 2019-01-15 广东工业大学 一种抗差分功耗攻击的sm2椭圆曲线签名验签硬件系统及方法
CN109302278A (zh) * 2018-12-07 2019-02-01 上海爱信诺航芯电子科技有限公司 一种抵御能量分析攻击的掩码方法及掩码电路

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Efficient Scalar Multiplication Algorithms Secure against Power Analysis Attacks for Koblitz Curve Cryptosystems;Yong-hee Jang 等;《2010 10th IEEE/IPSJ International Symposium on Applications and the Internet》;20101007;第277-280页 *
基于ECC算法的智能卡抗功耗攻击研究;马博;《中国优秀硕士学位论文全文数据库 信息科技辑》;20101115(第11期);第I135-131页 *

Also Published As

Publication number Publication date
CN112131613A (zh) 2020-12-25

Similar Documents

Publication Publication Date Title
CN107147488A (zh) 一种基于sm2加解密算法的签名验签系统和方法
EP1050133B1 (en) Leak-resistant cryptographic method and apparatus
Mironov Hash functions: Theory, attacks, and applications
EP1729442B1 (en) An authentication system executing an elliptic curve digital signature cryptographic process
Ngo et al. Dynamic Key Cryptography and Applications.
JP7123959B2 (ja) 楕円曲線点乗算デバイス及び方法
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
CN108667623A (zh) 一种sm2椭圆曲线签名验证算法
CN108259506B (zh) Sm2白盒密码实现方法
CN112422288B (zh) 一种抗能量分析攻击的基于sm2算法的两方协同签名方法
CN110601822A (zh) 一种基于量子保密通信技术的加密盲签名方法
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
US20150006900A1 (en) Signature protocol
CN111447065A (zh) 一种主动安全的sm2数字签名两方生成方法
CN112131613B (zh) 一种针对sm2算法的掩码运算方法及装置
CN112131616B (zh) 一种sm2算法的掩码运算方法及装置
CN113784342B (zh) 一种基于物联网终端的加密通讯方法及系统
CN112511310B (zh) 一种加密身份盲签名的混淆方法
JP2003255831A (ja) 楕円曲線スカラー倍計算方法及び装置
Ahirwal et al. Signcryption scheme that utilizes elliptic curve for both encryption and signature generation
EP1691501A1 (en) Leak-resistant cryptography method an apparatus
WO2021206727A1 (en) Neural networks
CN115134120B (zh) 一种ecc结合opt的加密方法
CN111817848B (zh) 一种ecc私钥分段存储的ecdsa签名方法及系统
CN118249996A (zh) 由单口令派生多个加密密钥且抗后门攻击的数据保密方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant