CN110311772A - 一种可编程加解密方法及其系统 - Google Patents

一种可编程加解密方法及其系统 Download PDF

Info

Publication number
CN110311772A
CN110311772A CN201910518666.9A CN201910518666A CN110311772A CN 110311772 A CN110311772 A CN 110311772A CN 201910518666 A CN201910518666 A CN 201910518666A CN 110311772 A CN110311772 A CN 110311772A
Authority
CN
China
Prior art keywords
instruction
unit
decoding
bits
arithmetic element
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
CN201910518666.9A
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.)
Shanghai Laiyuan Electronic Technology Co Ltd
Original Assignee
Shanghai Laiyuan Electronic 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 Shanghai Laiyuan Electronic Technology Co Ltd filed Critical Shanghai Laiyuan Electronic Technology Co Ltd
Priority to CN201910518666.9A priority Critical patent/CN110311772A/zh
Publication of CN110311772A publication Critical patent/CN110311772A/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Advance Control (AREA)

Abstract

本发明涉及加解密算法技术领域,公开了一种可编程加解密,包括如下步骤:分配专用处理器;为专用处理器匹配并匹配调用有模乘运算单元、模加运算单元以及除余运算单元,模乘运算单元、模加运算单元以及除余运算单元均为大数运算单元;接收外界指令并译码,译码为根据预先设定的指令集为外界指令匹配出对应具体的操作;保存译码的中间结果;预取变长的指令,需要使用立即数的指令为32比特,其余指令为16比特;运算速度提升到了最优,可将通用处理器数据存取的时间由原来的64次存取操作缩短为2次,大大缩短了数据存取所需的存取时间,大数运算的时间仍保持最优;指令和数据均存放在内存内,节省了大量硬件控制逻辑。

Description

