加解密、扩展方法及装置、加解密系统、终端制造方法及图纸

技术编号:20851036 阅读:17 留言:0更新日期:2019-04-13 09:45
本发明专利技术实施例公开了一种加解密、扩展方法及装置、加解密系统、终端。其中,加密方法包括:确定加密算法的多轮迭代运算所需要的轮密钥;利用所述轮密钥对待加密的明文数据进行所述加密算法的多轮迭代运算;其中,所述加密算法的至少两轮单次迭代运算在一个时钟周期内完成。本发明专利技术实施例中的技术方案提升了加解密的效率,并且提升了加密算法的抗攻击性。

【技术实现步骤摘要】
加解密、扩展方法及装置、加解密系统、终端
本专利技术涉及芯片
,尤其涉及一种加解密、扩展方法及装置、加解密系统、终端。
技术介绍
随着网络技术和通信技术的飞速发展,加密方法的应用越来越广泛。加密方法不仅运用于网络数据传输,也越来越多的应用于近场通信等场景。加密方法的运用逐渐走入日常生活,例如,应用于支付等场景中。在一些应用场景中,对加密方法的效率有较高的要求。现有的加密方法的效率有待提升。
技术实现思路
本专利技术实施例解决的技术问题是提升加密方法的效率。为解决上述技术问题,本专利技术实施例提供一种加密方法,包括:确定加密算法的多轮迭代运算所需要的轮密钥;利用所述轮密钥对待加密的明文数据进行所述加密算法的多轮迭代运算;其中,所述加密算法的多轮迭代运算包括多轮迭代进行的单次迭代运算,所述加密算法的至少两轮单次迭代运算在一个时钟周期内完成。可选的,所述轮密钥的数量为多个,确定加密算法的多轮迭代运算所需要的轮密钥包括:根据所述加密算法的单次迭代运算在所述加密算法的多轮迭代运算中的轮位置,确定与所述加密算法的单次迭代运算对应的轮密钥;所述利用所述轮密钥对对待加密的明文数据进行加密算法的多轮迭代运算包括:根据所述加密算法的单次迭代运算在所述加密算法的多轮迭代运算中的轮位置,确定与所述加密算法的单次迭代运算对应的待运算数据;利用对应的轮密钥对所述待运算数据进行所述加密算法的单次迭代运算,直至完成加密算法的预设轮数的单次迭代运算。可选的,确定与所述加密算法的单次迭代运算对应的待运算数据包括以下任意一种:确定所述待加密的明文数据为加密算法的第一轮单次迭代运算的待运算数据;确定加密算法的前轮单次迭代运算输出的运算结果为加密算法的后轮单次迭代运算的待运算数据。可选的,利用对应的轮密钥对所述待运算数据进行所述加密算法的单次迭代运算,直至完成加密算法的预设轮数的单次迭代运算包括:在每个时钟周期内的加密算法的单次迭代运算结束后,确认尚未完成加密算法的预设轮数的单次迭代运算;进行下个时钟周期的加密算法的单次迭代运算。可选的,确定加密算法的多轮迭代运算所需要的轮密钥包括:进行扩展算法的多轮迭代运算,以生成所述轮密钥。可选的,所述扩展算法的多轮迭代运算包括扩展算法中多轮迭代进行的单次迭代运算,扩展算法中的至少两轮单次迭代运算在一个时钟周期内完成。可选的,所述进行扩展算法的多轮迭代运算,以生成所述轮密钥包括:确定所述扩展算法中的单次迭代运算的扩展运算对象,所述扩展运算对象选自预设的加密密钥以及扩展算法中前轮单次迭代运算输出的轮密钥;对所述扩展运算对象进行扩展运算,直至完成扩展算法中预设轮数的单次迭代运算。可选的,确定所述扩展运算对象包括以下任一种:确定预设的加密密钥为扩展算法中第一轮单次迭代运算的扩展运算对象;确定扩展算法中前轮单次迭代运算输出的轮密钥为扩展算法中的后轮单次迭代运算的扩展运算对象。可选的,所述对所述扩展运算对象进行扩展运算,直至完成扩展算法中预设轮数的单次迭代运算包括:在每个时钟周期内的扩展算法中的单次迭代运算结束后,确认尚未完成扩展算法中预设轮数的单次迭代运算;进行下个时钟周期的扩展算法中的单次迭代运算。可选的,根据一个时钟周期内完成的所述扩展算法中的单次迭代运算的轮数,以及一个时钟周期内完成的加密算法的单次迭代运算的轮数,确定硬件资源的运算速度下限。可选的,一个时钟周期内完成的所述扩展算法中的单次迭代运算的轮数,与一个时钟周期内完成的加密算法的单次迭代运算的轮数相等。可选的,一个周期内完成的扩展算法中的单次迭代运算与加密算法的单次迭代运算的轮数均为4轮。可选的,所述加密算法的多轮迭代运算包括32轮加密算法的单次迭代运算,所述扩展算法的多轮迭代运算包括32轮扩展算法中的单次迭代运算。可选的,所述确定加密算法的多轮迭代运算所需的轮密钥包括:确定上一时钟周期内扩展算法中的单次迭代运算生成的轮密钥,为下一时钟周期内的加密算法的单次迭代运算所需要的轮密钥。可选的,不同时钟周期内完成的加密算法的单次迭代运算复用同样的运算资源。本专利技术实施例还提供一种解密方法,包括:确定解密算法的多轮迭代运算所需要的轮密钥;利用所述轮密钥对密文数据进行解密算法的多轮迭代运算;其中,所述解密算法的多轮迭代运算包括多轮迭代进行的单次迭代运算,所述解密单次迭代运算解密算法的至少两轮单次迭代运算在一个时钟周期内完成。本专利技术实施例还提供一种加密装置,包括:轮密钥确定单元,适于确定加密算法的多轮迭代运算所需要的轮密钥;加密算法的迭代运算单元,适于利用所述轮密钥对待加密的明文数据进行所述加密算法的多轮迭代运算;其中,所述加密算法的多轮迭代运算包括多轮迭代进行的单次迭代运算,所述加密算法的至少两轮单次迭代运算在一个时钟周期内完成。可选的,所述轮密钥的数量为多个,所述轮密钥确定单元,适于根据所述加密算法的单次迭代运算在所述加密算法的多轮迭代运算中的轮位置,确定与所述加密算法的单次迭代运算对应的轮密钥;所述加密算法的迭代运算单元包括:待运算数据确定子单元,适于根据所述加密算法的单次迭代运算在所述加密算法的多轮迭代运算中的轮位置,确定与所述加密算法的单次迭代运算对应的待运算数据;加密算法的迭代子单元,适于利用对应的轮密钥对所述待运算数据进行所述加密算法的单次迭代运算,直至完成加密算法的预设轮数的单次迭代运算。可选的,所述待运算数据确定子单元,适于以如下任一种方式确定所述待运算数据:确定所述待加密的明文数据为加密算法的第一轮单次迭代运算的待运算数据;确定加密算法的前轮单次迭代运算输出的运算结果为加密算法的后轮单次迭代运算的待运算数据。可选的,所述加密算法的迭代子单元包括:加密算法的迭代运算轮数确认模块,适于在每个时钟周期内的加密算法的单次迭代运算结束后,确认尚未完成加密算法的预设轮数的单次迭代运算;加密算法的迭代控制模块,适于进行下个时钟周期的加密算法的单次迭代运算。可选的,所述轮密钥确定单元适于进行扩展算法的多轮迭代运算,以生成所述轮密钥。可选的,所述扩展算法的多轮迭代运算包括扩展算法中多轮迭代进行的单次迭代运算,扩展算法中的至少两轮单次迭代运算在一个时钟周期内完成。可选的,所述轮密钥确定单元包括:扩展对象确定子单元,适于确定所述扩展算法中的单次迭代运算的扩展运算对象,所述扩展运算对象选自预设的加密密钥以及扩展算法中前轮单次迭代运算输出的轮密钥;扩展运算子单元,适于对所述扩展运算对象进行扩展运算,直至完成扩展算法中预设轮数的单次迭代运算。可选的,所述扩展对象确定子单元适于以如下任一种方式确定所述扩展运算对象:确定预设的加密密钥为扩展算法中第一轮单次迭代运算的扩展运算对象;确定扩展算法中前轮单次迭代运算输出的轮密钥为扩展算法中的后轮单次迭代运算的扩展运算对象。可选的,所述扩展运算子单元,包括:扩展确认模块,适于在每个时钟周期内的扩展算法中的单次迭代运算结束后,确认尚未完成扩展算法中预设轮数的单次迭代运算;继续扩展模块,适于进行下个时钟周期的扩展算法中的单次迭代运算。可选的,根据一个时钟周期内完成的所述扩展算法中的单次迭代运算的轮数,以及一个时钟周期内完成的加密算法的单次迭代运算的轮数,确定硬件资源的运算速度下限,本领域技术人员可以根据该运算速度下限设计或者选用芯片。本文档来自技高网...

