首页 > 专利 > 杭州电子科技大学 > 基于FPGA的SM4-GCM网络加密传输系统实现方法专利详情

基于FPGA的SM4-GCM网络加密传输系统实现方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2020-12-29
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2021-05-25
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2022-07-26
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2040-12-29
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN202011604179.3 申请日 2020-12-29
公开/公告号 CN112769551B 公开/公告日 2022-07-26
授权日 2022-07-26 预估到期日 2040-12-29
申请年 2020年 公开/公告年 2022年
缴费截止日
分类号 H04L9/08H04W12/03 主分类号 H04L9/08
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 6
权利要求数量 7 非专利引证数量 1
引用专利数量 2 被引证专利数量 0
非专利引证 1、2014.02.13CN 111555859 A,2020.08.18Louise Bergman Martinkauppi ET AL.. 《On the Design and Performance of ChineseOSCCA-approved Cryptographic Algorithms》. 《2020 13th International Conference onCommunications (COMM)》.2020,Yingbiao Yao ET AL.《.A Pseudo-RandomProgram Generator for ProcessorFunctional Verification》《.2007International Symposium on IntegratedCircuits》.2008,张骁等《.基于HRCA的可重构SM4密码算法研究与实现》《.网络与信息安全学报》.2020,;
引用专利 US2019268134A、US2014047237A 被引证专利
专利权维持 1 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 杭州电子科技大学 当前专利权人 杭州电子科技大学
发明人 崔颖超、姚英彪、周红、徐欣、姜显扬、冯维 第一发明人 崔颖超
地址 浙江省杭州市经济技术开发区白杨街道2号大街1158号 邮编 310018
申请人数量 1 发明人数量 6
申请人所在省 浙江省 申请人所在市 浙江省杭州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
浙江千克知识产权代理有限公司 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
周希良
摘要
本发明涉及一种基于FPGA的SM4‑GCM网络加密传输系统实现方法,包括以下步骤:S1,从数据准备模块接受所需数据,将参数和密钥分别送入随机数模块和密钥扩展模块生成相应的随机数和扩展密钥;S2,将随机数和明文送入加密模块进行加密;S3,将得到的密文、密钥与随机数送入消息认证模块生成HMAC值;S4,在加/解密的同时,系统会通过SM3算法和Pascal算法更新下一次所需的密钥;本发明利用Keccak中的shake‑128算法实现随机数的生成,提高了随机数的安全性通过对非线性变换运算和消息认证运算的优化,提高了其资源利用率和工作频率,更适于高速网络的环境;利用SM3算法和Pascal算法实现密钥的安全更迭,并结合GMAC模块确保了系统密钥更新的正确性。
  • 摘要附图
    基于FPGA的SM4-GCM网络加密传输系统实现方法
  • 说明书附图:图1
    基于FPGA的SM4-GCM网络加密传输系统实现方法
  • 说明书附图:图2
    基于FPGA的SM4-GCM网络加密传输系统实现方法
  • 说明书附图:图3
    基于FPGA的SM4-GCM网络加密传输系统实现方法
  • 说明书附图:图4
    基于FPGA的SM4-GCM网络加密传输系统实现方法
  • 说明书附图:图5
    基于FPGA的SM4-GCM网络加密传输系统实现方法
  • 说明书附图:图6
    基于FPGA的SM4-GCM网络加密传输系统实现方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2022-07-26 授权
