一种数据压缩方法、装置及电子设备和存储介质制造方法及图纸

技术编号:31082107 阅读:30 留言:0更新日期:2021-12-01 12:28
本申请公开了一种数据压缩方法、装置及一种电子设备和计算机可读存储介质,该方法包括:确定压缩函数和本轮压缩的各寄存器初值;基于所述各寄存器初值执行所述压缩函数,在执行过程中利用旁路进位加法器计算所述压缩函数中的加法运算,得到所述本轮压缩完成后各寄存器的值。由此可见,本申请提供的数据压缩方法,通过进位旁路加法器实现压缩函数中的加法运算,提高了压缩函数的计算效率。在硬件实现时达到缩短关键路径,提高算法整体性能的作用。用。用。

【技术实现步骤摘要】
一种数据压缩方法、装置及电子设备和存储介质


[0001]本申请涉及数据处理
,更具体地说,涉及一种数据压缩方法、装置及一种电子设备和一种计算机可读存储介质。

技术介绍

[0002]随着信息技术和计算机技术的发展和广泛应用,人们对信息数据的可信度要求也越来越高。在高速密码芯片中,密码杂凑算法(CryptographicHashAlgorithm,缩写:SM3)密码杂凑算法已经越来越多的用于商用密码应用中的数字签名和验证、消息认证码的生成与验证以及随机数的生成。
[0003]SM3算法作为我国自主要发设计的密码杂凑算法,输出消息摘要值长度为256bit,消息分组长度512bit,迭代压缩次数64次。在算法的硬件实现中,数据一般需要经过消息分组和填充、扩展生成消息字和64轮函数迭代压缩等过程,其中函数迭代压缩过程计算复杂,资源消耗最多,耗时也最多。
[0004]因此,如何提高压缩函数的计算效率是本领域技术人员需要解决的技术问题。

技术实现思路