【技术保护点】
1.一种加密方法,其特征在于,包括:确定加密算法的多轮迭代运算所需要的轮密钥;利用所述轮密钥对待加密的明文数据进行所述加密算法的多轮迭代运算;其中,所述加密算法的多轮迭代运算包括多轮迭代进行的单次迭代运算所述加密算法的至少两轮单次迭代运算在一个时钟周期内完成。

【技术特征摘要】
1.一种加密方法,其特征在于,包括:确定加密算法的多轮迭代运算所需要的轮密钥;利用所述轮密钥对待加密的明文数据进行所述加密算法的多轮迭代运算;其中,所述加密算法的多轮迭代运算包括多轮迭代进行的单次迭代运算所述加密算法的至少两轮单次迭代运算在一个时钟周期内完成。2.根据权利要求1所述的加密方法,其特征在于,所述轮密钥的数量为多个,确定加密算法的多轮迭代运算所需要的轮密钥包括:根据所述加密算法的单次迭代运算加密算法的多轮迭代运算的轮位置,确定与所述加密算法的单次迭代运算对应的轮密钥;所述利用所述轮密钥对待加密的明文数据进行加密算法的多轮迭代运算包括:根据所述加密算法的单次迭代运算在所述加密算法的多轮迭代运算中的轮位置,确定与所述加密算法的单次迭代运算对应的待运算数据;利用对应的轮密钥对所述待运算数据进行所述加密算法的单次迭代运算,直至完成加密算法的预设轮数的单次迭代运算。3.根据权利要求2所述的加密方法,其特征在于,确定与所述加密算法的单次迭代运算对应的待运算数据包括以下任意一种:确定所述待加密的明文数据待加密的明文数据为加密算法的第一轮单次迭代运算的待运算数据待运算数据;确定加密算法的前轮单次迭代运算输出的运算结果为加密算法的后轮单次迭代运算的待运算数据。4.根据权利要求2所述的加密方法,其特征在于,利用对应的轮密钥对所述待运算数据进行所述加密算法的单次迭代运算,直至完成加密算法的预设轮数的单次迭代运算包括:在每个时钟周期内的加密算法的单次迭代运算结束后,确认尚未完成加密算法的预设轮数的单次迭代运算;进行下个时钟周期的加密算法的单次迭代运算。5.根据权利要求1所述的加密方法,其特征在于,确定加密算法的多轮迭代运算所需要的轮密钥包括:进行扩展算法的多轮迭代运算,以生成所述轮密钥。6.根据权利要求5所述的加密方法,其特征在于,所述扩展算法的多轮迭代运算包括扩展算法中扩展算法中多轮迭代进行的单次迭代运算,扩展算法中至少两轮单次迭代运算在一个时钟周期内完成。7.根据权利要求6所述的加密方法,其特征在于,所述进行扩展算法的多轮迭代运算,以生成所述轮密钥包括:确定所述扩展算法中的单次迭代运算的扩展运算对象,所述扩展运算对象选自预设的加密密钥以及扩展算法中的前轮单次迭代运算输出的轮密钥;对所述扩展运算对象进行扩展运算,直至完成扩展算法中的预设轮数的单次迭代运算。8.根据权利要求7所述的加密方法,其特征在于,确定所述扩展运算对象包括以下任一种:确定预设的加密密钥为扩展算法中的第一轮单次迭代运算的扩展运算对象;确定扩展算法中的前轮单次迭代运算输出的轮密钥为扩展算法中的后轮单次迭代运算的扩展运算对象。9.根据权利要求7所述的加密方法,其特征在于,所述对所述扩展运算对象进行扩展运算,直至完成扩展算法中预设轮数的单次迭代运算包括:在每个时钟周期内的扩展算法中的单次迭代运算结束后,确认尚未完成扩展算法中预设轮数的单次迭代运算;进行下个时钟周期的扩展算法中的单次迭代运算。10.根据权利要求6所述的加密方法,其特征在于,根据一个时钟周期内完成的所述扩展算法中的单次迭代运算的轮数,以及一个时钟周期内完成的加密算法的单次迭代运算的轮数,确定硬件资源的运算速度下限。11.根据权利要求6所述的加密方法,其特征在于,一个时钟周期内完成的所述扩展算法中的单次迭代运算的轮数,与一个时钟周期内完成的加密算法的单次迭代运算的轮数相等。12.根据权利要求11所述的加密方法,其特征在于,一个周期内完成的扩展算法中的单次迭代运算与加密算法的单次迭代运算的轮数均为4轮。13.根据权利要求12所述的加密方法,其特征在于,所述加密算法的多轮迭代运算为32轮的单次迭代运算,所述扩展算法的多轮迭代运算为32轮单次迭代运算。14.根据权利要求11所述的加密方法,其特征在于,所述确定加密算法的多轮迭代运算所需的轮密钥包括:确定上一时钟周期内扩展算法中的单次迭代运算生成的轮密钥,为下一时钟周期内的加密算法的单次迭代运算所需要的轮密钥。15.根据权利要求1所述的加密方法,其特征在于,不同时钟周期内完成的加密算法的单次迭代运算复用同样的运算资源。16.一种解密方法,其特征在于,包括:确定解密算法的多轮迭代运算所需要的轮密钥;利用所述轮密钥对待运算数据进行解密算法的多轮迭代运算;其中,所述解密算法的多轮迭代运算包括多轮迭代进行的单次迭代运算,所述解密算法的至少两轮单次迭代运算在一个时钟周期内完成。17.一种加密装置,其特征在于,包括:轮密钥确定单元,适于确定加密算法的多轮迭代运算所需要的轮密钥;加密算法的迭代运算单元,适于利用所述轮密钥对待加密的明文数据进行所述加密算法的多轮迭代运算;其中,所述加密算法的多轮迭代运算包括多轮迭代进行的单次迭代运算所述加密算法的至少两轮单次迭代运算在一个时钟周期内完成。18.根据权利要求17所述的加密装置,其特征在于,所述轮密钥的数量为多个,所述轮密钥确定单元,适于根据所述加密算法的单次迭代运算在所述加密算法的多轮迭代运算中的轮位置,确定与所述加密算法的单次迭代运算对应的轮密钥;所述加密算法的迭代运算单元包括:待运算数据确定子单元,适于根据所述加密算法的单次迭代运算在所述加密算法的多轮迭代运算中的轮位置,确定与所述加密算法的单次迭代运算对应的待运算数据;加密算法的迭代子单元,适于利用对应的轮密钥对所述待运算数据进行所述加密算法的单次迭代运算,直至完成加密算法的预设轮数的单次迭代运算。19.根据权利要求18所述的加密装置,其特征在于,所述待运算数据确定子单元,适于以如下任一种方式确定所述待运算数据:确定待加密的明文数据待加密的明文数据为加密算法的第一轮单次迭代运算的待运算数据;确定加密算法的前轮单次迭代运算输出的运算结果为加密算法的后轮单次迭代运算的待运算数据。20.根据权利要求18所述的加密装置,其特征在于,所述加密算法的迭代子单元包括:加密算法的迭代运算轮数确认模块,适于在每个时钟周期内的加密算法的单次迭代运算结束后,确认尚未完成加密算法的预设轮数的单次迭代运算;加密算法的迭代控制模块,适于进行下个时钟周期的加密算法的单次迭代运算。21.根据权利要求17所述的加密装置,其特征在于,所述轮密钥确定单元适于进行扩展算法的多轮迭代运算,以生成所述轮密钥。22.根据权利要求21所述的加密装置,其特征在于,所述扩展算法的多轮迭代运算包括扩展算法中的多轮迭代运算,所述扩展算法中的至少两轮单次迭代运算在一个时钟周期内完成。23.根据权利要求22所述的加密装置,其特征在于,所述轮密钥确定单元包括:扩展对象确定子单元,适于确定所述扩展算法中的单次迭代运算的扩展运算对象,所述扩展运算对象选自预设的加密密钥以及扩展算法中的前轮单次迭代运算输出的轮密钥;扩展运算子单元,适于对所述扩展运算对象进行扩展运算,直至完成扩展算法中预设轮数的的单次迭代运算。24.根据权利要求23所述的加密装置,其特征在于,所述扩展对象确定子单元适于以如下任一种方式确定所述扩展运算对象:确定预设的加密密钥为扩展算法中的第一轮单次迭代运算的扩展运算对象;确定扩展算法中的前轮单次迭代运算输出的轮密钥为扩展算法中的后轮单次迭代运算的扩展运算对象。25.根据权利要求23所述的加密装置,其特征在于,所述扩展运算子单元,包括:扩展确认...

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

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

1