一种分组密码运算方法、装置、系统、设备和存储介质制造方法及图纸

技术编号:39298351 阅读:13 留言:0更新日期:2023-11-07 11:06
本申请实施例公开了一种分组密码运算方法、装置、系统、设备和存储介质,应用于客户端,该方法包括:将第一数据包拆分为多个第二数据包;将多个第二数据包分发至多个密码机,以请求多个密码机基于分组密码运算算法分别对接收的第二数据包进行密码运算;其中,分组密码运算算法的流程包括:将待处理的数据包分为多个数据分组,并对多个数据分组分别进行密码运算;其中,对多个数据分组分别进行密码运算的过程之间不存在依赖关系;组合每一密码机对接收的第二数据包进行密码运算的结果,得到第一数据包对应的密码运算结果。该方法通过将第一数据包拆分成多个第二数据包,并交由多个密码机进行密码运算,可加快运算速度并降低运算延时。时。时。

【技术实现步骤摘要】
一种分组密码运算方法、装置、系统、设备和存储介质


[0001]本申请涉及信息系统安全
,尤其涉及一种分组密码运算方法、装置、系统、设备和存储介质。

技术介绍

[0002]在现有技术中,对单个数据包进行加密或解密操作时,客户端可通过调用0018规范中的加密或解密接口将请求发送给单个密码机,由单个密码机对数据进行加密或解密运算。然而,对于较大的数据包(例如1GB大小的数据包),单次加密或解密的处理延时较长,从而导致客户端等待时间较长。

技术实现思路

[0003]本申请实施例至少提供一种分组密码运算方法、装置、系统、设备和存储介质。
[0004]本申请的技术方案是这样实现的:第一方面,本申请实施例提供了一种分组密码运算方法,应用于客户端,该方法包括:将第一数据包拆分为多个第二数据包;将多个第二数据包分发至多个密码机,以请求多个密码机基于分组密码运算算法分别对接收的第二数据包进行密码运算;其中,该分组密码运算算法的流程包括:将待处理的数据包分为多个数据分组,并对多个数据分组分别进行密码运算;其中,对多个数据分组分别进行密码运算的过程之间不存在依赖关系;组合每一密码机对接收的第二数据包进行密码运算的结果,得到第一数据包对应的密码运算结果。
[0005]第二方面,本申请实施例提供了一种分组密码运算方法,应用于分组密码运算系统,该分组密码运算系统包括:客户端和多个密码机,该方法包括:利用客户端,将第一数据包拆分为多个第二数据包,并将多个第二数据包分发至多个密码机,以请求多个密码机基于分组密码运算算法分别对接收的第二数据包进行密码运算;其中,分组密码运算算法的流程包括:将待处理的数据包分为多个数据分组,并对多个数据分组分别进行密码运算;其中,对多个数据分组分别进行密码运算的过程之间不存在依赖关系;利用多个密码机中的每一密码机,对接收的第二数据包进行基于分组密码运算算法的密码运算;利用客户端,组合每一密码机对接收的第二数据包进行密码运算的结果,得到第一数据包对应的密码运算结果。
[0006]第三方面,本申请实施例提供了一种分组密码运算装置,该装置包括:拆分单元,用于将第一数据包拆分为多个第二数据包;分发单元,用于将多个第二数据包分发至多个密码机,以请求多个密码机基于分组密码运算算法分别对接收的第二数据包进行密码运算;其中,分组密码运算算法的流程包括:将待处理的数据包分为多个数据分组,并对多个数据分组分别进行密码运算;其中,对多个数据分组分别进行密码运算的过程之间不存在依赖关系;组合单元,用于组合每一密码机对接收的第二数据包进行密码运算的结果,得到第一数据包对应的密码运算结果。
[0007]第四方面,本申请实施例提供了一种分组密码运算系统,该分组密码运算系统包括:客户端和多个密码机;其中,客户端,用于将第一数据包拆分为多个第二数据包,并将多个第二数据包分发至多个密码机,以请求多个密码机基于分组密码运算算法分别对接收的第二数据包进行密码运算;其中,分组密码运算算法的流程包括:将待处理的数据包分为多个数据分组,并对多个数据分组分别进行密码运算;其中,对多个数据分组分别进行密码运算的过程之间不存在依赖关系;多个密码机中的每一密码机,用于对接收的第二数据包进行基于分组密码运算算法的密码运算;客户端,还用于组合每一密码机对接收的第二数据包进行密码运算的结果,得到第一数据包对应的密码运算结果。
[0008]第五方面,本申请实施例提供了一种分组密码运算设备,该分组密码运算设备包括存储器和处理器;其中,存储器,用于存储计算机可执行指令;处理器,与该存储器连接,用于通过执行该计算机可执行指令,实现如第一方面所述的方法。
[0009]第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序被至少一个处理器执行时实现如第一方面所述的方法。
[0010]本申请实施例中,客户端可将待处理的第一数据包拆分为多个(如两个或两个以上)第二数据包,并将多个第二数据包分发至多个密码机,从而由多个密码机基于分组密码运算算法分别对接收的第二数据包进行密码运算,如此可达到加快运算速度和降低运算延时的目的。
[0011]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请的技术方案。
附图说明
[0012]此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。
[0013]图1为请求对称加密运算时0018接口的一般调用流程示意图;图2为本申请实施例提供的一种分组密码运算方法的流程示意图;图3为客户端通过调用0018接口拆分数据包的一例示意图;图4为本申请实施例提供的ECB模式的对称加密运算的一例示意图;图5为本申请实施例提供的ECB模式的对称解密运算的一例示意图;图6为本申请实施例提供的CTR模式的对称加密运算的一例示意图;图7为本申请实施例提供的CTR模式的对称解密运算的一例示意图;图8为本申请实施例提供的物理密码机的环境部署示意图;图9为本申请实施例提供的云服务器密码机的环境部署示意图;图10为本申请实施例提供的分组密码运算方法的一种可能的实现流程示意图;图11为本申请实施例提供的一种分组密码运算装置的组成结构示意图;图12为本申请实施例中分组密码运算设备的一种硬件实体示意图。
具体实施方式
[0014]为了能够更加详尽地了解本申请实施例的特点与
技术实现思路
,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
[0015]除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本申请实施例中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0016]在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。还需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0017]应理解,本申请实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0018]服务器密码机适用于各类密码安全应用系统,可以满足应用系统数据的签名/验证、加密/解密的要求,保证传输信息的机密性、完整性、可靠性,同时提供安全、完善的密钥管理机制。
[0019] 服务器密码机接口需要符合《GMT 0018

