System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 加密算法电路、控制方法、微处理芯片和电量计芯片技术_技高网

加密算法电路、控制方法、微处理芯片和电量计芯片技术

技术编号:40438249 阅读:7 留言:0更新日期:2024-02-22 23:02
本申请提供一种支持HMAC‑SHA256和SHA256的加密算法电路、控制方法、微处理芯片和电量计芯片。该方法包括:控制加密运算模块从配置寄存器中获取加密运算配置,若加密运算配置表征采用第一加密算法进行加密运算,则控制第一加密运算子电路从目标寄存器中获取待加密数据,从运算寄存器中获取第一加密算法的初始值,并使用第一加密算法进行加密运算。若加密运算配置表征采用第二加密算法进行加密运算,则控制第二加密运算子电路从目标寄存器中获取待加密数据,控制第一加密运算子电路从运算寄存器中获取第二加密算法的初始值,并使用第二加密算法执行加密运算。本方案减小了加密算法电路所在芯片的计算资源消耗、缩小了芯片体积。

【技术实现步骤摘要】

本申请涉及数据处理,尤其涉及一种加密算法电路、控制方法、微处理芯片和电量计芯片


技术介绍

1、安全哈希算法(secure hash algorithm,sha)是一种常用的加密算法,基于sha的哈希消息认证码算法(hashed message authentication code using sha)是一种基于sha函数和密钥进行消息认证的算法,hmac-sha的运算过程可以看做两次sha运算的集成。在目前的加密算法实现电路中,需要针对上述两个加密算法分别设计对应的实现电路,存在计算资源消耗较大,芯片面积较大,电路成本较高等问题。

2、然而,如何减小加密算法实现电路所在芯片的计算资源消耗、缩小芯片体积是亟需解决的问题。


技术实现思路

1、本申请提供一种加密算法电路、控制方法、微处理芯片和电量计芯片,用以解决现有技术中如何减小加密算法实现电路所在芯片的计算资源消耗、缩小芯片体积的问题。

2、第一方面,本申请提供一种支持hmac-sha256和sha256加密算法电路,所述加密算法电路包括:目标寄存器、加密运算模块、配置寄存器和运算寄存器;

3、所述目标寄存器、所述配置寄存器和所述运算寄存器分别与所述加密运算模块电连接,所述目标寄存器包括密钥寄存器和消息寄存器;

4、所述配置寄存器用于存储所述加密运算模块的加密运算配置,所述加密运算配置用于指示所述加密运算模块采用其中一种目标加密算法进行加密运算,所述目标加密算法包括第一加密算法和第二加密算法,所述第一加密算法为sha256算法,所述第二加密算法为hmac-sha256算法;所述加密运算模块包括第一加密运算子电路和第二加密运算子电路,所述第二加密运算子电路与所述第一加密运算子电路电连接,所述第一加密运算子电路与所述运算寄存器电连接,当采用所述sha256算法时使用所述第一加密运算子电路进行加密运算,当采用所述hmac-sha256算法时使用所述第一加密运算子电路和所述第二加密运算子电路进行加密运算;

5、所述目标寄存器用于存储与所述目标加密算法对应的待加密数据;

6、所述加密运算模块用于采用所述目标加密算法对所述待加密数据进行加密运算;

7、所述运算寄存器用于存储加密运算的初始值以及运算结果;

8、其中,所述第一加密运算子电路包括sha256运算电路,所述第二加密运算子电路包括:ipad异或子电路、opad异或子电路、第一组合模块、第二组合模块;

9、所述ipad异或子电路与所述第一组合模块以及所述密钥寄存器电连接,所述opad异或子电路与所述第二组合模块以及所述密钥寄存器电连接,所述第一组合模块还与所述消息寄存器以及所述第一加密运算子电路电连接、所述第二组合模块还与所述运算寄存器以及所述第一加密运算子电路电连接;

10、所述ipad异或子电路用于对从所述密钥寄存器中获取的第一待加密数据与ipad序列进行异或运算,并将异或运算结果输入所述第一组合模块;所述opad异或子电路用于对从所述密钥寄存器中获取的第一待加密数据与opad序列进行异或运算,并将异或运算结果输入所述第二组合模块;

11、所述第一组合模块用于对所述消息寄存器中的第二待加密数据与所述ipad序列的异或运算结果进行补位拼接并按照所述第一加密运算子电路的要求输出若干个指定长度第一中间数据;

12、所述第二组合模块用于对所述第一中间数据的第一加密结果与所述opad序列的异或运算结果进行补位拼接并按照所述第一加密运算子电路的要求输出若干个指定长度第二中间数据。

