一种加密系统及解密系统技术方案

技术编号:20851034 阅读:20 留言:0更新日期:2019-04-13 09:45
本发明专利技术实施例公开了一种加密系统及解密系统,所述加密系统包括加密算法的集合迭代运算单元以及扩展算法的集合迭代运算单元的运算单元组合;其中:所述加密算法的集合迭代运算单元,适于在一个时钟周期内完成加密算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元,适于在一个时钟周期内完成扩展算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元输出在一个时钟周期内产生的至少两个轮密钥至所述加密算法的集合迭代运算单元。本发明专利技术实施例中的技术方案可以提升加密系统的效率及数据吞吐率。

【技术实现步骤摘要】
一种加密系统及解密系统
本专利技术涉及芯片设计领域,尤其涉及一种加密系统及解密系统。
技术介绍
随着网络技术和通信技术的飞速发展,加密方法的应用越来越广泛。加密方法不仅运用于网络数据传输,也越来越多的应用于近场通信等场景。加密方法的运用逐渐走入日常生活,例如,应用于支付等场景中。在一些应用场景中,对加密方法的效率及系统处理数据的吞吐率均有较高的要求。现有的加密方法的效率及数据吞吐率有待提升。
技术实现思路
本专利技术实施例解决的技术问题是提升加密方法的效率及数据吞吐率。为解决上述技术问题,本专利技术实施例提供一种加密系统,包括加密算法的集合迭代运算单元以及扩展算法的集合迭代运算单元的运算单元组合;其中:所述加密算法的集合迭代运算单元,适于在一个时钟周期内完成加密算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元,适于在一个时钟周期内完成扩展算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元输出在一个时钟周期内产生的至少两个轮密钥至所述加密算法的集合迭代运算单元。可选的,所述运算单元组合为多个,其中,多个所述加密算法的集合迭代运算单元相串联,以完成所述加密算法的多轮迭代运算。可选的,多个所述扩展算法的集合迭代运算单元相串联,以完成所述扩展算法的多轮迭代运算。可选的,所述加密系统还包括:第一寄存器,适于存储所述待加密的明文数据。可选的,所述加密系统还包括:第二寄存器,适于存储所述加密算法的集合迭代运算单元输出的运算结果。可选的,所述加密算法的集合迭代运算单元在一个时钟周期内完成的加密算法的单次迭代运算的轮数,与所述扩展算法的集合迭代运算单元在一个时钟周期内完成的扩展算法的单次迭代运算的轮数相等。可选的,加密算法的集合迭代运算单元加密算法的集合迭代运算单元的数量相等。可选的,所述扩展算法的集合迭代运算单元在一个时钟周期内完成的扩展算法的单次迭代运算得到的轮密钥,适于供所述加密算法的集合迭代运算单元在下个时钟周期内使用,以完成下个时钟周期内的加密算法的单次迭代运算。可选的,所述加密系统还包括:扩展结果存储单元,适于在所述扩展算法的集合迭代运算单元完成一个时钟周期内的扩展算法的单次迭代运算后,存储所得到的轮密钥。本专利技术实施例还提供一种解密系统,其特征在于,包括:解密算法的集合迭代运算单元以及扩展算法的集合迭代运算单元的运算单元组合;其中:所述解密算法的集合迭代运算单元,适于在一个时钟周期内完成至少两轮解密算法的单次迭代运算;所述扩展算法的集合迭代运算单元,适于在一个时钟周期内完成扩展算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元输出在一个时钟周期内产生的至少两个轮密钥至所述解密算法的集合迭代运算单元。与现有技术相比,本专利技术实施例的技术方案具有以下有益效果:在本专利技术实施例中,加密系统包括加密算法的集合迭代运算单元以及扩展算法的集合迭代运算单元的运算单元组合,其中加密算法的集合迭代运算单元适于在一个时钟周期内完成加密算法的至少两轮单次迭代运算,所述扩展算法的集合迭代运算单元,适于在一个时钟周期内完成扩展算法的至少两轮单次迭代运算,故在本专利技术实施例中,完成加密算法的多轮迭代运算以及扩展算法的多轮扩展运算所需的时钟周期较少。另外,在本专利技术实施例中,所述扩展算法的集合迭代运算单元输出在一个时钟周期内产生的至少两个轮密钥至所述加密算法的集合迭代运算单元,从而可以使得扩展算法中的运算可以与加密算法中的运算并行进行,进而在更新密钥时的运算效率可以更高,例如在一次一密的应用场景中尤其具有效率优势。进一步,在本专利技术实施例中,多个加密算法的集合迭代运算单元相串联,待加密的明文数据可以顺序经过所述多个加密算法的集合迭代运算单元,故在一个加密算法的多轮迭代运算尚未完成时,已对前数据进行过计算的加密算法的集合迭代运算单元可以执行对后数据的加密算法的迭代运算,故提升了加密运算的数据吞吐率。进一步,所述加密算法的集合迭代运算单元在一个时钟周期内完成的加密算法的单次迭代运算的轮数,与所述扩展算法的集合迭代运算单元在一个时钟周期内完成的扩展算法的单次迭代运算的轮数相等,有利于扩展算法的集合迭代运算单元向加密算法的集合迭代运算单元提供轮密钥,二者可以更高效的并行进行运算,进而可以提升加密方法的效率。附图说明图1是本专利技术实施例中一种加密系统的结构示意图;图2是本专利技术实施例中一种加密系统的部分结构示意图。具体实施方式如前所述,现有的加密方法的效率及数据吞吐率有待提升。在本专利技术实施例中,加密系统包括加密算法的集合迭代运算单元以及扩展算法的集合迭代运算单元的运算单元组合,其中加密算法的集合迭代运算单元适于在一个时钟周期内完成加密算法的至少两轮单次迭代运算,所述扩展算法的集合迭代运算单元,适于在一个时钟周期内完成扩展算法的至少两轮单次迭代运算,故在本专利技术实施例中,完成加密算法的多轮迭代运算以及扩展算法的多轮扩展运算所需的时钟周期较少。另外,在本专利技术实施例中,所述扩展算法的集合迭代运算单元输出在一个时钟周期内产生的至少两个轮密钥至所述加密算法的集合迭代运算单元,从而可以使得扩展算法中的运算可以与加密算法中的运算并行进行,进而在更新密钥时的运算效率可以更高,例如在一次一密的应用场景中尤其具有效率优势。为使本专利技术的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本专利技术的具体实施例做详细的说明。图1是本专利技术实施例中一种加密系统的结构示意图,以下参照图1进行说明。在本专利技术实施例中,加密系统可以包括加密算法的集合迭代运算单元以及扩展算法的集合迭代运算单元的运算单元组合;其中:加密算法的集合迭代运算单元11适于在一个时钟周期内完成加密算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元14,适于在一个时钟周期内完成扩展算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元14输出在一个时钟周期内产生的至少两个轮密钥至所述加密算法的集合迭代运算单元11。本专利技术实施例中的加密系统可以用于实现不同的用于加密的算法规则,特别是可以以更高的效率实现其中包含多轮迭代运算的用于加密算法。含多轮迭代运算的用于加密的算法规则可以是DES加算法、AES算法、SM4分组密码算法中任一种。本领域技术人员可以理解的是上述用于加密的算法规则可以包括加密算法、扩展算法及解密算法,其中扩展算法为密钥扩展算法的简称。例如SM4分组密码算法中:通过预设的密钥得到轮密钥的部分可以称作扩展算法;结合轮密钥将明文转变为密文的部分可以称作加密算法;根据加密算法的流程反推进行解密可以称作解密算法。在本专利技术实施例中,将加密算法的多轮迭代运算中每轮迭代运算称作加密算法的单次迭代运算,将扩展算法多轮迭代运算中每轮迭代运算称作扩展算法的单次迭代运算,将解密算法多轮迭代运算中每轮迭代运算称作解密算法的单次迭代运算。本专利技术实施例中的加密算法的多轮迭代运算、扩展算法的多轮迭代运算以及解密算法的多轮迭代运算,均可按照以下任一种算法规则中的规定实现:DES加算法、AES算法以及SM4分组密码算法。加密算法的多轮迭代运算中,可以包括预设轮的加密算法的单次迭代运算。例如,SM4分组密码算法中包括32轮的加密算法的单次迭代运算,DES加密算法中包括16轮迭代的加密算法的单次迭代运算。完成预设轮数的本文档来自技高网...

