CN105790939A - 一种vlsi实现加速器的素数域椭圆曲线密码系统 - Google Patents

一种vlsi实现加速器的素数域椭圆曲线密码系统 Download PDF

Info

Publication number
CN105790939A
CN105790939A CN201610116729.4A CN201610116729A CN105790939A CN 105790939 A CN105790939 A CN 105790939A CN 201610116729 A CN201610116729 A CN 201610116729A CN 105790939 A CN105790939 A CN 105790939A
Authority
CN
China
Prior art keywords
module
layer
accelerator
hardware
elliptic curve
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.)
Pending
Application number
CN201610116729.4A
Other languages
English (en)
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.)
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
State Grid Tianjin Electric Power Co Ltd
Beijing Smartchip Microelectronics Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Tianjin Electric Power Co Ltd
Global Energy Interconnection Research Institute
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 State Grid Corp of China SGCC, State Grid Tianjin Electric Power Co Ltd, Global Energy Interconnection Research Institute filed Critical State Grid Corp of China SGCC
Priority to CN201610116729.4A priority Critical patent/CN105790939A/zh
Publication of CN105790939A publication Critical patent/CN105790939A/zh
Pending legal-status Critical Current

Links

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Advance Control (AREA)

Abstract

本发明提供一种VLSI实现加速器的素数域椭圆曲线密码系统,所述椭圆曲线密码系统包括:模运算层、点运算层、加密主操作层、加密机制层、对外接口层和硬件资源层;所述加速器作为从设备挂载在总线上,处理器通过配置加速器中相应的寄存器使之开始工作。本发明通过合理的软硬件划分,取得了优异的性能面积比,通过硬件定制,极大提高了底层素数判断、点加、点乘操作效率。

Description

