CN112153046B - 数据加密和数据解密的方法、相关设备以及存储介质 - Google Patents
数据加密和数据解密的方法、相关设备以及存储介质 Download PDFInfo
- Publication number
- CN112153046B CN112153046B CN202011014522.9A CN202011014522A CN112153046B CN 112153046 B CN112153046 B CN 112153046B CN 202011014522 A CN202011014522 A CN 202011014522A CN 112153046 B CN112153046 B CN 112153046B
- Authority
- CN
- China
- Prior art keywords
- key
- data
- initial
- seed
- final
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种数据加密和数据解密的方法、相关设备以及存储介质,其中,在数据加密的方法中,首先获取密钥种子,根据密钥种子选取与密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。然后利用密钥处理算法对密钥种子进行处理,得到初始密钥,再将初始密钥进行重新排列,得到最终密钥。最后利用加密算法以及最终密钥对数据进行加密处理,得到加密后的数据。这样就能利用密钥种子动态生成密钥,同时加密算法和密钥的处理算法也是根据生成的密钥种子来选取的。因此,生成密钥的随机性有了比较大的提升,数据的安全性就会得到提升。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种数据加密和数据解密的方法、相关设备以及存储介质。
背景技术
数据是信息系统中最核心的资产。数据的丢失、破坏或泄漏,很可能会给企业带来难以估量的损失,而对数据进行加密是数据安全防护中最核心的手段之一。在不同设备之间要互传数据时,为了防止数据泄露以及被篡改等情况发生,会选择对需要交互的数据进行加密后再进行发送。
但是,在现有技术中通常只会选择一种加密算法作为数据加密处理的算法,同时密钥也是保持不变的,这样数据的安全性就会比较低。因此如果在数据传送的过程中被人恶意截获,那么可能就会比较容易被人破解掉密码,从而导致交互数据泄露或者数据被篡改的情况发生。
发明内容
有鉴于此,本申请提供一种数据加密和数据解密的方法、相关设备以及存储介质,以解决现有技术中通常只会选择一种加密算法作为数据加密处理的算法,同时密钥也保持不变,导致数据安全性低的问题。
为实现上述目的,本申请提供如下技术方案:
本申请第一方面公开了一种数据加密的方法,包括:
获取密钥种子;
选取所述密钥种子对应的加密算法、以及与所述加密算法对应的密钥处理算法;
利用所述密钥处理算法对所述密钥种子进行处理,得到初始密钥;
将所述初始密钥进行重新排列,得到最终密钥;
利用所述加密算法以及所述最终密钥对数据进行加密处理,得到加密后的数据。
可选的,上述的方法,所述获取密钥种子,包括:
选择随机数、系统滴答计数值或者时间戳作为所述密钥种子;其中,所述随机数由随机数生成算法生成。
可选的,上述的方法,所述根据所述密钥种子选取对应的加密算法,包括:
获取所述密钥种子目标位置上的数据;
按照预设的对应关系,选择与所述数据对应的加密算法。
可选的,上述的方法,所述将所述初始密钥进行重新排列,得到最终密钥,包括:
获取所述密钥种子目标位置上的数据;
查找到所述初始密钥中与所述数据对应的位置;
将所述初始密钥在所述位置之前的数据移动到所述初始密钥的最后一个数据之后,得到所述最终密钥。
可选的,上述的方法,所述利用所述加密算法以及所述最终密钥对数据进行加密处理之后,还包括:
对加密后的数据进行完整性校验。
可选的,上述的方法,所述利用所述加密算法以及所述最终密钥对数据进行加密处理之后,还包括:
将所述加密后的数据和所述密钥种子分两次向接收端发送。
本申请第二方面公开了一种数据解密的方法,包括:
接收发送端发送的加密后的数据和密钥种子;
选取所述密钥种子对应的加密算法、以及与所述加密算法对应的密钥处理算法;
利用所述密钥处理算法对所述密钥种子进行处理,得到初始密钥;
将所述初始密钥进行重新排列,得到最终密钥;
利用所述最终密钥对所述加密后的数据进行解密处理,得到解密后的数据。
可选的,上述的方法,所述将所述初始密钥进行重新排列,得到最终密钥,包括:
获取所述密钥种子目标位置上的数据;
查找到所述初始密钥中与所述数据对应的位置;
将所述初始密钥在所述位置之前的数据移动到所述初始密钥的最后一个数据之后,得到所述最终密钥。
本申请第三方面公开了一种数据加密的装置,包括:
第一获取单元,用于获取密钥种子;
第一选取单元,用于选取所述密钥种子对应的加密算法、以及与所述加密算法对应的密钥处理算法;
第一处理单元,用于利用所述密钥处理算法对所述密钥种子进行处理,得到初始密钥;
第一排列单元,用于将所述初始密钥进行重新排列,得到最终密钥;
加密单元,用于利用所述加密算法以及所述最终密钥对数据进行加密处理,得到加密后的数据。
可选的,上述的装置,所述获取单元,包括:
第一选择子单元,用于选择随机数、系统滴答计数值或者时间戳作为所述密钥种子;其中,所述随机数由随机数生成算法生成。
可选的,上述的装置,所述选取单元,包括:
第一获取子单元,用于获取所述密钥种子目标位置上的数据;
第二选择子单元,用于按照预设的对应关系,选择与所述数据对应的加密算法。
可选的,上述的装置,所述排列单元,包括:
第二获取子单元,用于获取所述密钥种子目标位置上的数据;
第一查找子单元,用于查找到所述初始密钥中与所述数据对应的位置;
第一移动子单元,用于将所述初始密钥在所述位置之前的数据移动到所述初始密钥的最后一个数据之后,得到所述最终密钥。
可选的,上述的装置,还包括:
校验单元,用于对加密后的数据进行完整性校验。
可选的,上述的装置,还包括:
发送单元,用于将所述加密后的数据和所述密钥种子分两次向接收端发送。
本申请第四方面公开了一种数据解密的装置,包括:
第二获取单元,用于获取密钥种子;
第二选取单元,用于选取所述密钥种子对应的加密算法、以及与所述加密算法对应的密钥处理算法;
第二处理单元,用于利用所述密钥处理算法对所述密钥种子进行处理,得到初始密钥;
第二排列单元,用于将所述初始密钥进行重新排列,得到最终密钥;
解密单元,用于利用所述最终密钥对所述加密后的数据进行解密处理,得到解密后的数据。
可选的,上述的装置,所述第二排列单元,包括:
第三获取子单元,用于获取所述密钥种子目标位置上的数据;
第二查找子单元,用于查找到所述初始密钥中与所述数据对应的位置;
第二移动子单元,用于将所述初始密钥在所述位置之前的数据移动到所述初始密钥的最后一个数据之后,得到所述最终密钥。
本申请第五方面公开了一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如本申请第一方面以及第二方面中任意一项所述的方法。
本申请第六方面公开了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如本申请第一方面以及第二方面中任意一项所述的方法。
从上述技术方案可以看出,本申请提供的一种数据加密的方法中,首先获取密钥种子,根据密钥种子选取与密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。然后利用密钥处理算法对密钥种子进行处理,得到初始密钥,再将初始密钥进行重新排列,得到最终密钥。最后利用加密算法以及最终密钥对数据进行加密处理,得到加密后的数据。这样就能利用密钥种子动态生成密钥,同时加密算法和密钥的处理算法也是根据生成的密钥种子来选取的。因此,生成密钥的随机性有了比较大的提升,数据的安全性就会得到提升,也就加大了数据破解的难度,解决了现有技术中通常只会选择一种加密算法作为数据加密处理的算法,同时密钥也保持不变,导致数据安全性低的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种数据加密的方法的流程图;
图2为本申请另一实施例公开的步骤S104的一种是实施方式的流程图;
图3为本申请另一实施例公开的一种数据解密的方法的流程图;
图4为本申请另一实施例公开的一种数据加密的装置的示意图;
图5为本申请另一实施例公开的一种数据解密的装置的示意图;
图6为本申请另一实施例公开的一种一种电子设备的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
并且,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
由背景技术可知,在现有技术中通常只会选择一种加密算法作为数据加密处理的算法,同时密钥也是保持不变的,这样数据的安全性就会比较低。因此如果在数据传送的过程中被人恶意截获,那么可能就会比较容易被人破解掉密码,从而导致交互数据泄露或者数据被篡改的情况发生。
鉴于此,本申请公开了一种数据加密和数据解密的方法、相关设备以及存储介质,以解决现有技术中通常只会选择一种加密算法作为数据加密处理的算法,同时密钥也保持不变,导致数据安全性低的问题。
本申请实施例提供了一种数据加密的方法,参见图1,具体包括:
S101、获取密钥种子。
需要说明的是,在生成数据加密所需的密钥之前,首先获取密钥种子,然后以该密钥种子为基础,进一步选取加密算法以及密钥处理算法,对密钥种子进行处理,最后得到所需的密钥。利用密钥种子可以动态生成密钥,加大密钥生成的随机性。其中,密钥种子可以是一串数字,或者是包含数字的字符串,也可以根据需求选择其他形式的数据。还需要说明的是,以下实施例中密钥种子以数字串为例。
可选的,在本申请的另一实施例中,步骤S101的一种实施方式,可以包括:
选择随机数、系统滴答计数值或者时间戳作为密钥种子;其中,随机数由随机数生成算法生成。
需要说明的是,可以根据实际需求,选择随机数、系统滴答计数值或者时间戳中的一种数据类型来作为密钥种子。其中,随机数由随机数生成算法生成。
S102、选取密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。
需要说明的是,在获取到密钥种子之后,根据所获得的密钥种子的具体数据,查阅预先设置的密钥种子与加密算法的对应关系表,选取密钥种子所对应的加密算法。然后再根据选出的加密算法,查阅预先设置的加密算法与密钥处理算法的对应关系表,选取与加密算法对应的密钥处理算法。其中,密钥种子与加密算法的对应关系表以及加密算法与密钥处理算法的对应关系表可以根据不同的数据进行不同的设定。
可选的,在本申请的另一实施例中,步骤S102的一种实施方式,具体包括:
获取密钥种子目标位置上的数据。
按照预设的对应关系,选择与数据对应的加密算法。
需要说明的是吗,为了选取与密钥种子对应的加密算法,首先需要获取密钥种子目标位置上的数据,该目标位置可以根据实际情况进行设定。例如该目标位置设定为密钥种子的最后一个位置,则获取密钥种子最后一个位置上的数据。然后按照预设的密钥种子与加密算法的对应关系表中的对应关系,选择与密钥种子中最后一个位置上的数据对应的加密算法。其中,密钥种子与加密算法的对应关系表如表1所示:
密钥种子的最后一个数据 | 加密算法 |
0 | AES256-CBC |
1 | AES512-CBC |
2 | AES256-ECB |
3 | AES512-ECB |
其他 | AES256-CBC |
表1
还需要说明的是,在确定出加密算法之后,就可以根据加密算法与密钥处理算法的对应关系表直接选择出密钥处理算法。其中,加密算法与密钥处理算法的对应关系表如表2所示:
表2
S103、利用密钥处理算法对密钥种子进行处理,得到初始密钥。
需要说明的是,由于密钥种子在一定情况下不保证随机,会有一定重复的概率,所以根据不同的加密算法选取不同的密钥处理方法对密钥种子进行处理,得到初始的密钥。例如,通过上述步骤选取的加密算法是AES256-CBC算法,那么此处对应的密钥处理方法就是SHA256算法,则利用SHA256算法对密钥种子进行处理,得到初始的密钥。
S104、将初始密钥进行重新排列,得到最终密钥。
需要说明的是,在获得初始密钥之后,就将初始密钥中的数据按照预先设置的规则进行重新排列,使初始密钥中的数据顺序再打乱一次,以此再次加强密钥的随机性。将经过重新排列后的密钥作为此次数据加密过程中的最终密钥。
可选的,在本申请的另一实施例中,步骤S104的一种实施方式,如图2所示,具体包括:
S201、获取密钥种子目标位置上的数据。
S202、查找到初始密钥中与数据对应的位置。
S203、将初始密钥在位置之前的数据移动到初始密钥的最后一个数据之后,得到最终密钥。
需要说明的是,本实施例中密钥种子以数字串为例,在获得初始密钥之后,接着获取密钥种子目标位置上的数据,该目标位置可以根据实际情况进行设定。例如该目标位置设定为密钥种子的最后一个位置,则获取密钥种子最后一个位置上的数字。然后密钥种子的最后一个数字作为索引,查找到初始密钥中与该数字对应的位置,并将将初始密钥在位置之前的数据移动到初始密钥的最后一个数据之后,得到最终密钥。例如,密钥种子最后一个数字为6,则对原始密钥中第六个位置之前的数据,也就是前五个数据放到原始密钥最后一个数据的后面,从而得到最终密钥。
S105、利用加密算法以及最终密钥对数据进行加密处理,得到加密后的数据。
需要说明的是,在得到最终密钥之后,就可以利用步骤S102中所选取加密算法对需要进行加密的数据进行加密处理,得到加密后的数据,保证数据的安全性。
本申请实施例提供的一种数据加密的方法中,首先获取密钥种子,根据密钥种子选取与密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。然后利用密钥处理算法对密钥种子进行处理,得到初始密钥,再将初始密钥进行重新排列,得到最终密钥。最后利用加密算法以及最终密钥对数据进行加密处理,得到加密后的数据。这样就能利用密钥种子动态生成密钥,同时加密算法和密钥的处理算法也是根据生成的密钥种子来选取的。因此,生成密钥的随机性有了比较大的提升,数据的安全性就会得到提升,也就加大了数据破解的难度,解决了现有技术中通常只会选择一种加密算法作为数据加密处理的算法,同时密钥也保持不变,导致数据安全性低的问题。
可选的,在本申请的另一实施例中,上述数据加密的方法,还可以包括:
对加密后的数据进行完整性校验。
需要说明的是,为了保证加密后的数据不会被篡改,可以对加密后的数据进行完整性校验。其中,以密钥种子的最后一个数字作为索引,从SHA256算法/SHA512算法中选取算法进行校验,如果是奇数则选择SHA256算法,如果是偶数则选择SHA512算法。
可选的,在本申请的另一实施例中,上述数据加密的方法,还可以包括:
将加密后的数据和密钥种子分两次向接收端发送。
需要说明的是,为了保证数据的安全性,可以将加密后的数据和密钥种子分两次向接收端发送。这样可以减小加密后的数据和密钥种子同时被人恶意拦截的概率,从而加大数据被人拦截破解的难度。
本申请的另一实施例还提供了一种数据解密的方法,如图3所示,具体包括:
S301、接收发送端发送的加密后的数据和密钥种子。
S302、选取密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。
S303、利用密钥处理算法对密钥种子进行处理,得到初始密钥。
S304、将初始密钥进行重新排列,得到最终密钥。
S305、利用最终密钥对加密后的数据进行解密处理,得到解密后的数据。
需要说明的是,接收端接收到发送端发送的加密后的数据和密钥种子之后,就根据密钥种子选取与密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。然后利用密钥处理算法对密钥种子进行处理,得到初始密钥,再将初始密钥进行重新排列,得到最终密钥。该部分内容的具体实施方式可参见上述步骤S102至步骤S104的具体实施方式,此处不在赘述。在得到最终密钥之后,就可以利用步骤S302中所选取加密算法对需要进行解密的数据进行解密处理,得到解密后的数据。
可选的,在本申请的另一实施例中,步骤S304的一种实施方式,具体包括:
获取密钥种子目标位置上的数据。
查找到初始密钥中与数据对应的位置。
将初始密钥在位置之前的数据移动到初始密钥的最后一个数据之后,得到最终密钥。
在本实施例中,步骤S304的具体实施方式,可参见步骤201至步骤203的具体实施方式,此处不在赘述。
本申请实施例提供的一种数据解密的方法中,首先接收发送端发送的加密后的数据和密钥种子,根据密钥种子选取与密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。然后利用密钥处理算法对密钥种子进行处理,得到初始密钥,再将初始密钥进行重新排列,得到最终密钥。最后利用加密算法以及最终密钥对数据进行解密处理,得到解密后的数据。这样,接收端就不是直接接收密钥,而是接收密钥种子后再利用上述算法生成密钥,避免了数据被人恶意拦截时能直接得到密钥,加大了数据破解的难度,有效提升了数据传输过程中数据的安全性。
本申请的另一实施例还提供了一种数据加密的装置,如图4所示,具体包括:
第一获取单元401,用于获取密钥种子。
第一选取单元402,用于选取密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。
第一处理单元403,用于利用密钥处理算法对密钥种子进行处理,得到初始密钥。
第一排列单元404,用于将初始密钥进行重新排列,得到最终密钥。
加密单元405,用于利用加密算法以及最终密钥对数据进行加密处理,得到加密后的数据。
本申请实施例提供的一种数据加密的装置中,首先第一获取单元401获取密钥种子,第一选取单元402根据密钥种子选取与密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。然后第一处理单元403利用密钥处理算法对密钥种子进行处理,得到初始密钥,第一排列单元404再将初始密钥进行重新排列,得到最终密钥。最后加密单元405利用加密算法以及最终密钥对数据进行加密处理,得到加密后的数据。这样就能利用密钥种子动态生成密钥,同时加密算法和密钥的处理算法也是根据生成的密钥种子来选取的。因此,生成密钥的随机性有了比较大的提升,数据的安全性就会得到提升,也就加大了数据破解的难度,解决了现有技术中通常只会选择一种加密算法作为数据加密处理的算法,同时密钥也保持不变,导致数据安全性低的问题。
本实施例中,第一获取单元401、第一选取单元402、第一处理单元403、第一排列单元404以及加密单元405的具体执行过程,可参见对应图1的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,获取单元,包括:
第一选择子单元,用于选择随机数、系统滴答计数值或者时间戳作为密钥种子;其中,随机数由随机数生成算法生成。
本实施例中,第一选择子单元的具体执行过程,可参见上述对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,选取单元,包括:
第一获取子单元,用于获取密钥种子目标位置上的数据。
第二选择子单元,用于按照预设的对应关系,选择与数据对应的加密算法。
本实施例中,第一获取子单元以及第二选择子单元的具体执行过程,可参见上述对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,排列单元,包括:
第二获取子单元,用于获取密钥种子目标位置上的数据。
第一查找子单元,用于查找到初始密钥中与数据对应的位置。
第一移动子单元,用于将初始密钥在位置之前的数据移动到初始密钥的最后一个数据之后,得到最终密钥。
本实施例中,第二获取子单元、第一查找子单元以及第一移动子单元的具体执行过程,可参见对应图2的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,上述数据加密的装置,还包括:
校验单元,用于对加密后的数据进行完整性校验。
本实施例中,校验单元的具体执行过程,可参见上述对应的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,上述数据加密的装置,还包括:
发送单元,用于将加密后的数据和密钥种子分两次向接收端发送。
本实施例中,发送单元的具体执行过程,可参见上述对应的方法实施例内容,此处不再赘述。
本申请的另一实施例还提供了一种数据解密的装置,如图5所示,具体包括:
第二获取单元501,用于获取密钥种子。
第二选取单元502,用于选取密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。
第二处理单元503,用于利用密钥处理算法对密钥种子进行处理,得到初始密钥。
第二排列单元504,用于将初始密钥进行重新排列,得到最终密钥。
解密单元505,用于利用最终密钥对加密后的数据进行解密处理,得到解密后的数据。
本申请实施例提供的一种数据解密的装置中,首先第二获取单元501接收发送端发送的加密后的数据和密钥种子,第二选取单元502根据密钥种子选取与密钥种子对应的加密算法、以及与加密算法对应的密钥处理算法。然后第二处理单元503利用密钥处理算法对密钥种子进行处理,得到初始密钥,第二排列单元504再将初始密钥进行重新排列,得到最终密钥。最后解密单元505利用加密算法以及最终密钥对数据进行解密处理,得到解密后的数据。这样,接收端就不是直接接收密钥,而是接收密钥种子后再利用上述算法生成密钥,避免了数据被人恶意拦截时能直接得到密钥,加大了数据破解的难度,有效提升了数据传输过程中数据的安全性。
本实施例中,第二获取单元501、第二选取单元502、第二处理单元503、第二排列单元504以及解密单元505的具体执行过程,可参见对应图3的方法实施例内容,此处不再赘述。
可选的,在本申请的另一实施例中,第二排列单元,包括:
第三获取子单元,用于获取密钥种子目标位置上的数据。
第二查找子单元,用于查找到初始密钥中与数据对应的位置。
第二移动子单元,用于将初始密钥在位置之前的数据移动到初始密钥的最后一个数据之后,得到最终密钥。
本实施例中,第三获取子单元、第二查找子单元以及第二移动子单元的具体执行过程,可参见对应图2的方法实施例内容,此处不再赘述。
本申请另一实施例还提供了一种电子设备,如图6所示,具体包括:
一个或多个处理器601。
存储装置602,其上存储有一个或多个程序。
当一个或多个程序被一个或多个处理器601执行时,使得一个或多个处理器601实现如上述实施例中任意一项方法。
本申请另一实施例还提供了计算机可读介质,其上存储有计算机程序,其中,计算机程序被处理器执行时实现如上述实施例中任意一项方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种数据加密的方法,其特征在于,包括:
获取密钥种子;
选取所述密钥种子对应的加密算法、以及与所述加密算法对应的密钥处理算法;
利用所述密钥处理算法对所述密钥种子进行处理,得到初始密钥;
将所述初始密钥进行重新排列,得到最终密钥;
利用所述加密算法以及所述最终密钥对数据进行加密处理,得到加密后的数据;
所述将所述初始密钥进行重新排列,得到最终密钥,包括:
获取所述密钥种子目标位置上的数据;
查找到所述初始密钥中与所述数据对应的位置;
将所述初始密钥在所述位置之前的数据移动到所述初始密钥的最后一个数据之后,得到所述最终密钥。
2.根据权利要求1所述的方法,其特征在于,所述获取密钥种子,包括:
选择随机数、系统滴答计数值或者时间戳作为所述密钥种子;其中,所述随机数由随机数生成算法生成。
3.根据权利要求1所述的方法,其特征在于,所述根据所述密钥种子选取对应的加密算法,包括:
获取所述密钥种子目标位置上的数据;
按照预设的对应关系,选择与所述数据对应的加密算法。
4.根据权利要求1所述的方法,其特征在于,所述利用所述加密算法以及所述最终密钥对数据进行加密处理之后,还包括:
对加密后的数据进行完整性校验。
5.根据权利要求1所述的方法,其特征在于,所述利用所述加密算法以及所述最终密钥对数据进行加密处理之后,还包括:
将所述加密后的数据和所述密钥种子分两次向接收端发送。
6.一种数据解密的方法,其特征在于,包括:
接收发送端发送的加密后的数据和密钥种子;
选取所述密钥种子对应的加密算法、以及与所述加密算法对应的密钥处理算法;
利用所述密钥处理算法对所述密钥种子进行处理,得到初始密钥;
将所述初始密钥进行重新排列,得到最终密钥;
利用所述最终密钥对所述加密后的数据进行解密处理,得到解密后的数据;
所述将所述初始密钥进行重新排列,得到最终密钥,包括:
获取所述密钥种子目标位置上的数据;
查找到所述初始密钥中与所述数据对应的位置;
将所述初始密钥在所述位置之前的数据移动到所述初始密钥的最后一个数据之后,得到所述最终密钥。
7.根据权利要求6所述的方法,其特征在于,所述将所述初始密钥进行重新排列,得到最终密钥,包括:
获取所述密钥种子目标位置上的数据;
查找到所述初始密钥中与所述数据对应的位置;
将所述初始密钥在所述位置之前的数据移动到所述初始密钥的最后一个数据之后,得到所述最终密钥。
8.一种数据加密的装置,其特征在于,包括:
第一获取单元,用于获取密钥种子;
第一选取单元,用于选取所述密钥种子对应的加密算法、以及与所述加密算法对应的密钥处理算法;
第一处理单元,用于利用所述密钥处理算法对所述密钥种子进行处理,得到初始密钥;
第一排列单元,用于将所述初始密钥进行重新排列,得到最终密钥;
加密单元,用于利用所述加密算法以及所述最终密钥对数据进行加密处理,得到加密后的数据;
所述将所述初始密钥进行重新排列,得到最终密钥,包括:
获取所述密钥种子目标位置上的数据;
查找到所述初始密钥中与所述数据对应的位置;
将所述初始密钥在所述位置之前的数据移动到所述初始密钥的最后一个数据之后,得到所述最终密钥。
9.一种数据解密的装置,其特征在于,包括:
第二获取单元,用于获取密钥种子;
第二选取单元,用于选取所述密钥种子对应的加密算法、以及与所述加密算法对应的密钥处理算法;
第二处理单元,用于利用所述密钥处理算法对所述密钥种子进行处理,得到初始密钥;
第二排列单元,用于将所述初始密钥进行重新排列,得到最终密钥;
解密单元,用于利用所述最终密钥对所述加密后的数据进行解密处理,得到解密后的数据;
所述将所述初始密钥进行重新排列,得到最终密钥,包括:
获取所述密钥种子目标位置上的数据;
查找到所述初始密钥中与所述数据对应的位置;
将所述初始密钥在所述位置之前的数据移动到所述初始密钥的最后一个数据之后,得到所述最终密钥。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7中任意一项所述的方法。
11.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011014522.9A CN112153046B (zh) | 2020-09-24 | 2020-09-24 | 数据加密和数据解密的方法、相关设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011014522.9A CN112153046B (zh) | 2020-09-24 | 2020-09-24 | 数据加密和数据解密的方法、相关设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112153046A CN112153046A (zh) | 2020-12-29 |
CN112153046B true CN112153046B (zh) | 2023-04-07 |
Family
ID=73896528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011014522.9A Active CN112153046B (zh) | 2020-09-24 | 2020-09-24 | 数据加密和数据解密的方法、相关设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112153046B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115766202A (zh) * | 2022-11-11 | 2023-03-07 | 之江实验室 | 一种数据安全传输的系统、方法、存储介质及电子设备 |
CN118410512B (zh) * | 2024-07-02 | 2024-09-06 | 北京双湃智安科技有限公司 | 自适应调整数据库透明加密的方法、装置以及计算机设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006117806A2 (en) * | 2005-05-04 | 2006-11-09 | Abdul Rahman Syed Ibrahim Abdu | Bilaterally generated encryption key system |
CN104410616A (zh) * | 2014-11-20 | 2015-03-11 | 广州日滨科技发展有限公司 | 数据加密、解密、传输方法和系统 |
CN106101150A (zh) * | 2016-08-17 | 2016-11-09 | 北京锐安科技有限公司 | 加密算法的实现方法和系统 |
CN108964872A (zh) * | 2018-07-23 | 2018-12-07 | 武汉大学 | 一种基于aes的加密方法及装置 |
CN109104724A (zh) * | 2018-06-30 | 2018-12-28 | 江苏恒宝智能系统技术有限公司 | 一种用于设备升级的数据加密方法和装置 |
CN109120589A (zh) * | 2018-06-30 | 2019-01-01 | 北京东方英卡数字信息技术有限公司 | 一种基于加密密码的终端信息保护方法和装置 |
CN109429222A (zh) * | 2017-08-22 | 2019-03-05 | 马鞍山明阳通信科技有限公司 | 一种对无线网络设备升级程序及通讯数据加密的方法 |
CN110213041A (zh) * | 2019-04-26 | 2019-09-06 | 五八有限公司 | 数据加密方法、解密方法、装置、电子设备及存储介质 |
CN110378139A (zh) * | 2019-07-25 | 2019-10-25 | 江苏芯盛智能科技有限公司 | 一种数据密钥保护方法、系统及电子设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060177065A1 (en) * | 2005-02-09 | 2006-08-10 | Wal-Mart Stores, Inc. | System and methods for encrypting data utilizing one-time pad key |
CN101340279B (zh) * | 2008-07-09 | 2011-02-02 | 深圳市金蝶友商电子商务服务有限公司 | 数据加密及解密方法、系统及设备 |
US20160224979A1 (en) * | 2015-02-03 | 2016-08-04 | Pocket Systems, Inc. | System and Method for Encryption of Financial Transactions Using One-Time Keys (Transaction Pad Encryption) |
CN105245505A (zh) * | 2015-09-14 | 2016-01-13 | 深圳市优友互联有限公司 | 数据发送方法及装置、数据接收方法及装置、收发系统 |
CN110620792A (zh) * | 2019-10-24 | 2019-12-27 | 福建星网视易信息系统有限公司 | 通信加密方法、通信设备、系统及计算机可读存储介质 |
-
2020
- 2020-09-24 CN CN202011014522.9A patent/CN112153046B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006117806A2 (en) * | 2005-05-04 | 2006-11-09 | Abdul Rahman Syed Ibrahim Abdu | Bilaterally generated encryption key system |
CN104410616A (zh) * | 2014-11-20 | 2015-03-11 | 广州日滨科技发展有限公司 | 数据加密、解密、传输方法和系统 |
CN106101150A (zh) * | 2016-08-17 | 2016-11-09 | 北京锐安科技有限公司 | 加密算法的实现方法和系统 |
CN109429222A (zh) * | 2017-08-22 | 2019-03-05 | 马鞍山明阳通信科技有限公司 | 一种对无线网络设备升级程序及通讯数据加密的方法 |
CN109104724A (zh) * | 2018-06-30 | 2018-12-28 | 江苏恒宝智能系统技术有限公司 | 一种用于设备升级的数据加密方法和装置 |
CN109120589A (zh) * | 2018-06-30 | 2019-01-01 | 北京东方英卡数字信息技术有限公司 | 一种基于加密密码的终端信息保护方法和装置 |
CN108964872A (zh) * | 2018-07-23 | 2018-12-07 | 武汉大学 | 一种基于aes的加密方法及装置 |
CN110213041A (zh) * | 2019-04-26 | 2019-09-06 | 五八有限公司 | 数据加密方法、解密方法、装置、电子设备及存储介质 |
CN110378139A (zh) * | 2019-07-25 | 2019-10-25 | 江苏芯盛智能科技有限公司 | 一种数据密钥保护方法、系统及电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112153046A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324143B (zh) | 数据传输方法、电子设备及存储介质 | |
US8396218B2 (en) | Cryptographic module distribution system, apparatus, and program | |
US10133872B2 (en) | Enabling access to data | |
US9641328B1 (en) | Generation of public-private key pairs | |
CN112153046B (zh) | 数据加密和数据解密的方法、相关设备以及存储介质 | |
CN102281300A (zh) | 数字版权管理许可证分发方法和系统、服务器及终端 | |
CN109102452A (zh) | 一种基于拉丁方阵置乱和双向扩散的图像加密方法 | |
CN109815747B (zh) | 基于区块链的离线审计方法、电子装置及可读存储介质 | |
US20140157394A1 (en) | Authentication system | |
CN107124409B (zh) | 一种接入认证方法及装置 | |
CN114443718B (zh) | 一种数据查询方法及系统 | |
CA3240003A1 (en) | Secure password management systems, methods and apparatuses | |
WO2018043573A1 (ja) | 鍵交換方法、鍵交換システム | |
CN116232639B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN113347143A (zh) | 一种身份验证方法、装置、设备及存储介质 | |
CN102457561A (zh) | 数据访问方法及使用该数据访问方法的设备 | |
CN117220865A (zh) | 经纬度加密方法、经纬度校验方法、装置及可读存储介质 | |
CN115795514A (zh) | 一种隐私信息检索方法、装置及系统 | |
US20170200020A1 (en) | Data management system, program recording medium, communication terminal, and data management server | |
CN112822021A (zh) | 一种密钥管理方法和相关装置 | |
CN116861461A (zh) | 数据处理方法、系统、装置、存储介质及电子设备 | |
CN114091072A (zh) | 一种数据处理方法及装置 | |
CN114257398A (zh) | 一种基于国密算法的数据处理方法、系统、设备及介质 | |
CN114222260B (zh) | 一种对等短信传输方法、系统、设备及计算机存储介质 | |
CN114301663B (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |