一种数据加密传输方法转让专利

申请号 : CN202310409697.7

文献号 : CN116367150B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李艳晓

申请人 : 甘肃昊润科技信息有限公司

摘要 :

本发明涉及数据加密传输技术领域,具体涉及一种数据加密传输方法,包括:构建无线通信网络,获取明文序列,对明文序列中出现的每个字符的概率进行动态更新;根据每个字符更新后的概率构建多叉树,获取每个字符的第一编码;根据第一编码的长度获取每个字符的标识符,进一步获取每个字符的第二编码,根据每个字符的第二编码获得密文数据。根据第一编码与标识符获取密钥;通过无线通信网络对密文数据以及密钥进行传输,实现了密钥不同权限的管理,提高了加密效果以及数据传输安全性。

权利要求 :

1.一种数据加密传输方法,其特征在于,该方法包括以下步骤:

构建无线通信网络;获取明文序列;根据明文序列获取字符序列以及概率序列;构建一个空的已更新概率集合;

依次将概率序列中每个概率作为基准概率,根据基准概率对概率序列进行更新,包括:获取概率序列中与基准概率相等的元素的数量作为第一数量;根据基准概率、第一数量以及已更新概率集合获取概率序列中所有第一概率;当第一概率与基准概率的差异小于第二预设阈值时,将概率序列中第一概率的值更新为基准概率的值,将第一概率添加到已更新概率集合;

将更新后的概率序列中每个概率作为字符序列中每个字符更新后的概率;根据霍夫曼编码以及每个字符更新后的概率构建多叉树,所述多叉树中每个节点的子节点的概率相同,且每个节点的子节点的数量小于等于第三预设阈值,所述多叉树的每个叶子节点对应一个字符;获取预设编码序列,对于多叉树中任意一个父节点,将预设编码序列中每个编码依次分配给父节点的每个分支;根据多叉树获取每个字符的第一编码;

当存在字符的第一编码一致时,获取未分配编码序列,根据未分配编码序列对第一编码相同的字符的第一编码进行更新;对每个字符的第一编码的长度进行编码,得到标识符,将每个字符的标识符与第一编码拼接作为每个字符的第二编码;明文序列中所有字符的第二编码构成密文数据;

将字符与第一编码的对应关系作为第一密钥,将第一编码的长度与标识符的对应关系作为第二密钥;利用无线通信网络对密文数据以及第一密钥、第二密钥进行管理;

所述根据基准概率、第一数量以及已更新概率集合获取概率序列中所有第一概率包括:当第一数量小于第一预设阈值时,将第一预设阈值减去第一数量作为第二数量;获取不在更新概率集合中,但位于概率序列中与基准概率不相等且与基准概率差异最小的第二数量个概率,分别作为第一概率。

2.根据权利要求1所述的一种数据加密传输方法,其特征在于,所述根据明文序列获取字符序列以及概率序列包括:获取明文序列中出现的所有字符的概率,按照概率从小到大的顺序将所有字符构成字符序列;获取字符序列中每个字符的概率构成概率序列。

3.根据权利要求1所述的一种数据加密传输方法,其特征在于,所述获取预设编码序列包括:获取所有长度不大于预设长度的二进制数,构成预设编码序列。

4.根据权利要求1所述的一种数据加密传输方法,其特征在于,所述根据多叉树获取每个字符的第一编码包括:将多叉树根节点到每个字符的最短路径上的编码拼接作为每个字符的第一编码。

5.根据权利要求1所述的一种数据加密传输方法,其特征在于,所述当存在字符的第一编码一致时,获取未分配编码序列,根据未分配编码序列对第一编码相同的字符的第一编码进行更新包括:S1:当存在两个字符的第一编码一致时,获取一致的第一编码的长度作为第一长度;构建一个空的未分配编码序列;

S2:获取所有第一长度的二进制数作为候选编码,当每个候选编码与所有字符的第一编码都不相同时,将候选编码加入到未分配编码序列;当未分配编码序列为空时且第一长度大于1时,将第一长度减去1作为第一长度,当未分配编码序列为空时且第一长度等于1时,将第一长度加上1作为第一长度;