一种VLSI实现加速器的素数域椭圆曲线密码系统
技术领域
本发明涉及电子信息安全领域,具体讲涉及一种VLSI实现加速器的素数域椭圆曲线密码系统。
背景技术
自椭圆曲线公钥密码体制(ECC)提出以来,该体制因其较高的单比特安全性而在嵌入式系统中获得了广泛应用。ECC的安全性是基于椭圆曲线上加法群的离散对数问题(ECDLP)求解的困难性。以椭圆曲线密码为基础,国际上制定了各种加密和签名协议,这些协议已经得到了广泛的应用。然而,ECC在资源有限型设备上的应用仍然受到操作数过长和复杂椭圆曲线运算对资源的要求过高的限制。学术界提出了一些ECC的实现方案,其中,软件实现方案的目标是解决由并行度不高、算法架构不匹配等引起的低性价比的问题;硬件实现方案的目标是减少单比特密钥的芯片实现面积;软硬件协同设计的思想使一个设计能够综合利用软件和硬件的优点,规避不足,带来系统性能的更大提升。
目前ECC的实现方案没有较强的可移植性,单元复用性。软硬件划分不合理,无法取得了优异的性能面积比。底层素数判断、点加、点乘操作效率较低。
发明内容
为克服上述现有技术的不足,本发明提供一种VLSI实现加速器的素数域椭圆曲线密码系统,分析了素数域椭圆曲线密码(ECC)算法的软件效率,针对软件效率较低的问题,对密码系统进行软硬件划分,提出了一种适用于椭圆曲线密码SoC的硬件加速器设计。
实现上述目的所采用的解决方案为:
一种VLSI实现加速器的素数域椭圆曲线密码系统,所述椭圆曲线密码系统包括:模运算层、点运算层、加密主操作层、加密机制层、对外接口层和硬件资源层;所述加速器作为从设备挂载在总线上,处理器通过配置加速器中相应的寄存器使之开始工作。
优选的,所述模运算层由基本模运算组成,包括模加、模减、模乘和模逆四种基本模运算;
所述点运算层包括点加运算模块和倍点运算模块;
所述加密主操作层包括素数检测模块和点乘模块;
所述加密机制层包括以ECC为基础的加密标准,包括加解密模块、签名模块、验签模块和密钥交换模块;
所述对外接口层包括:AHB总线接口模块;
所述硬件资源层包括运算资源模块和存储资源模块。
进一步的,所述素数检测模块和所述点乘模块集成在一个硬件模块中。
进一步的,所述运算资源模块包括加法器和乘法器;
所述存储资源模块包括寄存器堆和存储器。
优选的,所述加速器增加了紧耦合的本地存储资源;
所述加速器包括2个64-bit加法器、2个128-bit加法器、2个64-bit乘法器和8个寄存器。
优选的,多倍点运算在Jacobian-affine混合坐标下进行。
进一步的,所述模乘采用两个三级流水64位乘法器。
与现有技术相比,本发明具有以下有益效果:
(1)本发明将密码体制中时间消耗型的操作进行了硬件加速器的VLSI实现。加速器可以以IP的形式集成在片上系统(SoC)中,具有较强的可移植性,单元复用性。
(2)通过合理的软硬件划分,取得了优异的性能面积比。
(3)通过硬件定制,极大提高了底层素数判断、点加、点乘操作效率。
附图说明
图1:本发明提供的椭圆曲线密码抽象层次图;
图2:本发明提供的硬件加速器结构框图;
图3:本发明提供的硬件和存储资源图;
图4:本发明提供的素数检测状态机;
图5:本发明提供的基-64Mont计算流程图;
图6:本发明提供的模乘单元流水线设计;
图7:本发明提供的模乘状态跳转图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步的详细说明。
本发明提供一种VLSI实现加速器的素数域椭圆曲线密码系统包括:分析了素数域椭圆曲线密码(ECC)算法的软件效率,针对软件效率较低的问题,对密码系统进行软硬件划分,提出了一种适用于椭圆曲线密码SoC的硬件加速器设计。硬件加速器实现了素数域的点乘和素数检测,以少量的面积为代价提升了系统性能。加速器基于HJTC0.11umeFlash单元库,面积约为0.6mm2。在50MHz的频率下,192-bit非固定点乘运算性能为167次/s,256-bit非固定点乘运算性能为94次/s。
椭圆曲线密码系统的抽象层次如图1所示:模运算层由基本模运算组成,包括模加、模减、模乘和模逆四种基本模运算;点运算层包括点加运算和倍点运算;加密主操作层完成椭圆曲线密码机制的核心运算点乘(ECC);加密机制层涵盖了以ECC为基础的一些加密标准;这些标准最终通过对外接口层实现系统级的应用。
为了提升ECC算法运算速度,本发明采取点乘及底层运算完全硬件可配的实现方式,加密机制层通过软件调用硬件,通过不同的软件程序实现不同加密机制。硬件的素数检测同样需要调用模运算单元,将素数检测和点乘集成在一个硬件模块中,实现模运算层的复用。
ECC硬件加速器实现了硬件可配的点乘和素数检测,通过硬件宏开关可以配置各种运算的实现方式(软件/硬件);通过配置寄存器选择操作类型并配置参数作为运算的输入。点乘的实现调用了曲线域的点运算和素数域的模运算操作。素数检测的实现复用了素数域的模运算操作。为了降低软硬件数据交互的代价,在设计中给加速器模块增加了紧耦合的本地存储资源。点乘的计算过程中会产生大量的中间变量,将这些中间变量存储在本地存储器中,还分配了一些固定地址用来存储固定点和常量,大大减少了数据存取消耗的时间。
硬件加速器的结构框如图2所示,实现了素数域上的点乘和素数检测。硬件资源包括2个64-bit加法器、2个128-bit加法器、2个64-bit乘法器和8个寄存器,如图3所示。加速器作为从设备挂载在总线上,处理器通过配置加速器中相应的寄存器使之开始工作。
本发明采取首先在Jacobian-affine混合坐标下进行多倍点运算,最后将计算结果转化到仿射坐标系下的方式。因为Jacobian-affine混合坐标下的点加运算不需要调用逆运算,通过增加几个模乘运算和最后坐标转化时的求逆运算完成多倍点的计算,从而提高了多倍点运算的运行效率。多倍点运算可以拆分成点加(Q+P)和倍点(2Q)比如计算5Q可以拆分成2x2xQ+Q=4Q+Q。
点乘子系统主要由以下模块组成:
NAF:NAF编码,实质是调用大数移位器和大数加法器计算h=3k。
点加(PA,PointAddition):Jacobian-affine混合坐标系下做点加运算Q=Q+P。
倍点(PD,PointDoubling):Jacobian射影坐标系下做倍点运算Q=2Q。坐标系转换(CC,CoordinatesConversion):将点乘结果从Jacobian射影坐标系转换到仿射坐标系R(x,y)=Q(x,y,z)。
点加、倍点和坐标系转换通过有序调用底层模运算实现。
本发明采用米勒-拉宾素数判定法则进行素数检测,该法则利用随机化算法判断一个数是合数还是可能是素数,素数检测的状态机如图4所示。状态描述如表1所示。
表1
模乘单元的设计是点乘和素数检测实现的关键。本发明基于改进的基-64蒙哥马利(Mont)算法,采用64位的乘法运算和加法运算,极大地提高了运算并行度,提高了效率。改进的基-64Mont算法中,如图5所示,需要实现4次乘法运算,其中两次乘法运算具有数据相关性,设计中采用两个乘法器实现。同时,为了提高系统的吞吐率,我们用分级流水技术调整乘法器时延。综合考虑流水线深度和硬件资源,采用两个三级流水64位乘法器,模乘单元流水线设计如图6所示。
64位乘法器1作为流水线的前三级,用来实现T[i]和ai×bj的乘法运算,得到的T[i]存储在寄存器T中。64位加法器1、加法器2负责完成ci的累加,并将(cj+ai×bj)的结果保存在寄存器R1、R2中;同时64位乘法器2并行执行T[i]×nj的运算,提高了效率。128位加法器1完成S的累加,得到(cj+ai×bj+T[i]×nj),并将进位保存在寄存器R6中。128位加法器2完成进位和写回,将运算结果直接写回存储区,进位返回给下一次运算;同时承担C-N的计算。该模乘器的设计采用64位的乘法运算实现了高效的并行计算,采用合适的流水深度保证了高的数据吞吐率。
模乘运算过程如下:
1、计算中间变量C:C=22mmodM;
2、计算中间变量Q:Q=r-m0’,r=264,m0’是m0的逆;
3、第一次蒙哥马利乘法:B’=Mont(B,C)=B*22m*2-mmodM;
4、第二次蒙哥马利乘法:R=Mont(B’,D)=B*2m*D*2-mmodM;
表2模乘状态跳转
State Description
IDLE Idle
C_CAL 计算中间变量C=22mmodM;
Q_CAL 计算中间变量Q:Q=r-m0’;
S_MONT_EXE1 第1次Mont(B,C,M),结果将被存入RF6;
S_MONT_EXE2 第2次Mont(B’,D,M),结果将被存入RF5;
S_MM_DONE 模乘结束
最后应当说明的是:以上实施例仅用于说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。

