一种适用于后量子密码算法Kyber的指令集架构

文档序号:34589088发布日期:2023-06-28 16:20阅读:179来源:国知局
一种适用于后量子密码算法Kyber的指令集架构

本发明属于后量子信息安全算法、数字信号处理实现领域,尤其涉及一种适用于后量子密码算法kyber的指令集架构。


背景技术:

1、近年来,量子计算机取得了快速发展。例如2019年google公司在《nature》发表了关于量子优越性的论文,其声称对于量子计算机用3分20秒完成的一项计算,全球最强大的超级计算机summit要花1万年。而2020年中国76光子的量子计算原型机“九章”问世,更是宣传其运算速度是谷歌‘悬铃木’的100亿倍,研究和部署能够抵御量子计算机攻击的公钥密码体制的必要性被提升到一个前所未有的高度。crystals-kyber(又称kyber)公钥加密算法由于其具有抗量子攻击、效率高、密钥长度小、易于实现等优点而成为后量子密码研究的热点。

2、各种平台上的后量子密码算法kyber实现方案已经不断被提出。软件(sw)实现提供了编程能力、灵活性和更短的设计周期,而硬件(hw)实现可以加速专用计算并显著更高系统的吞吐量。近年来,利用硬件-软件(hw/sw)协同设计实现密码系统的研究取得了很大进展,与纯硬件方案相比,这种方法使设计更轻便,更可控/可编程,设计周期更短,灵活性高,但代价是需要额外的通用处理器。此外,这种设计方案往往不能取得较好的性能。另一方面,使用优化策略(包括寄存器平衡、并行化和资源共享)可以显著加速纯硬件实现,从而提高硬件体系结构的总体吞吐量。该策略的主要难点在于其手工优化设计需要较长的时间,并且丧失系统灵活性。对此,本发明提供一种适用于后量子密码算法kyber的指令集架构,可同时满足高性能硬件设计与高灵活性可编程系统。


技术实现思路

1、本发明所要解决的技术问题在于,针对现有适用于后量子密码算法kyber的指令集架构无法同时满足高性能硬件设计与高灵活性可编程系统,提供一种新型适用于后量子密码算法kyber的指令集架构。

2、为了解决上述技术问题,本发明实施例提供了一种适用于后量子密码算法kyber的指令集架构,依次包括:存储器选择指令,第一源数据块选择指令,第二源数据块选择指令,目的数据块选择指令,运算函数选择指令,空白指令,多项式运算指令和哈希散列求值指令;

3、所述存储器选择指令用于选择所述第一源数据块选择指令,第二源数据块选择指令,目的数据块选择指令所处的存储器;

4、所述第一源数据块选择指令用于选择第一源数据块内首地址;

5、所述第二源数据块选择指令用于选择第二源数据块内首地址;

6、所述目的数据块选择指令用于选择目的数据块首地址;

7、所述运算函数选择指令用于选择应用所述多项式运算指令和哈希散列求值指令其中一种;

8、所述多项式运算指令表示多项式运算的指令码,用于进行多项式运算;

9、所述哈希散列求值指令表示哈希散列求值的指令码,用于进行哈希散列运算;

10、其中,所述指令集构架为32bit指令长度,采用分段译码方式。

11、优选的,所述多项式运算指令为5bit指令长度,包括10种不同多项式运算,分别为多项式ntt运算、多项式intt运算、多项式点乘运算、多项式模加运算、多项式加密模加、多项式解密模减、数据位宽为4,5,10,11的多项式压缩、数据位宽为4,5,10,11的多项式解压、数据位宽为4,5,10,11的多项式比较与空指令。

12、优选的,所述多项式运算指令共有32种不同指令码;其中,所述多项式ntt运算、多项式intt运算、多项式点乘运算、多项式模加运算、多项式加密模加、多项式解密模减与空指令各占用一种指令码;所述数据位宽为4,5,10,11的多项式压缩、数据位宽为4,5,10,11的多项式解压、数据位宽为4,5,10,11的多项式比较均占用其中四种指令码。

13、优选的,所述哈希散列求值指令为6bit指令长度,包括7种不同哈希散列运算,分别为输入长度为256和512bits的sha512哈希散列、采样误差向量、均匀分布采样、输入长度为256bits的sha256哈希散列、三种安全等级公钥散列求值、三种安全等级密文散列求值与空指令。

14、优选的,所述哈希散列求值指令共有64种不同指令码;其中,所述采样误差向量占用12种指令码,所述均匀分布采样占用16种指令码。

15、优选的,所述存储器选择指令为3bit指令长度,包括三段指令,每段指令均为1bit指令长度;所述存储器选择指令的三段指令通过0/1依次选择所述第一源数据块选择指令、第二源数据块选择指令、目的数据块选择指令所处的存储器。

16、优选的,所述第一源数据块选择指令、第二源数据块选择指令、目的数据块选择指令均为4bit指令长度,通过4bit的指令来确定数据块首地址,并进而确定所需数据块具体地址。

