CN111917548A - 基于gpu与cpu异构结构的椭圆曲线数字签名方法 - Google Patents

基于gpu与cpu异构结构的椭圆曲线数字签名方法 Download PDF

Info

Publication number
CN111917548A
CN111917548A CN201910375545.3A CN201910375545A CN111917548A CN 111917548 A CN111917548 A CN 111917548A CN 201910375545 A CN201910375545 A CN 201910375545A CN 111917548 A CN111917548 A CN 111917548A
Authority
CN
China
Prior art keywords
gpu
digital signature
elliptic curve
calculation
cpu
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.)
Granted
Application number
CN201910375545.3A
Other languages
English (en)
Other versions
CN111917548B (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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN201910375545.3A priority Critical patent/CN111917548B/zh
Publication of CN111917548A publication Critical patent/CN111917548A/zh
Application granted granted Critical
Publication of CN111917548B publication Critical patent/CN111917548B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公布了一种椭圆曲线数字签名方法,采用基于CPU和GPU异构结构的分工协作方式进行ECDSA数字签名生成算法的计算,对费马小定理进行变形,使用该变形方法优化椭圆曲线数字签名的模逆运算在GPU中的实现步骤,批量进行椭圆曲线数字签名中椭圆曲线的多倍点计算,再根据GPU计算得到的结果,由CPU将待签名消息根据椭圆曲线数字签名计算步骤顺序进行计算,充分利用GPU架构的并行性,提高ECDSA数字签名生成算法的计算效率,从而节省待签名消息进行数字签名的计算时间。

Description

基于GPU与CPU异构结构的椭圆曲线数字签名方法
技术领域
本发明涉及信息安全中的公钥密码技术,特别涉及一种基于中央处理器(CPU)和图形处 理器(GPU,Graphics Processing Unit)的椭圆曲线数字签名算法(ECDSA)的实现方法。
背景技术
采用多核并行计算是提升处理器性能的重要方式,因此出现了包括海量并行结构运算单 元的GPU(图形处理器,Graphics Processing Unit),GPU已经发展成为了并行度高、多线 程、计算快捷及内存带宽大的高性能通用处理器。GPU体系结构在组成上分为三层:第一层 由若千个线程处理器簇(TPC,Thread Preocessing Cluster)组成,第二层由多个流多处理 器(SM,Streaming Multiprocessor)组成,第三层为构成SM的流处理器(SP,Stream Processor),也可以称为线程处理器。SM作为GPU的一个任务执行和调度单元,主要负责执 行GPU分发的线程指令,而SP是GPU中最基本的指令执行单元,其执行的操作由所属的SM 控制。
2006年NVIDIA公司推出了计算机一体设备结构(CUDA,Compute Unified DeviceArchitecture)可编程平台,可以实现GPU线程的调度。在CUDA可编程平台架构下,GPU执 行的最小单位是线程(thread),数个线程(thread)可以组成一个线程块(block)。一个block中的thread可以存取同一共享内存且同步。执行相同程序的thread,组成栅格(grid),不同的grid可以执行不同的程序。
相对于中央处理器(CPU),GPU具有强大的数据处理能力,在浮点运算及并行计算等方 面,提高几十倍甚至数百倍于CPU的性能。GPU具有几千个核,有很高的并行性,但是每个 SM相比CPU处理能力比较弱。GPU计算能力强,但是核数比较少。因此,采用何种CPU和GPU协作方式进行构架,完成各种计算,以提高***整体计算能力,是一个亟待解决的问题。
椭圆曲线数字签名算法(ECDSA)明确规定了ECDSA算法的数字签名算法。其中,ECDSA算 法的数字签名算法包括生成算法和验证算法,应用在消息传输过程中可靠性的消息传输及使 用消息的合法者验证。在ECDSA的数字签名算法中,包括一一对应的公钥和私钥,其中,私 钥用于待签名消息生成数字签名,公钥用于对数字签名进行验证。签名者采用私钥进行待签 名消息M的数字签名生成算法计算,得到待签名消息M的数字签名;验证者采用公钥对接收 的待签名消息M进行数字签名验证计算,验证待签名消息M的数字签名是否匹配,如果匹配, 确认接收的待签名消息M是正确的。
椭圆曲线数字签名算法(ECDSA)是数字签名算法的椭圆曲线版本,其安全性是以椭圆曲 线密码体制的安全性为保证的,而椭圆曲线密码体制的安全性是基于椭圆曲线离散对数问题 之上的。最广泛标准化的基于椭圆曲线的签名方案包括ANSI X9.62、FIPS186-2、IEEE 1363-2000等。
目前ECDSA的计算方式是使用CPU完成全部计算。在实现ECDSA数字签名生成算法时, 是由CPU按照上述步骤顺序计算,最终得到待签名消息m的数字签名。由于CPU计算核心数 量少,而ECDSA的计算过程中计算量比较大,会占用CPU的大部分资源,导致ECDSA计算速度不高,比较费时,得到数字签名效率比较低。
发明内容
为了克服上述现有技术的不足,本发明提供一种基于GPU与CPU异构结构的椭圆曲线数 字签名方法,提高数字签名生成算法(ECDSA)的计算效率。
本发明的原理是:
ECDSA是一种具有标准协议的,国际通用的签名算法。现有方法由CPU按照ECDSA数字 签名生成算法计算步骤顺序执行,其中的多倍点计算复杂性比较高,比较耗时,因此,现有 的使用CPU计算的方法在实现ECDSA数字签名生成算法时计算效率不高,无法满足越来越多 计算需求。但由于针对ECDSA模逆算法并不适合GPU计算,现有技术难以实现针对ECDSA的 GPU加速算法。本发明依托新型的GPU计算平台对该算法进行计算加速,本专利对费马小定 理进行变形,使用该变形方法优化椭圆曲线数字签名的模逆在GPU中的实现步骤,获得GPU端 的性能提升。具体地,本发明通过将一些重要的计算过程移植到GPU平台进行计算,依托于 GPU平台,本发明首次提出了采用CPU和GPU协作方式进行ECDSA数字签名生成算法计算, 将ECDSA数字签名生成算法中的计算椭圆曲线多倍点步骤批量在GPU中进行,充分利用GPU 架构的并行性,然后由CPU根据ECDSA数字签名生成算法计算步骤对待签名消息顺序计算时, 调用GPU计算得到的结果,GPU可以进行并行计算,即同时计算多组数据(CPU只能串行计算, 此差异可以使GPU针对多数据时,获得比CPU快很多的速度),从而节省了对待签名消息进行 数字签名的计算时间,提升计算速度,提高ECDSA数字签名生成算法的计算效率。
本发明提供的技术方案是:
一种基于GPU与CPU异构结构的椭圆曲线数字签名方法,采用CPU和GPU异构结构(如 图2所示,CPU和GPU各负责一部分数据计算)和协作方式,进行ECDSA数字签名生成算法计算,充分利用GPU架构的并行性,将计算步骤分为两个部分:在GPU中批量进行ECDSA中 椭圆曲线多倍点的计算,再由CPU将待签名消息根据计算步骤顺序进行计算时,使用GPU计 算得到的结果,从而节省了待签名消息进行数字签名的计算时间;使用GPU加速ECDSA计算时,由于GPU架构对程序分支敏感,而运算过程中,会包含大量的分支片段,导致运行效率低下。本发明提出了通过对费马小定理进行变形,使用该变形方法对关键的模逆步骤进行优 化,使得利用GPU加速ECDSA成为可能。
具体地,ECDSA签名算法计算步骤如下,设待签名的消息为m,为了取得消息m的数字 签名(r,s),作为签名者的用户应实现以下运算步骤:
输入:椭圆曲线算法定义的参数组D=(q,Fq,a,b,P,n),其中FQ为素域,其阶为Q;σ、b为 椭圆曲线方程y2=x3+ax+b的参数且a,b∈Fq,点P为素域中的两个元素组成的椭圆曲线上 的点,P=(xp,yp),P∈Fq,是椭圆曲线上的一个固定点,被称为基点,具体值是已知的,P点有素数阶n。以上参数是椭圆曲线密码学中的运算参数,在椭圆曲线密码学中具有确定的含 义;在ECDSA算法中,素域Fq的阶q为算法定义的固定值,ECDSA计算宽度为256比特(bits) 时,n-0xFFFFFFFFFFFFFFFF 00000000FFFFFFFF 0000000000000000FFFFFFFF00000001。 素数阶n为算法定义的固定值,ECDSA计算宽度为256比特(bits)时,n- 0xF3B9CAC2FC632551BCE6FAADA7179E84FFFFFFFFFFFFFFFF FFFFFFFF00000000。
H为一个密码哈希函数(SHA,国际通用哈希算法,可以输出0~512比特(bits)哈希值), d(0<d<n)为私钥,m为待签名消息;以上数据均以计算机可以识别的数据格式进行存储, 以待计算。下述过程中的mod表示数学计算中的求模运算。
输出:签名结果(r,s),r、s表示经ECDSA签名算法计算输出的两个数值;
本发明方法包括如下步骤:
1)CPU每次等待一定时间(如1毫秒~1秒),汇总这段时间内收到的签名请求,获得i (1~2048)条待计算数据;
2)CPU将i条待计算数据传送给GPU,通过GPU对多倍点运算进行并行计算;
3)通过GPU并行执行ECDSA算法中的计算椭圆曲线多倍点运算,得到i个椭圆曲线点乘 结果;具体执行操作:对于第j(j∈[1,i])条数据,选择随机数kj∈[0,n-1];计算(xj,yj)=kjP; (xi,yj)即为多倍点结果。
4)将GPU计算得到的多个椭圆曲线点乘结果(x1,y1)…(xi,yi)返回给CPU。
5)CPU获得GPU计算得到的结果,继续进行下述计算,最终得到每条数据对应的签名消 息(每个签名消息对应一组(rj,sj),j∈[1,i]);对每一条数据,执行如下计算步骤:
步骤51)计算rj=xj mod n,若rj(I,则将对应的原始数据返回到步骤1);
步骤52)计算ej=H(mj),此处H()为哈希函数,采用的算法是国际通用哈希算法SHA256;
步骤53)计
Figure BDA0002051534460000041
若sj(I,则将对应的原始数据返回步骤1);
步骤54)获得签名(rj,sj)。
GPU进行椭圆曲线多倍点计算时,会将上述椭圆曲线多倍点的计算步骤拆解为4个有限 域运算层基础操作,如图3所示,ECDSA计算可以分解为点乘,点加,倍点三类操作,点乘 可分解为点加和倍点,点加和倍点又可以分解为更低层次的有限域运算,包括:1)模乘;2) 模平方;3)模加;4)模逆。其中,模逆算法的选择不当会导致GPU计算耗时巨大,进而整个***性能受到冲击。当前常用的求模逆的算法是欧几里得算法,该算法程序分支过多,不利于在GPU上实现。针对模逆算法操作,本发明首次提出了在GPU平台使用费马小定理获得 高效的模逆计算速度。
在CUDA环境下,GPU内执行的程序是以32个线程合为1组来运行的。如果在程序中遇 到分支语句,并且组内的某个或某几个线程与其余线程分支不同,则其余的线程通道被屏蔽, 迫使它们等待分支线程完成其工作,然后才能恢复执行,增加了程序完成的时间。如果所有 线程采用相同的执行路径,则不会受到屏蔽影响。
费马小定理是数论中的一个重要定理,在1636年提出,其内容为:假如z是质数,l是 整数,且l和z互质,那么tz-1≡1 mod z;
由费马小定理推导可得:tz-2≡t-1 mod z,即t-1≡tz-2 mod z
在多倍点计算过程中,有质数p和∫(∫∈[1,p-1]),求∫-1
输入:质数p,整数∫(f∈[1,p-1])
输出:f-1≡fp-2mod p
注:mod是数学计算中求模的含义,由上式可以得到∫对于质数p的模逆值∫-1,∫-1即为 所求结果。
与现有技术相比,本发明的有益效果是:
现有技术由CPU按照ECDSA数字签名生成算法计算步骤顺序执行,其中的多倍点计算 复杂性比较高,比较耗时。本发明采用CPU和GPU协作方式进行ECDSA数字签名生成算 法计算,充分利用GPU架构的并行性,通过采用批量计算有效利用GPU计算资源,从而节 省了对待签名消息进行数字签名的计算时间,提高ECDSA数字签名生成算法的计算效率。 具体地,本发明具有包括以下几方面的技术优势:
(一)运算速度快,相对于CPU单独计算有近10倍提升。
(二)解决了GPU实现模逆算法的架构原因导致的运算效率低效问题。
(三)随机数由GPU生成,有效节约CPU计算资源。
(四)批量计算签名,可以最大限度利用GPU的计算资源,提升算效率。
附图说明
图1为本发明实施例提供的ECDS数字签名生成算法实现方法的流程框图。
图2是本发明实施例采用CPU和GPU异构结构实现数字签名生成***的模块数据流示意 图。
图3是本发明实施例中GPU进行椭圆曲线多倍点计算时,将计算步骤拆解为4个有限域 运算层基础操作计算过程的示意图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
图1为本发明实施例提供的一种ECDSA算法中的数字签名生成算法实现方法的流程框图, 其具体步骤为:
步骤101、CPU收集待签名的数据;
步骤102、将ECDSA数字签名生成算法中的计算椭圆曲线点步骤由GPU计算得到;当计 算模逆操作时,使用费马小定理进行计算。
在该步骤中,结果为椭圆曲线多倍点计算结果;
步骤103、CPU根据ECDSA数字签名生成算法计算步骤对待签名消息顺序计算时,调用 GPU返回的多倍点计算结果,完成对待签名消息的数字签名。
在图1中,步骤102由GPU执行。
在图1中,步骤101和步骤103都是由CPU线程完成的,可以是同一CPU线程,也可以是不同的CPU线程。
在图1中,GPU执行ECDSA数字签名生成算法中的计算椭圆曲线多倍点步骤时,可以由 一个GPU线程完成,也可以由多个GPU线程针对不同的数据同时计算完成。
图2所示是上述实施例采用的模块数据流,采用CPU和GPU异构结构和协作方式,CPU 和GPU各负责一部分数据计算。其中,CPU计算单元采用Intel公司的X86指令集通用计算 机;GPU计算单元包括Nvidia公司支持CUDA运算的任意图形显示卡。数据流处理过程如下:
步骤201:由CPU在一定时间内收集多条待签名信息;
步骤202:CPU将每条签名过程中的多倍点计算信息合并发给GPU侧;
步骤203:GPU将每条签名的多倍点计算完成,将结果一同返回给CPU;
步骤204:CPU完成每条签名计算的剩余步骤,将结果返回给签名请求的来源方。
步骤202中,GPU进行椭圆曲线多倍点计算时,将计算步骤拆解为4个有限域运算层基 础操作,如图3所示,ECDSA运算层表示椭圆曲线数字签名算法,算法主要计算步骤是多倍 点操作,即图示中的点乘运算,点乘运算是由点加和倍点运算组成。点加和倍点运算又是由 四类有限域运算构成:模乘,模平方,模加,模逆。这四类有限域运算是构成椭圆曲线数字 签名算法计算的基础运算步骤。
其中,模逆算法的选择不当会导致GPU计算耗时巨大,进而整个***性能受到冲击。当 前常用的求模逆的算法是欧几里得算法,该算法程序分支过多,不利于在GPU上实现。针对 模逆算法操作,本发明首次提出了在GPU平台使用费马小定理获得高效的模逆计算速度。
具体实现伪代码如下所示:
Figure BDA0002051534460000061
其中,第1行是变量初始化;第2~7行是一个循环体,根据v每个比特的值进行循环累乘 求模运算;第8行得到最终结果,g的值即是所求的f-1 mod p。对于GPU实现来说,计算模 逆运算最重要方面是所有线程执行相同的指令路径。算法中唯一的条件语句在第3行,vl表 示v的第l比特,它的值取决于素数p,在ECDSA算法中p的值就是椭圆曲线数字签名算法输 入参数组中的q,是固定值。因此素数p在所有线程中都是相同的,所以所有线程计算过程 中的指令执行路径完全相同。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员 可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。 因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的 范围为准。