S3:重复步骤S2直到未分配编码序列不为空时停止迭代;在未分配编码序列中随机选择一个编码更新所述两个字符中任意一个字符的第一编码。

说明书 :

一种数据加密传输方法

技术领域

[0001] 本发明涉及数据加密传输技术领域,具体涉及一种数据加密传输方法。

背景技术

[0002] 随着自动化技术的发展,越来越多的行业进行自动化的加工与生产,比如钛合金家具的加工、注塑件的生产等。利用机器设备进行自动化生产时,加工参数涉及到生产过程中的关键步骤,所以加工参数即为企业的内部技术,反应企业的核心竞争力,所以加工参数的泄漏会造成企业技术核心和核心竞争力的丢失,从而造成企业经济损失,所以在加工参数的无线通信传输中,首先需要对其进行加密,保证加工参数在无线网络中的安全传输。对于企业内部数据的传输,一般都是通过构建无线通信网络进行的,数据的安全传输主要体现在数据加密后不同接收端的不同权限以及密钥分配管理上。
[0003] 对于数据的加密一般表现为数据的替换以及置乱,隐藏明文数据,此时明文数据的转换即为数据的加密过程,比如霍夫曼编码技术,实质同样是字符转换为编码,即原始字符明文数据转换为编码密文数据,但是常规的霍夫曼编码是通过字符概率构建二叉树进行字符编码,此时编码数据中编码以及编码组合出现的概率容易获取,从而导致编码数据容易别破解。因此本发明通过构建多叉树进行对字符编码,隐藏字符与编码的对应关系,从而实现工厂加工参数在无线通信网络中的加密传输。最后在当前数据传输的无线通信网络中,对数据进行更新加密,对不同数据接收端分配不同的密钥,赋予不同数据接收端具有不同的权限,通过这种密钥的分配管理方法提高无线网络中数据传输安全性。

发明内容

