发明内容
本发明提供一种云计算数据的远程加密传输方法,用于解决现有方法对数据进行加密可靠性较低的问题,所采用的技术方案具体如下:
本发明实施例提供了一种云计算数据的远程加密传输方法包括以下步骤:
获取待加密传输的数据序列;对所述数据序列进行切分,得到各子数据块;对各子数据块进行二进制编码,得到各子数据块对应的二进制编码序列;
根据各子数据块在所述数据序列中的出现频次以及各子数据块在所述数据序列中的位置,得到各子数据块对应的重要程度;根据所述重要程度,对各子数据块对应的二进制编码序列进行增维处理,得到各子数据块对应的目标二进制编码序列;
对各子数据块对应的目标二进制编码序列进行分组,得到各子数据块对应的目标二进制编码序列对应的各子二进制编码序列;根据各子二进制编码序列在对应目标二进制编码序列中的位置,得到各子二进制编码序列的标识位;
根据各子数据块对应的子二进制编码序列的数量、对应的各子二进制编码序列以及对应的各子二进制编码序列的标识位,得到所述数据序列对应的层数以及各层中的各比特块;所述比特块是由子二进制编码序列以及对应子二进制编码序列的标识位构建的;一个比特块对应一个子二进制编码序列;
获得所述各层对应的比特块序列和各层对应的混沌序列;利用各层对应的混沌序列对对应层对应的比特块序列中的各比特块进行置乱,得到各层对应的目标比特块序列。
优选的,得到各子数据块对应的重要程度的方法,包括:
将相同的子数据块归为一类,得到各子数据块类别;
获取语料库中的各数据序列以及语料库中数据序列的总数量,将语料库中的数据序列记为先验数据序列;
对于任一子数据块类别中的任一子数据块:根据所述数据序列中子数据块的总数量、该子数据块对应的子数据块类别中子数据块的数量、语料库中先验数据序列的总数量以及语料库中出现该子数据块的先验数据序列的数量,得到该子数据块对应的第一重要程度;将该子数据块对应的第一重要程度作为该子数据块对应的子数据块类别中各子数据块对应的第一重要程度;
构建所述数据序列对应的函数方程
,其中,
为自变量,
的取值
范围为
,
为因变量,
的取值范围为
,g、h以及k为自适应参数,
为待加密传输
的数据序列中子数据块的总数量;
将所述数据序列中第m个子数据块的编号记为m,将所述m作为所述函数方程的自变量值代入到所述函数方程中,将所述函数方程输出的结果记为所述数据序列中的第m个子数据块对应的第二重要程度。
优选的,根据如下公式计算该子数据块对应的第一重要程度:
其中,
为该子数据块对应的第一重要程度,
为该子数据块对应的子数据块类
别中子数据块的数量,
为待加密传输的数据序列中子数据块的总数量,
为语料库中先验
数据序列的总数量,
为语料库中出现该子数据块的先验数据序列的数量,
函数的
底数大于0小于1。
优选的,得到各子数据块对应的目标二进制编码序列的方法,包括:
对于所述数据序列中的任一子数据块:
根据该子数据块对应的第一重要程度、该子数据块对应的第二重要程度以及所述数据序列中各子数据块对应的二进制编码序列长度值中的最大值,得到该子数据块对应的第一次增维长度;
在该子数据块对应的二进制编码序列的最前面补上与对应第一次增维长度相等长度的0序列,并记为该子数据块第一次增维后的二进制编码序列;
判断该子数据块第一次增维后的二进制编码序列的长度是否为2的倍数,若是,则不对该子数据块第一次增维后的二进制编码序列进行第二次增维,并将该子数据块第一次增维后的二进制编码序列记为该子数据块对应的目标二进制编码序列;否则,则对该子数据块第一次增维后的二进制编码序列进行第二次增维,在该子数据块第一次增维后的二进制编码序列的最前面补上一个0,记为该子数据块对应的目标二进制编码序列。
优选的,根据如下公式计算该子数据块对应的第一次增维长度:
其中,
为该子数据块对应的第一次增维长度,
为待加密传输的数据序列
中的各子数据块对应的二进制编码序列长度值中的最大值,
为该子数据块对应的第二
重要程度,
为该子数据块对应的第一重要程度,
为以自然常数e为底的指数函数,
为取整符号。
优选的,得到各子数据块对应的目标二进制编码序列对应的各子二进制编码序列和各子二进制编码序列的标识位的方法,包括:
对于所述数据序列中的任一子数据块:
从该子数据块对应的目标二进制编码序列中的初始参数开始以预设长度为单位长度对该子数据块对应的目标二进制编码序列进行均匀分段,得到各子数据块对应的目标二进制编码序列中的各子二进制编码序列;
将该子数据块中的最后一个子二进制编码序列的标识位记为0,将除该子数据块中的最后一个子二进制编码序列之外的其余子二进制编码序列的标识位记为1。
优选的,得到所述数据序列对应的层数以及各层中的各比特块的方法,包括:
获取所述数据序列中的各子数据块对应的子二进制编码序列的数量,将各子数据块对应的子二进制编码序列的数量的最大值,记为所述数据序列对应的层数,记为M0;
根据各子数据块对应的各子二进制编码序列以及各子二进制编码序列的标识位,构建得到各子数据块对应的各比特块;一个比特块对应一个子二进制编码序列以及该子二进制编码序列的标识位,各子数据块对应的比特块的数量与各子数据块对应的子二进制编码序列的数量相同;
按照各子数据块在所述数据序列中的位置,依次对待加密传输的数据序列中的各子数据块进行标注,得到待加密传输的数据序列中的各子数据块的序号;
按照各子数据块的序号依次将各子数据块对应的第1个比特块放置到所述数据序列对应的第1层中;将各子数据块对应的比特块的数量大于1的子数据块记为第1子数据块,按照各第1子数据块的序号依次将各第1子数据块对应的第2个比特块放置到所述数据序列对应的第2层中;以此类推,将各子数据块对应的比特块的数量大于M0-1的子数据块记为第M0-1子数据块,按照各第M0-1子数据块的序号依次将各第M0-1子数据块对应的第M0个比特块放置到所述数据序列对应的第M0层中,得到所述数据序列对应的各层对应的各比特块。
优选的,获得所述各层对应的比特块序列和各层对应的混沌序列;利用各层对应的混沌序列对对应层对应的比特块序列中的各比特块进行置乱,得到各层对应的目标比特块序列的方法,包括:
根据各层中的各比特块的位置,构建得到各层对应的比特块序列,所述各层对应的比特块序列中的第j个比特块为对应层中的第j比特块;
利用混沌映射生成各层对应的混沌序列;
根据各层对应的混沌序列和变步长约瑟夫遍历对对应层对应的比特块序列中的各比特块进行置乱,得到各层对应的目标比特块序列。
有益效果:本发明首先获取待加密传输的数据序列,并对数据序列进行切分,得到各子数据块;由于数据序列中的各子数据块对于所述数据序列的重要程度是不同的,而重要程度较高的子数据块不能被轻易的破解出来,因此本发明依据各子数据块在数据序列中的出现频次以及各子数据块在数据序列中的位置,得到各子数据块对应的重要程度,然后基于重要程度实现对各子数据块的增维处理,通过对各子数据块的增维处理提高了较重要数据的破解难度,并且增加了较重要数据的迷惑性;紧接着本发明又依据获得的各子数据块对应的子二进制编码序列的数量、对应的各子二进制编码序列以及对应的各子二进制编码序列的标识位,得到所述数据序列对应的层数以及各层对应的比特块序列,然后本发明又基于获得的各层对应的混沌序列对各层对应的比特块序列中的各比特块进行置乱,本发明通过对各层对应的比特块序列进行置乱,实现了对待加密传输的数据序列的多级加密,进一步增加了数据的私密性,提高了破解的难度,即提高了对待加密传输的数据序列进行加密的可靠程度。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明实施例,本领域普通技术人员所获得的所有其它实施例,都属于本发明实施例保护的范围。
除非另有定义,本文所使用的所有的技术和科学技术术语与属于本发明的技术人员通常理解的含义相同。
本实施例提供了一种云计算数据的远程加密传输方法,详细说明如下:
如图1所示,该云计算数据的远程加密传输方法,包括以下步骤:
步骤S001,获取待加密传输的数据序列;对所述数据序列进行切分,得到各子数据块;对各子数据块进行二进制编码,得到各子数据块对应的二进制编码序列。
本实施例主要是对数据进行加密,防止有用或私有化信息被拦截和窃取;由于传统的数据加密方法是通过对数据进行置乱来实现对数据的加密,但是传统的数据置乱方法仅仅改变了数据的位置信息,无法隐藏关键信息,会导致相似性较大的数据的置乱效果较差;因此本实施例提出了一种云计算数据的远程加密传输方法,该方法通过对待加密传输的数据序列进行增维,并通过对增维后的数据进行添加标识位以及多级置乱的方式来实现对待加密传输的数据序列的加密,可以提高破解的难度,防止有用或私有化信息被拦截和窃取。
本实施例中首先获取待加密传输的数据序列;所述数据序列的类型包括文本数据序列、英文字符数据序列与常规数字数据序列;然后对待加密传输的数据序列进行切分,得到待加密传输的数据序列对应的各子数据序列;将所述子数据序列记为子数据块;所述切分规则为:若待加密传输的数据序列为文本数据序列,则根据语料库对待加密传输的数据序列进行切分,即将数据序列与语料库中的词语进行匹配,对数据序列中与语料库中的词语匹配上的词进行切分,切分后的子数据块可能是一个字也可能是一个词语;若待加密传输的数据序列为英文字符数据序列或者常规数字数据序列,则根据待加密传输的数据序列中的空格待加密传输的数据序列进行切分,即将两个空格之间的数字或者英文单词切分到一起。
由于计算机在进行数据传输时只能识别0或1的数字,故在进行数据传输之前对各子数据块进行二进制编码,得到各子数据块对应的二进制编码序列。
步骤S002,根据各子数据块在所述数据序列中的出现频次以及各子数据块在所述数据序列中的位置,得到各子数据块对应的重要程度;根据所述重要程度,对各子数据块对应的二进制编码序列进行增维处理,得到各子数据块对应的目标二进制编码序列。
本实施例步骤S001中得到了待加密传输的数据序列对应的各子数据块以及各子数据块对应的二进制编码序列,紧接着分析各子数据块对应的重要程度,然后依据子数据块对应的重要程度,对各子数据块对应的二进制编码序列进行第一次增维,增加重要程度较高的子数据块的迷惑性,提高了攻击者破解的难度,防止有用或私有化信息被拦截和窃取;但是后续为了实现多级加密,进一步的提高破解的难度,需要判断第一次增维后的各子数据块对应的二进制编码序列是否需要进行第二次增维,并对增维处理后的各子数据块对应的二进制编码序列进行分段,以便于实现后续的多级加密。
(a)得到各子数据块对应的重要程度的具体过程为:
由于任一子数据块在该数据序列中出现的频次越多,且语料库中出现该子数据块的数据序列越少,表明该子数据块对于待加密传输的数据序列越重要,若该子数据块重要程度越高,表明该子数据块越不能被轻易的破解出来;因此本实施例首先将相同的子数据块归为一类,得到各子数据块类别;获取语料库中的各数据序列以及语料库中数据序列的总数量,将语料库中的数据序列记为先验数据序列;对于任一子数据块类别中的任一子数据块:根据待加密传输的数据序列中子数据块的总数量、该子数据块对应的子数据块类别中子数据块的数量、语料库中先验数据序列的总数量以及语料库中出现该子数据块的先验数据序列的数量,得到该子数据块对应的第一重要程度,即该子数据块在待加密传输的数据序列中的第一重要程度;根据如下公式计算该子数据块对应的第一重要程度:
其中,
为该子数据块对应的第一重要程度,
为该子数据块对应的子数据块类
别中子数据块的数量,
为待加密传输的数据序列中子数据块的总数量,
为语料库中先验
数据序列的总数量,
为语料库中出现该子数据块的先验数据序列的数量,
函数的
底数大于0小于1;
越大,表明该子数据块在待加密传输的数据序列中的越重要,即越不能
被轻易破解出来;
越大,
越小,表明
越大。
因此通过上述过程得到了该子数据块对应的第一重要程度,由于该子数据块对应的子数据块类别中子数据块与该子数据块相同,因此将该子数据块对应的第一重要程度作为该子数据块对应的子数据块类别中各子数据块对应的第一重要程度;即子数据块类别中各子数据块在待加密传输的数据序列中的第一重要程度相同;因此得到了待加密传输的数据序列中的各子数据块对应的第一重要程度。
紧接着根据待加密传输的数据序列中的各子数据块的位置,得到待加密传输的数
据序列中的各子数据块对应的第二重要程度;根据先验知识可以知道,通常情况下待加密
传输的数据序列中首尾的子数据块的重要程度较高;所述待加密传输的数据序列中第m个
子数据块的编号为m;因此本实施例构建待加密传输的数据序列对应的函数方程
,其中,
为自变量,
的取值范围为
,
为因变量,
的取值范围为
,g、h以及k分别为自适应参数,所述g、h以及k需要根据实际情况设置,但是所设置的g、
h以及k需要使得
的取值范围为
以及
的取值范围为
,并且不同的待加密传输的
数据序列对应的g、h以及k的值不同;然后将待加密传输的数据序列中的第m个子数据块在
所述数据序列中的编号代入到对应的函数方程中,即此时自变量的值为m,将函数方程输出
的结果记为待加密传输的数据序列中的第m个子数据块对应的第二重要程度,即该子数据
块在待加密传输的数据序列中的第二重要程度;因此通过上述过程得到了待加密传输的数
据序列中的各子数据块对应的第二重要程度。
作为其它的实施方式,也可以根据实际情况得到待加密传输的数据序列中的各子数据块对应的第二重要程度,例如基于待加密传输的数据序列中首尾的子数据块的重要程度较高的特点,然后通过人工对待加密传输的数据序列中的各子数据块对应的第二重要程度进行标注。
(b)得到各子数据块对应的目标二进制编码序列的具体过程为:
本实施例要求重要程度越高数据的私密性要越强,即重要程度越高的数据越不能被轻易的破解出来,因此本实施例通过增加重要程度较高数据的长度来增强破解的难度,即对各子数据块对应的二进制编码序列进行增维处理;本实施例根据上述过程得到的各子数据块对应的第一重要程度、各子数据块对应的第二重要程度以及各子数据块对应的二进制编码序列长度值中的最大值,得到各子数据块对应的第一次增维长度;对于待加密传输的数据序列中的任一子数据块,根据如下公式计算该子数据块对应的第一次增维长度:
其中,
为该子数据块对应的第一次增维长度,
为待加密传输的数据序列
中的各子数据块对应的二进制编码序列长度值中的最大值,
为该子数据块对应的第二
重要程度,
为该子数据块对应的第一重要程度,
为以自然常数e为底的指数函数,
为取整符号;
越大,
越大,表明该子数据块越重要,则表明第一次增维后的该子数
据块对应的二进制编码序列的长度与第一次增维前该子数据块对应的二进制编码序列的
长度之间的差值越大,即
的值越大。
本实施例中通过上述过程得到了该子数据块对应的第一次增维长度;然后在该子
数据块对应的二进制编码序列的最前面补上与对应第一次增维长度相等长度的0序列,并
记为该子数据块第一次增维后的二进制编码序列,且
,其中,
为该子数据块第
一次增维后的二进制编码序列,
为该子数据块对应的二进制编码序列;例如该子数据块
对应的二进制编码序列为{1,1,0,1,0,1},且
为5,则该子数据块第一次增维后的二进制
编码序列为{0,0,0,0,0,1,0,1,0,1,0,1}。因此本实施例按照上述过程可以得到待加密传
输的数据序列中的各子数据块第一次增维后的二进制编码序列。
紧接着判断待加密传输的数据序列中的各子数据块第一次增维后的二进制编码
序列是否需要进行第二次增维;对于待加密传输的数据序列中的任一子数据块,将该子数
据块第一次增维后的二进制编码序列的长度记为
,判断
是否为2的倍数,若是,则不对
该子数据块第一次增维后的二进制编码序列进行第二次增维,并将该子数据块第一次增维
后的二进制编码序列记为该子数据块对应的目标二进制编码序列;否则,则对该子数据块
第一次增维后的二进制编码序列进行第二次增维,即在该子数据块第一次增维后的二进制
编码序列的最前面补上一个0,将补上一个0之后的该子数据块第一次增维后的二进制编码
序列记为该子数据块对应的目标二进制编码序列;因此通过上述过程得到了待加密传输的
数据序列中的各子数据块对应的目标二进制编码序列。
步骤S003,对各子数据块对应的目标二进制编码序列进行分组,得到各子数据块对应的目标二进制编码序列对应的各子二进制编码序列;根据各子二进制编码序列在对应目标二进制编码序列中的位置,得到各子二进制编码序列的标识位。
本实施例步骤S003得到的待加密传输的数据序列中的各子数据块对应的目标二进制编码序列的长度均为2的倍数;因此对于任一子数据块:从该子数据块对应的目标二进制编码序列中的初始参数开始以预设长度为单位长度对该子数据块对应的目标二进制编码序列进行均匀分段,得到各子数据块对应的目标二进制编码序列中的各子二进制编码序列;所述各子二进制编码序列均为2,即所述预设长度的值为2;然后将该子数据块中的最后一个子二进制编码序列的标识位记为0,即标识位为0的子二进制编码序列是该子数据块对应的目标二进制编码序列中的最后一个参数所在位置,表明在该子数据块对应的目标二进制编码序列中标识位为0的子二进制编码序列的后面没有数据存在;将除该子数据块中的最后一个子二进制编码序列之外的其余子二进制编码序列的标识位记为1;且添加标识位的目的是便于后续进行数据还原或者解码。
例如,任意一个子数据块对应的目标二进制编码序列为{0,0,0,0,0,1,0,1,0,1,0,1},则依次得到的该子数据块对应的各子二进制编码序列分别为:该子数据块中的第1个子二进制编码序列为{0,0}、第2个子二进制编码序列为{0,0}、第3个子二进制编码序列为{0,1}、第4个子二进制编码序列为{0,1}、该第5个子二进制编码序列为{0,1}以及第6个子二进制编码序列为{0,1},其中,该子数据块对应的第6个子二进制编码序列中包含该子数据块对应的目标二进制编码序列中的最后一个参数,因此第6个子二进制编码序列的标识位为0,其余5个子二进制编码序列的标识位为1。
因此通过上述过程得到了待加密传输的数据序列中的对应的目标二进制编码序列中的各子二进制编码序列以及各子二进制编码序列的标识位。
步骤S004,根据各子数据块对应的子二进制编码序列的数量、对应的各子二进制编码序列以及对应的各子二进制编码序列的标识位,得到所述数据序列对应的层数以及各层中的各比特块;所述比特块是由子二进制编码序列以及对应子二进制编码序列的标识位构建的;一个比特块对应一个子二进制编码序列。
本实施例中步骤S003得到了各子数据块对应的各子二进制编码序列以及各子二进制编码序列的标识位,紧接着本实施例依据各子数据块对应的子二进制编码序列的数量、对应的各子二进制编码序列以及对应的各子二进制编码序列的标识位,得到所述数据序列对应的层数以及各层中的各比特块,后续分别对每一层的各比特块进行置乱,实现多级置乱的目的,提高破解的难度,实现对重要程度较高数据的隐藏;具体为:
首先获取待加密传输的数据序列中的各子数据块对应的子二进制编码序列的数量,将各子数据块对应的子二进制编码序列的数量的最大值,记为所述数据序列对应的层数,记为M0;根据各子数据块对应的各子二进制编码序列以及各子二进制编码序列的标识位,构建得到各子数据块对应的各比特块;且一个比特块对应一个子二进制编码序列以及该子二进制编码序列的标识位,各子数据块对应的比特块的数量与各子数据块对应的子二进制编码序列的数量相同,一层中一个子数据块最多放置一个比特块。
按照各子数据块在所述数据序列中的位置,依次对待加密传输的数据序列中的各子数据块进行标注,得到待加密传输的数据序列中的各子数据块的序号;由于得到的各子数据块对应的比特块的数量均大于1,因此按照各子数据块的序号依次将各子数据块对应的第1个比特块放置到所述数据序列对应的第1层中;将各子数据块对应的比特块的数量大于1的子数据块记为第1子数据块,按照各第1子数据块的序号依次将各第1子数据块对应的第2个比特块放置到所述数据序列对应的第2层中;以此类推,将各子数据块对应的比特块的数量大于M0-1的子数据块记为第M0-1子数据块,按照各第M0-1子数据块的序号依次将各第M0-1子数据块对应的第M0个比特块放置到所述数据序列对应的第M0层中;因此按照上述过程得到了所述数据序列对应的各层对应的各比特块。
例如,若待加密传输的数据序列为X={4,2,10,21},其中,4、2、10、21为数据序列X对应的第1、2、3、4个子数据块;第1个子数据块对应的二进制编码序列为{1,0,0},若第1个子数据块对应的目标二进制编码序列为{0,1,0,0},则第1个子数据块对应的子二进制编码序列的数量为2,即第1个子数据块对应的第1个子二进制编码序列为{0,1}、第2个子二进制编码序列为{0,0},且第1个子二进制编码序列{0,1}的标识位为1,第2个子二进制编码序列{0,0}的标识位为0,则第1个子数据块对应的第1个比特块由第1个子二进制编码序列{0,1}以及对应标识位构成,第1个子数据块对应的第2个比特块由第2个子二进制编码序列{0,0}以及对应标识位构成;第2个子数据块对应的二进制编码序列为{1,0},若第2个子数据块对应的目标二进制编码序列也为{0,1},则第2个子数据块对应的子二进制编码序列的数量为1,即子二进制编码序列为{0,1},且子二进制编码序列{0,1}的标识位为0,则第2个子数据块对应1个比特块,该比特块由子二进制编码序列{0,1}以及对应标识位组成;第3个子数据块对应的二进制编码序列为{1,0,1,0},若第3个子数据块对应的目标二进制编码序列为{1,0,1,0},则第3个子数据块对应的子二进制编码序列的数量为2,即第3个子数据块对应的第1个子二进制编码序列为{1,0}、第2个子二进制编码序列为{1,0},且第1个子二进制编码序列{0,1}的标识位为1,第2个子二进制编码序列{1,0}的标识位为0,则第3个子数据块对应的第1个比特块由第1个子二进制编码序列{1,0}以及对应标识位构成,第3个子数据块对应的第2个比特块由第2个子二进制编码序列{1,0}以及对应标识位构成;第4个子数据块对应的二进制编码序列为{1,0,1,0,1},若第4个子数据块对应的目标二进制编码序列为{0,1,0,1,0,1},则第4个子数据块对应的子二进制编码序列的数量为3,即第4个子数据块对应的第1个子二进制编码序列为{0,1}、第2个子二进制编码序列为{0,1}以及第3个子二进制编码序列为{0,1},且第1个子二进制编码序列{0,1}的标识位为1,第2个子二进制编码序列{0,1}的标识位为1,第3个子二进制编码序列{0,1}的标识位为0,则第4个子数据块对应的第1个比特块由第1个子二进制编码序列{0,1}以及对应标识位构成,第4个子数据块对应的第2个比特块由第2个子二进制编码序列{0,1}以及对应标识位构成,第4个子数据块对应的第3个比特块由第3个子二进制编码序列{0,1}以及对应标识位构成。因此数据序列X对应的层数为3,第1个子数据块对应的比特块的数量为2,第2个子数据块对应的比特块的数量为1,第3个子数据块对应的比特块的数量为2,第4个子数据块对应的比特块的数量为3;然后将第1个子数据块对应的第1个比特块放置到第1层中的序号为1的位置处,将第1个子数据块对应的第2个比特块放置到第2层中的序号为1的位置处;将第2个子数据块对应的第1个比特块放置到第1层中的序号为2的位置处;将第3个子数据块对应的第1个比特块放置到第1层中的序号为3的位置处,将第3个子数据块对应的第2个比特块放置到第2层中的序号为2的位置处;将第4个子数据块对应的第1个比特块放置到第1层中的序号为4的位置处,将第4个子数据块对应的第2个比特块放置到第2层中的序号为3的位置处,将第4个子数据块对应的第3个比特块放置到第3层中的序号为1的位置处。
步骤S005,获得所述各层对应的比特块序列和各层对应的混沌序列;利用各层对应的混沌序列对对应层对应的比特块序列中的各比特块进行置乱,得到各层对应的目标比特块序列。
本实施例步骤S004得到了数据序列对应的层数以及各层中的各比特块对应的子二进制编码序列以及对应子二进制编码序列的标识位;紧接着本实施例需要对各层进行置换,首先本实施例根据各层中的各比特块的位置,构建得到各层对应的比特块序列,且各层对应的比特块序列中的第j个比特块为对应层中的第j比特块;然后利用混沌映射生成各层对应的混沌序列;后续利用混沌序列实现对各层比特块的置乱;获得各层对应的混沌序列的具体过程为:
本实施例使用的混沌映射类型为映射,
映射是一种典型的混沌映射,模型
为:
其中,
为可控参数,
表示混沌序列中的第n个数,当
的值属于(
,
],系统
进入时混沌状态,将产生
之间的混沌序列,
为
之间随机选取的一个值,
为
之间随机选取的一个值;然后将参数
对应的Logistic混沌映射模型迭代
次;并且为了防止混沌序列与原始子段排序相似程度高,将混沌序列的前p项去
掉;此时获取的混沌序列是
之间的混沌序列,将其投影到适用于子段排序序列的区间,
即将得到的混沌序列每一个数乘以
并向下取整,得到区间范围为
的混沌序列;因此
按照上述方式为各层设置不同的可控参数,根据各层数对应的可控参数,得到各层对应的
混沌序列,所述可控参数包括
、
以及
,所述各层对应的可控参数也是各层对应的密钥,
且每层生成混沌序列时设置的可控参数的值不同,但是需要保证各层对应的混沌序列的长
度加1后的值与各层对应的比特块的数量相同。
接下来利用各层对应的混沌序列对各层对应的比特块序列进行置乱,由于混沌序
列中会存在相同的数,若将混沌序列中各参数的值与对应比特块序列中的序号进行一一对
应,会存在一对多的情况,为了防止一对多的情况发生,本实施例采用变步长约瑟夫遍历对
各层对应的比特块序列进行置乱,具体为:对于任一层对应的比特块序列,按照顺时针方向
将该层对应的比特块序列中的各比特块围成一个圆形,即将比特块序列中的各比特块放置
在一个圆形中,若该比特块序列中比特块的数量为5,则该比特块序列中的各比特块围成的
圆形如图2所示,该层对应的混沌序列为
,然后构建该层对应的目标序列,所述目标
序列中还未放置比特块;然后依据混沌序列
中的第一个参数可知第1次提取的为图
2中的第3个比特块,第2次提取的为图2中的第1个比特块,第3次提取的为图2中的第5个比
特块,第4次提取的为图2中的第4个比特块,最后一次提取的为图2中的第2个比特块;按照
提取的先后顺序将提取的比特块依次放置到构建的目标序列中,并记为该层对应的目标比
特块序列,且该目标比特块序列中的第1个比特块为对应比特块序列中的第3个比特块、目
标比特块序列中的第2个比特块为对应比特块序列中的第1个比特块、目标比特块序列中的
第3个比特块为对应比特块序列中的第5个比特块、目标比特块序列中的第4个比特块为对
应比特块序列中的第4个比特块以及目标比特块序列中的最后一个比特块为对应比特块序
列中的第2个比特块,并且目标比特块序列中比特块的数量与对应比特块序列中比特块的
数量相同;然后依据上述过程对各层对应的比特块序列进行置乱,因此通过上述过程实现
了对各层对应的比特块序列的置乱,实现了多级置乱,并且多级置乱可以进一步提高对重
要程度较高的子数据块的破解难度;后续依据各层对应的目标比特块序列进行传输。
本实施例为了保护数据的私密性,在获取密钥时要求人员级别越高所获取密钥越完整,即得到的数据越完整;因此根据用户的等级或者工作人员的等级得到对应的加密密钥;以最高等级的用户为例,最高等级的用户可获取完整的密钥,根据获取的密钥,生成对应的混沌序列,即得到各层对应的混沌序列,由于最高等级的用户获取的是完整的密钥,因此依据最高等级的用户获取到的完整的密钥,得到的各层对应的混沌序列,记为解密混沌序列,且各层对应的解密混沌序列与上述进行加密时得到的各层对应的混沌序列相等,因此依据各层对应的混沌序列对各层的加密的数据进行还原;还原原理为:
对于数据序列对应的任一层:设置该层对应的还原序列,此时还原序列中无比特
块,该层对应的目标比特块序列中比特块的数量为5,若得到的该层对应的解密混沌序列为
,该解密混沌序列中第1个参数为3,则将该层对应的目标比特块序列中的第1个比
特块放置到还原序列中序号为3的位置上;该解密混沌序列中第2个参数为1,则将该层对应
的目标比特块序列中的第2个比特块放置到还原序列中序号为1的位置上;该解密混沌序列
中第3个参数为3,则将该层对应的目标比特块序列中的第3个比特块放置到还原序列中序
号为5的位置上;该解密混沌序列中第4个参数为2,则将该层对应的目标比特块序列中的第
4个比特块放置到还原序列中序号为4的位置上;最后则将该层对应的目标比特块序列中的
最后一个比特块放置到还原序列中序号为2的位置上,将放置比特块的还原序列记为该层
对应的目标还原比特块序列;因此通过上述过程得到了各层对应的目标还原比特块序列;
然后继续进行解码,具体为:例如步骤S004列举的例子中,待加密传输的数据序列为X={4,
2,10,21},若对序列X中的第3个子数据块进行还原,由于第3个子数据块对应的第1个比特
块放置在第1层的第3个位置处,因此首先获取第1层中序号为3的比特块对应的子二进制编
码序列以及对应标识位,此时第1层中序号为3的比特块对应的子二进制编码序列的标识位
为1,且第1层中序号为2的比特块对应的子二进制编码序列的标识位为0以及序号为1的比
特块对应的子二进制编码序列的标识位为1,因此表明第1层中序号为3的比特块对应的子
二进制编码序列不是第3个子数据块中最后一个子二进制编码序列,需要在第二层继续搜
索,由于第1层中序号为3的比特块对应的子二进制编码序列的标识位以及序号为1的比特
块对应的子二进制编码序列的标识位都为1,则获取第二层中序号为2的比特块对应的子二
进制编码序列的标识位,此时第二层中序号为2的比特块对应的子二进制编码序列的标识
位为0,表明第2层中序号为2的比特块对应的子二进制编码序列是第3个子数据块中最后一
个子二进制编码序列,因此可以得到解密后第3个子数据块对应的目标二进制编码序列为
{1,0,1,0},然后依据增维的长度对第3个子数据块对应的目标二进制编码序列为{1,0,1,
0}进行降维,进而完成对第3个子数据块的解密。
本实施例首先获取待加密传输的数据序列,并对数据序列进行切分,得到各子数据块;由于数据序列中的各子数据块对于所述数据序列的重要程度是不同的,而重要程度较高的子数据块不能被轻易的破解出来,因此本实施例依据各子数据块在数据序列中的出现频次以及各子数据块在数据序列中的位置,得到各子数据块对应的重要程度,然后基于重要程度实现对各子数据块的增维处理,通过对各子数据块的增维处理提高了较重要数据的破解难度,并且增加了较重要数据的迷惑性;紧接着本实施例又依据获得的各子数据块对应的子二进制编码序列的数量、对应的各子二进制编码序列以及对应的各子二进制编码序列的标识位,得到所述数据序列对应的层数以及各层对应的比特块序列,然后本实施例又基于获得的各层对应的混沌序列对各层对应的比特块序列中的各比特块进行置乱,本实施例通过对各层对应的比特块序列进行置乱,实现了对待加密传输的数据序列的多级加密,进一步增加了数据的私密性,提高了破解的难度,即提高了对待加密传输的数据序列进行加密的可靠程度。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。