13、第二方面,支持hmac-sha256和sha256加密算法电路的控制方法,所述方法用于控制如权利要求1-10任一项所述的加密算法电路,所述方法包括:

14、控制加密运算模块从配置寄存器中获取加密运算配置,所述加密运算配置用于指示所述加密运算模块采用其中一种目标加密算法进行加密运算,所述目标加密算法包括第一加密算法和第二加密算法,所述第一加密算法为sha256算法,所述第二加密算法为hmac-sha256算法;

15、若所述加密运算配置表征采用第一加密算法进行加密运算,则控制第一加密运算子电路从目标寄存器中获取待加密数据,从运算寄存器中获取所述第一加密算法的初始值,并使用所述第一加密算法进行加密运算,所述目标寄存器为密钥寄存器和/或消息寄存器;

16、若所述加密运算配置表征采用第二加密算法进行加密运算,则控制第二加密运算子电路从目标寄存器中获取待加密数据,控制所述第一加密运算子电路从运算寄存器中获取所述第二加密算法的初始值,并使用所述第二加密算法执行加密运算,所述目标寄存器为密钥寄存器和消息寄存器;其中:

17、控制所述第二加密运算子电路从所述密钥寄存器中获取密钥,并对所述密钥进行内部预处理,获得内部预处理结果;

18、控制所述第二加密运算子电路从所述密钥寄存器中获取所述密钥,并对所述密钥进行外部预处理,获得外部预处理结果;

19、控制所述第二加密运算子电路从所述消息寄存器中获取待加密消息,并将所述待加密消息和所述内部预处理结果补位拼接后按照所述第一加密运算子电路的要求输出若干个指定长度第一中间数据;

20、控制所述第一加密运算子电路根据所述第一中间数据生成第一加密结果;

21、控制所述第二加密运算子电路根据所述第一加密结果和所述外部预处理结果补位拼接后按照所述第一加密运算子电路的要求输出若干个指定长度第二中间数据;

22、控制所述第一加密运算子电路根据所述第二中间数据生成第二加密结果。

23、第三方面,本申请提供一种微处理芯片,所述微处理芯片包括如第一方面所述的加密算法电路,或所述微处理芯片用于处理第二方面中任一项所述的控制方法。

24、第四方面,本申请提供一种电量计芯片,所述电量计芯片包括如第一方面所述的加密算法电路,或所述电量计芯片用于第二方面中任一项所述的控制方法。

25、本申请提供的加密算法电路、控制方法、微处理芯片和电量计芯片,通过控制加密运算模块从配置寄存器中获取加密运算配置,若该加密运算配置表征采用第一加密算法进行加密运算,则控制第一加密运算子电路从目标寄存器中获取待加密数据,从运算寄存器中获取第一加密算法的初始值,并使用第一加密算法进行加密运算;若该加密运算配置表征采用第二加密算法进行加密运算,则控制第二加密运算子电路从目标寄存器中获取待加密数据,控制第一加密运算子电路从运算寄存器中获取第二加密算法的初始值,并使用第二加密算法执行加密运算,从而能够通过控制该加密运算电路的加密运算方式,实现第一加密算法或第二加密算法的加密运算,节约了计算资源。

本文档来自技高网...

【技术保护点】

1.一种支持HMAC-SHA256和SHA256加密算法电路,其特征在于,所述加密算法电路包括:目标寄存器、加密运算模块、配置寄存器和运算寄存器;

2.根据权利要求1所述的加密算法电路,其特征在于,所述第一待加密数据的长度等于所述指定长度。

3.根据权利要求1所述的加密算法电路,其特征在于,所述第二待加密数据的长度根据所述配置寄存器中的配置参数确定。

4.根据权利要求1所述的加密算法电路,其特征在于,所述加密算法电路还包括:第三组合模块;

5.根据权利要求1所述的加密算法电路,其特征在于,所述运算寄存器包括初始值寄存器、结果寄存器和状态寄存器,所述初始值寄存器用于存储所述第一加密运算子电路每次计算所需的初始值,所述结果寄存器用于存储所述第一加密运算子电路每次计算后的计算结果,所述状态寄存器用于存储所述待加密数据是否处理完毕的状态信息。

6.根据权利要求5所述的加密算法电路,其特征在于,采用所述第一加密算法时,在所述状态寄存器的状态信息未指示所述待加密数据处理完毕时,将所述结果寄存器中的数据同步作为所述第一加密运算子电路每次计算所需的初始值。

