一种可动态调节的SM4流水线硬件系统技术方案

技术编号:38722348 阅读:13 留言:0更新日期:2023-09-08 23:16
本申请涉及一种可动态调节的SM4流水线硬件系统。所述系统包括:动态监测模块用于接收来自用户的密钥和模式选择配置信息,根据密钥和模式选择配置信息实时监测计算机系统电路的工作频率与实际吞吐率,根据频率检测信息选择初始流水线级数信息,并根据实际吞吐率对初始流水线级数信息进行动态调整后传递给加解密模块;轮密钥生成模块用于根据模式选择配置信息和SM4算法生成32轮密钥并将32轮密钥传递给加解密模块;加解密模块用于根据动态调整后的流水线级数信息和多路选择器动态调整内部流水线并根据32轮密钥对明文或密文数据进行加解密处理。采用本方法能够提高SM4加解密芯片的通用性。片的通用性。片的通用性。

【技术实现步骤摘要】
一种可动态调节的SM4流水线硬件系统


[0001]本申请涉及密码学
,特别是涉及一种可动态调节的SM4流水线硬件系统。

技术介绍

[0002]数据加密技术是当今保障电子信息安全的重要手段。随着信息量和对信息传递速度的要求日益增加,硬件加密方式已经成为主流。加密算法通常分为对称式加密和非对称式加密。对称式加密算法中,常见的包括AES、DES和SM4等;而非对称式加密算法有RSA、ECC等。SM4作为我国第一个可商用的加密算法,凭借其算法结构简单易实现、加解密速度快、安全性高等优点,已经迅速获得了业界的认可,并被广泛应用于数据加密存储和信息加密通信等领域中。
[0003]在实际应用过程中,SM4加密电路的工作频率受到计算机硬件电路最大工作频率的影响。因此,根据搭载到计算机设备的不同,每次都需要重新选择合适的流水级数的流水线设计。这无疑会增加工作量,减少SM4加解密芯片的通用性。此外,在电路实际工作时,AXI总线设备并不能做到每时每刻都以全流水的方式收发数据,这会导致吞吐率不能达到理性性能指标。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够提高SM4加解密芯片的通用性的可动态调节的SM4流水线硬件系统。
[0005]一种可动态调节的SM4流水线硬件系统,所述系统包括动态监测模块、轮密钥生成模块和加解密模块;
[0006]动态监测模块用于接收来自用户的密钥和模式选择配置信息,根据密钥和模式选择配置信息实时监测计算机系统电路的工作频率与实际吞吐率,根据频率检测信息和预先设置的级数选择规则选择初始流水线级数信息,并根据实际吞吐率对初始流水线级数信息进行动态调整后传递给加解密模块;
[0007]轮密钥生成模块用于根据模式选择配置信息和SM4算法生成32轮密钥并将32轮密钥传递给加解密模块;
[0008]加解密模块用于根据动态调整后的流水线级数信息和多路选择器动态调整内部流水线并根据32轮密钥对明文或密文数据进行加解密处理后将处理结果通过AXI总线重新写回存储器。
[0009]在其中一个实施例中,动态监测模块包括频率检测电路和实际吞吐率检测电路;频率检测电路用于对输入的密钥信息进行频率检测,得到频率检测结果;实际吞吐率检测电路用于检测电路的实际吞吐率。
[0010]在其中一个实施例中,动态监测模块还用于预先设置4级流水线的工作频率为A,8级流水线的工作频率为B,16级流水线的工作频率为C,32级流水线的工作频率为D,当检测到电路的工作频率X满足(X<3/2A)时选择4级流水线,当检测到电路的工作频率X满足(3/2A
<X<3/2B)时选择8级流水线,当检测到电路的工作频率X满足(3/2B<X<3/2C)时选择16级流水线,当检测到电路的工作频率X满足(3/2C<X)时选择32级流水线。
[0011]在其中一个实施例中,动态监测模块还用于将初始流水线级数信息中4级流水线的最大吞吐率设置为A1,8级流水线的最大吞吐率设置为B1,16级流水线的最大吞吐率设置为C1,32级流水线的最大吞吐率设置为D1,当检测到电路的实际吞吐率Y满足(Y<3/2A1)时选择4级流水线,当检测到电路的实际吞吐率Y满足(3/2A1<Y<3/2B1)时选择8级流水线,当检测到电路的实际吞吐率Y满足(3/2B1<Y<3/2C1)时选择16级流水线,当检测到电路的实际吞吐率Y满足(3/2C1<Y)时选择32级流水线。
[0012]在其中一个实施例中,动态监测模块还用于在系统启动时,记录一个初始时间点,并在初始时间点之后的一段时间内对实际吞吐率进行统计和监测,在这段时间内保持输入数据的稳定性,如果实际吞吐率在这段时间内达到了一个稳定值,则根据稳定值来进行流水线级数的动态调节。
[0013]上述一种可动态调节的SM4流水线硬件系统,本申请通过设置动态监测模块、轮密钥生成模块和加解密模块,利用动态监测模块接收来自用户的密钥和模式选择配置信息,根据密钥和模式选择配置信息实时监测计算机系统电路的工作频率与实际吞吐率,根据频率检测信息预先设置的级数选择规则选择初始流水线级数信息,并根据实际吞吐率对初始流水线级数信息进行动态调整后传递给加解密模块,然后加解密模块根据动态调整后的流水线级数信息和多路选择器动态调整内部流水线并根据32轮密钥对明文或密文数据进行加解密处理后将处理结果通过AXI总线重新写回存储器,系统内部可根据动态监测模块根据给出的信息控制流水寄存器使用数目,加解密模块利用多路选择器来实现选择不同级数流水线的功能,通过动态监测模块和加解密模块的配合,动态调整流水线级数,以确保加解密操作在最佳的性能下进行并且能够适用不同的计算机设备,大大提高了加解密的速率和通用性,具有通用性强、功耗低、速度快等优点,并且这种设计方案具有广泛的应用前景,可以应用于各种电子信息安全领域,为保护电子信息安全提供更加可靠的保障。
附图说明
[0014]图1为一个实施例中一种可动态调节的SM4流水线硬件系统的框架图;
[0015]图2为一个实施例中根据频率检测结果动态调整流水线级数的选择方法流程示意图。
具体实施方式
[0016]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0017]在一个实施例中,如图1所示,提供了一种可动态调节的SM4流水线硬件系统,包括动态监测模块、轮密钥生成模块和加解密模块;
[0018]动态监测模块用于接收来自用户的密钥和模式选择配置信息,根据密钥和模式选择配置信息实时监测计算机系统电路的工作频率与实际吞吐率,根据频率检测信息和预先设置的级数选择规则选择初始流水线级数信息,并根据实际吞吐率对初始流水线级数信息
进行动态调整后传递给加解密模块;
[0019]轮密钥生成模块用于根据模式选择配置信息和SM4算法生成32轮密钥并将32轮密钥传递给加解密模块;
[0020]加解密模块用于根据动态调整后的流水线级数信息和多路选择器动态调整内部流水线并根据32轮密钥对明文或密文数据进行加解密处理后将处理结果通过AXI总线重新写回存储器。
[0021]上述一种可动态调节的SM4流水线硬件系统中,首先ARM处理器通过总线配置密钥和模式选择配置信息,ARM处理器通过总线向SM4流水线硬件系统传递密钥信息和模式选择配置信息,动态监测模块监测输入密钥和模式选择配置信息的信号频率,得出ARM处理器工作频率,根据频率检测信息预先设置的级数选择规则选择初始流水线级数信息,包括预先设置4级流水线的工作频率为A,8级流水线的工作频率为B,16级流水线的工作频率为C,32级流水线的工作频率为D,当检测到电路的工作频率X满足(X&a本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可动态调节的SM4流水线硬件系统,其特征在于,所述系统包括:动态监测模块、轮密钥生成模块和加解密模块;所述动态监测模块用于接收来自用户的密钥和模式选择配置信息,根据密钥和模式选择配置信息实时监测计算机系统电路的工作频率与实际吞吐率,根据频率检测信息和预先设置的级数选择规则选择初始流水线级数信息,并根据实际吞吐率对所述初始流水线级数信息进行动态调整后传递给加解密模块;所述轮密钥生成模块用于根据模式选择配置信息和SM4算法生成32轮密钥并将所述32轮密钥传递给加解密模块;所述加解密模块用于根据动态调整后的流水线级数信息和多路选择器动态调整内部流水线并根据所述32轮密钥对明文或密文数据进行加解密处理后将处理结果通过AXI总线重新写回存储器。2.根据权利要求1所述的系统,其特征在于,所述动态监测模块包括频率检测电路和实际吞吐率检测电路;所述频率检测电路用于对输入的密钥信息进行频率检测,得到频率检测结果;所述实际吞吐率检测电路用于检测电路的实际吞吐率。3.根据权利要求1所述的系统,其特征在于,所述动态监测模块还用于预先设置4级流水线的工作频率为A,8级流水线的工作频率为B,16级流水线的工作频率为C,32级流水线的工作频率为D,当检测到电路的工作频率X满足(X<3/2A)时选择4级流水线,当检测到电路的工作频率X满足(3/2...

【专利技术属性】
技术研发人员:陈小文朱麒瑾李晨鲁建壮郭阳刘胜陈海燕刘仲张洋刘畅曹壮袁珩洲汪志汤先拓
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1