[0005]本申请的目的在于提供一种数据压缩方法、装置及一种电子设备和一种计算机可读存储介质,提高了压缩函数的计算效率。
[0006]为实现上述目的,本申请提供了一种数据压缩方法,包括:
[0007]确定压缩函数和本轮压缩的各寄存器初值;
[0008]基于所述各寄存器初值执行所述压缩函数,在执行过程中利用旁路进位加法器计算所述压缩函数中的加法运算,得到所述本轮压缩完成后各寄存器的值。
[0009]其中,所述压缩函数为SM3算法压缩函数,所述旁路进位加法器为两输入一输出的32bit旁路进位加法器。
[0010]其中,所述32bit旁路进位加法器包括8组级联的4bit旁路进位加法器。
[0011]其中,所述各寄存器初值为上一轮压缩完成后各寄存器的值或各寄存器的初始值。
[0012]其中,还包括:
[0013]获取待压缩数据,按照预设规则对所述待压缩数据进行填充分组和分组扩展,以计算所述压缩函数需要的消息字,并生成各寄存器的初始值。
[0014]其中,所述利用旁路进位加法器计算所述压缩函数中的加法运算,得到所述本轮压缩完成后各寄存器的值,包括:
[0015]利用旁路进位加法器计算所述压缩函数中主关键路径的加法运算,得到所述本轮压缩完成后所述主关键路径对应的寄存器的值。
[0016]其中,所述寄存器包括第一寄存器、第二寄存器、第三寄存器、第四寄存器和第五寄存器,所述主关键路径对应的寄存器为所述第二寄存器;
[0017]所述利用旁路进位加法器计算所述压缩函数中主关键路径的加法运算,得到所述本轮压缩完成后所述主关键路径对应的寄存器的值,包括:
[0018]利用第一旁路进位加法器计算所述第一寄存器的初值左移12位后与所述第二寄存器的初值的和,得到第一求和结果;
[0019]利用第二旁路进位加法器计算预设常数左移预设位数后与所述第一求和结果的和,得到第二求和结果;
[0020]对所述第二寄存器的初值、所述第三寄存器的初值、所述第四寄存器的初值进行布尔函数处理,得到布尔函数处理结果;
[0021]利用第三旁路进位加法器计算所述布尔函数处理结果与所述第五寄存器的初值的和,得到第三求和结果;
[0022]利用第四旁路进位加法器计算所述消息字与所述第三求和结果的和,得到第四求和结果;
[0023]利用第五旁路进位加法器计算所述第二求和结果左移7位后与所述第四求和结果的和,得到第五求和结果;
[0024]对所述第五求和结果进行置换运算得到所述本轮压缩完成后所述第二寄存器的值。
[0025]为实现上述目的,本申请提供了一种数据压缩装置,包括:
[0026]确定模块,用于确定压缩函数和本轮压缩的各寄存器初值;
[0027]执行模块,用于基于所述各寄存器初值执行所述压缩函数,在执行过程中利用旁路进位加法器计算所述压缩函数中的加法运算,得到所述本轮压缩完成后各寄存器的值。
[0028]为实现上述目的,本申请提供了一种电子设备,包括:
[0029]存储器,用于存储计算机程序;
[0030]处理器,用于执行所述计算机程序时实现如上述数据压缩方法的步骤。
[0031]为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据压缩方法的步骤。
[0032]通过以上方案可知,本申请提供的一种数据压缩方法,包括:确定压缩函数和本轮压缩的各寄存器初值;基于所述各寄存器初值执行所述压缩函数,在执行过程中利用旁路进位加法器计算所述压缩函数中的加法运算,得到所述本轮压缩完成后各寄存器的值。
[0033]由此可见,本申请提供的数据压缩方法,通过进位旁路加法器(Carry Skip Adder,CSA)实现压缩函数中的加法运算,提高了压缩函数的计算效率。在硬件实现时达到缩短关键路径,提高算法整体性能的作用。本申请还公开了一种数据压缩装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
[0034]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
[0035]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
[0036]图1为根据一示例性实施例示出的一种数据压缩方法的流程图;
[0037]图2为根据一示例性实施例示出的一种SM3算法的框架图;
[0038]图3为根据一示例性实施例示出的SM3算法中单轮压缩函数的示意图;
[0039]图4为根据一示例性实施例示出的主关键路径的计算过程示意图;
[0040]图5为根据一示例性实施例示出的一种32bit旁路进位加法器的结构图;
[0041]图6为根据一示例性实施例示出的一种4bit旁路进位加法器的结构图;
[0042]图7为根据一示例性实施例示出的一种数据压缩装置的结构图;
[0043]图8为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
[0044]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据压缩方法,其特征在于,包括:确定压缩函数和本轮压缩的各寄存器初值;基于所述各寄存器初值执行所述压缩函数,在执行过程中利用旁路进位加法器计算所述压缩函数中的加法运算,得到所述本轮压缩完成后各寄存器的值。2.根据权利要求1所述数据压缩方法,其特征在于,所述压缩函数为SM3算法压缩函数,所述旁路进位加法器为两输入一输出的32bit旁路进位加法器。3.根据权利要求2所述数据压缩方法,其特征在于,所述32bit旁路进位加法器包括8组级联的4bit旁路进位加法器。4.根据权利要求2所述数据压缩方法,其特征在于,所述各寄存器初值为上一轮压缩完成后各寄存器的值或各寄存器的初始值。5.根据权利要求4所述数据压缩方法,其特征在于,还包括:获取待压缩数据,按照预设规则对所述待压缩数据进行填充分组和分组扩展,以计算所述压缩函数需要的消息字,并生成各寄存器的初始值。6.根据权利要求5所述数据压缩方法,其特征在于,所述利用旁路进位加法器计算所述压缩函数中的加法运算,得到所述本轮压缩完成后各寄存器的值,包括:利用旁路进位加法器计算所述压缩函数中主关键路径的加法运算,得到所述本轮压缩完成后所述主关键路径对应的寄存器的值。7.根据权利要求6所述数据压缩方法,其特征在于,所述寄存器包括第一寄存器、第二寄存器、第三寄存器、第四寄存器和第五寄存器,所述主关键路径对应的寄存器为所述第二寄存器;所述利用旁路进位加法器计算所述压缩函数中主关键路径的加法运算,得到所述本轮压...

【专利技术属性】
技术研发人员:孙旭
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1