CN115765990A - 一种后量子密码算法的ntru安全协处理器 - Google Patents
一种后量子密码算法的ntru安全协处理器 Download PDFInfo
- Publication number
- CN115765990A CN115765990A CN202211363059.8A CN202211363059A CN115765990A CN 115765990 A CN115765990 A CN 115765990A CN 202211363059 A CN202211363059 A CN 202211363059A CN 115765990 A CN115765990 A CN 115765990A
- Authority
- CN
- China
- Prior art keywords
- polynomial
- unit
- instruction
- storage
- fused
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种后量子密码算法的NTRU安全协处理器。所述安全协处理器包括控制模块、译码模块、多项式状态控制模块和存储模块,可支持不同参数的NTRU算法计算,并且具有低资源开销,高性能的特点。本发明从指令架构、模域运算、流水线控制等模块进行了设计与优化,不仅支持运行模式的切换,同时也支持自定义指令的编写与控制,通过对模域转换的流水操作的优化,有效降低了多项式处理的整体运行时间,实现了NTRU灵活可配置、高性能的目标。
Description
技术领域
本发明属于后量子信息安全技术领域,特别地,涉及实现一种后量子密码算法NTRU的密码协处理器。
背景技术
在高速发展的信息化时代,信息安全是所有领域建设和发展的保障。在经典的计算机架构下,RSA(Rivest-Shamir-Adleman)、ECC(Elliptic Curve Cryptography)、Diffie-Hellman等加密技术所依赖的底层数学问题难以在有效时间内破解,但是随着量子计算机的发展,传统公钥密码体制通过采用增加密钥长度和参数大小来抵御攻击的方式不再有效,将暴露出严重的安全隐患。为了尽早部署能抵御量子计算攻击的密码算法,提前设计基于新型的、高效的、能抵抗量子计算机攻击的困难问题的密码算法,即后量子密码(Post-Quantum Cryptography,PQC)算法,是当今公钥密码学研究的重点内容。
NTRU(Number Theory Research Unit)是一种基于格的后量子密码算法,由于NTRU产生密钥的方法比较简单,加密、解密的速度快,因此NTRU成为当前公钥密码体制研究的一个热点。具体地,NTRU后量子加密算法主要有以下优势:(1)始终正确:IND-CCA2安全级别下的密钥封装机制(Key-Encapsulation Mechanism,KEM)始终建立一个密钥;它从未因解密失败而中止。这简化了方案的分析,并使其成为当今使用的KEM的一个有力的替代品。(2)灵活:底层确定性公钥加密方案(Deterministic Public Key Encryption,DPKE)可以为具有不同规模、安全和效率要求的各种用例提供参数。(3)简单快速:DPKE只有两个参数,n和q,可以完全可以用简单的整数多项式算术来描述。向IND-CCA2安全KEM的转换在概念上很简单。针对NTRU算法,目前国际学术界已经有大量的软件实现和软硬协同实现,但是缺乏硬件实现。与单独的硬件实现相比,软件实现、软硬实现不仅资源开销较高、功耗较大,而且运行效率也远低于硬件实现。如何兼顾资源开销、功耗和运行效率是NTRU算法的实现关键。
综上所述,如何平衡硬件资源与运行效率、改进数据存储架构并具有灵活可配置特点的NTRU密码协处理器是亟待解决的主要问题。
发明内容
本发明所要解决的技术问题在于,针对现有的NTRU密码安全协处理器不能兼顾资源开销、功耗和运行效率的问题,提供了一种可以有效提高运行效率并且对于资源开销与功耗不高的后量子密码算法的NTRU安全协处理器。为了解决上述技术问题,本发明实施例提供了一种后量子密码算法的NTRU安全协处理器,包括:
控制模块,用于获取指令,并控制指令的储存与传达;
译码模块,用于将指令加工映射为具体的信号集;
多项式状态控制模块,用于根据信号集对多项式进行处理;
存储模块,用于满足多项式乘法对高数据带宽的需求和多条指令并行执行时的访存需求。
优选的,所述控制模块包括:
取指单元,用于获取指令;
指令控制单元,用于控制存储模块执行储存内数据;
指令寄存器阵列单元,用于传达指令;
数据寄存器,用于储存指令。
优选的,所述译码模块包括自定义信号集单元,所述自定义信号集单元为40-bit长度,用于向多项式状态控制模块、存储模块传达信号。
优选的,所述信号集包括26条信号。
优选的,所述信号集包括密码生成、加密、解密三种模式的信号。
优选的,所述密码生成、加密、解密三种模式分别对应三种不同算法。
优选的,所述多项式状态控制模块包括:
多项式状态控制器,用于控制伪随机数生成单元、乘加阵列单元、多项式封装单元、多项式模域转换单元进行工作;
伪随机数生成单元,用于生成伪随机数;
乘加阵列单元,用于多项式乘法运算;
多项式封装单元,用于对多项式按固定长度进行分割;
多项式模域转换单元,用于将多项式不同模域下进行转换。
优选的,所述多项式模域转换单元为12级流水线的模乘结构。
优选的,所述存储模块包括:
存储单元,用于存储数据;
存储控制单元,用于控制存储单元传输数据与存储数据。
优选的,所述存储单元包括4个随机存储器。
实施本发明实施例,具有如下有益效果:
(1)本发明采用控制模块发送指令,译码模块解析、传达具体信号,再由多项式状态控制模块与存储模块协同执行指令,实现了对NTRU密码安全协处理器的构架优化,提升了对NTRU算法的高效运行。
(2)本发明所述的控制模块可以将多条指令存储后,再进行执行,解决了一条条指令需要分别执行而导致的资源与功耗的浪费。
(3)本发明所述的译码模块采用将指令加工映射为具体的信号集,对于控制模块获取的指令简单化;并将指令细分为26个信号,保证多项式状态控制模块与存储模块准确、快速运行,实现了对NTRU算法的高效运行。
(4)本发明所述的多项式状态控制模块中,多项式模域转换单元采用12级流水线的模乘结构,可以实现一次性计算12级,显著提高了运行效率,缩短了整体运行时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的第一实施例构架图;
图2是本发明提供的第一实施例的译码模块局部构架图;
图3是本发明提供的第一实施例的多项式模域转换单元局部构架图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,本实施例公开的一种后量子密码算法的NTRU安全协处理器,所述安全协处理器包括控制模块10、译码模块20、多项式状态控制模块30、存储模块40。所述控制模块10包括取指单元101、指令控制单元104、指令寄存器阵列单元102(Instruction Array)、数据寄存器103。所述取指单元101用于获取指令,所述指令一般有两种获取方式;一种是外部输入,另一种是依照默认加解密过程顺序执行;指令寄存器阵列单元102用于传达指令;所述数据寄存器103用于存储指令;所述指令控制单元104用于控制存储模块执行储存内数据。所述译码模块20包括自定义信号集单元201。所述自定义信号集单元201用于向所述多项式状态控制模块30、存储模块40传达信号。所述多项式状态控制模块30包括多项式状态控制器305(Polynomial State Controller)、伪随机数生成单元304(PRN)、乘加阵列单元303(MAC)、多项式封装单元302(Pack)、多项式模域转换单元301(Convert)。所述多项式状态控制器305用于控制伪随机数生成单元304、乘加阵列单元303、多项式封装单元302、多项式模域转换单元301进行工作;所述伪随机数生成单元304用于生成伪随机数;所述乘加阵列单元303用于多项式乘法运算;所述多项式封装单元302用于对多项式按固定长度进行分割;所述多项式模域转换单元301用于将多项式不同模域下进行转换。所述存储模块40包括存储单元401、存储控制单元402。所述存储单元401包含四个随机存取存储器(RAM),分别为存储器4010(RAM0)、存储器4011(RAM1)、存储器4012(RAM2)、存储器4013(RAM3),所述存储单元401用于存储数据;所述存储控制单元402用于控制存储单元传输数据与存储数据。
当指令由所述取指单元101传输到指令寄存器阵列单元102中。所述指令寄存器阵列单元102将会根据指令的数量与优先顺序将第一优先的指令传输至所述译码模块20中。将后续指令传输至所述数据寄存器103,并存储在所述数据寄存器103中;这将解决一条条指令需要分别执行而导致的资源与功耗的浪费,实现了对资源的节约。所述指令控制单元104也将接收到由所述的取指单元101传来的指令,并传出信号至所述存储模块40。
当所述指令寄存器阵列单元102的指令传输至所述译码模块20内后。参见图2,所述指令将进入所述译码模块20中的自定义信号集单元201,所述自定义信号集单元201将会针对该指令进行切片与补零处理,映射为具有40-bit长度的信号集,共有26条信号。其中0~5位(Model)用来控制多项式状态控制模块30,其中高3位是保留位,用于自定义配置模式,低2位用于配置运行模式;6~11位(Functions)用来选择专用模块;12~39位用来控制存储模块40。其中12~16位(Addr3)用来选择存储器4013的分组,17~21位(Addr2)用来选择存储器4012的分组,22~26位(Addr1)用来选择存储器4011的分组,27~31位(Addr0)用来选择存储器4010的分组,32~33位(sel3)用来控制存储器4013的映射,34~35位(sel2)用来控制存储器4012的映射,36~37位(sel1)用来控制存储器4011的映射,38~39位用来控制存储器4010的映射;得到所述存储模块40中存储单元401内存储器4010、存储器4011、存储器4012、存储器4013的地址、地址控制方式和片选分组控制信号。这些信号将会传达至所述多项式状态控制模块30、存储模块40中,保证了所述控制模块10发出的指令可以精细、准确得到执行,实现了对NTRU算法的高效运行。
所述信号集包括密码生成、加密、解密三种模式的信号;所述信号集包括密码生成、加密、解密三种模式的信号;所述密码生成、加密、解密三种模式分别对应三种不同算法。
参见表1,算法1对应所述密码生成模式,所述算法1用于生成公钥和私钥。通过随机数生成得到多项式g,对g进行求逆运算后按算法1中的步骤2循环判断,得到多项式f;同时得到多项式f在模q域下的逆fq,以及多项式f在模p域下的逆fp。在通过步骤4的方式,将多项式g、f和fq在模q域下进行模乘,得到公钥h,并将该公钥分开。多项式的长度取决于NTRU的安全等级,在同一安全等级下各个多项式的长度相同。将公钥公布,客户端依据公开的公钥对信息进行加密操作。
表1.本发明提供的第一实施例的NTRU密码算法中密钥生成步骤表
参见表2,算法2对应所述加密模式,所述算法2执行加密运算,输入公钥h,随机小多项式r和明文m,输出密文e。首先对明文m进行模q运算得到多项式m’,接着对多项式r和公钥h进行卷积运算,卷积的结果与多项式m’相加得到密文e。
表2.本发明提供的第一实施例的NTRU密码算法中加密步骤表
参见表3,算法3对应所述解密模式,所述算法3执行解密运算,输入密文e、私钥f和私钥fp。对多项式f和多项式e在模q域下进行卷积运算得到多项式a,接着将多项式a在模p域下进行转换,得到模p域下的多项式a’。最后将多项式a’和多项式fp进行卷积运算得到最终的明文d。
表3.本发明提供的第一实施例的NTRU密码算法中解密步骤表
所述自定义信号集单元201传输的信号集进入所述多项式状态控制模块30中的多项式状态控制器305中,所述多项式状态控制器305将会根据所述信号控制所述伪随机数生成单元304、乘加阵列单元303、多项式封装单元302、多项式模域转换单元301进行工作。在工作完成后,所述信号控制所述伪随机数生成单元304、乘加阵列单元303、多项式封装单元302、多项式模域转换单元301将会向所述多项式状态控制器305传达一个脉冲信号,所述多项式状态控制器305将向控制模块10传达所述脉冲信号,所述控制模块10将判断是否发送下一个指令。其中所述多项式模域转换单元301用于将多项式不同模域下进行转换,本发明提供了一种新型结构。参见图3,所述多项式模域转换单元301包括12个模乘3011,构成一种12级流水线的模乘结构。所述多项式模域转换单元301在工作时,将先进行一次预计算,得到12个多项式数据(sign0~sign11)。在正式工作时,将可以同时处理12个待处理的多项式数据(b0~b11)。所述多项式模域转换单元301采用3个模乘3011为一组,在流水线模式下依次加工所述待处理的多项式数据,并将所加工完多项式数据(a1~a12)存储至存储区3013(mod)。每组最后加工完多项式数据(a3、a6、a9、a12)将通过传输区3012(reg)被传输至下一组,直至传出所述多项式模域转换单元301完成加工。所述多项式模域转换单元301允许输入参数位宽是1或2位,在模域转换过程中一次性计算12级,显著提高了运行效率,缩短了整体运行时间,可将运行时间下降1到2个数量级。
所述自定义信号集单元201传输的信号集还将传达至所述存储模块40中的存储控制单元402;所述存储控制单元402将控制存储单元401将存储器4010、存储器4011、存储器4012、存储器4013对所述多项式状态控制模块30开放,将所述存储单元401内数据传输至多项式状态控制模块30中由伪随机数生成单元304、乘加阵列单元303、多项式封装单元302、多项式模域转换单元301加工并将加工完的传输回所述存储单元401中存储。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种后量子密码算法NTRU的密码协处理器,其特征在于,包括:
控制模块,用于获取指令,并控制指令的储存与传达;
译码模块,用于将指令加工映射为具体的信号集;
多项式状态控制模块,用于根据信号集对多项式进行处理;
存储模块,用于满足多项式乘法对高数据带宽的需求和多条指令并行执行时的访存需求。
2.根据权利要求1所述的融合密码安全处理器,其特征在于,所述控制模块包括:
取指单元,用于获取指令;
指令控制单元,用于控制存储模块执行储存内数据;
指令寄存器阵列单元,用于传达指令;
数据寄存器,用于储存指令。
3.根据权利要求1所述的融合密码安全处理器,其特征在于,所述译码模块包括自定义信号集单元,所述自定义信号集单元为40-bit长度,可向多项式状态控制模块、存储模块传达信号。
4.根据权利要求3所述的融合密码安全处理器,其特征在于,所述信号集包括26条信号。
5.根据权利要求3所述的融合密码安全处理器,其特征在于,所述信号集包括密码生成、加密、解密三种模式的信号。
6.根据权利要求5所述的融合密码安全处理器,其特征在于,所述密码生成、加密、解密三种模式分别对应三种不同算法。
7.根据权利要求1所述的融合密码安全处理器,其特征在于,所述多项式状态控制模块包括:
多项式状态控制器,用于控制伪随机数生成单元、乘加阵列单元、多项式封装单元、多项式模域转换单元进行工作;
伪随机数生成单元,用于生成伪随机数;
乘加阵列单元,用于多项式乘法运算;
多项式封装单元,用于对多项式按固定长度进行分割;
多项式模域转换单元,用于将多项式不同模域下进行转换。
8.根据权利要求7所述的融合密码安全处理器,其特征在于,所述多项式模域转换单元为12级流水线的模乘结构。
9.根据权利要求1所述的融合密码安全处理器,其特征在于,所述存储模块包括:
存储单元,用于存储数据;
存储控制单元,用于控制存储单元传输数据与存储数据。
10.根据权利要求9所述的融合密码安全处理器,其特征在于,所述存储单元包括4个随机存储器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211363059.8A CN115765990B (zh) | 2022-11-02 | 2022-11-02 | 一种后量子密码算法的ntru安全协处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211363059.8A CN115765990B (zh) | 2022-11-02 | 2022-11-02 | 一种后量子密码算法的ntru安全协处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115765990A true CN115765990A (zh) | 2023-03-07 |
CN115765990B CN115765990B (zh) | 2023-07-18 |
Family
ID=85355409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211363059.8A Active CN115765990B (zh) | 2022-11-02 | 2022-11-02 | 一种后量子密码算法的ntru安全协处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115765990B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964664A (zh) * | 2010-09-16 | 2011-02-02 | 复旦大学 | 一种适用于CMMB的多模式Reed-Solomon译码器结构 |
US20140208054A1 (en) * | 2013-01-21 | 2014-07-24 | Micron Technology, Inc. | Determining soft data for fractional digit memory cells |
CN104572012A (zh) * | 2015-01-29 | 2015-04-29 | 东南大学 | 一种基于aop的多项式基gf(2227)高速模乘法器 |
CN106330430A (zh) * | 2016-08-29 | 2017-01-11 | 江苏高网信息科技有限公司 | 一种基于ntru的第三方移动支付方法 |
CN107733632A (zh) * | 2017-11-29 | 2018-02-23 | 四川大学 | 一种抗量子攻击的无线网络安全切换方法 |
US20200265167A1 (en) * | 2019-02-19 | 2020-08-20 | Massachusetts Institute Of Technology | Configurable lattice cryptography processor for the quantum-secure internet of things and related techniques |
CN111563281A (zh) * | 2020-04-30 | 2020-08-21 | 北京中科晶上科技股份有限公司 | 一种支持多种加解密算法的处理器及其实现方法 |
CN112099762A (zh) * | 2020-09-10 | 2020-12-18 | 上海交通大学 | 快速实现sm2密码算法的协处理系统及方法 |
CN114154640A (zh) * | 2021-11-25 | 2022-03-08 | 华中科技大学 | 用于实现后量子密码Saber算法的处理器 |
CN114297571A (zh) * | 2021-12-24 | 2022-04-08 | 浙江大学 | 一种适用于格密码算法的多项式乘法硬件实现系统 |
CN114371829A (zh) * | 2022-01-05 | 2022-04-19 | 华中科技大学 | 多项式乘法器中的数据处理方法、多项式乘法器及处理器 |
-
2022
- 2022-11-02 CN CN202211363059.8A patent/CN115765990B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964664A (zh) * | 2010-09-16 | 2011-02-02 | 复旦大学 | 一种适用于CMMB的多模式Reed-Solomon译码器结构 |
US20140208054A1 (en) * | 2013-01-21 | 2014-07-24 | Micron Technology, Inc. | Determining soft data for fractional digit memory cells |
CN104572012A (zh) * | 2015-01-29 | 2015-04-29 | 东南大学 | 一种基于aop的多项式基gf(2227)高速模乘法器 |
CN106330430A (zh) * | 2016-08-29 | 2017-01-11 | 江苏高网信息科技有限公司 | 一种基于ntru的第三方移动支付方法 |
CN107733632A (zh) * | 2017-11-29 | 2018-02-23 | 四川大学 | 一种抗量子攻击的无线网络安全切换方法 |
US20200265167A1 (en) * | 2019-02-19 | 2020-08-20 | Massachusetts Institute Of Technology | Configurable lattice cryptography processor for the quantum-secure internet of things and related techniques |
CN111563281A (zh) * | 2020-04-30 | 2020-08-21 | 北京中科晶上科技股份有限公司 | 一种支持多种加解密算法的处理器及其实现方法 |
CN112099762A (zh) * | 2020-09-10 | 2020-12-18 | 上海交通大学 | 快速实现sm2密码算法的协处理系统及方法 |
CN114154640A (zh) * | 2021-11-25 | 2022-03-08 | 华中科技大学 | 用于实现后量子密码Saber算法的处理器 |
CN114297571A (zh) * | 2021-12-24 | 2022-04-08 | 浙江大学 | 一种适用于格密码算法的多项式乘法硬件实现系统 |
CN114371829A (zh) * | 2022-01-05 | 2022-04-19 | 华中科技大学 | 多项式乘法器中的数据处理方法、多项式乘法器及处理器 |
Non-Patent Citations (1)
Title |
---|
王梦媛;李子臣;: "基于NTRU的RFID安全认证协议研究与设计", 北京印刷学院学报, no. 02, pages 23 - 24 * |
Also Published As
Publication number | Publication date |
---|---|
CN115765990B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11917053B2 (en) | Combined SHA2 and SHA3 based XMSS hardware accelerator | |
US11770262B2 (en) | Odd index precomputation for authentication path computation | |
EP3758275B1 (en) | Post quantum public key signature operation for reconfigurable circuit devices | |
CN112152783A (zh) | 用于快速安全启动的低时延后量子签名验证 | |
US20220078024A1 (en) | State synchronization for post-quantum signing facilities | |
CN116094711B (zh) | 一种基于指令集的后量子格密码硬件优化结构 | |
WO2023107776A1 (en) | Efficient hybridization of classical and post-quantum signatures | |
CN114172651B (zh) | 一种sm9公钥加密算法、解密算法的gpu加速实现方法 | |
Shoufan et al. | A novel processor architecture for McEliece cryptosystem and FPGA platforms | |
Kaleel Rahuman et al. | Reconfigurable architecture for elliptic curve cryptography using fpga | |
CN116366248B (zh) | 基于紧凑指令集扩展的Kyber实现方法及系统 | |
EP4311158A1 (en) | Efficient low-overhead side-channel protection for polynomial multiplication in post-quantum encryption | |
CN111817853B (zh) | 一种后量子安全的签密算法 | |
Si et al. | An improved RSA signature algorithm based on complex numeric operation function | |
CN115765990A (zh) | 一种后量子密码算法的ntru安全协处理器 | |
WO2023107775A1 (en) | Computation of xmss signature with limited runtime storage | |
US20220123949A1 (en) | Side channel protection for xmss signature function | |
CN115412241A (zh) | 实现后量子密码算法Kyber和Saber的融合密码安全处理器 | |
Ghosh et al. | A 334$\mu $ W 0.158 mm $^ 2$ ASIC for Post-Quantum Key-Encapsulation Mechanism Saber with Low-latency Striding Toom-Cook Multiplication Authors Version | |
Devarajan et al. | An hyper elliptic curve based efficient signcryption scheme for user authentication | |
US20240007266A1 (en) | Reconfigurable side-channel resistant double-throughput aes accelerator | |
CN114513306B (zh) | 数据加密传输方法、系统 | |
CN116388963B (zh) | 一种分组加密方法、装置及系统 | |
US20240348422A1 (en) | Privacy calculation unit, acceleration unit, system on chip, and privacy calculation method | |
US20240031127A1 (en) | Lightweight side-channel protection for polynomial multiplication in post-quantum signatures |
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 |