Claims (4)

1.一种椭圆曲线数字签名方法,采用基于CPU和GPU异构结构的分工协作方式进行ECDSA数字签名生成算法的计算,对费马小定理进行变形,使用该变形方法优化椭圆曲线数字签名的模逆在GPU中的实现步骤,批量进行椭圆曲线数字签名中椭圆曲线的多倍点计算,再根据GPU计算得到的结果,由CPU将待签名消息根据椭圆曲线数字签名计算步骤顺序进行计算,从而节省待签名消息进行数字签名的计算时间;
椭圆曲线数字签名的输入为:参数组D=(q,Fq,a,b,P,n),其中Fq为素域,其阶为q;a,b为椭圆曲线方程y2=x3+ax+b的参数,点P为基点,是域中的两个元素组成的椭圆曲线上的已知点,P=(xp,yp),P点有素数阶n;输出为签名(r,s);
基于CPU和GPU异构结构的椭圆曲线数字签名方法包括如下步骤:
1)CPU每次等待一段时间,汇总这段时间内收到的签名请求,即获得i条待签名消息m,作为待计算数据;
2)CPU将i条数据传送给GPU;
3)通过GPU并行执行ECDSA算法中的计算椭圆曲线多倍点运算,对于第j条数据(j∈[1,i]),选择随机数kj∈[0,n-1],计算(xj,yj)=kjP;(xj,yj)即为多倍点结果;具体执行操作:
将椭圆曲线多倍点的计算步骤拆解为有限域运算层基础操作,包括:点乘、点加、倍点;点乘再分解为点加和倍点;点加和倍点再分解为更低层次的有限域运算,包括:模乘;模平方;模加;模逆;
在GPU平台使用费马小定理进行模逆算法的计算;具体为:
根据费马小定理:假如z是质数,t是整数,且t和z互质,那么tz-1≡1 mod z;
推导得到:tz-2≡1 mod z,即tz-1≡tz-2 mod z;
在多倍点计算过程中,有质数p和f(f∈[1,p-1]),求f-1;即输入为:质数p,整数f(f∈[1,p-1]);输出为:f-1≡fp-2 mod p,mod表示求模;f对于质数p的模逆值f-1,f-1即为所求结果;
由此得到i个椭圆曲线点乘结果;
4)将GPU计算得到的多个椭圆曲线点乘结果(x1,y1)…(xi,yi)返回给CPU;
5)CPU获得GPU计算得到的结果,继续进行步骤51)—54)的计算,得到每条数据对应的签名消息,每个签名消息对应一组签名(rj,sj),j∈[1,i];
对每一条数据,执行如下计算步骤:
步骤51)计算rj=xj mod n,若rj=0,则将对应的原始数据返回到步骤1);
步骤52)计算ej=H(mj);H为密码哈希函数;
步骤53)计算
Figure FDA0002051534450000021
d为私钥;若sj=0,则将对应的原始数据返回步骤1);
步骤54)获得签名(rj,sj);
通过上述步骤,实现基于CPU和GPU异构结构的分工协作方式进行ECDSA数字签名生成算法的计算,得到ECDSA数字签名。
2.如权利要求1所述的椭圆曲线数字签名方法,其特征是,步骤1)中,CPU每次等待时间为1毫秒~1秒;获得待计算数据条数为1~2048条。
3.如权利要求1所述的椭圆曲线数字签名方法,其特征是,CPU和GPU异构结构中,CPU计算单元采用Intel公司的X86指令集通用计算机。
4.如权利要求1所述的椭圆曲线数字签名方法,其特征是,CPU和GPU异构结构中,GPU计算单元包括Nvidia公司支持CUDA运算的任意图形显示卡。
CN201910375545.3A 2019-05-07 2019-05-07 基于gpu与cpu异构结构的椭圆曲线数字签名方法 Active CN111917548B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910375545.3A CN111917548B (zh) 2019-05-07 2019-05-07 基于gpu与cpu异构结构的椭圆曲线数字签名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910375545.3A CN111917548B (zh) 2019-05-07 2019-05-07 基于gpu与cpu异构结构的椭圆曲线数字签名方法

