CN113014388B - 一种椭圆曲线密码算法中标量乘的加速系统 - Google Patents

一种椭圆曲线密码算法中标量乘的加速系统 Download PDF

Info

Publication number
CN113014388B
CN113014388B CN202110340092.8A CN202110340092A CN113014388B CN 113014388 B CN113014388 B CN 113014388B CN 202110340092 A CN202110340092 A CN 202110340092A CN 113014388 B CN113014388 B CN 113014388B
Authority
CN
China
Prior art keywords
module
zero
point
scalar
cache
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
CN202110340092.8A
Other languages
English (en)
Other versions
CN113014388A (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.)
Chunxiao Hangzhou Education Technology Development Co ltd
Firefly Technology Holdings Ltd
Original Assignee
Zhejiang Firefly Blockchain 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 Zhejiang Firefly Blockchain Technology Co ltd filed Critical Zhejiang Firefly Blockchain Technology Co ltd
Priority to CN202110340092.8A priority Critical patent/CN113014388B/zh
Publication of CN113014388A publication Critical patent/CN113014388A/zh
Application granted granted Critical
Publication of CN113014388B publication Critical patent/CN113014388B/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/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 Analysis (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种椭圆曲线密码算法中标量乘的加速系统,包括输入模块、处理模块、输出模块,处理模块包括去零逻辑模块、去零标志缓存模块、去零累加流水缓存模块、点加流水线模块、去零累加缓存模块、点倍流水线模块、点倍缓存模块、解压逻辑模块,本发明的标量比特流位判断模块将标量比特流中的无效位消除,极大的减小了点加的计算次数,从而大幅度降低标量乘的计算复杂度,同时除零逻辑模块将压缩标志以及累加结果进行同步,切换开关模块根据压缩标志对累加结果进行选择,保证点加和点倍流水线的一致性,提高了标量乘系统的效率。

Description

一种椭圆曲线密码算法中标量乘的加速系统
技术领域
本发明涉及一种椭圆曲线密码算法中标量乘的加速系统。
背景技术
椭圆曲线密码算法是一种非对称加密算法,具有高安全性、密钥短、存储空间小等特点,在分布式存储等领域广泛应用,其中标量乘作为椭圆曲线密码算法中最复杂的计算核心,占用大部分的计算资源。目前椭圆曲线密码算法多以GPU进行加速处理,但是GPU功耗高、价格昂贵、开发及维护成本高,不利于椭圆曲线密码算法的应用及推广。
发明内容
本发明的目的是克服现有技术中的不足,提供一种椭圆曲线密码算法中标量乘的加速系统。
为了达到上述目的,本发明是通过以下技术方案实现的:
一种椭圆曲线密码算法中标量乘的加速系统,包括输入模块、处理模块、输出模块,处理模块包括去零逻辑模块、去零标志缓存模块、去零累加流水缓存模块、点加流水线模块、去零累加缓存模块、点倍流水线模块、点倍缓存模块、解压逻辑模块,所述输入模块与去零逻辑模块相连,所述去零标志缓存模块、去零累加流水缓存模块、点加流水线模块、点倍流水线模块都与去零逻辑模块相连,所述点加流水线模块与去零累加缓存模块相连,所述点倍流水线模块与点倍缓存模块相连,所述去零标志缓存模块、去零累加流水缓存模块、去零累加缓存模块、点倍缓存模块都与解压逻辑模块相连,所述解压逻辑模块与输出模块相连。
作为优选,输入模块用于输入标量比特流(Scalar_bit stream)、点数据P。
作为优选,点加流水线模块用于进行点加操作。
作为优选,点倍流水线模块用于进行点倍操作。
作为优选,解压逻辑模块用于进行解压操作。
作为优选,去零逻辑模块用于对标量比特流Scalar_bit stream进行位压缩,同时将压缩功能的标志进行同步。
作为优选,所述输入模块、输出模块通过DDR4内存条或者PCIE接口进行存储。
本发明的有益效果如下:本发明的标量比特流位判断模块将标量比特流中的无效位消除,极大的减小了点加的计算次数,从而大幅度降低标量乘的计算复杂度,同时除零逻辑模块将压缩标志以及累加结果进行同步,解压逻辑模块根据压缩标志对累加结果进行选择,保证点加和点倍流水线的一致性,提高了标量乘系统的效率。
附图说明
图1为本发明通过DDR4内存条进行存储的模块连接图;
图2为本发明通过PCIE接口进行存储的模块连接图。
具体实施方式
下面结合说明书附图对本发明的技术方案作进一步说明:
如图1所示,一种椭圆曲线密码算法中标量乘的加速系统,包括输入模块1、处理模块11、输出模块10,处理模块11包括去零逻辑模块2、去零标志缓存模块3、去零累加流水缓存模块4、点加流水线模块5、去零累加缓存模块7、点倍流水线模块6、点倍缓存模块8、解压逻辑模块9,所述输入模块1与去零逻辑模块2相连,所述去零标志缓存模块3、去零累加流水缓存模块4、点加流水线模块5、点倍流水线模块6都与去零逻辑模块2相连,所述点加流水线模块5与去零累加缓存模块7相连,所述点倍流水线模块6与点倍缓存模块8相连,所述去零标志缓存模块3、去零累加流水缓存模块4、去零累加缓存模块7、点倍缓存模块8都与解压逻辑模块9相连,所述解压逻辑模块9与输出模块10相连。
输入模块1用于输入标量比特流Scalar_bit stream、点数据P。点加流水线模块5用于进行点加操作,点倍流水线模块6用于进行点倍操作,解压逻辑模块9用于进行解压操作,去零逻辑模块2用于对标量(scalar)进行位压缩,同时将压缩功能的标志进行同步。
如图1所示,输入模块1输入的数据遵循AXI流接口协议,输入模块1输入的数据为标量比特流Scalar_bit stream、点数据P,标量(scalar)为n0位大小的数据,假设n0为10位,然后标量(scalar)为10’b10_1010_1010,标量(scalar)的每一位决定“点加”和“点倍”操作是否执行,“标量(scalar)[i]=1”时,进行“点加”和“点倍”操作,否则不执行,scalar[9]、scalar[7]、scalar[5]、scalar[3]执行“点加”操作,scalar[9]、scalar[8]、scalar[7]、scalar[6]、scalar[5]、scalar[4]、scalar[3]、scalar[2]、scalar[1]执行“点倍”操作。如图2所示,输入的数据流经输入模块传输进去零逻辑模块2,压缩处理完成后输入到下一级模块,包括去零标志缓存模块3、去零累加流水缓存模块4、点加流水线模块5、点倍流水线模块6。
如图1所示,去零标志缓存模块3和去零累加流水缓存模块4分别对压缩标志信号、累加信号与流水线进行同步,同步级数取决于流水线深度n2和n3,假设n2为2,n3为3,去零标志缓存模块3中数据依次为1、0、1、0、1、0、1、0、1、0,去零累加流水缓存模块4中数据依次为0、2P、2P、10P、10P、42P、42P、170P、170P、682P。
如图1所示,点加流水线模块5进行点加算法的实现,流水级数为n2,为了方便说明,n2=28,处理完成后,交由去零累加缓存模块3进行缓存。假设标量(scalar)=10’b10_1010_1010,分别进行依次点加操作ACC0(21P+23P)、ACC1(ACC0+25P)、ACC2(ACC1+27P)、ACC3(ACC2+29P);
如图1所示,点倍流水线模块6进行“点倍”算法的实现,流水级数为n3,为了方便说明,n3=19,处理完成后,交由“点倍缓存模块8进行缓存。假设标量(scalar)=10’b10_1010_1010,分别进行依次点倍操作21P、22P、23P、24P、25P、26P、27P、28P、29P。
上述模块处理完成后,交由解压逻辑模块9进行解压操作。解压逻辑模块9输出点加的结果(21P+23P+25P+27P+29P),即scalar*P,点倍的结果21P、22P、23P、24P、25P、26P、27P、28P、29P;
完成后的数据遵循AXI流接口协议进行输出,进行下一轮的“点加”和“点倍”操作。
如图2所示,去零逻辑模块2完成对输入标量(scalar)的位压缩,同时将压缩功能的相关标志进行同步,减少“点加”的操作次数,从而达到减少计算资源的目的。
如图1所示,输入模块1输入的数据为标量比特流Scalar_bit stream、点数据P,标量比特流Scalar_bit stream的标量比特流位进行有效位判断,位有效时进行点加运算并缓存数据,否则跳过点加运算并保存当前数据。解压逻辑模块9根据去零标志缓存模块3进行结果数据切换,有效时选择点加累加缓存模块7的数据作为输出,否则选择去零累加缓存模块4的数据作为输出,将输出缓存。假设标量(scalar)=10’b10_1010_1010,第一步判断Scalar[0]为0,不进行点加计算,点加结果存入去零累加流水缓存模块4中,点倍流水线模块6计算点倍21P;第二步判断Scalar[1]为1,点倍流水线模块6计算点倍22P,点加流水线模块5计算点加(21P+0),结果缓存在去零累加缓存模块7中;第三步判断Scalar[2]为0,点倍流水线模块6计算23P,点加结果写入去零累加流水缓存模块4中;第四步判断Scalar[3]为1,点倍流水线模块6计算点倍(24P),点加流水线模块5计算点加(23P+21P+0),结果缓存在去零累加缓存模块7中,依次类推直到完成Scalar[9]的判断,点加流水线模块5完成点加(29P+27P+25P+23P+21P)。
解压逻辑模块9模块完成对数据流的解压。
如图1所示,解压逻辑模块9根据去零标志缓存模块3进行结果数据切换,有效时选择去零累加缓存模块7的数据作为输出,否则选择去零累加流水缓存模块4的数据作为输出,同时将点倍数据输出缓存。假设Scalar=10’b10_1010_1010,Scalar[0]为0,解压逻辑模块9选择去零累加流水缓存模块4的数据作为输出;Scalar[1]为1,解压逻辑模块9选择去零累加缓存模块7的数据作为输出;Scalar[2]为0,解压逻辑模块9选择去零累加流水缓存模块4的数据作为输出;Scalar[3]为1,解压逻辑模块9选择去零累加缓存模块7的数据作为输出,依次类推直到完成Scalar[9]的判断解压。
输入模块1、输出模块10通过DDR4内存条进行存储。
如图2所示,输入模块1、输出模块10也可通过PCIE接口进行存储,即将图1去掉DDR缓存,采用PCIE接口直接读取数据,如图2所示,处理模块11流水线级数为M,初始时数据读取模块依次读取M个数据包(每个数据包括标量、点数据),数据选择模块14将M个数据包依次送入处理模块11进行处理,完成一次处理循环次数加1,循环次数小于256(标量的位宽为256位)时,结果送入缓存单元;循环次数等于256时,结果送入PCIE接口进行存储。处理模块11输出的数据包括计数器、标量、累加和点倍,循环256次后只将累加和数据送至PCIE接口进行存储,其他数据清零。数据读取模块12根据缓存单元13数据量进行输入数据的读取,缓存单元数据量小于M个时,读取输入数据,否则不读取。数据选择模块按照轮询方式对缓存单元和数据读取模块进行优先级仲裁,选中的数据送入处理模块进行处理。
本发明的标量比特流位判断模块将标量比特流中的无效位消除,极大的减小了点加的计算次数,从而大幅度降低标量乘的计算复杂度,同时除零逻辑模块将压缩标志以及累加结果进行同步,切换开关模块根据压缩标志对累加结果进行选择,保证点加和点倍流水线的一致性,提高了标量乘系统的效率。
需要注意的是,以上列举的仅是本发明的一种具体实施例。显然,本发明不限于以上实施例,还可以有许多变形,总之,本领域的普通技术人员能从本发明公开的内容直接导出或联想到的所有变形,均应认为是本发明的保护范围。

Claims (2)

1.一种椭圆曲线密码算法中标量乘的加速系统,其特征在于,包括输入模块(1)、输出模块(10)、处理模块(11),所述处理模块(11)包括去零逻辑模块(2)、去零标志缓存模块(3)、去零累加流水缓存模块(4)、点加流水线模块(5)、去零累加缓存模块(7)、点倍流水线模块(6)、点倍缓存模块(8)、解压逻辑模块(9),所述输入模块(1)与去零逻辑模块(2)相连,所述去零标志缓存模块(3)、去零累加流水缓存模块(4)、点加流水线模块(5)、点倍流水线模块(6)都与去零逻辑模块(2)相连,所述点加流水线模块(5)与去零累加缓存模块(7)相连,所述点倍流水线模块(6)与点倍缓存模块(8)相连,所述去零标志缓存模块(3)、去零累加流水缓存模块(4)、去零累加缓存模块(7)、点倍缓存模块(8)都与解压逻辑模块(9)相连,所述解压逻辑模块(9)与输出模块(10)相连,所述去零逻辑模块(2)用于对标量进行位压缩,同时将压缩功能的标志进行同步;所述去零标志缓存模块(3)和去零累加流水缓存模块(4)分别对压缩标志信号、累加信号与流水线进行同步;所述输入模块(1)输入的数据为标量比特流Scalar_bit stream、点数据P,当所述标量比特流的当前位为0时,则不进行点加计算,点加结果存入去零累加流水缓存模块(4)中,点倍流水线模块(6)进行点倍计算,当所述标量比特流的当前位为1时,点倍流水线模块(6)进行点倍计算,点加流水线模块(5)进行点加计算,结果缓存在去零累加缓存模块(7)中;所述解压逻辑模块(9)根据去零标志缓存模块(3)进行结果数据切换,有效时选择去零累加缓存模块(7)的数据作为输出,否则选择去零累加流水缓存模块(4)的数据作为输出,同时将点倍数据输出缓存。
2.根据权利要求1所述的一种椭圆曲线密码算法中标量乘的加速系统,其特征在于,所述输入模块(1)、输出模块(10)通过DDR4内存条或者PCIE接口进行存储。
CN202110340092.8A 2021-03-30 2021-03-30 一种椭圆曲线密码算法中标量乘的加速系统 Active CN113014388B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110340092.8A CN113014388B (zh) 2021-03-30 2021-03-30 一种椭圆曲线密码算法中标量乘的加速系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110340092.8A CN113014388B (zh) 2021-03-30 2021-03-30 一种椭圆曲线密码算法中标量乘的加速系统

Publications (2)

Publication Number Publication Date
CN113014388A CN113014388A (zh) 2021-06-22
CN113014388B true CN113014388B (zh) 2022-06-28

Family

ID=76409271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110340092.8A Active CN113014388B (zh) 2021-03-30 2021-03-30 一种椭圆曲线密码算法中标量乘的加速系统

Country Status (1)

Country Link
CN (1) CN113014388B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115603909B (zh) * 2022-07-25 2024-04-09 华中科技大学 一种用于后量子密码算法Kyber的密文压缩及解压电路

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262345A (zh) * 2008-01-04 2008-09-10 清华大学 椭圆曲线密码系统的倍点系统
CN103023659A (zh) * 2013-01-08 2013-04-03 武汉大学 一种参数位宽可扩展的ecc加密硬件装置
CN104506316A (zh) * 2014-11-24 2015-04-08 成都卫士通信息产业股份有限公司 一种基于sm2基点的点乘运算方法
CN104579651A (zh) * 2013-10-28 2015-04-29 上海复旦微电子集团股份有限公司 椭圆曲线密码点乘运算的方法和装置
CN104660615A (zh) * 2015-03-17 2015-05-27 东南大学 一种高效数据压缩加密系统
WO2015164996A1 (zh) * 2014-04-28 2015-11-05 山东华芯半导体有限公司 椭圆域曲线运算方法和椭圆域曲线运算器
CN108875416A (zh) * 2018-06-22 2018-11-23 北京智芯微电子科技有限公司 椭圆曲线多倍点运算方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3821631B2 (ja) * 2000-05-30 2006-09-13 株式会社日立製作所 楕円曲線暗号におけるスカラー倍計算方法及び装置、並びに記憶媒体
US9118482B2 (en) * 2013-09-27 2015-08-25 Intel Corporation Fault tolerant apparatus and method for elliptic curve cryptography
US10635404B2 (en) * 2017-06-29 2020-04-28 Intel Corporation Mixed-coordinate point multiplication

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262345A (zh) * 2008-01-04 2008-09-10 清华大学 椭圆曲线密码系统的倍点系统
CN103023659A (zh) * 2013-01-08 2013-04-03 武汉大学 一种参数位宽可扩展的ecc加密硬件装置
CN104579651A (zh) * 2013-10-28 2015-04-29 上海复旦微电子集团股份有限公司 椭圆曲线密码点乘运算的方法和装置
WO2015164996A1 (zh) * 2014-04-28 2015-11-05 山东华芯半导体有限公司 椭圆域曲线运算方法和椭圆域曲线运算器
CN104506316A (zh) * 2014-11-24 2015-04-08 成都卫士通信息产业股份有限公司 一种基于sm2基点的点乘运算方法
CN104660615A (zh) * 2015-03-17 2015-05-27 东南大学 一种高效数据压缩加密系统
CN108875416A (zh) * 2018-06-22 2018-11-23 北京智芯微电子科技有限公司 椭圆曲线多倍点运算方法和装置

Also Published As

Publication number Publication date
CN113014388A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN109598338B (zh) 一种基于fpga的计算优化的卷积神经网络加速器
CN110109926B (zh) 一种Equihash算法数据的排序装置和排序方法
CN101261575B (zh) 一种实现不等宽数据传输的异步先进先出存储器及方法
CN102508803A (zh) 一种矩阵转置存储控制器
CN113014388B (zh) 一种椭圆曲线密码算法中标量乘的加速系统
CN110928832A (zh) 异步流水线处理器电路、装置及数据处理方法
CN112307421A (zh) 一种基4频率抽取快速傅里叶变换处理器
CN101207372B (zh) 一种可实现固定小数采样率转换的方法及其装置
CN111274171A (zh) 一种数据传输装置及方法
CN101534125B (zh) 一种超长数据变长编码合成系统
CN113222129B (zh) 一种基于多级缓存循环利用的卷积运算处理单元及系统
CN111079934B (zh) 应用于环域上误差学习加密算法的数论变换单元和方法
CN101154957B (zh) Turbo码交织器及交织地址传输方法
CN100527109C (zh) 存储器访问装置
CN115437972A (zh) 一种带时钟切换的乒乓缓存方法、装置及接口控制器
WO2013097235A1 (zh) 并行位反序装置和方法
CN112988235B (zh) 一种高效率第三代安全散列算法的硬件实现电路及方法
EP2133797B1 (en) Dma transfer device and method
CN101267459B (zh) 采用异步fifo寄存器输出数据的方法及寄存器
CN105094746A (zh) 一种椭圆曲线密码的点加/点倍的实现方法
CN104735824B (zh) 数据处理系统
CN111814680B (zh) 一种基于fpga的多路axi总线的控制方法
CN100428724C (zh) 动态时分交换装置及方法
CN116470927B (zh) 一种数据处理方法、装置、设备和存储介质
JP3711730B2 (ja) インターフェース回路

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Room 2409, 24 / F, Huachuang building, 511 Jianye Road, Binjiang District, Hangzhou, Zhejiang 310000

Patentee after: Firefly Technology Holdings Ltd.

Address before: Room 2409, 24 / F, Huachuang building, 511 Jianye Road, Binjiang District, Hangzhou, Zhejiang 310000

Patentee before: Zhejiang firefly blockchain Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230301

Address after: Room 201664, 20/F, Yandafang Wenyuan Building, 426 Binwen Road, Puyan Street, Binjiang District, Hangzhou City, Zhejiang Province, 310000

Patentee after: Chunxiao (Hangzhou) Education Technology Development Co.,Ltd.

Address before: Room 2409, 24 / F, Huachuang building, 511 Jianye Road, Binjiang District, Hangzhou, Zhejiang 310000

Patentee before: Firefly Technology Holdings Ltd.