2 2021-05-25 实质审查的生效 IPC(主分类): H04L 9/08 专利申请号: 202011604179.3 申请日: 2020.12.29
3 2021-05-07 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.基于FPGA的SM4‑GCM网络加密传输系统实现方法,其特征在于:包括以下步骤:
S1,从数据准备模块接受所需数据,将参数和密钥分别送入随机数模块和密钥扩展模块生成相应的随机数和扩展密钥;
S2,将随机数和明文送入加密模块进行加密;
S3,将得到的密文、密钥与随机数送入消息认证模块生成HMAC值;
S4,在加/解密的同时,系统会通过SM3算法和Pascal算法更新下一次所需的密钥;
步骤S4中,当触发密钥更新时,由加密方选择一个系统参数,选择的参数地址添加至附加消息以通知通信对方的相应模块;128bit的参数划分为16份并异或变为4个参数,较大的两个为n1,n2,较小的两个为k1,k2;根据参数求解两组Pascal的解,并对结果取模16得到两个参数地址;
将所得参数送入SM3模块后,计算过程为将输入的128bit数据根据填充规则变换成所需的512bit消息,并分成16个4Byte长度的消息块;后通过对特定消息块的循环移位、异或运算、置换得到其余的52个消息,记作消息组W;根据消息组W,得到第二个含64个字的消息分组W2;迭代压缩是将初始变量IV分为含8个字的消息组,通过64次对该消息组、W分组和W2分组的布尔替代、置换及移位运算规则,得到经过压缩后的256bit数据;参数将分为两个
128bit数据循环左移位并替换原来运行系统参数组中对应参数地址的参数值,移位的大小基于参数自身的地址;三个所选的参数移位异或后即得到更新后的密钥,更新后的密钥被送入密钥扩展模块以参与下一次加密。

2.根据权利要求1所述的基于FPGA的SM4‑GCM网络加密传输系统实现方法,其特征在于:步骤S1,S2,S3,S4中,明文M长度为固定128bit,密钥k长度为固定128bit,随机数r为
128bit。

3.根据权利要求1或2所述的基于FPGA的SM4‑GCM网络加密传输系统实现方法,其特征在于:步骤S1中,数据准备模块负责为FPGA模块传输数据并计算需加密的数据长度和附加消息的长度用于消息认证模块的运行;随机数的生成基于SHAKE‑128算法。

4.根据权利要求1或2所述的基于FPGA的SM4‑GCM网络加密传输系统实现方法,其特征在于:步骤S1和S2中,SM4算法的密钥扩展模块和加密模块均需使用非线性变换;通过利用RAM资源实现有限域上的乘法求逆操作以及组合逻辑实现仿射变换操作,使得加解密过程能共用非线性变换单元的资源。

5.根据权利要求1或2所述的基于FPGA的SM4‑GCM网络加密传输系统实现方法,其特征在于:步骤S3中,获取消息认证码包括以下步骤:
S3.1、附加消息与密钥H经过GHASH单元的有限域模乘和模约后,得到128bit值后,下一块附加消息异或,重复操作,执行n次;
S3.2、密文与密钥H经过GHASH单元的有限域模乘和模约后,得到128bit值后,与下一块密文异或,重复操作,总共迭代m次。

6.根据权利要求4所述的基于FPGA的SM4‑GCM网络加密传输系统实现方法,其特征在于:所述有限域上的乘法单元采用全并行运算实现并采用三级KOA方法进行优化,有限域模约单元基于改进的并行模约方法实现。

7.根据权利要求5所述的基于FPGA的SM4‑GCM网络加密传输系统实现方法,其特征在于:步骤S3.2中,密钥H由密钥k和随机数r产生,m代表加密数据被分为每个128bit的消息块后的个数,n代表附加消息被分为每个128bit的消息块后的个数。
说明书

技术领域

[0001] 本发明属于信息安全技术领域,尤其涉及一种基于FPGA的SM4‑GCM网络加密传输系统实现方法。

背景技术