[0004] 本发明提供一种数据加密传输方法,以解决现有的问题。
[0005] 本发明的一种数据加密传输方法采用如下技术方案:
[0006] 本发明一个实施例提供了一种数据加密传输方法,该方法包括以下步骤:
[0007] 构建无线通信网络;获取明文序列;根据明文序列获取字符序列以及概率序列;构建一个空的已更新概率集合;
[0008] 依次将概率序列中每个概率作为基准概率,根据基准概率对概率序列进行更新,包括:获取概率序列中与基准概率相等的元素的数量作为第一数量;根据基准概率、第一数量以及已更新概率集合获取概率序列中所有第一概率;当第一概率与基准概率的差异小于第二预设阈值时,将概率序列中第一概率的值更新为基准概率的值,将第一概率添加到已更新概率集合;
[0009] 将更新后的概率序列中每个概率作为字符序列中每个字符更新后的概率;根据霍夫曼编码以及每个字符更新后的概率构建多叉树,所述多叉树中每个节点的子节点的概率相同,且每个节点的子节点的数量小于等于第三预设阈值,所述多叉树的每个叶子节点对应一个字符;获取预设编码序列,对于多叉树中任意一个父节点,将预设编码序列中每个编码依次分配给父节点的每个分支;根据多叉树获取每个字符的第一编码;
[0010] 当存在字符的第一编码一致时,获取未分配编码序列,根据未分配编码序列对第一编码相同的字符的第一编码进行更新;对每个字符的第一编码的长度进行编码,得到标识符,将每个字符的标识符与第一编码拼接作为每个字符的第二编码;明文序列中所有字符的第二编码构成密文数据;
[0011] 将字符与第一编码的对应关系作为第一密钥,将第一编码的长度与标识符的对应关系作为第二密钥;利用无线通信网络对密文数据以及第一密钥、第二密钥进行管理。
[0012] 优选的,所述根据明文序列获取字符序列以及概率序列包括:
[0013] 获取明文序列中出现的所有字符的概率,按照概率从小到大的顺序将所有字符构成字符序列;获取字符序列中每个字符的概率构成概率序列。
[0014] 优选的,所述根据基准概率、第一数量以及已更新概率集合获取概率序列中所有第一概率包括:
[0015] 当第一数量小于第一预设阈值时,将第一预设阈值减去第一数量作为第二数量;获取不在更新概率集合中,但位于概率序列中与基准概率不相等且与基准概率差异最小的第二数量个概率,分别作为第一概率。
[0016] 优选的,所述获取预设编码序列包括:
[0017] 获取所有长度不大于预设长度的二进制数,构成预设编码序列。
[0018] 优选的,所述根据多叉树获取每个字符的第一编码包括:
[0019] 将多叉树根节点到每个字符的最短路径上的编码拼接作为每个字符的第一编码。
[0020] 优选的,所述当存在字符的第一编码一致时,获取未分配编码序列,根据未分配编码序列对第一编码相同的字符的第一编码进行更新包括:
[0021] S1:当存在两个字符的第一编码一致时,获取一致的第一编码的长度作为第一长度;构建一个空的未分配编码序列;
[0022] S2:获取所有第一长度的二进制数作为候选编码,当每个候选编码与所有字符的第一编码都不相同时,将候选编码加入到未分配编码序列;当未分配编码序列为空时且第一长度大于1时,将第一长度减去1作为第一长度,当未分配编码序列为空时且第一长度等于1时,将第一长度加上1作为第一长度;
[0023] S3:重复步骤S2直到未分配编码序列不为空时停止迭代;在未分配编码序列中随机选择一个编码更新所述两个字符中任意一个字符的第一编码。
[0024] 本发明的技术方案的有益效果是:通过调整明文字符概率,使得概率序列存在更多的相等的概率,从而获得更多编码与字符的对应组合方式,便于字符编码对应关系的隐藏;然后针对多个最小概率组合构造N叉树,同一层N个分支直接破坏原始二叉树的结构,同时各分支对应包含的子分支所在的层数发生变化,从而导致所有子分支的所有字符编码信息改变,即子分支编码对于所在分支在霍夫曼树中的层数具有高敏感性,所以通过构建N叉树对隐藏字符编码信息具有高效性;并且通过不固定每一分层的分支数量,实现N叉树分支的多样性,便于隐藏分支与字符概率的对应关系,从而提高加密效果。最后,对不同发送端的数据分别进行加密,从而保证数据发送端与接收端的对应匹配,即利用不同密钥与密文的匹配对加工参数进行不同权限的管理,通过这种密钥的管理方法提高无线网络中数据传输安全性。

附图说明

[0025] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026] 图1为本发明的一种数据加密传输方法的步骤流程图;
[0027] 图2为本发明的一种数据加密传输方法的无线通信网络示意图;
[0028] 图3为本发明的一种数据加密传输方法的常规二叉数示意图;
[0029] 图4为本发明的一种数据加密传输方法的N叉树示意图;
[0030] 图5为本发明的一种数据加密传输方法的N叉树示意图。

具体实施方式