Claims (7)

1.一种VLSI实现加速器的素数域椭圆曲线密码系统,其特征在于,所述椭圆曲线密码系统包括:模运算层、点运算层、加密主操作层、加密机制层、对外接口层和硬件资源层;所述加速器作为从设备挂载在总线上,处理器通过配置加速器中相应的寄存器使之开始工作。
2.如权利要求1所述的密码系统,其特征在于,所述模运算层由基本模运算组成,包括模加、模减、模乘和模逆四种基本模运算;
所述点运算层包括点加运算模块和倍点运算模块;
所述加密主操作层包括素数检测模块和点乘模块;
所述加密机制层包括以ECC为基础的加密标准,包括加解密模块、签名模块、验签模块和密钥交换模块;
所述对外接口层包括:AHB总线接口模块;
所述硬件资源层包括运算资源模块和存储资源模块。
3.如权利要求2所述的密码系统,其特征在于,所述素数检测模块和所述点乘模块集成在一个硬件模块中。
4.如权利要求2所述的密码系统,其特征在于,所述运算资源模块包括加法器和乘法器;
所述存储资源模块包括寄存器堆和存储器。
5.如权利要求1所述的密码系统,其特征在于,所述加速器增加了紧耦合的本地存储资源;
所述加速器包括2个64-bit加法器、2个128-bit加法器、2个64-bit乘法器和8个寄存器。
6.如权利要求1所述的密码系统,其特征在于,多倍点运算在Jacobian-affine混合坐标下进行。
7.如权利要求2所述的密码系统,其特征在于,所述模乘采用两个三级流水64位乘法器。
CN201610116729.4A 2016-03-01 2016-03-01 一种vlsi实现加速器的素数域椭圆曲线密码系统 Pending CN105790939A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610116729.4A CN105790939A (zh) 2016-03-01 2016-03-01 一种vlsi实现加速器的素数域椭圆曲线密码系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610116729.4A CN105790939A (zh) 2016-03-01 2016-03-01 一种vlsi实现加速器的素数域椭圆曲线密码系统