Publications (2)

Publication Number Publication Date
CN111917548A true CN111917548A (zh) 2020-11-10
CN111917548B CN111917548B (zh) 2021-06-04

Family

ID=73241726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910375545.3A Active CN111917548B (zh) 2019-05-07 2019-05-07 基于gpu与cpu异构结构的椭圆曲线数字签名方法

Country Status (1)

Country Link
CN (1) CN111917548B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116011030A (zh) * 2023-01-06 2023-04-25 中国航天科工集团第二研究院七〇六所 后量子数字签名算法Dilithium在GPU上的高效并行实现方法
CN117118637B (zh) * 2023-10-24 2024-01-26 深圳市纽创信安科技开发有限公司 数据处理方法、装置、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130246797A1 (en) * 2012-03-16 2013-09-19 Samsung Electronics Co., Ltd. Apparatus and method for electronic signature verification
CN103475469A (zh) * 2013-09-10 2013-12-25 中国科学院数据与通信保护研究教育中心 一种结合cpu和gpu实现sm2算法的方法及装置
CN103546288A (zh) * 2013-09-25 2014-01-29 中国科学院数据与通信保护研究教育中心 Sm2数字签名生成算法的实现方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130246797A1 (en) * 2012-03-16 2013-09-19 Samsung Electronics Co., Ltd. Apparatus and method for electronic signature verification
CN103475469A (zh) * 2013-09-10 2013-12-25 中国科学院数据与通信保护研究教育中心 一种结合cpu和gpu实现sm2算法的方法及装置
CN103546288A (zh) * 2013-09-25 2014-01-29 中国科学院数据与通信保护研究教育中心 Sm2数字签名生成算法的实现方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SOKJOON LEE: "Hybrid approach of parallel implementation on CPU–GPU for high-speed ECDSA verification", 《THE JOURNAL OF SUPERCOMPUTING》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116011030A (zh) * 2023-01-06 2023-04-25 中国航天科工集团第二研究院七〇六所 后量子数字签名算法Dilithium在GPU上的高效并行实现方法
CN117118637B (zh) * 2023-10-24 2024-01-26 深圳市纽创信安科技开发有限公司 数据处理方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111917548B (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
Szerwinski et al. Exploiting the power of GPUs for asymmetric cryptography
CN103546288B (zh) Sm2数字签名生成算法的实现方法及装置
CN113628094B (zh) 一种基于gpu的高吞吐量sm2数字签名计算***及方法
CN109145616B (zh) 基于高效模乘的sm2加密、签名和密钥交换的实现方法及***
CN103631660A (zh) 在gpu中进行大整数计算时的存储资源分配方法及装置
CN103942031A (zh) 椭圆域曲线运算方法和椭圆域曲线运算器
CN111917548B (zh) 基于gpu与cpu异构结构的椭圆曲线数字签名方法
Saxena et al. State of the art parallel approaches for RSA public key based cryptosystem
Dong et al. Ec-ecc: Accelerating elliptic curve cryptography for edge computing on embedded gpu tx2
CN114297571A (zh) 一种适用于格密码算法的多项式乘法硬件实现***
Wang et al. HE-Booster: an efficient polynomial arithmetic acceleration on GPUs for fully homomorphic encryption
Bos Low-latency elliptic curve scalar multiplication
Farzam et al. Implementation of supersingular isogeny-based Diffie-Hellman and key encapsulation using an efficient scheduling
Dong et al. sDPF-RSA: Utilizing floating-point computing power of GPUs for massive digital signature computations
Lin et al. A faster software implementation of SQISign
Moon et al. Fast VLSI arithmetic algorithms for high-security elliptic curve cryptographic applications
Seo SIKE on GPU: Accelerating supersingular isogeny-based key encapsulation mechanism on graphic processing units
Zhao et al. Efficient implementation of kyber on mobile devices
Henry et al. Solving discrete logarithms in smooth-order groups with CUDA
US11985221B2 (en) Efficient masking of secure data in ladder-type cryptographic computations
WO2023141936A1 (en) Techniques and devices for efficient montgomery multiplication with reduced dependencies
CN112799637B (zh) 一种并行环境下高吞吐量的模逆计算方法及***
Lin et al. Efficient parallel RSA decryption algorithm for manycore GPUs with CUDA
WO2023107775A1 (en) Computation of xmss signature with limited runtime storage
Tachibana et al. FPGA implementation of ECDSA for Blockchain

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