【技术实现步骤摘要】
一种数据处理装置、方法、内存控制器、处理器、电子设备
本申请涉及计算机
,具体而言,涉及一种数据处理装置、方法、内存控制器、处理器、电子设备。
技术介绍
目前,主流厂家所采用的SM4算法,密钥扩展需要周期32个周期的完成,即需要32个周期的完成,而在密钥扩展的同时使用扩展的密钥对数据加解密同样需要周期32个周期的,即需要32个周期的完成。这种方式在进行加密时可以实现密钥扩展和加密的基本同步,故效率还不错。但在进行解密时,由于需要先进行32个周期的扩展出解密所需的轮密钥,再利用轮密钥反扩展32个周期的来同步对数据进行32个周期的解密。这样就导致在需要解密的数据到达后,还需要等待32个周期的扩展出轮密钥才能解密,进而导致解密的效率比较低。
技术实现思路
本申请实施例的目的在于提供一种数据处理装置、方法、内存控制器、处理器、电子设备,用以提高解密的效率。第一方面,本申请实施例提供了一种数据处理装置,所述装置包括:密钥扩展器,用于在加解密电路获取到待解密的数据之前,通过对预设的初始密钥进行多 ...
【技术保护点】
1.一种数据处理装置,其特征在于,所述装置包括:/n密钥扩展器,用于在加解密电路获取到待解密的数据之前,通过对预设的初始密钥进行多周期扩展运算获得解密所述数据所需的轮密钥,并将所述轮密钥存储到对应的存储单元中;/n多路选择器,用于从所述存储单元中获得所述轮密钥;/n所述加解密电路,用于利用所述轮密钥对所述数据进行多周期解密运算。/n
【技术特征摘要】
1.一种数据处理装置,其特征在于,所述装置包括:
密钥扩展器,用于在加解密电路获取到待解密的数据之前,通过对预设的初始密钥进行多周期扩展运算获得解密所述数据所需的轮密钥,并将所述轮密钥存储到对应的存储单元中;
多路选择器,用于从所述存储单元中获得所述轮密钥;
所述加解密电路,用于利用所述轮密钥对所述数据进行多周期解密运算。
2.根据权利要求1所述的数据处理装置,其特征在于,
N为所述多周期扩展运算的总周期次数,且N为大于1的整数,n为正整数,且n依次取1到N,所述密钥扩展器用于执行的第n个周期的扩展运算为:利用预设的参数对参与第n个周期的扩展运算的数据进行扩展运算,获得第n个周期的扩展运算所得的轮密钥;其中,若n=1,参与第n个周期的扩展运算的数据为所述初始密钥;若n>1,参与第n个周期的扩展运算的数据为第n-1个周期的扩展运算所得的轮密钥;若n=N,第n个周期的扩展运算所得的轮密钥为需要存储到所述存储单元中的轮密钥。
3.根据权利要求2所述的数据处理装置,其特征在于,
参与每个周期的扩展运算的数据的数量和该周期的扩展运算所得的轮密钥的数量均为X/N,其中,X为所述多周期扩展运算所涉及的所有密钥的总数量,X/N为大于1的整数。
4.根据权利要求1所述的数据处理装置,其特征在于,所述加解密电路包括:密钥周期扩展运算单元和数据加解密运算单元;
M为所述多周期解密运算的总周期次数,且M为大于1的整数;m为正整数,且m依次取1到M;
所述密钥周期扩展运算单元用于执行的第m个周期的反扩展运算为:利用预设的参数对参与第m个周期的反扩展运算的数据进行反扩展运算,获得第m个周期的反扩展运算所得的数据;其中,若m=1,参与第m个周期的反扩展运算的数据为存储在所述存储单元中的轮密钥,第m个周期的反扩展运算所得的数据为轮密钥;若m>1,参与第m个周期的反扩展运算的数据为第m-1个周期的反扩展运算所得的轮密钥;若m=M,第m个周期的反扩展运算所得的数据为所述初始密钥;
所述数据加解密运算单元用于执行的第m个周期的解密运算为:利用第m个周期的解密运算所需的密钥对参与第m个周期的解密运算的数据进行解密,获得第m个周期的解密运算所得的解密数据;其中,若m=1,第m个周期的解密运算所需的密钥为存储在所述存储单元中的轮密钥,参与第m个周期的解密运算的数据为所述待解密的数据;若m>1,第m个周期的解密运算所需的密钥为第m-1个周期的反扩展运算所得的数据,参与第m个周期的解密运算的数据为第m-1个周期的解密运算所得的解密数据。
5.根据权利要求4所述的数据处理装置,其特征在于,
参与每个周期的反扩展运算的数据的数量和该周期的反扩展运算所得的数据的数量均为Y/M,其中,Y为多周期反扩展运算所涉及的所有密钥的总数量,Y/M为大于1的整数;
参与每个周期的解密运算的待解密数据的数量和该周期的解密运算所得的解密数据的数量均为Z/M,其中,Z为解密过程中所涉及的所有数据的总数量,Z/M为大于1的整数。
6.根据权利要求1所述的数据处理装置,其特征在于,
所述多路选择器,还用于在需要对待加密的数据进行加密时,获得所述初始密钥;
所述加解密电路,还用于利用所述初始密钥对所述待加密的数据进行多周期加密运算。
7.根据权利要求6所述的数据处理装置,其特征在于,所述加解密电路包括:密钥周期扩展运算单元和数据加解密运算单元;
N为所述多周期加密运算的总周期次数,且N为大于1的整数,n为正整数,且n依次取1到N;
所述密钥周期扩展运算单元用于执行的第n个周期的扩展运算为:利用预设的参数对参与第n个周期的扩展运算的数据进行扩展运算,获得第n个周期的扩展运算所得的数据;其中,若n=1,参与第n个周期的反扩展运算的数据为所述初始密钥,第n个周期的扩展运算所得的数据为轮密钥;若n>1,参与第n个周期的扩展运算的数据为第n-1个周期的扩展运算所得的轮密钥;若n=N,第n个周期的扩展运算所得的数据为存储在所述存储单元中的轮密钥;
所述数据加解密运算单元用于执行的第n个周期的加密运算为:利用第n个周期的加密运算所需的密钥对参与第n个周期的加密运算的数据进行加密,获得第n个周期的加密运算所得的加密数据;其中,若n=1,参与第n个周期的加密运算的数据为所述待加密的数据;若n>1,参与第n个周期的加密运算的数据为第n-1个周期的加密运算所得的加密数据;第n个周期的加密运算所需的密钥为第n-1个周期的扩展运算所得的数据。
8.根据权利要求1所述的数据处理装置,其特征在于,
所述多路选择器,用于接收所述存储单元输出的所述轮密钥。
9.根据权利要求1所述的数据处理装置,其特征在于,
所述多路选择器,用于在虚拟机发送的使能信号的触发下将所述轮密钥输出到所述加解密电路。
10.一种数据处理方法,其特征在于,所述方法包括:
在需要解密待解密的数据时,从存储单元中获得解密所述数据所需的轮密钥,其中,所述轮密钥为:在获取到所述数据之前,通过对预设的初始密钥进行多周期扩展运算而获得并存储到所述存储单元中;
利用所述轮密钥对所述数据进行多周期解密运算。
11.根据权利要求10所述的数据处理方法,其特征在于,N为所述多周期扩展运算的总周期次数,且N为大于1的整数,n为正整数,且n依次取1到N,执行的第n个周期的扩展运算的步骤包括:<...
【专利技术属性】
技术研发人员:周鹏,赵凤海,
申请(专利权)人:海光信息技术有限公司,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。