2012密码设备应用接口规范》,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分组密码运算方法,其特征在于,应用于客户端,所述方法包括:将第一数据包拆分为多个第二数据包;将所述多个第二数据包分发至多个密码机,以请求所述多个密码机基于分组密码运算算法分别对接收的第二数据包进行密码运算;其中,所述分组密码运算算法的流程包括:将待处理的数据包分为多个数据分组,并对所述多个数据分组分别进行密码运算;其中,对所述多个数据分组分别进行密码运算的过程之间不存在依赖关系;组合每一密码机对接收的第二数据包进行密码运算的结果,得到所述第一数据包对应的密码运算结果。2.根据权利要求1所述的方法,其特征在于,所述将第一数据包拆分为多个第二数据包,包括:在满足第一条件的情况下,将所述第一数据包拆分为多个第二数据包;其中,所述第一条件包括以下至少之一:所述客户端能够调用的密码机的数量为多个;所述分组密码运算算法为电子密码本模式或计数器模式的对称密码运算算法;以及,所述第一数据包的大小大于或等于第一阈值。3.根据权利要求1或2所述的方法,其特征在于,所述将第一数据包拆分为多个第二数据包,包括:将所述第一数据包拆分为多个大小相同第二数据包;或者,基于所述多个密码机的繁忙指数,将所述第一数据包拆分为多个大小不同的第二数据包,以使发送至每一密码机的第二数据包的大小与所述密码机的繁忙指数呈负相关。4.根据权利要求3所述的方法,其特征在于,拆分得到的第二数据包的数量与所述多个密码机的数量相同。5.根据权利要求1或2所述的方法,其特征在于,所述分组密码运算算法为计数器模式的对称密码运算算法,所述方法还包括:基于第一初始向量值确定传入所述多个密码机中每一密码机的初始向量值;其中,传入每一密码机的初始向量值,用于所述密码机对接收的第二数据包进行计数器模式的对称密码运算;其中,所述第一初始向量值为所述客户端调用密码运算接口时传入的初始向量值,所述密码运算接口用于所述客户端请求所述多个密码机分别对接收的第二数据包进行计数器模式的对称密码运算。6.根据权利要求5所述的方法,其特征在于,所述多个密码机包括第一密码机和第二密码机,所述基于第一初始向量值确定传入所述多个密码机中每一密码机的初始向量值,包括:将所述第一初始向量值确定为传入所述第一密码机的初始向量值;基于所述第一初始向量值,以及所述第一密码机需进行密码运算的第二数据包的大小,确定传入所述第二密码机的初始向量值。7.根据权利要求1或2所述的方法,其特征在于,在所述将第一数据包拆分为多个第二数据包之前,所述方法还包括:启动应用程序;
利用所述应用程序调用密码运算接口;其中,所述密码运算接口用于实现:所述将第一数据包拆分为多个第二数据包;所述将所述多个第二数据包分发至多个密码机,以请求所述多个密码机基于分组密码运算算法分别对接收的第二数据包进行密码运算;以及,所述组合每一密码机对接收的第二数据包进行密码运算的结果。8.根据权利要求7所述的方法,其特征在于,所述密码运算接口的实现库的配置文件包括:所述多个密码机的网际协议地址和端口号。9.一...

【专利技术属性】
技术研发人员:刘福春焦四辈郭小虎
申请(专利权)人:深圳市纽创信安科技开发有限公司
类型:发明
国别省市:

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

1