可用于SHA256的指令执行方法、设备、数据处理系统及芯片与流程

文档序号:36086910发布日期:2023-11-18 03:47阅读:59来源:国知局
可用于SHA256的指令执行方法、设备、数据处理系统及芯片与流程

本公开实施例涉及但不限于安全散列算法的实现,更具体地,涉及一种可用于sha256的指令执行方法、设备、数据处理系统及芯片。


背景技术:

1、sha-2(security hash algorithm-2)安全散列算法一种密码散列算法,用于实现数据间的单向映射,它可以将任意长度的消息映射成固定长度的消息摘要,并且映射过程不可逆。根据不同的输出消息摘要的长度,sha-2分为sha-224、sha-256、sha-384、sha-512等算法,主要用于数字签名、指纹验证以及网络安全协议等领域。其中,sha-256是一种单向哈希算法,能够将任意长度小于264位的输入消息转换为长度为256位的消息摘要,安全性高,在芯片中应用sha-256算法时,其性能还有待提高。


技术实现思路

1、以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。

2、本公开实施例提供了一种可用于安全散列算法sha256的指令执行设备,包括:

3、多个至少256位的寄存器;

4、指令解码器,被设置为接收sha256计算的指令并解码,所述指令包括消息字扩展指令,所述消息字扩展指令包括3个字段,用于分别指示存储有第一源操作数的第一源寄存器、存储有第二源操作数的第二源寄存器,及用于存储目标操作数的目标寄存器;

5、执行单元,耦合到所述指令解码器,被设置为响应所述消息字扩展指令的解码结果,基于第一源寄存器存储的所述第一源操作数和第二源寄存器存储的所述第二源操作数执行消息字扩展操作,得到包括新生成消息字的目标操作数并存储在目标寄存器中;

6、其中,第一源寄存器、第二源寄存器和目标寄存器均为至少256位的寄存器;

7、所述第一源操作数包括8个32位的已生成消息字wj-9,wj-10,…,wj-16;

8、所述第二源操作数包括8个32位的已生成消息字wj-1,wj-2,…,wj-8;

9、所述目标操作数包括n个32位的新生成消息字和(8-n)个32位的已生成消息字wj-1,wj-2,…,wj+n-8,j=16,17,…,63;n=1或2,n=1的情况下,新生成消息字为wj,n=2的情况下,新生成消息字为wj+1,wj。

10、本公开实施例还提供了一种可用于安全散列算法sha256的数据处理系统,包括:

11、总线;

12、本公开任一实施例所述的指令执行设备,耦合至所述总线;及

13、动态随机存取存储器dram,耦合至所述总线。

14、本公开实施例还提供了一种芯片,包括处理器,其中,所述处理器能够作为本公开任一实施例所述的指令执行设备执行安全散列算法sha256。

15、本公开实施例还提供了一种可用于sha256的指令执行方法,包括:

16、指令解码器接收sha256计算的指令并解码,所述指令包括消息字扩展指令,所述消息字扩展指令包括3个字段,用于分别指示存储有第一源操作数的第一源寄存器、存储有第二源操作数的第二源寄存器,及用于存储目标操作数的目标寄存器;

17、耦合到所述指令解码器的执行单元响应所述消息字扩展指令的解码结果,基于第一源寄存器存储的所述第一源操作数和第二源寄存器存储的所述第二源操作数执行消息字扩展操作,得到包括新生成消息字的目标操作数并存储在目标寄存器中;

18、其中,第一源寄存器、第二源寄存器和目标寄存器均为至少256位的寄存器;

19、所述第一源操作数包括8个32位的已生成消息字wj-9,wj-10,…,wj-16;

20、所述第二源操作数包括8个32位的已生成消息字wj-1,wj-2,…,wj-8;

21、所述目标操作数包括n个32位的新生成消息字和(8-n)个32位的已生成消息字wj-1,wj-2,…,wj+n-8,j=16,17,…,63;n=1或2,n=1的情况下,新生成消息字为wj,n=2的情况下,新生成消息字为wj+1,wj。

22、本公开实施例还提供了一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,其中,所述计算机指令时被机器执行时,使得所述机器执行本公开任一实施例所述的指令执行方法。

23、本公开上述实施例可用于sha256的指令执行方法、设备、数据处理系统及芯片,优化了sha256的消息扩展及压缩相关的指令和执行过程,可以减少指令执行时间。

24、在阅读并理解了附图和详细描述后,可以明白其他方面。



技术特征:

1.一种可用于安全散列算法sha256的指令执行设备,其特征在于,包括:

2.如权利要求1所述的指令执行设备,其特征在于:

3.如权利要求1所述的指令执行设备,其特征在于:

4.如权利要求1所述的指令执行设备,其特征在于:

5.如权利要求4所述的指令执行设备,其特征在于:

6.如权利要求5所述的指令执行设备,其特征在于:

7.如权利要求6所述的指令执行设备,其特征在于:

8.一种可用于安全散列算法sha256的数据处理系统,其特征在于,包括:

9.一种芯片,包括处理器,其特征在于,所述处理器能够作为如权利要求1至7中任一所述的指令执行设备执行安全散列算法sha256。

10.一种可用于安全散列算法sha256的指令执行方法,包括:

11.如权利要求10所述的指令执行方法,其特征在于:

12.如权利要求11所述的指令执行方法,其特征在于:

13.如权利要求12所述的指令执行方法,其特征在于:

14.如权利要求13所述的指令执行方法,其特征在于:

15.如权利要求14所述的指令执行方法,其特征在于:

16.一种非瞬态计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,其特征在于,所述计算机指令被机器执行时,使得所述机器执行如权利要求10至15中任一所述的指令执行方法。


技术总结
一种可用于SHA256的指令执行方法、设备、数据处理系统及芯片,在消息字扩展时,基于3个至少256位的寄存器分别存储的包含8个32位消息字的第一源操作数、第二源操作数和目标操作数进行消息扩展,得到一个或两个新生成消息字。本公开实施例的指令数少,执行速度快。

技术研发人员:闫超,蔡凯
受保护的技术使用者:声龙(新加坡)私人有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1