[0002] 近年来,随着5G网络技术的发展,网络传输数据的速率越来越快,数据量变得越来越庞大;与此同时,针对数据传输过程中的攻击也愈发尖锐。为了确保数据传输的安全性问题,往往对数据加密后再传输。但由于网络数据传输速率的提升和软件加密本身的上限,导致在高速网络中加密速率要求无法被完全满足,因此采用硬件实现加密传输便成为一种可性方案。
[0003] 在实现过程中,为了满足网络加密传输的高吞吐量以及加密消息的完整性认证,往往采用对称密码算法加密数据主体,非对称密码以及其他算法实现对消息完整性的认证。SM4分组密码算法是国家密码局制定标准的一种算法,主要用于数据加密,其消息分组长度与密钥长度均为128位,而GMAC则是一种高吞吐量的消息认证算法;因此,采用SM4的CTR模式加密,GMAC进行完整性认证的SM4‑GCM是一种实现加密传输的可行方法。
[0004] 然而,该方法在高速网络加密传输也面临一些问题。对于分组密码来说,其密钥必须保密,否则攻击者便可以根据密钥解密加密消息。所以为了提高分组密码的安全性,在实际应用中密钥需要定期更换。而传统的基于硬件的密钥交换采用非对称加密方法来实现,其缺点是该部分的调用并不频繁,却占据大量资源,提高了成本。且加密必须等待密钥交换结束后才能进行,对于经常更换密钥的系统而言,密钥交换无疑极大拖慢了系统整体的加/解密效率。其次,由于GMAC的运算方式,在网络加密传输的环境下消息认证部分往往会拖慢加/解密的运行,成为系统性能瓶颈。
[0005] 针对上述在加密传输网络中SM4_GCM方法所出现的密钥更新、消息认证问题,亟需设计一种实现方法进行改进。

发明内容

