技术新讯 > 电子通信装置的制造及其应用技术 > 基于并行度可配置的SM3算法的数据加密方法及装置与流程  >  正文

基于并行度可配置的SM3算法的数据加密方法及装置与流程

  • 国知局
  • 2025-01-10 13:31:46

本发明涉及数据加密,尤其涉及一种基于并行度可配置的sm3算法的数据加密方法及装置。

背景技术:

1、近年来,随着我国数字经济加快发展,全社会数据总量爆发式增长,对算力的提升即数据处理能力的提升,提高数据的存储速度已经有了较高要求,同样在高速的数据传输与处理过程中信息安全不可忽视,因此提高保障信息安全的能力具有重要意义。

2、密码技术是现代信息安全技术产业发展的核心,其中,密码杂凑算法(sm3)以其安全性、高效性、适用性广泛应用于网络安全和数字签名中。随着技术的不断发展,对sm3算法的硬件加密效率需求也随之提高。目前,sm3算法主要借助流水线技术提高执行效率与速度,由于相邻的迭代计算之间存在依赖关系,光靠流水线技术难以提高硬件设计的吞吐率。

技术实现思路

1、本发明提供一种基于并行度可配置的sm3算法的数据加密方法及装置,用以解决难以提高硬件设计的吞吐率的问题。

2、本发明提供一种基于并行度可配置的sm3算法的数据加密方法,包括:

3、对待加密消息进行消息填充之后得到的填充后的消息进行分组,得到多个消息分组;

4、基于预先配置的第一并行度,对各所述消息分组进行消息扩展,得到各所述消息分组对应的多个消息字;其中,所述第一并行度表示至少一个消息扩展模块级联,所述消息扩展模块用于生成所述消息字;

5、基于各所述消息分组分别对应的各所述消息字,对所述待加密消息进行数据加密,得到加密后的数据。

6、根据本发明提供的一种基于并行度可配置的sm3算法的数据加密方法,所述基于各所述消息分组分别对应的各所述消息字,对所述待加密消息进行数据加密,得到加密后的数据,包括:

7、基于预先配置的第二并行度和各所述消息分组分别对应的各所述消息字,对所述待加密消息进行数据加密,得到所述加密后的数据;所述第二并行度表示至少一个消息迭代模块级联,所述消息迭代模块用于生成所述加密后的数据。

8、根据本发明提供的一种基于并行度可配置的sm3算法的数据加密方法,所述基于预先配置的第一并行度,对各所述消息分组进行消息扩展,得到各所述消息分组对应的多个消息字,包括:

9、针对每个所述消息分组,将所述消息分组划分为多个第一消息字;

10、基于所述第一并行度表示的级联的消息扩展模块的数量,确定消息扩展所需的时钟周期;

11、基于所述消息扩展所需的时钟周期、各所述第一消息字和预先配置的第一并行度表示的所述至少一个消息扩展模块,得到多个第二消息字;

12、将各所述第一消息字和各所述第二消息字,确定为所述消息分组对应的多个消息字。

13、根据本发明提供的一种基于并行度可配置的sm3算法的数据加密方法,所述基于所述时钟周期、各所述第一消息字和预先配置的第一并行度表示的所述至少一个消息扩展模块,得到多个第二消息字,包括:

14、在当前消息扩展所需的时钟周期内,将各所述第一消息字输入至所述至少一个消息扩展模块中的第一个消息扩展模块,得到所述至少一个消息扩展模块中的最后一个消息扩展模块输出的多个第三消息字;

15、在下一个消息扩展所需的时钟周期内,将各所述第三消息字和各所述第一消息字输入至所述至少一个消息扩展模块中的所述第一个消息扩展模块,得到所述至少一个消息扩展模块中的最后一个消息扩展模块输出的多个第四消息字;

16、重复执行上述步骤,直至所有的消息扩展所需的时钟周期执行完成,得到多个第五消息字;

17、将各所述第三消息字、各所述第四消息字和各所述第五消息字,确定为各所述第二消息字。

18、根据本发明提供的一种基于并行度可配置的sm3算法的数据加密方法,所述基于预先配置的第二并行度和各所述消息分组分别对应的各所述消息字,对所述待加密消息进行数据加密,得到所述加密后的数据,包括:

19、基于所述第二并行度表示的级联的消息迭代模块的数量,确定消息迭代所需的时钟周期;

20、基于所述消息迭代所需的时钟周期、各所述消息分组分别对应的各所述消息字和预先配置的第二并行度表示的所述至少一个消息迭代模块,对所述待加密消息进行数据加密,得到所述加密后的数据。

21、根据本发明提供的一种基于并行度可配置的sm3算法的数据加密方法,所述基于所述消息迭代所需的时钟周期、各所述消息分组分别对应的各所述消息字和预先配置的第二并行度表示的所述至少一个消息迭代模块,对所述待加密消息进行数据加密,得到所述加密后的数据,包括:

22、在当前消息迭代所需的时钟周期内,将上一轮迭代的结果、各所述消息分组分别对应的各所述消息字和寻址变量输入至所述至少一个消息迭代模块中的第一个消息迭代模块,得到所述至少一个消息迭代模块中的最后一个消息迭代模块输出的迭代结果;

23、在所述消息迭代所需的下一个时钟周期内,将上个时钟周期的迭代结果、各所述消息分组分别对应的各所述消息字和新的寻址变量输入至所述至少一个消息迭代模块中的所述第一个消息迭代模块,得到所述至少一个消息迭代模块中的最后一个消息迭代模块输出的迭代结果;

24、重复执行上述步骤,直至所有的消息迭代所需的时钟周期执行完成,最终得到所述加密后的数据。

25、本发明还提供一种基于并行度可配置的sm3算法的数据加密装置,包括:

26、分组模块,用于对待加密消息进行消息填充之后得到的填充后的消息进行分组,得到多个消息分组;

27、扩展模块,用于基于预先配置的第一并行度,对各所述消息分组进行消息扩展,得到各所述消息分组对应的多个消息字;其中,所述第一并行度表示至少一个消息扩展模块级联,所述消息扩展模块用于生成所述消息字;

28、加密模块,用于基于各所述消息分组分别对应的各所述消息字,对所述待加密消息进行数据加密,得到加密后的数据。

29、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述基于并行度可配置的sm3算法的数据加密方法。

30、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于并行度可配置的sm3算法的数据加密方法。

31、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于并行度可配置的sm3算法的数据加密方法。

32、本发明提供的基于并行度可配置的sm3算法的数据加密方法及装置,通过对待加密消息进行消息填充之后得到的填充后的消息进行分组,得到多个消息分组;基于预先配置的第一并行度,对各所述消息分组进行消息扩展,得到各所述消息分组对应的多个消息字;其中,所述第一并行度表示至少一个消息扩展模块级联,所述消息扩展模块用于生成所述消息字;基于各所述消息分组分别对应的各所述消息字,对所述待加密消息进行数据加密,得到加密后的数据。通过预先配置的第一并行度,实现各消息分组的消息扩展,而且预先配置第一并行度可根据实际情况进行调整,进而实现数据加密,能够提高硬件设计的吞吐率。

本文地址:https://www.jishuxx.com/zhuanli/20250110/353719.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。