[0031] 为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种数据加密传输方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
[0032] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
[0033] 下面结合附图具体的说明本发明所提供的一种数据加密传输方法的具体方案。
[0034] 请参阅图1,其示出了本发明一个实施例提供的一种数据加密传输方法的步骤流程图,该方法包括以下步骤:
[0035] 101.构建无线通信网络。
[0036] 对于工厂的加工参数,属于企业内部的技术成果,由企业内部实验室产生,然后应用到生产线中。此时为了统一管理所有数据,首先对数据统一关系,所以在当前场景中构建一个企业内部的无线通信网络,无线通信网络具体包括获得加工参数的实验室、数据同一管理平台以及加工生产线,无线通信网络示意图参见图2。
[0037] 其中工厂的加工参数由企业内部实验室生产,然后传输到统一的企业数据管理平台进行管理,然后再由企业数据管理平台将加工参数传输到各个加工生产线。即加工参数在当前无线通信网络中进行传输。在当前无线通信网络的加密传输中,加工参数由实验室设置加密程序进行加密,然后将加密得到的密文数据发送到企业数据管理平台,此时企业数据管理平台具有密钥,即具有查看密文数据的权限;最后企业数据管理平台对解密得到的加工参数重新进行加密后发送到生产线,生产线同样具有新的密钥,即具有查看重新加密后密文数据的权限。
[0038] 102.获取明文序列,根据明文序列获取字符序列以及概率序列,对概率序列进行更新。
[0039] 需要说明的时,在企业的产品的加工生产过程中,加工参数决定加工效果,一般加工参数是由企业内部实验部门实验获得,即当前待传输的加工参数来源于企业内部实验室,记录实验室获得的最终加工参数,即为最终待传输的加工参数。
[0040] 在本实施例中,将最终待传输的加工参数组成明文序列。
[0041] 需要说明的是,由于加工参数涉及企业核心,所以在传输中需要对其进行加密。一般对于数据的加密效果主要体现在密文数据对密钥的敏感性以及密钥空间的大小,密文对密钥越敏感,加密效果越好,密钥空间越大,加密效果越好。所以本发明利用霍夫曼编码的原理构建多叉树(又称N叉树),实现字符与编码对应关系的隐藏,实现加工参数的加密。在进行霍夫曼编码时,对于明文中概率相等的字符,在构建霍夫曼树时,最小概率的加和存在多种组合方式,从而导致所构建的霍夫曼树不唯一,所以本发明通过霍夫曼树的不唯一性,对原始数据进行加密。
[0042] 在本实施例中,将明文序列中出现的所有字符按照每个字符出现的概率按照从小到大进行排序,获得字符序列为{X1,X2,X3,…,Xi,…,Xn},其中n表示当前明文序列中字符的种类数。将字符序列中每个字符出现的概率组成概率序列{P1,P2,P3,…,Pi,…Pn},其中Pi为字符序列中第i个字符Xi的概率。
[0043] 需要说明的时,对于霍夫曼树的构建,直接取决于明文中字符出现的概率,所以为改变霍夫曼树的构建方式,首先需要对原始明文中字符的概率进行更新。字符的概率更新的目的是为了出现更多的最小概率相等的情况,增加霍夫曼树的不唯一性。
[0044] 在本实施例中,首先构建一个空的已更新概率集合,用来放置概率序列中已更新的概率,防止后续已更新的概率被再次更新。依次将概率序列中每个概率作为基准概率,根据基准概率对概率序列进行更新:
[0045] 如当Pi为基准概率时,已知当前概率序列中,与概率Pi相等的概率数量为Mi,记为第一数量,此时通过对概率序列中其他概率进行调整,使得Mi的值尽量趋近于第一预设阈值k,即获得k+1个相等的概率。因此当Mi≥k时,不需要对当前概率序列进行调整,当Mi
[0046] 当Mi
[0047] 至此,实现了对概率序列的更新,使得概率序列中存在更多的相等的概率,从而根据概率构建霍夫曼树时存在更多组合方式,即获得更多编码与字符的对应组合方式,便于字符编码对应关系的隐藏。
[0048] 103.构建多叉树,获取每个字符的第一编码。
[0049] 需要说明的是,常规霍夫曼编码随机选择一组最小的概率组合构建二叉树,此时随机选择的最小组合造成霍夫曼树的不唯一性,但是常规的二叉树的组合方式不同只影响不同组合对应字符的编码,对霍夫曼树的结构不产生影响,所以本发明针对多种最小概率组合构建N叉树,改变原始二叉树结构,以实现编码信息的加密。
[0050] 根据霍夫曼编码的原理,所构建的二叉树分支即用一位二进制编码符号“0”“1”表示,所以在构建N叉树时,N个分支的编码则需要多位的二进制编码表示,此时N越大,表示分支的编码位越大,即造成编码数据量增加,不利于数据的传输;N越小,对原始霍夫曼树的结构改变越小,不利于编码信息的加密。
[0051] 在本实施例中,将分枝的编码长度限制为L,长度小于L的二进制编码有2L+1 ‑2个。在本实施例中L=2,在其他实施例中,实施人员可根据需要设置L的值。当L=2时,不同分支
2+1
分别表示为“0”“1”“10”“00”“11”“01”,即所构建的N叉树中N的值最大为2  ‑2=6。此时对应步骤102中获得k+1=6个相等的概率,即N叉树中N的值取决于相等概率的数量,且最大值L+1 L+1
为2  ‑2=k+1。实施人员在设置第一预设阈值k以及L时,需要确保2  ‑2=k+1。
[0052] 已知在第j次构建N叉树时,当前所有的最小概率组合中包含的概率的数量为Sj,当Sj≤k+1时,选择当前Sj个概率共同作为N叉树中第j层Sj个分支,在Sj>k+1时,超过最大分支数量,此时随机选择k+1个概率作为N叉树中第j层k+1个分支。
[0053] 利用上述步骤,获得每一层N叉树的分支。在霍夫曼树中,同一层N个分支直接破坏原始二叉树的结构,在改变同一层各分支的编码信息的同时,各分支对应包含的子分支所在的层数发生变化,从而导致所有子分支的所有字符编码信息改变,即子分支编码对于所在分支在霍夫曼树种的层数具有高敏感性,所以通过构建N叉树对隐藏字符编码信息具有高效性;并且通过不固定每一分层的分支数量,实现N叉树分支的多样性,便于隐藏分支与字符概率的对应关系,从而提高加密效果。
[0054] 将多叉树根节点到每个字符的最短路径上的编码拼接作为每个字符的第一编码。
[0055] 举例说明:
[0056] 字符A,B,C,D,E的概率分别为0.05,0.15,0.2,0.2,0.4。此时构建的常规二叉数参见图3,根据常规二叉树对每个字符进行编码的编码结果为:E:0,D:10,C:110,A:1110,B:1111。
[0057] 本实施例构建的N叉数参见图4,根据N叉树对每个字符进行编码的编码结果为:E:0,D:11,C:10,A:1100,B:1101。
[0058] 在上述示例中,通过CDAB节点构建三个分支,即三叉树,改变分层本身编码的同时,改变了CDAB节点所有分支以及所有子分支的字符的编码,隐藏了原始二叉树中字符与编码的对应关系,即对原始字符信息进行加密。
[0059] 104.对每个字符的第一编码进行更新,获取每个字符的第二编码。
[0060] 需要说明的时,构建N叉树,改变霍夫曼二叉树的结构,实现字符与编码对应关系的隐藏。但是在构建的N叉树中,可能存在第一编码重复的情况。图5为本实施例构建的一个N叉树示意图,在图5所示的N叉树中,字符G和字符C的第一编码都表示为100,即根据所构建的N叉树直接进行编码时存在第一编码重复的问题,为获得字符与第一编码的唯一对应关系,需进行以下操作:
[0061] a.存在不同字符对应相同第一编码时,此时对其中一个字符的第一编码进行调R R整,已知相同的第一编码的长度为R,此时由“0”“1”构成的R位编码共有2 种组合方式,从2中组合方式中选择与当前所有字符的第一编码不重复的编码组合,作为上述具有相同的第一编码的其中一个字符对应的第一编码,即使得不同字符对应不同的第一编码。
[0062] b.但是一般所构建的N叉树每一层的分支以及对应子分支的数量不一致,所以无R法保证2 种编码组合方式中存在与当前所有字符的第一编码不重复的编码组合,所以需要根据R进行第一编码长度的调整,首先为减少字符对应第一编码的长度,在R‑1位编码组合种选择与当前所有第一编码不重复的编码组合,作为上述具有相同的第一编码的其中一个字符对应的第一编码。特殊地,在减少R仍无法获得字符对应的第一编码时,则逐步增加R,直至获得所需的字符的第一编码。上述步骤中,先减少R进行编码组合的筛选,为尽量减少对应字符的第一编码长度,从而减少原始信息编码量,便于数据的传输。
[0063] 需要说明的是,上述步骤首先解决了所构建的N叉树存在字符的第一编码重复的问题,获得所有字符与第一编码的唯一对应关系;并且在改变不同字符对应相同的第一编码时,通过减少第一编码长度实现编码数据量的减少,便于加工参数的传输。
[0064] 由于每个字符的第一编码的长度不同,为确保后续解密过程中可对不同长度的第一编码进行解密,需要根据每个字符的第一编码长度增加标识符。
[0065] 在本实施例中,标识符的获取方法如下:
[0066] 在完成N叉树的构建后,获得了字符与第一编码的对应关系,首先统计所有字符的第一编码的长度,赋予每个字符一个标识符,用来表示每个字符的第一编码的长度。但是每个字符的标识符的长度取决于所有字符的第一编码的长度的种类,此时可能由于所有字符的第一编码的长度的种类过多导致每个字符的标识符的长度过长,不利于密文数据的传输。但是所有字符不同长度的第一编码的概率不同,此时可利用常规的霍夫曼编码,对每个字符的第一编码的长度进行编码,获得每个字符的标识符,用来表示每个字符的第一编码的长度。
[0067] 将每个字符的标识符与第一编码拼接作为每个字符的第二编码。
[0068] 至此,获取了每个字符的第二编码。
[0069] 105.获取密文数据以及密钥。
[0070] 利用每个字符的第二编码对明文序列中所有字符进行编码构成密文数据。将每个字符与第一编码的对应关系作为第一密钥,将第一编码的长度与标识符的对应关系作为第二密钥。
[0071] 至此,通过构建N叉树实现了加工参数的加密,隐藏字符与编码的对应关系,使得数据更加安全,加密效果更好。
[0072] 对应的,对密文数据进行解密的过程为:
[0073] 在密文数据中,从起点开始,首先在第二密钥中查找标识符对应的第一编码的长度Y,然后根据第一编码的长度Y在密文数据中获取第一编码,接着在第一密钥中查找第一编码对应的字符,作为当前第一编码的解密结果。
[0074] 至此,完成了加工参数的加密和解密。
[0075] 106.利用无线通信网络对密文数据以及密钥进行传输管理。
[0076] 将对加工参数加密后的密文数据和密钥统一传输,即在企业实验室获得加工参数后,由实验室对加工参数数据进行加密,加密后的密文数据由实验室发送至企业数据管理平台,企业数据管理平台接收到密文数据后利用密钥对密文数据进行解密得到加工参数。企业数据管理平台对加工参数进行查看以及备份处理。为了进一步保证加工参数的安全性,企业数据管理平台对加工参数重新加密,获得新的密文数据以及密钥。
[0077] 在生产线需要加工参数时,企业数据管理平台将新的密文数据发送到生产线,此时生产线也同时获得了新的密钥。生产线利用密钥对所接收的密文数据进行解密,获得原始的加工参数。
[0078] 需要说明的是,企业数据管理平台可对不同生产线需要的加工参数分别进行加密,从而保证不同生产线接收到不同的密文数据以及密钥。使得不同生产线无法解密其他生产线的密文数据,如此实现了密文数据不同权限的管理,进一步提高了加工参数的安全性。
[0079] 本发明实施例通过调整明文字符概率,使得概率序列存在更多的相等的概率,从而获得更多编码与字符的对应组合方式,便于字符编码对应关系的隐藏;然后针对多个最小概率组合构造N叉树,同一层N个分支直接破坏原始二叉树的结构,同时各分支对应包含的子分支所在的层数发生变化,从而导致所有子分支的所有字符编码信息改变,即子分支编码对于所在分支在霍夫曼树中的层数具有高敏感性,所以通过构建N叉树对隐藏字符编码信息具有高效性;并且通过不固定每一分层的分支数量,实现N叉树分支的多样性,便于隐藏分支与字符概率的对应关系,从而提高加密效果。最后,对不同发送端的数据分别进行加密,从而保证数据发送端与接收端的对应匹配,即利用不同密钥与密文的匹配对加工参数进行不同权限的管理,通过这种密钥的管理方法提高无线网络中数据传输安全性。
[0080] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。