一种可编程加解密方法及其系统
技术领域
本发明涉及加解密算法技术领域,更具体地说,它涉及一种可编程加解密。
背景技术
目前ECC加解密算法主要的实现方法为:由硬件实现ECC所需的基础运算单元,再由通用处理器进行调度,完成ECC所有运算过程,该方法较灵活,硬件辑消耗较少,但运算速度与纯硬件逻辑相比较慢。目前CPU内通用寄存器多为比特寄存器,进行一次模乘运算需要在内存和运算单元之间进行256x4次数据取,一次存取需要由读、写两次操作组成,所以至少需要进行256+32x2x4=6次存取操作,大大减慢了运算时间。若采用纯硬件设计,虽然不存在存取操作的限制,但硬件控制逻辑将非常巨大。
发明内容
针对现有的技术问题,本发明目的一在于提供一种可编程加解密方法,其具有在保证运算速度最优与灵活性的前提下,提高了数据存取速度,达到了硬件逻辑开销最小化的优点。本发明目的二在于提供一种可编程加解密系统,其具有在保证运算速度最优与灵活性的前提下,提高了数据处理速度,达到了硬件逻辑开销最小化优点。
为实现上述目的一,本发明提供了如下技术方案:
一种可编程加解密方法,包括如下步骤:
分配专用处理器;
为专用处理器匹配并匹配调用有模乘运算单元、模加运算单元以及除余运算单元,模乘运算单元、模加运算单元以及除余运算单元均为大数运算单元;
接收外界指令并译码,译码为根据预先设定的指令集为外界指令匹配出对应具体的操作;
保存译码的中间结果;
预取变长的指令,需要使用立即数的指令为32比特,其余指令为16比特。
通过上述技术方案,运算速度提升到了最优,可将通用处理器数据存取的时间由原来的64次存取操作缩短为2次,大大缩短了数据存取所需的存取时间,而大数运算的时间仍保持最优;通过指令集实现,可通过裁剪指令与数据内存,很方便地进行功能裁剪;指令和数据均存放在内存内,节省了大量硬件控制逻辑。
进一步的,所述预取变长的指令中,还包括:
识别指令长度;
从内存中读取一条完整的指令;
译码完整的指令。
通过上述技术方案,通过将控制指令存于内存,实现灵活可裁剪、扩展,且降低了硬件逻辑开销。
进一步的,所述识别指令长度中,还包括:
接收跳转指令;
撤销流水中的指令;
重新从指定地址取指令。
进一步的,所述接收外界指令并译码中,还包括:译码步骤中直接调用大数运算单元。
通过上述技术方案,通过专用处理器内的大数运算单元,实现大数运算单元数据的快速存取操作,达到最优运算速度。
为实现上述目的二,本发明提供了如下技术方案:
一种可编程加解密系统,包括专用处理器、指令读取单元、指令译码单元、通用寄存器、指令预取单元、数据存储单元以及供专用处理器调用的多个大数运算单元,大数运算单元包括模乘运算单元、模加运算单元以及除余运算单元;
指令读取单元用于读取出外界指令;
指令译码单元用于指令译码,它可将由指令读取单元输入的外界指令转化为具体的操作,译码为根据预先设定的指令集为外界指令匹配出对应具体的操作;
通用寄存器用于保存指令译码单元处理的中间结果,通用寄存器用于保存指令译码单元处理的中间结果,内部有多个通用寄存器;
指令预取单元用于指令的预取,指令为16比特、32比特变长,当需要使用立即数的指令为32比特,其余指令为16比特;
数据存取单元用于从内存中读取数据后传给专用处理器,或者将专用处理器提供的数据写入内存。
进一步的,多个通用寄存器包括多个16比特控制用寄存器、多个大数运算单元、状态寄存器、最高位为1的常数寄存器以及程序指针寄存器。
进一步的,指令预取单元识别指令长度,并从内存中读取一条完整的指令然后送入指令译码单元。
进一步的,指令预取单元收到处理器发来的跳转指令时,先撤销流水中的指令,重新从指定地址取指令。
进一步的,指令译码单元与多个大数运算单元控制连接,用于直接控制或者调用多个大数运算单元。
与现有技术相比,本发明的有益效果是:通过专用处理器内的大数运算单元,实现大数运算单元数据的快速存取操作,达到最优运算速度,可将通用处理器数据存取的时间由原来的64次存取操作缩短为2次,大大缩短了数据存取所需的存取时间,而大数运算的时间仍保持最优;通过将控制指令存于内存,实现灵活可裁剪、扩展,且降低了硬件逻辑开销。通过指令集实现,可通过裁剪指令与数据内存,很方便地进行功能裁剪。指令和数据均存放在内存内,节省了大量硬件控制逻辑。通过16、32位可变指令长度,减少了指令代码的内存消耗。
附图说明
图1为本发明实施例一的方法流程示意图;
图2为本发明实施例一指令译码单元支持的指令集;
图3为本发明实施例二的系统框图。
具体实施方式
下面结合附图和实施例,对本发明进行详细描述。
实施例一
一种可编程加解密方法,如图1所示,包括如下步骤:
分配专用处理器。专用处理器为单独列出来的处理器。
为专用处理器匹配并匹配调用有模乘运算单元、模加运算单元以及除余运算单元,模乘运算单元、模加运算单元以及除余运算单元均为大数运算单元。接收外界指令并译码,译码为根据预先设定的指令集为外界指令匹配出对应具体的操作。译码步骤中直接调用大数运算单元。通过专用处理器内的大数运算单元,实现大数运算单元数据的快速存取操作,达到最优运算速度。
保存译码的中间结果。预取变长的指令,需要使用立即数的指令为32比特,其余指令为16比特。识别指令长度,从内存中读取一条完整的指令,译码完整的指令。识别指令长度中,若接收到跳转指令,则撤销流水中的指令,然后重新从指定地址取指令。通过将控制指令存于内存,实现灵活可裁剪、扩展,且降低了硬件逻辑开销。
运算速度提升到了最优,可将通用处理器数据存取的时间由原来的64次存取操作缩短为2次,大大缩短了数据存取所需的存取时间,而大数运算的时间仍保持最优。通过指令集实现,可通过裁剪指令与数据内存,很方便地进行功能裁剪。指令和数据均存放在内存内,节省了大量硬件控制逻辑。
实施例二
一种可编程加解密系统,如图3所示,包括专用处理器、指令读取单元、指令译码单元、通用寄存器、指令预取单元、数据存储单元以及供专用处理器调用的多个大数运算单元,大数运算单元包括模乘运算单元、模加运算单元以及除余运算单元。
指令读取单元用于读取出外界指令。
指令译码单元用于指令译码,它可将由指令读取单元输入的外界指令转化为具体的操作,译码为根据预先设定的指令集为外界指令匹配出对应具体的操作。指令译码单元与多个大数运算单元控制连接,用于直接控制或者调用多个大数运算单元,由指令译码单元直接控制,以达到最快的调用速度。
通用寄存器用于保存指令译码单元处理的中间结果,通用寄存器用于保存指令译码单元处理的中间结果,内部有多个通用寄存器。
指令预取单元用于指令的预取,指令为16比特、32比特变长,当需要使用立即数的指令为32比特,其余指令为16比特。
数据存取单元用于从内存中读取数据后传给专用处理器,或者将专用处理器提供的数据写入内存。
多个通用寄存器包括多个16比特控制用寄存器、多个大数运算单元、状态寄存器、最高位为1的常数寄存器以及程序指针寄存器。大数寄存器位宽由加密算法最大需要支持的密钥位宽决定,状态寄存器用于记录溢出等状态。
指令预取单元识别指令长度,并从内存中读取一条完整的指令然后送入指令译码单元。指令预取单元收到处理器发来的跳转指令时,先撤销流水中的指令,重新从指定地址取指令。
系统由一个专用处理器和多个大数运算单元组成,可根据预设程序,独立完成ECC的加解密、数字签名、数字签名验证等运算,在保证运算速度最优与灵活性的前提下,提高了数据存取速度,达到了硬件逻辑开销最小化。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1.一种可编程加解密方法,其特征在于,包括如下步骤:
分配专用处理器;
为专用处理器匹配并匹配调用有模乘运算单元、模加运算单元以及除余运算单元,模乘运算单元、模加运算单元以及除余运算单元均为大数运算单元;
接收外界指令并译码,译码为根据预先设定的指令集为外界指令匹配出对应具体的操作;
保存译码的中间结果;
预取变长的指令,需要使用立即数的指令为32比特,其余指令为16比特。
2.根据权利要求1所述的方法,其特征在于,所述预取变长的指令中,还包括:
识别指令长度;
从内存中读取一条完整的指令;
译码完整的指令。
3.根据权利要求1所述的方法,其特征在于,所述识别指令长度中,还包括:
接收跳转指令;
撤销流水中的指令;
重新从指定地址取指令。
4.根据权利要求1所述的方法,其特征在于,所述接收外界指令并译码中,还包括:译码步骤中直接调用大数运算单元。
5.一种可编程加解密系统,其特征在于,包括专用处理器、指令读取单元、指令译码单元、通用寄存器、指令预取单元、数据存储单元以及供专用处理器调用的多个大数运算单元,大数运算单元包括模乘运算单元、模加运算单元以及除余运算单元;
指令读取单元用于读取出外界指令;
指令译码单元用于指令译码,它可将由指令读取单元输入的外界指令转化为具体的操作,译码为根据预先设定的指令集为外界指令匹配出对应具体的操作;
通用寄存器用于保存指令译码单元处理的中间结果,通用寄存器用于保存指令译码单元处理的中间结果,内部有多个通用寄存器;
指令预取单元用于指令的预取,指令为16比特、32比特变长,当需要使用立即数的指令为32比特,其余指令为16比特;
数据存取单元用于从内存中读取数据后传给专用处理器,或者将专用处理器提供的数据写入内存。
6.根据权利要求5所述的系统,其特征在于,多个通用寄存器包括多个16比特控制用寄存器、多个大数运算单元、状态寄存器、最高位为1的常数寄存器以及程序指针寄存器。
7.根据权利要求5所述的系统,其特征在于,指令预取单元识别指令长度,并从内存中读取一条完整的指令然后送入指令译码单元。
8.根据权利要求7所述的系统,其特征在于,指令预取单元收到处理器发来的跳转指令时,先撤销流水中的指令,重新从指定地址取指令。
9.根据权利要求7所述的系统,其特征在于,指令译码单元与多个大数运算单元控制连接,用于直接控制或者调用多个大数运算单元。
CN201910518666.9A 2019-06-15 2019-06-15 一种可编程加解密方法及其系统 Pending CN110311772A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910518666.9A CN110311772A (zh) 2019-06-15 2019-06-15 一种可编程加解密方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910518666.9A CN110311772A (zh) 2019-06-15 2019-06-15 一种可编程加解密方法及其系统