Publications (1)

Publication Number Publication Date
CN105790939A true CN105790939A (zh) 2016-07-20

Family

ID=56387620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610116729.4A Pending CN105790939A (zh) 2016-03-01 2016-03-01 一种vlsi实现加速器的素数域椭圆曲线密码系统

Country Status (1)

Country Link
CN (1) CN105790939A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549769A (zh) * 2016-12-08 2017-03-29 广东工业大学 一种素域Fp下SM2椭圆曲线签名系统
CN109241784A (zh) * 2018-08-16 2019-01-18 深圳忆联信息系统有限公司 一种ssd的国密sm2签名验证方法及系统
CN111373694A (zh) * 2020-02-21 2020-07-03 香港应用科技研究院有限公司 零知识证明硬件加速器及其方法
CN111835517A (zh) * 2020-06-29 2020-10-27 易兆微电子(杭州)股份有限公司 一种双域椭圆曲线点乘硬件加速器
CN114879934A (zh) * 2021-12-14 2022-08-09 中国科学院深圳先进技术研究院 一种高效的零知识证明加速器及方法
CN115333741A (zh) * 2022-10-14 2022-11-11 飞腾信息技术有限公司 数据处理方法、片上系统和计算设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547089A (zh) * 2008-03-28 2009-09-30 上海爱信诺航芯电子科技有限公司 集成电路中素数域椭圆曲线密码算法的实现方法
CN102682232A (zh) * 2011-12-26 2012-09-19 丁丹 一种高性能超标量椭圆曲线密码处理器芯片

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101547089A (zh) * 2008-03-28 2009-09-30 上海爱信诺航芯电子科技有限公司 集成电路中素数域椭圆曲线密码算法的实现方法
CN102682232A (zh) * 2011-12-26 2012-09-19 丁丹 一种高性能超标量椭圆曲线密码处理器芯片

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MOHAMED N. HASSAN ; MOHAMMED BENAISSA: "A scalable hardware/software co-design for elliptic curve cryptography on PicoBlaze microcontroller", 《PROCEEDINGS OF 2010 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS》 *
沈海斌,陈华锋,严晓浪: "椭圆曲线密码加速器的设计实现", 《浙 江 大 学 学 报(工学版)》 *
谢天艺,黄凯: "素数域椭圆曲线密码加速器的VLSI实现", 《计算机工程与应用》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549769A (zh) * 2016-12-08 2017-03-29 广东工业大学 一种素域Fp下SM2椭圆曲线签名系统
CN109241784A (zh) * 2018-08-16 2019-01-18 深圳忆联信息系统有限公司 一种ssd的国密sm2签名验证方法及系统
CN111373694A (zh) * 2020-02-21 2020-07-03 香港应用科技研究院有限公司 零知识证明硬件加速器及其方法
CN111373694B (zh) * 2020-02-21 2023-05-02 香港应用科技研究院有限公司 零知识证明硬件加速器及其方法
CN111835517A (zh) * 2020-06-29 2020-10-27 易兆微电子(杭州)股份有限公司 一种双域椭圆曲线点乘硬件加速器
CN111835517B (zh) * 2020-06-29 2023-12-22 易兆微电子(杭州)股份有限公司 一种双域椭圆曲线点乘硬件加速器
CN114879934A (zh) * 2021-12-14 2022-08-09 中国科学院深圳先进技术研究院 一种高效的零知识证明加速器及方法
CN114879934B (zh) * 2021-12-14 2023-01-10 中国科学院深圳先进技术研究院 一种高效的零知识证明加速器及方法
CN115333741A (zh) * 2022-10-14 2022-11-11 飞腾信息技术有限公司 数据处理方法、片上系统和计算设备

