当前位置:首页 > 新闻资讯 > FPGA之家动态 >

一种基于FPGA的可配置密钥SM4加解密系统技术方案

时间:2025-02-14      来源:FPGA_UCY 关于我们 0

本发明专利技术涉及一种基于FPGA的可配置密钥SM4加解密系统,属于计算机系统安全保护技术领域。本系统包括SM4加解密算法实现模块、固定和变换密钥接口设计模块、流式数据传输架构模块。SM4加解密算法实现模块用于完成固定密钥和变换密钥两种模式下的加解密。固定和变换密钥接口设计模块用于连接流式数据传输架构模块和SM4加解密算法实现模块,负责启动/暂停数据传输,并根据密钥模式解析数据流,从而驱动SM4工作。流式数据传输架构模块用于上位机和FPGA之间的数据通信。本系统保证了数据传输和处理的正确性,可以快速搭建应用方案,轻松完成计算任务,充分利用带宽,降低系统延迟,并且能够降低收发和计算部分的耦合度,保障应用的独立性。独立性。独立性。

全部详细技术资料下载

【技术实现步骤摘要】

一种基于FPGA的可配置密钥SM4加解密系统

[0001]本专利技术涉及一种基于FPGA的可配置密钥SM4加解密系统,属于计算机硬件

技术介绍

[0002]随着大数据、人工智能和5G领域的快速发展,要求数据的通信、处理以及存储的安全性和可靠性越来越高。数据加密作为保障信息安全的常用手段,传统的方法包括软件加密或使用GPU进行加速,但是,其吞吐率低下成为数据传输的瓶颈。在新的应用场景下,例如网络流量等,开发安全加密机器还要求具备实时的加密能力。

[0003]国密SM4算法的密码学计算量大,限制了其在实际场景中的应用。在处理此类计算密集型任务时,往往会消耗大量的CPU和内存资源。因此,将SM4加解密计算任务转移到硬件加速器上,成为有效的解决方法。

[0004]FPGA凭借硬件的并行性和低延时性,执行时不需要指令,不需要内存共享,打破顺序执行的限制,有效提升效率和提高性能。SM4算法结构能够与FPGA器件的特点充分结合,有针对性地进行优化。并且加密过程与外部计算机隔离,具有较高的数据保护能力。

技术实现思路

[0005]本专利技术的目的是针对现有技术存在的缺陷和不足,为了解决SM4加解密方法难以满足实际应用中对高速度、低延迟、大数量的需求,以及严重占用计算机资源、功耗高、灵活性不足等技术问题,提出一种基于FPGA的可配置密钥SM4加解密系统。

[0006]为解决上述技术问题,本专利技术采用以下技术方案实现。

[0007]一种基于FPGA的可配置密钥SM4加解密系统,包括SM4加解密算法实现模块、固定和变换密钥接口设计模块、流式数据传输架构模块三个部分。

[0008]所述SM4加解密算法实现模块,用于完成固定密钥和变换密钥两种模式下的加解密。该部分包括控制模块、密钥扩展模块、密钥反转模块和加密模块。控制模块根据密钥模式和加解密功能协调其他模块,保证数据处理同步和正确。密钥扩展模块实现密钥扩展算法,得到加密轮密钥。密钥反转模块对加密轮密钥进行反序变换,得到解密轮密钥。加密模块使用生成的轮密钥进行加解密算法操作。在固定密钥模式下,控制模块只启动加密模块;在变换密钥模式下,控制模块启动其他所有模块。密钥扩展模块和加密模块并行工作,实现每个原文采用不同密钥。通过密钥反转模块,实现了在加密模式与解密模式之间的随时切换。

[0009]优先地,密钥扩展模块和加密模块均采用流水线结构,保证加解密过程连续不中断,每个周期都能够加解密一个数据。

[0010]所述固定和变换密钥接口设计模块,用于连接流式数据传输架构模块和SM4加解密算法实现模块,负责启动/暂停数据传输,并根据密钥模式解析数据流,从而驱动SM4工作。

[0011]优选地,固定和变换密钥接口设计模块根据流式数据传输架构模块中的数据流信号来启动/暂停数据传输,同时根据流式数据传输架构模块中的控制信号来以固定或变换密钥模式解析数据流,从中提取密钥和原文,随同控制信号传递给SM4,并将SM4计算结果重新封装为数据流返回传输。固定密钥模式将数据流视为原文,并使用存储在FPGA LUT单元中的加密和解密轮密钥。变换密钥模式将数据流视为头部+原文组成,其中,头部由加解密功能位、密钥、原文长度和保留位组成,按照约定格式进行信息提取。

[0012]所述流式数据传输架构模块,用于上位机和FPGA之间的数据通信。可以采用AXI 传输数据流,采用AXI Lite传输控制信号。其中,上位机由PCIE驱动和用例程序组成。PCIE驱动可以为的XDMA驱动。用例程序实现数据的发送和接收,以及对SM4功能的更改。在FPGA端,包括数据收发模块、缓存模块、位宽转换模块和控制信号模块。

[0013]优选地,数据收发模块可以基于XDMA IP实现,完成PCIE链路上数据包的接收和发送以及控制信号的接收。缓存模块可以基于异步FIFO实现,对数据流进行缓冲以及异步时钟域的转换,缓存模块包括输入缓存模块和输出缓存模块。位宽转换模块用来对数据流进行位宽转换,包括输入位宽转换模块和输出位宽转换模块。控制信号模块根据控制信号的目的地址,将其存储到对应的寄存器中。