17、优选的,所述运算函数选择指令为1bit指令长度,通过0/1进行选择使用所述多项式运算指令或哈希散列求值指令;当选择使用所述多项式运算指令,所述哈希散列求值指令将运行空指令;当选择使用所述哈希散列求值指令,所述多项式运算指令将空指令。

18、实施本发明实施例,具有如下有益效果:

19、(1)本发明实施例通过存储器选择指令选择不同存储器上数据;通过第一源数据块选择指令、第二源数据块选择指令、目的数据块选择指令确定数据的具体地址;再通过运算函数选择指令选择不同运算函数;最后通过多项式运算指令和哈希散列求值指令实现kyber中的两种核心运算:多项式运算和哈希散列求值。本发明实施例可以兼顾硬件设计的高效性与可编程设计的灵活性,能够高效便捷地完成后量子密码算法kyber三种安全等级完整的pke及kem流程;以及通过自定义编程该流程中的任意单独操作,适用于未来量子计算机时代各行业多样化的信息安全场合。



技术特征:

1.一种适用于后量子密码算法kyber的指令集架构,其特征在于,依次包括:存储器选择指令,第一源数据块选择指令,第二源数据块选择指令,目的数据块选择指令,运算函数选择指令,空白指令,多项式运算指令和哈希散列求值指令;

2.根据权利要求1所述的适用于后量子密码算法kyber的指令集架构,其特征在于,所述多项式运算指令为5bit指令长度,包括10种不同多项式运算,分别为多项式ntt运算、多项式intt运算、多项式点乘运算、多项式模加运算、多项式加密模加、多项式解密模减、数据位宽为4,5,10,11的多项式压缩、数据位宽为4,5,10,11的多项式解压、数据位宽为4,5,10,11的多项式比较与空指令。

3.根据权利要求2所述的适用于后量子密码算法kyber的指令集架构,其特征在于,所述多项式运算指令共有32种不同指令码;其中,所述多项式ntt运算、多项式intt运算、多项式点乘运算、多项式模加运算、多项式加密模加、多项式解密模减与空指令各占用一种指令码;所述数据位宽为4,5,10,11的多项式压缩、数据位宽为4,5,10,11的多项式解压、数据位宽为4,5,10,11的多项式比较均占用其中四种指令码。

4.根据权利要求1所述的适用于后量子密码算法kyber的指令集架构,其特征在于,所述哈希散列求值指令为6bit指令长度,包括7种不同哈希散列运算,分别为输入长度为256和512bits的sha512哈希散列、采样误差向量、均匀分布采样、输入长度为256bits的sha256哈希散列、三种安全等级公钥散列求值、三种安全等级密文散列求值与空指令。

5.根据权利要求4所述的适用于后量子密码算法kyber的指令集架构,其特征在于,所述哈希散列求值指令共有64种不同指令码;其中,所述采样误差向量占用12种指令码,所述均匀分布采样占用16种指令码。

6.根据权利要求1所述的适用于后量子密码算法kyber的指令集架构,其特征在于,所述存储器选择指令为3bit指令长度,包括三段指令,每段指令均为1bit指令长度;所述存储器选择指令的三段指令通过0/1依次选择所述第一源数据块选择指令、第二源数据块选择指令、目的数据块选择指令所处的存储器。

7.根据权利要求1所述的适用于后量子密码算法kyber的指令集架构,其特征在于,所述第一源数据块选择指令、第二源数据块选择指令、目的数据块选择指令均为4bit指令长度,通过4bit的指令来确定数据块首地址,并进而确定所需数据块具体地址。

8.根据权利要求1所述的适用于后量子密码算法kyber的指令集架构,其特征在于,所述运算函数选择指令为1bit指令长度,通过0/1进行选择使用所述多项式运算指令或哈希散列求值指令;当选择使用所述多项式运算指令,所述哈希散列求值指令将运行空指令;当选择使用所述哈希散列求值指令,所述多项式运算指令将空指令。


技术总结
本发明公开了一种适用于后量子密码算法Kyber的指令集架构依次包括指令:存储器选择指令(RAM_CTR),第一源数据块选择指令(Rs1_Addr),第二源数据块选择指令(Rs2_Addr),目的数据块选择指令(Dst_Addr),运算函数选择指令(Sel),空白指令(ReServered),多项式运算指令(PolyFunc)和哈希散列求值指令(HashFunc)。所述指令集架构通过自定义指令集设计,可以兼顾硬件设计的高效性与可编程设计的灵活性;能够高效便捷地完成后量子密码算法Kyber三种安全等级完整的PKE及KEM流程,以及通过自定义编程该流程中的任意单独操作,能适用于未来量子计算机时代各行业多样化的信息安全场合。

技术研发人员:黄天泽,刘冬生,李奥博,李翔,杨朔,熊思琪,张嘉明,陆家昊,胡昂
受保护的技术使用者:华中科技大学
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1