CN107294719A - 一种双线性对运算的加解密协处理器 - Google Patents
一种双线性对运算的加解密协处理器 Download PDFInfo
- Publication number
- CN107294719A CN107294719A CN201710464930.6A CN201710464930A CN107294719A CN 107294719 A CN107294719 A CN 107294719A CN 201710464930 A CN201710464930 A CN 201710464930A CN 107294719 A CN107294719 A CN 107294719A
- Authority
- CN
- China
- Prior art keywords
- mould
- modular
- domains
- bilinear map
- domain
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
- H04L9/3073—Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Advance Control (AREA)
Abstract
本发明公开了一种双线性对运算的加解密协处理器,涉及信息安全技术领域。该加解密协处理器,通过大数P域的模加,模减,模乘,模逆运算单元分别实现大数P域的模加,模减,模乘,模逆运算,并通过采用FIFO指令调用P域的模加,模减,模乘,模逆,并对其进行组合,来实现P2域的模加,模减,模乘,模平方以及模逆等运算,实现了双线性对的运算高性能和灵活性的有机统一。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种双线性对运算的加解密协处理器。
背景技术
双线性对密码是近年来公钥密码学新兴研究领域之一。在过去的十年中,双线性对被广泛而创造性地用于构建新型信息安全协议,为人们带来了传统公钥密码技术难以提供的新颖而强大的信息安全服务,具有巨大的研究价值和广泛的应用前景,然而,与传统公钥密码相比,双线性对密码复杂度更高,计算强度更大,双线性对的计算效率往往成为相关信息安全协议是否能实现的关键所在。
目前,为了提高双线性对的计算效率,有人在双线性对协处理器中实现了支持P2域的模乘单元。但是在相同的只有一个乘法器硬件资源的情况下,P2域的模乘实现的性能,比单独调用P域模乘的性能仅提高20%左右。所以实现P2域的模乘单元对双线性对算法的性能提升并不多。还有人用ECC协处理器实现双线性对协处理器,但是,大多数的ECC协处理器硬件实现点加和点倍运算都是状态机实现的,运算流程是固定的,而双线性对运算的点加和点倍的流程和ECC协处理器的点加和点倍的流程是不一样的,所以用ECC协处理器来支持双线性对运算,只能直接调用模乘,模加基本单元来实现,不能调用点加和点倍运算单元的支持。但是没有点加和点倍运算单元的支持,双线性对运算的性能提升不多,整体还是比较低。
因此需要设计一款支持双线性对运算的协处理器,不仅可以方便的实现双线性对运算,而且硬件逻辑面积小,性价比高。
发明内容
本发明的目的在于提供一种双线性对运算的加解密协处理器,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明采用的技术方案如下:
一种双线性对运算的加解密协处理器,包括控制单元,运算单元和存储单元;
所述控制单元包括控制寄存器、FIFO指令寄存器和FIFO指令存储器,所述控制寄存器用于控制相关参数的写入,协处理器的启动以及状态查询;所述FIFO指令寄存器用于控制FIFO指令的输入,还用于通过所述FIFO指令实现P2域的各种所需模运算;所述FIFO指令存储器用于存储FIFO指令;
所述运算单元包括P域的各种模运算单元,分别用于进行大数P域的模运算;
所述存储单元用于存储输入输出数据,运算结果以及运算过程中的临时数据;
所述FIFO指令用于对P域的各种模运算进行组合调用,配置为P2域的各种所需模运算。
优选地,所述P域的各种模运算单元包括模加运算单元,模减运算单元,模乘运算单元和模逆运算单元,分别用于进行大数P域的模加,模减,模乘和模逆运算。
优选地,所述P2域的各种所需模运算包括模加,模减,模乘,模平方以及模逆运算。
优选地,所述P2域的各种所需模运算通过P域上的模乘,模加,模减以及模逆基础运算组合实现。
本发明的有益效果是:本发明实施例提供的一种双线性对运算的加解密协处理器,通过大数P域的模加,模减,模乘,模逆运算单元分别实现大数P域的模加,模减,模乘,模逆运算,并通过采用FIFO指令调用P域的模加,模减,模乘,模逆,并对其进行组合,来实现P2域的模加,模减,模乘,模平方以及模逆等运算,实现了双线性对的运算高性能和灵活性的有机统一。
附图说明
图1是本发明提供的双线性对运算的加解密协处理器结构示意图;
图2是双线性对(基于Mi l ler算法)运算的结构图;
图3是通过调用P域的基本模操作来实现P2域模逆运算的过程效果图;
图4是处理器的使用方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了一种双线性对运算的加解密协处理器,包括控制单元,运算单元和存储单元;
所述控制单元包括控制寄存器、FIFO指令寄存器和FIFO指令存储器,所述控制寄存器用于控制相关参数的写入,协处理器的启动以及状态查询;所述FIFO指令寄存器用于控制FIFO指令的输入,还用于通过所述FIFO指令实现P2域的各种所需模运算;所述FIFO指令存储器用于存储FIFO指令;
所述运算单元包括P域的各种模运算单元,分别用于进行大数P域的模运算;
所述存储单元用于存储输入输出数据,运算结果以及运算过程中的临时数据;
所述FIFO指令用于对P域的各种模运算进行组合调用,配置为P2域的各种所需模运算。
其中,所述P域的各种模运算单元包括模加运算单元,模减运算单元,模乘运算单元和模逆运算单元,分别用于进行大数P域的模加,模减,模乘和模逆运算。
本实施例中,所述P2域的各种所需模运算包括模加,模减,模乘,模平方以及模逆运算。
本实施例中,所述P2域的各种所需模运算通过P域上的模乘,模加,模减以及模逆基础运算组合实现。
双线性对的计算(基于Miller算法),主要包括两部分,Miller Loop和FinalExponentiation;其结构如图2所示。由双线性对(基于Miller算法)的结构图可以看出,P2域的运算是Miller算法实现中的底层域。如果能够加速P2域相关运算,那么双线性对计算也能获得整体效率的提升。
下表给出了双线性对的运算不同域之间的转换关系。
其中,A2,M2,S2,I2,分别表示P2中模加/减,模乘,模平方,模逆。Mβ是标量与β相乘,但由于β通常是较小的常数,所以一般通过模加/减实现。从上表可以看出P2域的基本运算,可以由P域的基本运算组合实现;P6域的基本运算,可以由P2域的基本运算组合实现,P12域的基本运算,可以由P6域的基本运算组合实现。
如图3所示,以P2域模逆为例,介绍了如何通过调用P域的基本模操作来实现P2域模逆运算的过程。其中,a0,a1,c0,c1是P域上的大数。
从图3中可以看出,P2域上的求逆运算通过拆分为P域上的模乘,模加,模减,以及模逆等基础运算的组合来实现。
从上述的实例可以看出,P2域的运算需要P域的模乘,模加,模减,模逆等基本运算来实现。因此,本发明提供的协处理器,设计了P域的模乘,模加/模减,模逆单元,分别用于进行P域的模乘,模加,模减,模逆等基本运算。
另外,由于P2域的基本运算,可以由P域的基本运算组合实现,所以,本发明实施例提供的双线性对运算的加解密协处理器,为了方便P2域的不同算法的需求,采用FIFO的方式来实现。这样就可以不需要为每一种不同的算法,单独实现一个状态机了,只需要软件人员根据算法的需要,通过FIFO指令组合出不同的对硬件调用顺序即可。而采用FIFO指令进行配置,还有另一个好处就是一条指令运算完,紧接着另一条指令开始运算,中间的切换时间很少,节省了CPU查询状态寄存器,和写下一条指令的时间。FIFO实现基本上与状态机的执行效率是一样的。
FIFO(First Input First Output)先入先出队列,是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。
所以,本发明实施例提供的双线性对运算的加解密协处理器,可通过大数P域的模加,模减,模乘,模逆运算单元分别实现大数P域的模加,模减,模乘,模逆运算,而P2域的各种所需模运算通过P域上的模乘,模加,模减以及模逆基础运算组合实现,上述过程通过采用FIFO指令调用P域的模加,模减,模乘,模逆,并对其进行组合,来实现P2域的模加,模减,模乘,模平方以及模逆等运算。
使用该协处理器之后的控制流程,可以采用如下的步骤:
1)写入待计算数据到RAM中。
2)配置协处理器的控制参数。
3)如果FIFO不满,则压入一条一条的FIFO指令,进行相应运算,最后压入FIFO运算结束指令。
4)查询运算是否完成,运算完成,读取运算结果,否则等待运算完成;
通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明实施例提供的一种双线性对运算的加解密协处理器,通过大数P域的模加,模减,模乘,模逆运算单元分别实现大数P域的模加,模减,模乘,模逆运算,并通过采用FIFO指令调用P域的模加,模减,模乘,模逆,并对其进行组合,来实现P2域的模加,模减,模乘,模平方以及模逆等运算,实现了双线性对的运算高性能和灵活性的有机统一。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。
上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (4)
1.一种双线性对运算的加解密协处理器,其特征在于,包括控制单元,运算单元和存储单元;
所述控制单元包括控制寄存器、FIFO指令寄存器和FIFO指令存储器,所述控制寄存器用于控制相关参数的写入,协处理器的启动以及状态查询;所述FIFO指令寄存器用于控制FIFO指令的输入,还用于通过所述FIFO指令实现P2域的各种所需模运算;所述FIFO指令存储器用于存储FIFO指令;
所述运算单元包括P域的各种模运算单元,分别用于进行大数P域的模运算;
所述存储单元用于存储输入输出数据,运算结果以及运算过程中的临时数据;
所述FIFO指令用于对P域的各种模运算进行组合调用,配置为P2域的各种所需模运算。
2.根据权利要求1所述的双线性对运算的加解密协处理器,其特征在于,所述P域的各种模运算单元包括模加运算单元,模减运算单元,模乘运算单元和模逆运算单元,分别用于进行大数P域的模加,模减,模乘和模逆运算。
3.根据权利要求1所述的双线性对运算的加解密协处理器,其特征在于,所述P2域的各种所需模运算包括模加,模减,模乘,模平方以及模逆运算。
4.根据权利要求1所述的双线性对运算的加解密协处理器,其特征在于,所述P2域的各种所需模运算通过P域上的模乘,模加,模减以及模逆基础运算组合实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710464930.6A CN107294719A (zh) | 2017-06-19 | 2017-06-19 | 一种双线性对运算的加解密协处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710464930.6A CN107294719A (zh) | 2017-06-19 | 2017-06-19 | 一种双线性对运算的加解密协处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107294719A true CN107294719A (zh) | 2017-10-24 |
Family
ID=60097272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710464930.6A Pending CN107294719A (zh) | 2017-06-19 | 2017-06-19 | 一种双线性对运算的加解密协处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107294719A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866547A (zh) * | 2020-07-30 | 2020-10-30 | 北京万协通信息技术有限公司 | 一种新型视频防篡改的方法 |
CN112436941A (zh) * | 2020-11-03 | 2021-03-02 | 海光信息技术股份有限公司 | 支持标识密码算法的协处理器、方法、芯片及电子设备 |
CN112769553A (zh) * | 2020-12-30 | 2021-05-07 | 北京宏思电子技术有限责任公司 | 嵌入式系统中加快sm9双线性对运算的实现方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000538A (zh) * | 2007-01-05 | 2007-07-18 | 东南大学 | 椭圆曲线密码体制协处理器的实现方法 |
US20080140739A1 (en) * | 2000-12-13 | 2008-06-12 | Infineon Technologies Ag | Cryptographic Device Employing Parallel Processing |
CN102043916A (zh) * | 2010-12-01 | 2011-05-04 | 戴葵 | 一种高性能可扩展公钥密码协处理器结构 |
CN102279725A (zh) * | 2011-09-01 | 2011-12-14 | 北京华大信安科技有限公司 | Ecc协处理器 |
CN104579656A (zh) * | 2014-12-31 | 2015-04-29 | 北京时代民芯科技有限公司 | 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器 |
-
2017
- 2017-06-19 CN CN201710464930.6A patent/CN107294719A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080140739A1 (en) * | 2000-12-13 | 2008-06-12 | Infineon Technologies Ag | Cryptographic Device Employing Parallel Processing |
CN101000538A (zh) * | 2007-01-05 | 2007-07-18 | 东南大学 | 椭圆曲线密码体制协处理器的实现方法 |
CN102043916A (zh) * | 2010-12-01 | 2011-05-04 | 戴葵 | 一种高性能可扩展公钥密码协处理器结构 |
CN102279725A (zh) * | 2011-09-01 | 2011-12-14 | 北京华大信安科技有限公司 | Ecc协处理器 |
CN104579656A (zh) * | 2014-12-31 | 2015-04-29 | 北京时代民芯科技有限公司 | 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866547A (zh) * | 2020-07-30 | 2020-10-30 | 北京万协通信息技术有限公司 | 一种新型视频防篡改的方法 |
CN112436941A (zh) * | 2020-11-03 | 2021-03-02 | 海光信息技术股份有限公司 | 支持标识密码算法的协处理器、方法、芯片及电子设备 |
CN112769553A (zh) * | 2020-12-30 | 2021-05-07 | 北京宏思电子技术有限责任公司 | 嵌入式系统中加快sm9双线性对运算的实现方法及装置 |
CN112769553B (zh) * | 2020-12-30 | 2022-08-19 | 北京宏思电子技术有限责任公司 | 嵌入式系统中加快sm9双线性对运算的实现方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934481B2 (en) | Matrix multiplier | |
Roy et al. | FPGA-based high-performance parallel architecture for homomorphic computing on encrypted data | |
CN106445471B (zh) | 处理器和用于在处理器上执行矩阵乘运算的方法 | |
CN110892393A (zh) | 用于在同态加密下加速安全计算的同态处理单元(hpu) | |
CN103761068B (zh) | 优化的蒙哥马利模乘硬件 | |
Yan et al. | Chinese remainder theorem-based secret image sharing for (k, n) threshold | |
CN107294719A (zh) | 一种双线性对运算的加解密协处理器 | |
Renes et al. | Kummer: Efficient hyperelliptic signatures and key exchange on microcontrollers | |
CN103793199B (zh) | 一种支持双域的快速rsa密码协处理器 | |
Xie et al. | Hardware-efficient realization of prime-length DCT based on distributed arithmetic | |
WO2022228222A1 (zh) | 数据处理方法以及装置 | |
CN109787760A (zh) | 一种优化的基于h1类哈希函数族的密钥保密增强方法及装置 | |
Damrudi et al. | Parallel RSA encryption based on tree architecture | |
CN116400884A (zh) | 乘加器的控制方法、装置、计算机设备和存储介质 | |
Chiper et al. | An efficient unified framework for implementation of a prime-length DCT/IDCT with high throughput | |
Hu et al. | Low-power reconfigurable architecture of elliptic curve cryptography for IoT | |
WO2023284130A1 (zh) | 用于卷积计算的芯片及其控制方法、电子装置 | |
CN113467752B (zh) | 用于隐私计算的除法运算装置、数据处理系统及方法 | |
CN114510217A (zh) | 处理数据的方法、装置和设备 | |
Wang et al. | A 920MHz quad-core cryptography processor accelerating parallel task processing of public-key algorithms | |
Dong et al. | EG-Four $\mathbb {Q} $: An Embedded GPU Based Efficient ECC Cryptography Accelerator for Edge Computing | |
Kageyama et al. | Implementation of Modulo Multiplication with CAM-Based Massive-Parallel SIMD Matrix Core | |
CN112765542A (zh) | 运算装置 | |
Kishore et al. | Implementation of braun and baugh-wooley multipliers using qca | |
Reddy et al. | 16-Bit GDI multiplier design for low power applications |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171024 |