[0006] 本发明针对现有技术的不足,提出一种基于FPGA的SM4‑GCM网络加密传输系统实现方法;通过对SM4算法中非线性变换的优化,实现加解密共用S盒资源;利用SHAKE‑128实现随机数的生成,提高了随机数的可靠性,有效地抵挡了针对随机数序列的攻击。通过对GMAC模块中模乘单元和模约单元的优化,提高了系统的最大工作频率。利用SM3算法、Pascal算法和掩码操作实现了安全的密钥更新,保证了一次一密且资源占用低。同时能够在密钥更新发生异常时自行恢复,提升了系统的稳定性和安全性。系统包括用FPGA实现的加密模块、密钥扩展模块、随机数生成模块、消息认证模块、密钥更新模块,以及Java实现的负责服务器与FPGA之间数据交流的数据准备模块。
[0007] 为了达到以上目的,本发明所采用的技术方案是:一种基于FPGA的SM4‑GCM网络加密传输系统实现方法,包括以下步骤:
[0008] S1,从数据准备模块接受所需数据,将参数和密钥分别送入随机数模块和密钥扩展模块生成相应的随机数和扩展密钥;
[0009] S2,将随机数和明文送入加密模块进行加密;
[0010] S3,将得到的密文、密钥与随机数送入消息认证模块生成HMAC值;
[0011] S4,在加/解密的同时,系统会通过SM3算法和Pascal算法更新下一次所需的密钥。
[0012] 作为本发明的一种优选方案,所述S1,S2,S3,S4步骤中,明文m长度为固定128bit,密钥k长度为固定128bit,随机数r为128bit。
[0013] 作为本发明的一种优选方案,所述S1步骤中,数据准备模块负责为FPGA模块传输数据并计算需加密的数据长度和附加消息的长度来用于消息认证模块的运行;随机数的生成基于SHAKE‑128算法;由于24轮迭代过程中计算的比特数较为庞大,因此将五步迭代分为三级流水线,以提高工作频率。
[0014] 作为本发明的一种优选方案,所述S1和S2步骤中,SM4算法的密钥扩展模块和加密模块均需使用非线性变换;通过利用RAM资源实现有限域上的乘法求逆操作以及组合逻辑实现仿射变换操作,使得加解密过程可以共用非线性变换单元的的资源;相较与传统的由组合逻辑实现所有逻辑运算的方法,该方法简化了由扩展欧几里得方法求解乘法逆元带来的复杂逻辑运算。而相较于另一种直接由查找表实现的方式,由于加解密无法共用,因此需要双倍的资源消耗。
[0015] 作为本发明的一种优选方案,所述S3步骤中,获取消息认证码包括以下步骤:
[0016] S3.1、附加消息与密钥H经过GHASH单元的有限域模乘和模约后,得到128bit值后,与下一块附加消息异或,重复上述操作,执行n次;
[0017] S3.2、密文与密钥H经过GHASH单元的有限域模乘和模约后,得到128bit值后,与下一块密文异或,重复上述操作,总共迭代m次,最后对m和n的64bit长度表示也重复一次上述操作。
[0018] 作为本发明的一种优选方案,所述S3步骤中,密钥H由密钥k和随机数r产生,m代表加密数据被分为每个128bit的消息块后的个数,n代表附加消息被分为每个128bit的消息块后的个数。
[0019] 作为本发明的一种优选方案,所述有限域上的乘法单元采用全并行运算实现并采用三级KOA方法进行优化,128bit乘法器包括3个64位乘法器,64bit乘法器包括3个32位乘法器,32bit乘法器包括3个16位乘法器;有限域模约单元基于改进的并行模约方法实现;在128 2 7 128
GF(2 )有限域上,模约过程中采用的本原多项式为f=1+α+α+α+α 。所以对于128bit有限域乘法结果的高127bit来说,最高的254次项模约运算后有效位为最低的134bit,最低的
128次项模约运算后有效位为129bit。采用树形并行结构和串行结构来平衡路径时延和资源占用,树形结构分为6级。此外仅相邻项进行异或运算,则对于第一级异或运算而言有效位可以降低至9bit,第二级至第六级有效位分别降低至11bit、15bit、23bit、39bit、71bit。
通过上述改进,并行模约算法实现256bit模约所需约为2500个异或门。
[0020] 作为本发明的一种优选方案,所述S4步骤中,密钥更新包括以下步骤:
[0021] S4.1、选择一个系统参数并求其Pascal公式的解,根据所得结果选择相应128bit系统参数;
[0022] S4.2、将结果送入SM3算法得到256bit参数,基于SM3算法模块的输出,更新系统参数组并获取新密钥。
[0023] 作为本发明的一种优选方案,所述S4.1步骤中,128bit的参数会划分为16份并异或变为4个参数,根据参数求解Pascal公式的解并取模16得到参数地址;所得参数送入SM3后会得到256bit参数;为降低SM3模块的运算时间,通过分析SM3算法,其消息分组部分最多支持3组并行运算;同时,迭代压缩中部分参数采用预运算以降低该部分的时间消耗;参数将分为两部分替换原来的运行系统参数组;将三个所选的参数移位异或后得到更新后的密钥;第一个选择的参数地址会添加至本次的附加消息中,而生成的密钥将用于下一次加/解密。
[0024] 作为本发明的一种优选方案,所述S4.2步骤中,运行系统参数组在系统最初启动或重置时,会拷贝初始参数组的数据;同时,在存储和调用参数时,会经掩码和解码模块操作,以确保参数的安全性;若因为系统故障使得通信双方在密钥更新时发生错误,导致双方密钥不一致,则该错误会在消息认证阶段被判断出来;双方会丢弃该密钥,并基于初始系统参数重新生成密钥。
[0025] 本发明的有益效果是:本发明利用Keccak中的shake‑128算法实现随机数的生成,提高了随机数的安全性,有效地抵抗了针对随机序列的攻击;利用重新设计的S盒模块,通过将非线性变换分为ROM实现乘法求逆和组合逻辑实现仿射变换,使得加解密过程共用资源,又避免了复杂逻辑带来的资源占用和时延;利用流水线和三级KOA方法实现128位并行乘法器,并通过对模约单元进行运算优化和结构改进,总体上降低了GMAC模块的运算时间和资源占用;利用SM3算法和Pascal算法实现密钥的更迭,在保证了安全性的前提下实现了一次一密,提升了分组加密算法的安全性。并且结合GMAC模块实现了对错误密钥的修订,实现了系统的稳定性和安全性。

实施方案