[0014]有益效果

[0015]1.本专利技术所述的SM4加解密算法基于FPGA实现,采用多级流水线结构,多个模块并行工作,不仅能实现固定变换密钥模式和加密解密功能随时切换,每个原文采用不同密钥,且加解密过程连续不中断,每个周期都可以加解密一个数据。时序得到改善,可以运行在高频时钟下,达到极高的吞吐率。

[0016]2.本专利技术所述的固定和变换密钥接口设计,分别针对固定密钥和变换密钥两种模式解析和封装数据流。搭建了所述流式数据传输架构和以所述SM4加解密算法实现为代表的加速目标之间的通用沟通桥梁,给出了传输启动和暂停的机制,创新性地定义了数据流格式,保证了数据传输和处理的正确性。

[0017]3.本专利技术所述的流式数据传输架构,实现了上位机和FPGA之间的数据通信。其提供了一种普适高效的PCIE与FPGA数据交互加速架构方案,可以快速搭建应用方案,轻松完成计算任务。采用AXI 高速流式数据传输协议,避免DDR存储过程,充分利用带宽,降低系统延迟。在传输过程中引入数据缓冲、时序和位宽转换,能够降低收发和计算部分的耦合度,保障应用的独立性。

附图说明

[0018]图1为本专利技术的总体结构示意图;图2为本专利技术中固定和变换密钥接口设计的架构图。

具体实施方式

[0019]下面结合附图和实施例对本专利技术的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。

[0020]如图1所示,一种基于FPGA的可配置密钥SM4加解密系统,包括SM4加解密算法实现模块、固定和变换密钥接口设计模块、流式数据传输架构模块。

[0021]其中,SM4加解密算法实现模块包括控制模块、密钥扩展模块、密钥反转模块和加密模块。

[0022]固定和变换密钥接口设计模块连接流式数据传输架构模块和SM4加解密算法实现模块,负责启动/暂停数据传输,并根据密钥模式解析数据流从而驱动SM4工作。流式数据传输架构模块实现上位机和FPGA之间的数据通信。其中,上位机由PCIE驱动和用例程序组成。PCIE驱动为官方的XDMA驱动。用例程序实现数据的发送和接收,以及对SM4功能的更改。FPGA包括数据收发模块、缓存模块、位宽转换模块、控制信号模块。

[0023]作为本专利技术的一种实施方式,SM4加解密算法模块基于FPGA实现,包括控制模块、密钥扩展模块、轮密钥反转模块和加密模块,实现固定密钥和变换密钥两种模式下的加解密功能。控制模块与固定和变换密钥接口设计相连,负责密钥和原文的接收和计算结果的输出,并根据所述固定和变换密钥接口设计的要求协调其他模块工作。其中,固定密钥方式只关注控制模块和

【技术保护点】

【技术特征摘要】

1.一种基于FPGA的可配置密钥SM4加解密系统,其特征在于,包括SM4加解密算法实现模块、固定和变换密钥接口设计模块、流式数据传输架构模块;SM4加解密算法实现模块,用于完成固定密钥和变换密钥两种模式下的加解密,基于FPGA实现。SM4加解密算法实现模块由控制模块、密钥扩展模块、密钥反转模块和加密模块组成;其中,控制模块根据密钥模式和加解密功能协调其他模块,保证数据处理同步和正确;密钥扩展模块实现密钥扩展算法,得到加密轮密钥;密钥反转模块对加密轮密钥进行反序变换,得到解密轮密钥;加密模块使用生成的轮密钥进行加解密算法操作;在固定密钥模式下,控制模块只启动加密模块;在变换密钥模式下,控制模块启动其他所有模块;密钥扩展模块和加密模块并行工作,实现每个原文采用不同密钥;通过密钥反转模块,实现了在加密模式与解密模式之间的随时切换;固定和变换密钥接口设计模块,用于连接流式数据传输架构模块和SM4加解密算法实现模块,负责启动/暂停数据传输,并根据密钥模式解析数据流,从而驱动SM4工作;流式数据传输架构模块,用于上位机和FPGA之间的数据通信;其中,上位机由PCIE驱动和用例程序组成;用例程序实现数据的发送和接收,以及对SM4功能的更改;在FPGA端,包括数据收发模块、缓存模块、位宽转换模块和控制信号模块;缓存模块用于对数据流进行缓冲以及异步时钟域的转换,包括输入缓存模块和输出缓存模块;位宽转换模块用来对数据流进行位宽转换,包括输入位宽转换模块和输出位宽转换模块;控制信号模块根据控制信号的目的地址,将其存储到对应的寄存器中;流式数据传输架构模块将数据传递给固定和变换密钥接口设计模块,固定和变换密钥接口设计模块将该数据传递给SM4加解密算法实现模块处理并生成结果;SM4加解密算法实现模块将结果传递给固定和变换密钥接口设计模块,固定和变换密钥接口设计模块再将该结果传递给流式数据传输架构模块。2.如权利要求1所述的一种基于FPGA的可配置密钥SM4加解密系统,其...

【专利技术属性】

技术研发人员:李可,

申请(专利权)人:苏州宏存芯捷科技有限公司,

类型:发明

国别省市:

全部详细技术资料下载 我是这个专利的主人


注明:本内容来源网络,不用于商业使用,禁止转载,如有侵权,请来信到邮箱:429562386ⓐqq.com 或联系本站客服处理,感谢配合!

用户登陆

    未注册用户登录后会自动为您创建账号

提交留言