Publications (1)

Publication Number Publication Date
CN110311772A true CN110311772A (zh) 2019-10-08

Family

ID=68075842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910518666.9A Pending CN110311772A (zh) 2019-06-15 2019-06-15 一种可编程加解密方法及其系统

Country Status (1)

Country Link
CN (1) CN110311772A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020199151A1 (en) * 2001-06-26 2002-12-26 Zuraski Gerald D. Using type bits to track storage of ECC and predecode bits in a level two cache
CN102156836A (zh) * 2011-04-25 2011-08-17 天津大学 一种椭圆曲线密码处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020199151A1 (en) * 2001-06-26 2002-12-26 Zuraski Gerald D. Using type bits to track storage of ECC and predecode bits in a level two cache
CN102156836A (zh) * 2011-04-25 2011-08-17 天津大学 一种椭圆曲线密码处理器

Similar Documents

Publication Publication Date Title
US11321469B2 (en) Microprocessor pipeline circuitry to support cryptographic computing
CN101373427B (zh) 程序执行控制装置
JP5945291B2 (ja) デフレート圧縮のために高速で高圧縮のlz77トークン化及びハフマンエンコーディングを行う並列装置
JP6143872B2 (ja) 装置、方法、およびシステム
KR100942668B1 (ko) 멀티스레딩된 프로세서 및 이를 포함하는 프로세서 시스템
EP3843322A1 (en) Method and apparatus for multi-key total memory encryption based on dynamic key derivation
CN107771318B (zh) 基于块大小将指令块映射到指令窗口
US10191742B2 (en) Mechanism for saving and retrieving micro-architecture context
EP0927394B1 (en) A cache line branch prediction scheme that shares among sets of a set associative cache
US20080082843A1 (en) Dynamic branch prediction predictor
CN102144225A (zh) 实时数据处理方法和装置
EP2836906B1 (en) System and method for real time instruction tracing
WO2013032446A1 (en) Hardware-based array compression
CN109565438A (zh) 混合aes-sms4硬件加速器
US6378050B1 (en) Information processing apparatus and storage medium
US10069512B2 (en) Systems, methods, and apparatuses for decompression using hardware and software
US7143268B2 (en) Circuit and method for instruction compression and dispersal in wide-issue processors
WO2013101251A1 (en) Real time instruction tracing compression of ret instructions
CN110311772A (zh) 一种可编程加解密方法及其系统
CN107358125A (zh) 一种处理器
US6289428B1 (en) Superscaler processor and method for efficiently recovering from misaligned data addresses
US20160147538A1 (en) Processor with multiple execution pipelines
KR920003182B1 (ko) 마이크로프로세서
EP4202664B1 (en) System, apparatus and method for throttling fusion of micro-operations in a processor
US20040078552A1 (en) Program counter adjustment based on the detection of an instruction prefix

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

Application publication date: 20191008

RJ01 Rejection of invention patent application after publication