Similar Documents

Publication Publication Date Title
CN105790939A (zh) 一种vlsi实现加速器的素数域椭圆曲线密码系统
CN100414492C (zh) 一种椭圆曲线密码系统及实现方法
CN101170406B (zh) 双核公钥密码算法运算协处理器的一种实现方法
Knežević et al. Low-latency ECDSA signature verification—A road toward safer traffic
CN101547089B (zh) 集成电路中素数域椭圆曲线密码算法的实现方法
Kocabaş et al. Implementation of binary Edwards curves for very-constrained devices
CN101834723A (zh) 一种rsa算法及其ip核
CN101221491B (zh) 椭圆曲线密码系统的点加系统
CN113628094A (zh) 一种基于gpu的高吞吐量sm2数字签名计算系统及方法
CN101371285A (zh) 加密处理装置、加密处理方法及计算机程序
CN114021734A (zh) 用于联邦学习和隐私计算的参数计算装置、系统及方法
US7702105B1 (en) Accelerating elliptic curve point multiplication through batched inversions
Zhang et al. {FLASH}: Towards a high-performance hardware acceleration architecture for cross-silo federated learning
Batina et al. Flexible hardware design for RSA and elliptic curve cryptosystems
Hu et al. Low-power reconfigurable architecture of elliptic curve cryptography for IoT
CN114238205B (zh) 一种抗功耗攻击的高性能ecc协处理器系统
Bie et al. An energy-efficient reconfigurable asymmetric modular cryptographic operation unit for RSA and ECC
Wajih et al. Low power elliptic curve digital signature design for constrained devices
Sghaier et al. $ Area-Time $ Efficient Hardware Implementation of Elliptic Curve Cryptosystem
CN109284082A (zh) 一种ecc和sm2通用的点运算方法及装置
Seo et al. Accelerating elliptic curve scalar multiplication over GF (2m) on graphic hardwares
Zimmermann et al. High-performance integer factoring with reconfigurable devices
Hodjat et al. HW/SW co-design of a hyperelliptic curve cryptosystem using a microcode instruction set coprocessor
CN113253975A (zh) 大数模幂运算的算法加速方法、系统、介质、设备及应用
Shiyang et al. A Time-Area-Efficient and Compact ECSM Processor over GF (p)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 102209 Beijing City, the future of science and Technology City Binhe Road, No. 18, No.

Applicant after: GLOBAL ENERGY INTERCONNECTION RESEARCH INSTITUTE Co.,Ltd.

Applicant after: STATE GRID CORPORATION OF CHINA

Applicant after: STATE GRID TIANJIN ELECTRIC POWER Co.

Address before: 102211 Beijing city Changping District Xiaotangshan town big East Village Road No. 270 (future technology city)

Applicant before: GLOBAL ENERGY INTERCONNECTION RESEARCH INSTITUTE

Applicant before: State Grid Corporation of China

Applicant before: STATE GRID TIANJIN ELECTRIC POWER Co.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20191101

Address after: Building 3, zone a, Dongsheng Science Park, Zhongguancun, No.66, xixiaokou Road, Haidian District, Beijing 102200

Applicant after: BEIJING SMARTCHIP MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Applicant after: STATE GRID INFORMATION & TELECOMMUNICATION GROUP Co.,Ltd.

Applicant after: STATE GRID TIANJIN ELECTRIC POWER Co.

Applicant after: STATE GRID CORPORATION OF CHINA

Address before: 102209 Beijing City, the future of science and Technology City Binhe Road, No. 18, No.

Applicant before: GLOBAL ENERGY INTERCONNECTION RESEARCH INSTITUTE Co.,Ltd.

Applicant before: STATE GRID CORPORATION OF CHINA

Applicant before: STATE GRID TIANJIN ELECTRIC POWER Co.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20160720

RJ01 Rejection of invention patent application after publication