[0032] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0033] 实施例:
[0034] 参照图1为本实施例的基于FPGA的SM4‑GCM网络加密传输系统实现方法步骤流程图;图2本发明一个实施例的基于FPGA的SM4‑GCM网络加密传输系统的模块关系示意图;图3为本发明一个实施例的基于FPGA的SM4‑GCM网络加密传输系统的顶层硬件结构;
[0035] 具体的,一种基于FPGA的SM4‑GCM网络加密传输系统实现方法,其特征在于:包括以下步骤:
[0036] S1,从数据准备模块接受所需数据,将参数和密钥分别送入随机数模块和密钥扩展模块生成相应的随机数和扩展密钥;
[0037] S2,将随机数和明文送入加密模块进行加密;
[0038] S3,将得到的密文、密钥与随机数送入消息认证模块生成HMAC值;
[0039] S4,在加/解密的同时,系统会通过SM3算法和Pascal模块更新下一次所需的密钥;
[0040] 所述S1中,随机数模块为加密模块和消息认证模块提供相应的随机数,密钥扩展模块为加密模块提供相应的密钥;其中,随机数模块包括填充模块和迭代压缩模块;密钥扩展模块包括线性变换模块和非线性变换模块以及密钥存储模块。
[0041] 所述S2中,加密模块包括若干合成置换模块,每个合成置换模块包括字节替换单元、移位单元、异或单元;加密过程中所需的密钥将从密钥扩展模块中的密钥存储单元调用。
[0042] 所述S3中,消息认证模块负责对加密后的消息进行认证,包括由KOA方法设计的128bit有限域乘法单元和基于改进并行模约算法设计的模约减单元。
[0043] 所述S4中,密钥更新模块包括SM3算法模块、系统参数组、掩码模块和Pascal模块;SM3算法模块包括消息填充模块、若干消息分组模块和迭代压缩模块组成。参数组分为两组,一组为系统初始设置值,一组为系统运行时产生,均由RAM实现。
[0044] 本实施例中,所述S1,S2,S3,S4步骤中,明文m长度为固定128bit,密钥k长度为固定128bit,随机数为128bit;
[0045] 具体的:在所述步骤S1中,由数据准备模块负责服务器与FPGA模块的数据传递。需传递的参数包括该次加密的数据总长度,附加信息的总长度,每次128bit的消息分组和最39
初双方约定的密钥。单次加密数据长度最大为2 ‑256bit。
[0046] 在所述S1中包括获取数据信息和计算随机数和密钥,包括以下步骤:
[0047] S1.1、获取数据块信息并根据输入的128bit数通过随机数模块产生128bit的随机数;
[0048] S1.2、根据输入的128bit密钥通过密钥扩展模块生成一组共32个32bit的密钥。
[0049] 随机数模块输入128bit数据后,填充至1600bit,之后迭代分为θ、ρ、π、χ和ι五步。θ单元将1600bit以三维数组的形式压缩至320bit并与原来的1600bit异或得到新的1600bit矩阵,其计算公式为C[x,z]=A[x,0,z]⊕A[x,1,z]⊕A[x,2,z]⊕A[x,3,z]⊕
[0050] A[x,4,z]、D[x,z]=C[(x‑1)mod5,z]⊕C[(x+1)mod5,(z–1)modw]、A′[x,y,z]=A[x,y,z]⊕D[x,z];ρ单元将1600bit以z轴为基准循环移位,其计算公式为A′[0,0,z]=A[0,0,z]、A′[x,y,z]=A[x,y,(z–(t+1)(t+2)/2)modw]、
[0051] (x,y)=(y,(2x+3y)mod5);π单元以x‑y平面为基准进行移位替换,其计算公式为A′[x,y,z]=A[(x+3y)mod5,x,z];χ单元将三个矩阵按不同行异或得到一个1600bit矩阵,其计算公式为A′[x,y,z]=A[x,y,z]⊕((A[(x+1)mod5,y,z]⊕1)·A[(x+2)mod5,y,z]);ι单元将矩阵的第一纵列(0,0,1)异或一个64bit系统参数,破坏其对称性,其计算公式为A′[0,0,z]=
[0052] A′[0,0,z]⊕RC[z]。上述操作执行24轮,其中0≤x,y≤4、0≤z≤63且为整数。
[0053] 密钥扩展模块输入128bit初始密钥后会分成4个32bit的数据块并经过32轮的合成置换。在输入合成置换单元之前会将最新的三个32bit消息块和一个32bit的系统参数异或成32bit的输入。每一轮都会得到一个32bit的消息块作为扩展密钥并加入输入队列。合成置换单元由非线性变换单元和线性变换单元构成。非线性变换由四个并行的S盒组成,其8
变化方法为,根据输入的1Byte计算其仿射变换,而后求解其有限域GF(2)上的乘法逆元,再对乘法逆元计算其相应的仿射变换。线性变换的变化方法为,将输入的4Byte数据循环移位5次并将五次移位的结果异或。非线性变换单元由四个并行查找表和八个仿射变换逻辑电路构成。查找表将8bit输入替换为其有限域上的乘法逆元,由双端口ROM实现,如图4所示。非线性变换部分的输出将作为线性变换的输入,线性变换由多个循环移位和异或构成,得到的密钥存入BRAM中,用于加密模块的调用。
[0054] 在所述步骤S2中,128bit随机数输入到加密模块分成4个32bit的数据块并经过32轮的合成置换。在输入合成置换单元之前会将最新的三个32bit消息块和一个之前的得到对应轮次的扩展密钥异或成32bit的输入。每一轮都会得到一个32bit的消息块加入下一轮次的输入队列。将最后四轮次的密文倒置并与128bit明文异或即可得到相对应的128bit密文,且随机数加一。
[0055] 在所述步骤S3中,消息认证模块首次输入128bit密文或附加消息,将直接与密钥H进行有限域模乘得到128bit数据,后续输入的128bit密文或附加消息会与上次得到的128bit数据异或后,再与密钥H进行有限域模乘得到128bit数据。模约采用的本原多项式为
2 7 128
f=1+α+α+α+α 。密钥H由随机数经过加密模块得到的128bit数据异或加密模块的密钥产生。模乘单元的硬件结构如图5所示。
[0056] 在所述步骤S4中,当触发密钥更新时,由加密方选择一个系统参数,选择的参数地址会添加至附加消息以通知通信对方的相应模块。128bit的参数会划分为16份并异或变为4个参数,较大的两个为n1,n2,较小的两个为k1,k2。根据参数求解两组Pascal的解,并对结果取模16得到两个参数地址。Pascal的计算公式为:
[0057]
[0058] 将所得参数送入SM3模块后,其计算过程为将输入的128bit数据根据填充规则变换成所需的512bit消息,并分成16个4Byte长度的消息块。而后通过对特定消息块的循环移位、异或运算、置换得到其余的52个消息,记作消息组W。同时,根据消息组W,得到第二个含64个字的消息分组W2。迭代压缩是将初始变量IV分为含8个字的消息组,通过64次对该消息组、W分组和W2分组的布尔替代、置换及移位等多种运算规则,得到经过压缩后的256bit数据。参数将分为两个128bit数据循环左移位并替换原来运行系统参数组中对应参数地址的参数值,移位的大小基于参数自身的地址。上述三个所选的参数移位异或后即得到更新后的密钥,更新后的密钥被送入密钥扩展模块以参与下一次的加密,如图6所示。
[0059] 运行系统参数组在系统最初启动或重置时,会拷贝初始参数组的数据。初始系统参数组的数据会保留以用于系统恢复。同时,在存储和调用参数时,会经掩码和解码模块操作,以确保参数的安全性。若因为系统故障或外部攻击使得通信双方在密钥更新时发生错误,导致双方密钥不一致,则该错误会在消息认证阶段由GMAC模块判断出来,双方会丢弃该密钥,并基于初始系统参数重新生成密钥。
[0060] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

附图说明

[0026] 图1为本发明实施例的基于FPGA的SM4‑GCM网络加密传输系统实现方法步骤流程图;
[0027] 图2为本发明一个实施例的基于FPGA的SM4‑GCM网络加密传输系统的模块关系示意图;
[0028] 图3为本发明一个实施例的基于FPGA的SM4‑GCM网络加密传输系统的顶层硬件结构;
[0029] 图4为本发明一个实施例的基于FPGA的SM4‑GCM网络加密传输系统的加密模块和密钥扩展模块的非线性变换的硬件结构;
[0030] 图5为本发明一个实施例的基于FPGA的SM4‑GCM网络加密传输系统的消息认证模块的乘法单元和模约单元的硬件结构。
[0031] 图6为本发明一个实施例的基于FPGA的SM4‑GCM网络加密传输系统的密钥更新模块的硬件结构。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号