【技术保护点】
1.一种加密系统,其特征在于,包括加密算法的集合迭代运算单元以及扩展算法的集合迭代运算单元的运算单元组合;其中:所述加密算法的集合迭代运算单元,适于在一个时钟周期内完成加密算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元,适于在一个时钟周期内完成扩展算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元输出在一个时钟周期内产生的至少两个轮密钥至所述加密算法的集合迭代运算单元。

【技术特征摘要】
1.一种加密系统,其特征在于,包括加密算法的集合迭代运算单元以及扩展算法的集合迭代运算单元的运算单元组合;其中:所述加密算法的集合迭代运算单元,适于在一个时钟周期内完成加密算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元,适于在一个时钟周期内完成扩展算法的至少两轮单次迭代运算;所述扩展算法的集合迭代运算单元输出在一个时钟周期内产生的至少两个轮密钥至所述加密算法的集合迭代运算单元。2.根据权利要求1所述的加密系统,其特征在于,所述运算单元组合为多个,其中,多个所述加密算法的集合迭代运算单元相串联,以完成所述加密算法的多轮迭代运算。3.根据权利要求2所述的加密系统,其特征在于,多个所述扩展算法的集合迭代运算单元相串联,以完成所述扩展算法的多轮迭代运算。4.根据权利要求1所述的加密系统,其特征在于,还包括:第一寄存器,适于存储所加密的明文数据。5.根据权利要求1所述的加密系统,其特征在于,还包括:第二寄存器,适于存储所述加密算法的集合迭代运算单元输出的运算结果。6.根据权利要求1所述的加密系统,其特征在于,所述加密算法的集合迭代运算单元在一个时钟周期内完成的加密算法的单次迭代运算的轮数,与所述扩展算法的集合迭代运算单元在一个时钟周期内完成的扩展算法的单次迭代运算的轮数相等。7.根据权利要求1所述的加密系统,...

【专利技术属性】
技术研发人员:周鹏赵凤海徐祥俊
申请(专利权)人:成都海光集成电路设计有限公司
类型:发明
国别省市:四川,51

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

1