一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据加密方法、数据传输方法和数据解密方法及相关装置与流程

2022-03-05 10:02:18 来源:中国专利 TAG:


1.本技术涉及数据加密技术领域,特别是涉及数据加密方法、数据传输方法和数据解密方法及相关装置。


背景技术:

2.随着科学技术的发展,各行各业对各种商业文件或行业数据的保密性越来越重视。而在人们的日常生活中,也常常会对一些重要文件或数据具有保密需求。因此,加密技术在文件或数据的保密中得到了充分的重视和发展。
3.其中,对称加密是一种采用单钥密码系统的加密方法,同一个秘钥可以同时用作信息的加密和解密,也称为单秘钥加密。加密端通过秘钥对数据进行加密得到密文,并将密文传输给解密端。解密端再对密文进行解密,从而得到数据。
4.然而,在对称加密中,因为加密和解密都使用同一个秘钥,在解密端对密文进行解密前,需要加密端将秘钥传输到解密端,而传输秘钥的过程如果被攻击者攻破将会造成严重的信息泄露,因此,如何避免这一问题就成了对称加密亟待解决的问题。


技术实现要素:

5.本技术至少提供数据加密方法、数据传输方法和数据解密方法及相关装置。
6.本技术第一方面提供了一种数据加密方法,包括:获取待加密数据和秘钥;基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文;基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;基于嵌入位置,将秘钥嵌入数据密文,以得到加密数据。
7.因此,将秘钥隐藏进数据密文中,得到包含有秘钥和数据密文的加密数据,从而使秘钥能够随着数据密文进行一次传输,避免了二次传输秘钥的过程,减少了秘钥泄露的风险。且还基于数据密文自身固定的特征信息确定相对于数据密文而言为固定的嵌入位置,从而便于解密端可以基于数据密文本身对加密数据进行解密。
8.其中,通过数据密文的特征信息确定秘钥在数据密文中的嵌入位置的步骤包括:获取数据密文的数据长度;基于数据密文的数据长度确定秘钥的嵌入位置的偏移值;基于偏移值,确定秘钥在数据密文中的嵌入位置。
9.因此,基于数据密文自身的数据长度来确定秘钥在数据密文中的嵌入位置,从而能够使得在解密过程中,也能够通过数据密文自身的数据长度进行解密,来避免秘钥的二次传输。
10.其中,利用偏移值确定秘钥在数据密文中的嵌入位置的步骤包括:获取到秘钥的数据长度;基于偏移值,确定秘钥在数据密文中嵌入位置的起始位置;基于起始位置以及秘钥的数据长度确定秘钥的嵌入位置的结束位置。
11.因此,通过偏移值确定秘钥在数据密文中嵌入位置的起始位置和结束位置,来实现秘钥的整体嵌入。
12.其中,基于数据密文的数据长度确定秘钥的嵌入位置的偏移值的步骤包括:利用
散列算法对数据密文的数据长度进行处理,得到偏移值。
13.因此,基于散列算法对数据密文的数据长度进行处理,得到偏移值,从而针对固定的述数据密文的数据长度,采用固定的散列算法,使得最终所获得的偏移值在不同的计算次数下也固定。
14.其中,基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文的步骤包括:获取秘钥的数据长度;通过秘钥的数据长度对待加密数据进行对称加密,得到数据密文。
15.因此,基于定长的秘钥对待加密数据进行对称加密,从而得到数据密文。
16.本技术第二方面提供了一种数据传输方法,包括:获取待传输数据和秘钥;基于秘钥对待传输数据进行加密,得到待传输数据对应的数据密文;基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;基于嵌入位置,将秘钥嵌入数据密文,以得到待传输数据的加密数据;传输加密数据。
17.因此,将秘钥隐藏进数据密文中,得到包含有秘钥和数据密文的加密数据,从而使秘钥能够随着数据密文进行一次传输,避免了二次传输秘钥的过程,减少了秘钥泄露的风险。
18.本技术第三方面提供了一种数据解密方法,包括:获取加密数据,其中,加密数据是基于秘钥对待传输数据进行加密,得到待传输数据对应的数据密文;基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;基于嵌入位置,将秘钥嵌入数据密文后得到的;基于加密数据确定秘钥在数据密文中的嵌入位置;基于秘钥在数据密文中的嵌入位置得到秘钥和数据密文;通过秘钥对数据密文进行解密,得到待加密数据。
19.因此,通过上述数据加密方法获得的加密数据,在对其进行解密时,可以通过加密数据本身确定秘钥在数据密文中的嵌入位置,从而得到秘钥和数据密文,最后通过秘钥对数据密文进行解密,得到待加密数据。从而实现加密数据的解密。
20.其中,基于加密数据确定秘钥在数据密文中的嵌入位置的步骤包括:获取到加密数据的数据长度和秘钥的数据长度;基于加密数据的数据长度和秘钥的数据长度确定数据密文的数据长度;基于数据密文的数据长度确定秘钥的嵌入位置的偏移值;利用偏移值确定秘钥在数据密文中的嵌入位置。
21.因此,通过加密数据的数据长度和秘钥的数据长度确定数据密文的数据长度确定秘钥的嵌入位置的偏移值,从而能够基于加密数据本身和秘钥的数据长度来确定出加密数据中的秘钥位置,来实现秘钥和数据密文的划分。
22.其中,基于数据密文的数据长度确定秘钥的嵌入位置的偏移值的步骤包括:利用散列算法对数据密文的数据长度进行处理,得到偏移值。
23.因此,通过与加密过程中,计算偏移值相同的散列算法对数据密文的数据长度进行处理,得到偏移值,从而提高解密过程中计算偏移值的准确率。
24.本技术第四方面提供了一种数据加密装置,包括:获取模块,用于获取待加密数据和秘钥;加密模块,用于基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文;确定模块,用于基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;嵌入模块,用于基于嵌入位置,将秘钥嵌入数据密文,以得到加密数据。
25.本技术第五方面提供了一种数据传输装置,包括:获取模块,用于获取待传输数据
和秘钥;加密模块,用于基于秘钥对待传输数据进行加密,得到待传输数据对应的数据密文;确定模块,用于基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;嵌入模块,用于基于嵌入位置,将秘钥嵌入进数据密文,以得到待传输数据的加密数据;传输模块,传输加密数据。
26.本技术第六方面提供了一种数据解密装置,包括:获取模块,用于获取加密数据,其中,加密数据是基于秘钥对待传输数据进行加密,得到待传输数据对应的数据密文;基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;基于嵌入位置,将秘钥嵌入数据密文后得到的;确定模块,用于基于加密数据确定秘钥在数据密文中的嵌入位置;划分模块,用于基于秘钥在数据密文中的嵌入位置得到秘钥和数据密文;解密模块,用于通过秘钥对数据密文进行解密,得到待加密数据。
27.本技术第七方面提供了一种电子设备,包括相互耦接的存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述第一方面中的数据加密方法、第二方面中的数据传输方法或第三方面中的数据解密方法。
28.本技术第八方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述第一方面中的数据加密方法、第二方面中的数据传输方法或第三方面中的数据解密方法。
29.上述方案,能够将秘钥隐藏至数据密文中,随着数据密文的传输一并发送至解密端处,从而避免对称加密技术中,需要单独将秘钥发送至解密端处,从而减少秘钥泄密的可能。
30.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本技术。
附图说明
31.此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本技术的实施例,并与说明书一起用于说明本技术的技术方案。
32.图1是本技术数据加密方法一实施例的流程示意图;
33.图2是本技术数据加密方法另一实施例的流程示意图;
34.图3是本实施例秘钥嵌入进数据密文一实施方式的示意图;
35.图4是本实施例数据传输方法一实施例的流程示意图;
36.图5是本实施例数据解密方法一实施例的流程示意图;
37.图6是本实施例数据解密方法又一实施例的流程示意图;
38.图7是本实施例获取秘钥和数据密文一实施方式的示意图;
39.图8是本技术数据加密装置一实施例的框架示意图;
40.图9是本技术数据传输装置一实施例的框架示意图;
41.图10是本技术数据解密装置一实施例的框架示意图;
42.图11是本技术电子设备一实施例的框架示意图;
43.图12为本技术计算机可读存储介质一实施例的框架示意图。
具体实施方式
44.下面结合说明书附图,对本技术实施例的方案进行详细说明。
45.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
46.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
47.请参阅图1,图1是本技术数据加密方法一实施例的流程示意图。
48.具体而言,可以包括如下步骤:
49.步骤s11:获取待加密数据和秘钥。
50.获取到待加密数据和秘钥。其中,秘钥是用来对待加密数据进行加密的秘钥,即密钥。秘钥是指用来完成加密、解密、完整性验证等密码学应用的秘密信息。而待加密数据为明文,是需要进行加密成密文的数据。
51.在一个具体的应用场景中,待加密数据可以为数字、文字、图片或视频等任意形式的数据,在此不做限定。在一个具体的应用场景中,秘钥可以为数字秘钥、文字秘钥或其他秘钥形式,在此不做限定。在一个具体的应用场景中,秘钥的长度可以为六位数字秘钥、八位文字秘钥等,具体的秘钥的长度可以根据实际加密需求而定,在此也不做限定。
52.步骤s12:基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文。
53.基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文。
54.在一个具体的应用场景中,可以基于秘钥对待加密数据进行对称加密,得到待加密数据对应的数据密文。其中,对称加密是一种采用单钥密码系统的加密方法,同一个秘钥可以同时用作信息的加密和解密,也就是,加密端与解密端采取相同的加密规则对信息进行加密和解密,该种加密方式也称为单秘钥加密。具体地,加密端通过秘钥对数据进行加密得到密文,并将密文传输给解密端。解密端再通过同一个秘钥对密文进行解密,从而得到数据。
55.在另一个具体的应用场景中,可以基于秘钥对待加密数据进行des加密(des symmetric encryption),其中,des加密是典型的迭代分组密码加密方法,使用一个56位的秘钥以及附加的8位奇偶校验位,从而产生最大64位的分组大小。des加密使用称为feistel的技术,将加密的文本块分成两半,使用子秘钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。des使用16个循环,使用异或,置换,代换,移位操作四种基本运算从而进行加密。
56.在另一个具体的应用场景中,本步骤可以基于秘钥对待加密数据进行3des加密,或称为triple des,是三重数据加密算法(tdea,triple data encryption algorithm)块密码的通称。3des加密相当于是对每个数据块应用三次des加密算法。
57.在另一个具体的应用场景中,本步骤也可以通过秘钥对待加密数据进行aes加密(aes,advanced encryption standard)。其中,aes算法由加密、解密和秘钥扩展三种基本
运算构成。aes加密运算和解密运算都采取迭代结构,不同秘钥长度在加密或解密运算中迭代的轮数不同,128位、192位和256位的秘钥长度分别对应10轮、12轮和14轮的迭代运算。本步骤中具体采用的加密技术,在此不做限定。
58.步骤s13:基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置。
59.在一个具体的应用场景中,通过将秘钥嵌入进数据密文的嵌入位置,以使秘钥隐藏进数据密文中。窃密者在不知晓嵌入位置的具体位置信息时,即使获取到隐藏有秘钥的数据密文时,也无法获取到数据密文的秘钥,从而获得待加密数据的明文。
60.基于数据密文的特征信息确定秘钥在数据密文中的嵌入位置。在一个具体的应用场景中,数据密文的特征信息可以为数据密文的固定的特征信息,例如,可以为数据密文的固定长度、数据密文的固定位置、数据密文的固定数值等数据密文中固定不变的特征信息。从而通过数据密文的固定的特征信息确定秘钥在数据密文中的固定的嵌入位置。其中,上述固定的概念是针对单次加密过程中,针对单份待加密数据进行加密所有的。当针对不同的待加密数据进行加密时,不同的数据密文之间的特征信息可以不同。
61.在一个具体的应用场景中,可以依据数据密文的固定位置确定秘钥在数据密文中的嵌入位置。具体地,若秘钥为一个六位数字时,可以固定选取数据密文的六个数据位置为嵌入位置。例如:嵌入位置可以为:数据密文的第三个位置后、数据密文的第六个位置后、数据密文的第九个位置后、数据密文的第十五个位置后、数据密文的第二十个位置后以及数据密文的第二十五个位置后。
62.在另一个具体的应用场景中,也可以依据数据密文的特征规律确定秘钥在数据密文中的嵌入位置。例如将第一个前后位重复的密文之间的位置作为嵌入位置。具体地数据密文固定的特征信息在此不做限定。
63.在本步骤中,通过数据密文固定的特征信息确定秘钥在数据密文中固定的嵌入位置。从而便于解密端确定嵌入位置的基体位置信息。
64.步骤s14:基于嵌入位置,将秘钥嵌入数据密文,以得到加密数据。
65.在确定了单次加密过程中,数据密文中固定的嵌入位置后,基于嵌入位置,将秘钥嵌入进数据密文中的嵌入位置,得到加密数据。
66.在一个具体的应用场景中,若嵌入位置为数据密文中第30个位置到第31个位置之间。则将整个秘钥嵌入至数据密文的第30个位置到第31个位置之间的位置,得到加密数据。其中,加密数据的长度为数据密文长度和秘钥长度之和。
67.在一个具体的应用场景中,嵌入位置的秘钥可以为明文秘钥,也可以为加密后的密文秘钥,在此不做限定。
68.通过上述方案,本实施例的数据加密方法通过先获取到待加密数据和秘钥,基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文;基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;最后基于嵌入位置,将秘钥嵌入数据密文,以得到加密数据。本实施将秘钥隐藏进数据密文中,得到包含有秘钥和数据密文的加密数据,从而使秘钥能够随着数据密文进行一次传输,避免了二次传输秘钥的过程,减少了秘钥泄露的风险。且本实施例还基于数据密文自身的特征信息确定相对于数据密文而言为固定的嵌入位置,从而便于解密端可以基于数据密文本身对加密数据进行解密。
69.请参阅图2,图2是本技术数据加密方法另一实施例的流程示意图。具体而言,可以
包括如下步骤:
70.步骤s21:获取待加密数据和秘钥。
71.获取到待加密数据和秘钥。在一个具体的应用场景中,待加密数据和对应的秘钥为一对一的对应关系,不同的待加密数据采用不同的秘钥进行加密,从而提高待加密数据的保密性。在一个具体的应用场景中,待加密数据也可以和对应的秘钥为多对一的对应关系,即一个秘钥用于加密多个待加密数据,提高解密效率,具体的对应关系在此不做限定。
72.步骤s22:获取到秘钥的数据长度,通过秘钥的数据长度对待加密数据进行对称加密,得到数据密文。
73.获取到待加密数据对应的秘钥的数据长度。在一个具体的应用场景中,如果秘钥为6位数字的秘钥,则秘钥的数据长度为6。在一个具体的应用场景中,如果秘钥为9位文字的秘钥,则秘钥的数据长度为9。
74.将待加密数据用固定长度的秘钥进行对称加密,得到数据密文。在一个具体的应用场景中,当秘钥为明文时,其数据形式可以与数据密文的数据形式相同,以提高明文秘钥的隐蔽性。在一个具体的应用场景中,当秘钥为密文时,秘钥密文的数据形式可以与数据密文的数据形式相同,以提高秘钥密文的隐蔽性。
75.在一个具体的应用场景中,对称加密技术可以包括:des加密技术(des symmetric encryption)、3des(triple data encryption algorithm)加密技术或aes加密技术(aes,advanced encryption standard)。基体的对称加密技术在此不做限定。
76.步骤s23:获取数据密文的数据长度,基于数据密文的数据长度确定秘钥的嵌入位置的偏移值,基于偏移值,确定秘钥在数据密文中的嵌入位置。
77.通过秘钥将待加密数据加密成数据密文后,获取到数据密文的数据长度。基于数据密文的数据长度确定秘钥的嵌入位置的偏移值,利用偏移值确定秘钥在数据密文中嵌入位置的起始位置,基于起始位置以及秘钥的数据长度确定秘钥的嵌入位置的结束位置,从而确定秘钥在数据密文中的嵌入位置。
78.在一个具体的应用场景中,可以通过利用散列算法(secure hash algorithm,缩写为sha)对数据密文的数据长度n进行处理,得到偏移值t。其中,偏移值t即为嵌入位置的起始位置距离数据密文首端的长度距离。其中,散列算法是一个密码散列函数家族。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。
79.在一个具体的应用场景中,可以通过模运算对数据密文的数据长度n进行处理,得到偏移值t。在一个具体的应用场景中,也可以通过模运算将数据密文的数据长度n对100取模,从而求得偏移值t。在一个具体的应用场景中,当数据密文的数据长度为453时,可以通过模运算将数据密文的数据长度453对100取模,得到偏移值53。则距离数据密文首端距离为53的位置就为嵌入位置的起始位置。
80.在一个具体的应用场景中,也可以通过任意一种算法基于数据密文的数据长度n求得一个小于数据密文的数据长度n的正整数,并将该正整数作为偏移值t。
81.在获得了偏移值t之后,利用偏移值确定秘钥在数据密文中的嵌入位置。在一个具体的应用场景中,可以将数据密文中t长度到t 1长度之间的位置作为秘钥的嵌入位置,从而在该位置将秘钥插入进去。
82.步骤s24:基于嵌入位置,将秘钥嵌入数据密文,以得到加密数据。
83.在确定了秘钥的嵌入位置之后,基于嵌入位置,将秘钥嵌入进数据密文中,以得到加密数据。
84.请参阅图3,图3是本实施例秘钥嵌入进数据密文一实施方式的示意图。
85.在本实施例中,数据密文10的长度为n,秘钥20的长度为k。在获得了偏移值t后,将秘钥20整体插入至数据密文10距离首端t长度的位置,得到加密数据30。其中,加密数据30的长度m为n k。此时,秘钥20距离加密数据30首端长度为t,秘钥20距离加密数据30尾端长度为n-t。
86.通过上述方案,本实施例的数据加密方法通过先获取到待加密数据和对应的秘钥,获取到秘钥的数据长度,通过秘钥的数据长度对待加密数据进行对称加密,得到数据密文后,获取数据密文的数据长度,基于数据密文的数据长度确定秘钥的嵌入位置的偏移值,利用偏移值确定秘钥在数据密文中的嵌入位置,最后基于嵌入位置,将秘钥嵌入进数据密文中,以得到加密数据。从而将秘钥隐藏进数据密文中,得到包含有秘钥和数据密文的加密数据,从而使秘钥能够随着数据密文进行一次传输,避免了二次传输秘钥的过程,减少了秘钥泄露的风险。且本实施例还基于数据密文自身固定的数据长度采用一定的数据算法确定相对于数据密文而言的固定的嵌入位置,从而便于解密端可以基于数据密文本身对加密数据进行解密。
87.请参阅图4,图4是本实施例数据传输方法一实施例的流程示意图。
88.步骤s31:获取待传输数据和秘钥。
89.获取到待传输数据和秘钥。其中,待传输数据是加密端需要传输给解密端的数据,其中,出于对待传输数据的保密性需求,需要对待传输数据进行加密。其中,秘钥和待传输数据对应。
90.在一个具体的应用场景中,待传输数据可以为数字、文字、图片或视频等任意形式的数据,在此不做限定。在一个具体的应用场景中,秘钥可以为数字秘钥、文字秘钥或其他秘钥形式,在此不做限定。在一个具体的应用场景中,秘钥的长度可以为六位数字秘钥、八位文字秘钥等,具体的秘钥的长度可以根据实际加密需求而定,在此也不做限定。
91.步骤s32:基于秘钥对待传输数据进行加密,得到待传输数据对应的数据密文。
92.其中,本步骤s32的具体方法与前述实施例中步骤s12的具体方法相同,请参阅前述实施例步骤,在此不做赘述。
93.步骤s33:基于数据密文的特征信息确定秘钥在数据密文中的嵌入位置。
94.其中,本步骤s33的具体方法与前述实施例中步骤s13的具体方法相同,请参阅前述实施例步骤,在此不做赘述。
95.步骤s34:基于嵌入位置,将秘钥嵌入数据密文,以得到待传输数据的加密数据。
96.其中,本步骤s34的具体方法与前述实施例中步骤s14的具体方法相同,请参阅前述实施例步骤,在此不做赘述。
97.步骤s35:传输加密数据。
98.在获取了待传输数据的加密数据后,将加密数据传输给数据接收者。
99.通过上述方案,本实施例的数据传输方法通过先获取待传输数据和秘钥;基于秘钥对待传输数据进行加密,得到待传输数据对应的数据密文;基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;基于嵌入位置,将秘钥嵌入数据密文,以得到待传输数据
的加密数据;传输加密数据。本实施将秘钥隐藏进数据密文中,得到包含有秘钥和数据密文的加密数据,从而使秘钥能够随着数据密文进行一次传输,避免了二次传输秘钥的过程,减少了秘钥泄露的风险。
100.请参阅图5,图5是本实施例数据解密方法一实施例的流程示意图。
101.步骤s41:获取加密数据,其中,加密数据是基于秘钥对待传输数据进行加密,得到待传输数据对应的数据密文;基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;基于嵌入位置,将秘钥嵌入数据密文后得到的。
102.获取到传输过来的加密数据,其中,加密数据是基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文,通过数据密文的特征信息确定秘钥在数据密文中的嵌入位置,将秘钥嵌入进数据密文中的嵌入位置后得到的。
103.其中,加密数据的具体加密方式图1实施例相同,请参阅图1实施例,在此不做赘述。
104.步骤s42:基于加密数据确定秘钥在数据密文中的嵌入位置。
105.通过加密数据本身的特征信息确定秘钥在数据密文中的嵌入位置。在一个具体的应用场景中,如果加密数据在进行加密时,嵌入位置为数据密文的第三个位置后、数据密文的第六个位置后、数据密文的第九个位置后、数据密文的第十五个位置后、数据密文的第二十个位置后以及数据密文的第二十五个位置后,则可以基于加密数据的第三个位置后、第七个位置后、第十一个位置后、第十八个位置后、第二十四个位置后、第三十个位置后提取出六位秘钥。
106.步骤s43:基于秘钥在数据密文中的嵌入位置得到秘钥和数据密文。
107.确定了秘钥的嵌入位置后,基于秘钥在数据密文中的嵌入位置从加密数据中得到秘钥和数据密文。其中,由于加密数据由秘钥和数据密文组成,因此,从嵌入位置获取秘钥后,其他加密数据位置则为数据密文。
108.步骤s44:通过秘钥对数据密文进行解密,得到待加密数据。
109.通过秘钥对数据密文进行解密,得到待加密数据。
110.通过上述方法,本实施例的数据解密方法,其加密数据是通过基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文,通过数据密文的特征信息确定秘钥在数据密文中的嵌入位置,将秘钥嵌入进数据密文中的嵌入位置后得到的,能够通过加密数据本身确定秘钥在数据密文中的嵌入位置,进而得到秘钥和数据密文,从而实现秘钥和数据密文的同时传输,避免了二次传输秘钥的过程,减少了秘钥泄露的风险。且由于本实施例的秘钥隐藏与数据密文中,即使窃密者获取了加密数据也无获取秘钥和数据密文并进行解密,从而进一步提高了数据密文的保密性。
111.请参阅图6,图6是本实施例数据解密方法又一实施例的流程示意图。
112.步骤s51:获取加密数据,其中,加密数据是基于秘钥对待传输数据进行加密,得到待传输数据对应的数据密文;基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;基于嵌入位置,将秘钥嵌入数据密文后得到的。
113.获取到传输过来的加密数据,其中,加密数据是基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文,通过数据密文的特征信息确定秘钥在数据密文中的嵌入位置,将秘钥嵌入进数据密文中的嵌入位置后得到的。
114.其中,加密数据的具体加密方式图2实施例相同,请参阅图2实施例,在此不做赘述。
115.步骤s52:获取到加密数据的数据长度和秘钥的数据长度,基于加密数据的数据长度和秘钥的数据长度确定数据密文的数据长度,基于数据密文的数据长度确定秘钥的嵌入位置的偏移值,利用偏移值确定秘钥在数据密文中的嵌入位置。
116.获取到加密数据的数据长度m和秘钥的数据长度k,则通过加密数据的数据长度m减去秘钥的数据长度k,即可以获取数据密文的数据长度n。m,k为任意正整数。
117.在获取了数据密文的数据长度n之后,可以基于数据密文的数据长度n确定秘钥的嵌入位置的偏移值t,则利用偏移值t确定秘钥在数据密文中的嵌入位置。具体地,提取加密数据的(t,t k)字段即为秘钥。
118.在一个具体的应用场景中,如果加密待传输数据时,是通过散列算法对数据密文的数据长度n进行处理,得到偏移值t的,则在本步骤中,计算偏移值t的方法,也采用同样的散列算法对相同的计算对象—数据密文的数据长度n进行处理,从而得到相同的偏移值t。
119.在一个具体的应用场景中,如果加密待传输数据时,是通过模运算对数据密文的数据长度n进行处理,得到偏移值t的,则在本步骤中,计算偏移值t的方法,也采用同样的模运算对相同的计算对象—数据密文的数据长度n进行处理,从而得到相同的偏移值t。
120.在一个具体的应用场景中,基于数据密文的数据长度确定秘钥的嵌入位置的偏移值t的运算方法与加密数据计算偏移值t的运算方法相同,由此就能够在解密过程中,针对相同的计算对象采用相同的运算方法,得到相同的偏移值结果。
121.在一个具体的应用场景中,加密端只需将采用的运算方法和秘钥的数据长度k通知给解密端,解密端就可以基于加密数据、运算方法和秘钥的数据长度k自行对加密数据进行解密,从而获得待加密数据的明文。运算方法和秘钥的数据长度k可以为固定数据,提前告知给解密端后,后续多次加密数据的解密都可以基于运算方法和秘钥的数据长度k进行计算。且秘钥在保证其数据长度k固定的情况下,秘钥的具体组成数字或文字可以进行动态更换,以针对不同的待加密数据采用不同的秘钥进行加密,提高保密性,而同时,解密端也无需更改解密方式。而即使窃密者获取了加密数据,在没有知晓运算方法和秘钥的数据长度k的情况下,也无法对加密数据进行解密。
122.步骤s53:基于秘钥在数据密文中的嵌入位置得到秘钥和数据密文。
123.在确定了嵌入位置后,基于秘钥在数据密文中的嵌入位置得到秘钥和数据密文。
124.请参阅图7,图7是本实施例获取秘钥和数据密文一实施方式的示意图。
125.先获取到加密数据40的数据长度m和秘钥60的数据长度k,将加密数据40的数据长度m减去秘钥60的数据长度k得到数据密文的数据长度n。通过与加密数据40的加密方法中计算偏移值t相同的算法,基于数据密文的数据长度n,得到秘钥60的偏移值t。从而再基于秘钥60的数据长度k和偏移值t,从加密数据40中的(t,t k)字段中提取出秘钥60,则剩余的加密数据40的字段即为数据密文50,且剩余的加密数据40的字段长度与数据密文50的字段长度n相同。从而完成秘钥60和数据密文50的获取。
126.步骤s54:通过秘钥对数据密文进行解密,得到待加密数据。
127.通过获取到的秘钥对数据密文进行对称解密,得到待加密数据的明文。
128.通过上述方法,本实施例的数据解密方法,其加密数据是通过基于秘钥对待加密
数据进行加密,得到待加密数据对应的数据密文,通过数据密文的特征信息确定秘钥在数据密文中的嵌入位置,将秘钥嵌入进数据密文中的嵌入位置后得到的,能够通过加密数据的数据长度、秘钥的数据长度以及偏移值运算方法确定秘钥在数据密文中的嵌入位置,进而得到秘钥和数据密文,从而实现秘钥和数据密文的同时传输,避免了二次传输秘钥的过程,减少了秘钥泄露的风险。且由于本实施例的秘钥隐藏与数据密文中,即使窃密者获取了加密数据也无获取秘钥和数据密文并进行解密,从而进一步提高了数据密文的保密性。
129.请参阅图8,图8是本技术数据加密装置一实施例的框架示意图。数据加密装置80包括获取模块81、加密模块82、确定模块83和嵌入模块84。获取模块81,用于获取待加密数据和秘钥;加密模块82,用于基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文;确定模块83,用于基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;嵌入模块84,用于将基于嵌入位置,将秘钥嵌入数据密文,以得到加密数据。
130.上述方案,将秘钥隐藏进数据密文中,得到包含有秘钥和数据密文的加密数据,从而使秘钥能够随着数据密文进行一次传输,避免了二次传输秘钥的过程,减少了秘钥泄露的风险。且还基于数据密文自身固定的特征信息确定相对于数据密文而言为固定的嵌入位置,从而便于解密端可以基于数据密文本身对加密数据进行解密。
131.在一些公开实施例中,通过数据密文的特征信息确定秘钥在数据密文中的嵌入位置的步骤包括:获取数据密文的数据长度;基于数据密文的数据长度确定秘钥的嵌入位置的偏移值;基于偏移值,确定秘钥在数据密文中的嵌入位置。
132.区别于前述实施例,基于数据密文自身的数据长度来确定秘钥在数据密文中的嵌入位置,从而能够使得在解密过程中,也能够通过数据密文自身的数据长度进行解密,来避免秘钥的二次传输。
133.在一些公开实施例中,基于偏移值,确定秘钥在数据密文中的嵌入位置的步骤包括:获取到秘钥的数据长度;基于偏移值确定秘钥在数据密文中嵌入位置的起始位置;基于起始位置以及秘钥的数据长度确定秘钥的嵌入位置的结束位置。
134.区别于前述实施例,通过偏移值确定秘钥在数据密文中嵌入位置的起始位置和结束位置,来实现秘钥的整体嵌入。
135.在一些公开实施例中,基于数据密文的数据长度确定秘钥的嵌入位置的偏移值的步骤包括:利用散列算法对数据密文的数据长度进行处理,得到偏移值。
136.区别于前述实施例,基于散列算法对数据密文的数据长度进行处理,得到偏移值,从而针对固定的述数据密文的数据长度,采用固定的散列算法,使得最终所获得的偏移值在不同的计算次数下也固定。
137.在一些公开实施例中,基于秘钥对待加密数据进行加密,得到待加密数据对应的数据密文的步骤包括:获取秘钥的数据长度;通过秘钥的数据长度对待加密数据进行对称加密,得到数据密文。
138.区别于前述实施例,基于定长的秘钥对待加密数据进行对称加密,从而得到数据密文。
139.请参阅图9,图9是本技术数据传输装置一实施例的框架示意图。数据解密装置90包括获取模块91、加密模块92、确定模块93、嵌入模块94以及传输模块95。获取模块91,用于获取待传输数据和秘钥;加密模块92,用于基于秘钥对待传输数据进行加密,得到待传输数
据对应的数据密文;确定模块93,用于基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;嵌入模块94,用于基于嵌入位置,将秘钥嵌入数据密文,以得到待传输数据的加密数据;传输模块95,用于传输加密数据。
140.上述方案,将秘钥隐藏进数据密文中,得到包含有秘钥和数据密文的加密数据,从而使秘钥能够随着数据密文进行一次传输,避免了二次传输秘钥的过程,减少了秘钥泄露的风险。
141.请参阅图10,图10是本技术数据解密装置一实施例的框架示意图。数据解密装置100包括获取模块101、确定模块102、划分模块103、解密模块104。获取模块101,用于获取加密数据,其中,加密数据是基于秘钥对待传输数据进行加密,得到待传输数据对应的数据密文;基于数据密文的特征信息,确定秘钥在数据密文中的嵌入位置;基于嵌入位置,将秘钥嵌入数据密文后得到的;确定模块102,用于基于加密数据确定秘钥在数据密文中的嵌入位置;划分模块103,用于基于秘钥在数据密文中的嵌入位置得到秘钥和数据密文;解密模块104,用于通过秘钥对数据密文进行解密,得到待加密数据。
142.上述方案,通过上述数据加密方法获得的加密数据,在对其进行解密时,可以通过加密数据本身确定秘钥在数据密文中的嵌入位置,从而得到秘钥和数据密文,最后通过秘钥对数据密文进行解密,得到待加密数据。从而实现加密数据的解密。
143.在一些公开实施例中,基于加密数据确定秘钥在数据密文中的嵌入位置的步骤包括:获取到加密数据的数据长度和秘钥的数据长度;基于加密数据的数据长度和秘钥的数据长度确定数据密文的数据长度;基于数据密文的数据长度确定秘钥的嵌入位置的偏移值;利用偏移值确定秘钥在数据密文中的嵌入位置。
144.区别于前述实施例,通过加密数据的数据长度和秘钥的数据长度确定数据密文的数据长度确定秘钥的嵌入位置的偏移值,从而能够基于加密数据本身和秘钥的数据长度来确定出加密数据中的秘钥位置,来实现秘钥和数据密文的划分。
145.在一些公开实施例中,基于数据密文的数据长度确定秘钥的嵌入位置的偏移值的步骤包括:利用散列算法对数据密文的数据长度进行处理,得到偏移值。
146.区别于前述实施例,通过与加密过程中,计算偏移值相同的散列算法对数据密文的数据长度进行处理,得到偏移值,从而提高解密过程中计算偏移值的准确率。
147.请参阅图11,图11是本技术电子设备一实施例的框架示意图。电子设备110包括相互耦接的存储器111和处理器112,处理器112用于执行存储器111中存储的程序指令,以实现上述任一数据加密方法实施例的步骤、任一数据传输方法实施例的步骤以及任一数据解密方法实施例的步骤。在一个具体的实施场景中,电子设备110可以包括但不限于:微型计算机、服务器,此外,电子设备110还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。
148.具体而言,处理器112用于控制其自身以及存储器111以实现上述任一数据加密方法实施例的步骤。处理器112还可以称为cpu(central processing unit,中央处理单元)。处理器112可能是一种集成电路芯片,具有信号的处理能力。处理器112还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用
处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器112可以由集成电路芯片共同实现。
149.上述方案,能够提高加密数据的保密性。
150.请参阅图12,图12为本技术计算机可读存储介质一实施例的框架示意图。计算机可读存储介质120存储有能够被处理器运行的程序指令1201,程序指令1201用于实现上述任一数据加密方法实施例的步骤、任一数据传输方法实施例的步骤以及任一数据解密方法实施例的步骤。
151.上述方案,能够提高加密数据的保密性。
152.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
153.上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
154.在本技术所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
155.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
156.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献