7.根据权利要求5所述的加密算法电路,其特征在于,采用所述第二加密算法时,将每次所述结果寄存器的运算结果更新至所述初始值寄存器。

8.根据权利要求7所述的加密算法电路,其特征在于,用于计算所述第一组合模块的第一个所述第一中间数据和所述第二组合模块的第一个所述第二中间数据时,所述初始值寄存器更新为指定的初始值。

9.根据权利要求1-8任一所述的加密算法电路,其特征在于,根据所述配置寄存器的所述配置参数控制所述加密运算模块的运算时机。

10.根据权利要求1-5任一所述的加密算法电路,其特征在于,所述指定长度为512bit。

11.一种支持HMAC-SHA256和SHA256加密算法电路的控制方法,其特征在于,所述方法用于控制如权利要求1-10任一项所述的加密算法电路,所述方法包括:

12.根据权利要求11所述的控制方法,其特征在于,还包括:

13.根据权利要求12所述的控制方法,其特征在于,还包括:在运算第一个所述第一中间数据或所述第二个中间数据前,将所述初始值寄存器数据更新为指定的初始值。

14.根据权利要求11-13任一所述的控制方法,其特征在于,获取配置寄存器中的配置参数,根据所述配置参数获取预设长度的所述待加密消息。

15.根据权利要求11所述的控制方法,其特征在于,所述密钥寄存器中存储的第一待加密数据和所述消息寄存器中存储的第二待加密数据,

16.根据权利要求11或15所述的控制方法,其特征在于,所述运算寄存器包括初始值寄存器、结果寄存器和状态寄存器,所述初始值寄存器用于存储所述第一加密运算子电路每次计算所需的初始值,所述结果寄存器用于存储所述第一加密运算子电路每次计算后的计算结果,所述状态寄存器用于存储所述待加密数据是否处理完毕的状态信息;

17.根据权利要求11所述的控制方法,其特征在于,还包括:

18.根据权利要求11所述的控制方法,其特征在于,还包括:

19.根据权利要求18所述的控制方法,其特征在于,

20.一种微处理芯片,其特征在于,所述微处理芯片包括如权利要求1-10任一项所述的加密算法电路,或所述微处理芯片用于处理权利要求11-18所述的控制方法。

21.一种电量计芯片,其特征在于,所述电量计芯片包括如权利要求1-10任一项所述的加密算法电路,或所述电量计芯片用于处理权利要求11-18所述的控制方法。

...

【技术特征摘要】

1.一种支持hmac-sha256和sha256加密算法电路,其特征在于,所述加密算法电路包括:目标寄存器、加密运算模块、配置寄存器和运算寄存器;

2.根据权利要求1所述的加密算法电路,其特征在于,所述第一待加密数据的长度等于所述指定长度。

3.根据权利要求1所述的加密算法电路,其特征在于,所述第二待加密数据的长度根据所述配置寄存器中的配置参数确定。

4.根据权利要求1所述的加密算法电路,其特征在于,所述加密算法电路还包括:第三组合模块;

5.根据权利要求1所述的加密算法电路,其特征在于,所述运算寄存器包括初始值寄存器、结果寄存器和状态寄存器,所述初始值寄存器用于存储所述第一加密运算子电路每次计算所需的初始值,所述结果寄存器用于存储所述第一加密运算子电路每次计算后的计算结果,所述状态寄存器用于存储所述待加密数据是否处理完毕的状态信息。

6.根据权利要求5所述的加密算法电路,其特征在于,采用所述第一加密算法时,在所述状态寄存器的状态信息未指示所述待加密数据处理完毕时,将所述结果寄存器中的数据同步作为所述第一加密运算子电路每次计算所需的初始值。

7.根据权利要求5所述的加密算法电路,其特征在于,采用所述第二加密算法时,将每次所述结果寄存器的运算结果更新至所述初始值寄存器。

8.根据权利要求7所述的加密算法电路,其特征在于,用于计算所述第一组合模块的第一个所述第一中间数据和所述第二组合模块的第一个所述第二中间数据时,所述初始值寄存器更新为指定的初始值。

9.根据权利要求1-8任一所述的加密算法电路,其特征在于,根据所述配置寄存器的所述配置参数控制所述加密运算模块的运算时机。

10.根据权利要求1-5任一所述的加密算法电路,其特征在于,所述指定长度为5...

【专利技术属性】
技术研发人员:孟得光姚小铁吴延科周诗锦
申请(专利权)人:上海领帆微电子有限公司
类型:发明
国别省市:

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

1