一种用于计算机系统的数据管理方法转让专利

申请号 : CN202310069742.9

文献号 : CN115795520B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 翟竟成刘圣银方胤中方琳徐琦

申请人 : 济南霍兹信息科技有限公司九江赣邦信息科技有限公司

摘要 :

本发明涉及用于数据安全保护的加密存储技术领域,具体涉及一种用于计算机系统的数据管理方法,包括:获取明文序列以及加密序列,在网格中随机选择顶点作为起点,将起点作为当前顶点,将明文序列中的元素作为当前顶点的顶点类型,根据顶点类型获取目标格,进一步得到新的当前顶点;根据加密序列中的在获取目标格的过程中嵌入干扰信息,最终得到网格连通图;根据网格连通图得到连通域和非连通域,根据连通域中包含的格子的数量以及网格中所有格子的数量对网格进行填充,得到密文图像。本发明密文图像复杂无规律,确保了敏感信息存储的安全性。

权利要求 :

1.一种用于计算机系统的数据管理方法,其特征在于,该方法包括以下步骤:将敏感数据转换为三进制数据,得到明文序列;根据明文序列的长度、预设第一长度以及预设第二长度获取加密序列;

设置初始值分别为1、预设第一长度以及1的计数器1、计数器2以及计数器3;

根据加密序列对明文序列进行加密操作,获取网格连通图,包括:

S1:在空白的网格中随机选择一个顶点作为起点,将起点作为当前顶点,执行S2;

S2:将明文序列中序号为计数器1的值的元素作为当前顶点的顶点类型,根据当前顶点的顶点类型在网格中获取目标格,当获取的目标格冲突时,执行S5,当获取的目标格不冲突时,执行S3;

S3:将位于目标格上且在当前顶点的顺时针方向上的下一个顶点作为新的当前顶点,计数器1加一,计数器2减一,执行S4;

S4:重复S2直到计数器2为0或计数器1大于明文序列的长度时停止;

当计数器2为0时,将加密序列中序号为计数器2的值的元素作为干扰个数,进行干扰嵌入操作,重复干扰嵌入操作,直到达到干扰个数次时停止迭代,将计数器2置为预设第一长度,将计数器3加一,执行S2;

当计数器1大于明文序列的长度时,进行目标格连通闭合操作,得到网格单连通图;将多个网格单连通图合并为一个网格连通图;结束加密操作;

S5:进行冲突修正操作,将计数器2置为预设第一长度;重复S1、S3直到得到网格连通图时停止迭代;

根据网格连通图获取连通域以及非连通域,根据连通域中包含的格子的数量以及网格中所有格子的数量获取连通域数值集合以及非连通域数值集合;根据连通域数值集合以及非连通域数值集合对网格进行填充,得到密文图像;

对密文图像进行存储,保护敏感数据的安全;

所述根据明文序列的长度、预设第一长度以及预设第二长度获取加密序列,包括的具体步骤如下:将明文序列的长度记为L,将预设第一长度记为k,将预设第二长度记为n,利用混沌映射获取混沌序列,将混沌序列后 个元素乘以n,并将所得结果向上取整,得到 个整数,构成加密序列,其中 为向下取整符号;

所述根据当前顶点的顶点类型在网格中获取目标格,包括的具体步骤如下:当顶点类型为0时,当前顶点为仅一个目标格的顶点;当顶点类型为1时,当前顶点为两个目标格的顶点,且两个目标格存在公共边;当顶点类型为2时,当前顶点为两个目标格的顶点,且两个目标格不存在公共边;

当顶点类型为0时,随机获取满足条件的一个格子作为目标格,当顶点类型为1 或2时,随机获取满足条件的两个格子作为目标格;

所述进行干扰嵌入操作,包括的具体步骤如下:

为当前顶点随机设置一个不冲突的顶点类型;将位于目标格上且在当前顶点的顺时针方向上的下一个顶点作为新的当前顶点;

所述进行目标格连通闭合操作,得到网格单连通图,包括的具体步骤如下:重复干扰嵌入操作,直到最终获得的当前顶点为起点时停止,从起点开始获取的所有目标格形成一个闭环,所述闭环为一个网格单连通图;

所述进行冲突修正操作,包括的具体步骤如下:

修改当前顶点的顶点类型,使根据当前顶点的顶点类型在网格中获取的目标格和之前的目标格不冲突,将位于目标格上且在当前顶点的顺时针方向上的下一个顶点作为新的当前顶点。

2.根据权利要求1所述的一种用于计算机系统的数据管理方法,其特征在于,所述根据网格连通图获取连通域以及非连通域,包括的具体步骤如下:将网格连通图中目标格形成的多个闭环作为连通域的边界,将每个闭环所围成的区域作为一个连通域,将所有连通域之外的区域作为非连通域。

3.根据权利要求1所述的一种用于计算机系统的数据管理方法,其特征在于,所述根据连通域中包含的格子的数量以及网格中所有格子的数量获取连通域数值集合以及非连通域数值集合,包括的具体步骤如下:获取所有连通域中包含的格子的数量N,以及网格中所有格子的数量M,在0到255中无放回的随机选择 个数,构成连通域数值集合;剩余的255‑ 个数构成非连通域数值集合,其中 为四舍五入取整符号。

4.根据权利要求1所述的一种用于计算机系统的数据管理方法,其特征在于,所述根据连通域数值集合以及非连通域数值集合对网格进行填充,得到密文图像,包括的具体步骤如下:在连通域数值集合中有放回的随机选择N个数值填入到网格的连通域中每个位置;在非连通域数值集合中有放回的随机选择M个数值填入到网格的非连通域的每个位置;将填入数值后网格连通图作为密文图像。

说明书 :

一种用于计算机系统的数据管理方法

技术领域

[0001] 本发明涉及数据加密存储技术领域,具体涉及一种用于计算机系统的数据管理方法。

背景技术

[0002] 随着计算机的普及以及计算机技术的发展,越来越多的数据包含符号、文字、数字、语音、图像、视频等,都需要在计算机上进行处理以及存储。对于敏感数据如隐私数据、商业机密数据等,在进行存储时,需要进行加密以确保敏感数据的安全性。
[0003] 现有的加密算法如AES、DES等针对相同的数据,加密结果也相同,易被统计分析攻击。为确保加密结果中无统计规律,则需频繁更换加密密钥,不利于密钥的管理。

发明内容

[0004] 本发明提供一种用于计算机系统的数据管理方法,以解决现有的问题。
[0005] 本发明的一种用于计算机系统的数据管理方法采用如下技术方案:
[0006] 本发明一个实施例提供了一种用于计算机系统的数据管理方法,该方法包括以下步骤:
[0007] 将敏感数据转换为三进制数据,得到明文序列;根据明文序列的长度、预设第一长度以及预设第二长度获取加密序列;
[0008] 设置初始值分别为1、预设第一长度以及1的计数器1、计数器2以及计数器3;
[0009] 根据加密序列对明文序列进行加密操作,获取网格连通图,包括:
[0010] S1:在空白的网格中随机选择一个顶点作为起点,将起点作为当前顶点,执行S2;
[0011] S2:将明文序列中序号为计数器1的值的元素作为当前顶点的顶点类型,根据当前顶点的顶点类型在网格中获取目标格,当获取的目标格冲突时,执行S5,当获取的目标格不冲突时,执行S3;
[0012] S3:将位于目标格上且在当前顶点的顺时针方向上的下一个顶点作为新的当前顶点,计数器1加一,计数器2减一,执行S4;
[0013] S4:重复S2直到计数器2为0或计数器1大于明文序列的长度时停止;
[0014] 当计数器2为0时,将加密序列中序号为计数器2的值的元素作为干扰个数,进行干扰嵌入操作,重复干扰嵌入操作,直到达到干扰个数次时停止迭代,将计数器2置为预设第一长度,将计数器3加一,执行S2;
[0015] 当计数器1大于明文序列的长度时,进行目标格连通闭合操作,得到网格单连通图;将多个网格单连通图合并为一个网格连通图;结束加密操作;
[0016] S5:进行冲突修正操作,将计数器2置为预设第一长度;重复S1、S3直到得到网格连通图时停止迭代;
[0017] 根据网格连通图获取连通域以及非连通域,根据连通域中包含的格子的数量以及网格中所有格子的数量获取连通域数值集合以及非连通域数值集合;根据连通域数值集合以及非连通域数值集合对网格进行填充,得到密文图像;
[0018] 对密文图像进行存储,保护敏感数据的安全。
[0019] 优选的,所述根据明文序列的长度、预设第一长度以及预设第二长度获取加密序列,包括的具体步骤如下:
[0020] 将明文序列的长度记为L,将预设第一长度记为k,将预设第二长度记为n,利用混沌映射获取混沌序列,将混沌序列后 个元素乘以n,并将所得结果向上取整,得到 个整数,构成加密序列,其中 为向下取整符号。
[0021] 优选的,所述根据当前顶点的顶点类型在网格中获取目标格,包括的具体步骤如下:
[0022] 当顶点类型为0时,当前顶点为仅一个目标格的顶点;当顶点类型为1时,当前顶点为两个目标格的顶点,且两个目标格存在公共边;当顶点类型为2时,当前顶点为两个目标格的顶点,且两个目标格不存在公共边;
[0023] 当顶点类型为0时,随机获取满足条件的一个格子作为目标格,当顶点类型为1 或2时,随机获取满足条件的两个格子作为目标格。
[0024] 优选的,所述进行干扰嵌入操作,包括的具体步骤如下:
[0025] 为当前顶点随机设置一个不冲突的顶点类型;将位于目标格上且在当前顶点的顺时针方向上的下一个顶点作为新的当前顶点。
[0026] 优选的,所述进行目标格连通闭合操作,得到网格单连通图,包括的具体步骤如下:
[0027] 重复干扰嵌入操作,直到最终获得的当前顶点为起点时停止,从起点开始获取的所有目标格形成一个闭环,所述闭环为一个网格单连通图。
[0028] 优选的,所述进行冲突修正操作,包括的具体步骤如下:
[0029] 修改当前顶点的顶点类型,使根据当前顶点的顶点类型在网格中获取的目标格和之前的目标格不冲突,将位于目标格上且在当前顶点的顺时针方向上的下一个顶点作为新的当前顶点。
[0030] 优选的,所述根据网格连通图获取连通域以及非连通域,包括的具体步骤如下:
[0031] 将网格连通图中目标格形成的多个闭环作为连通域的边界,将每个闭环所围成的区域作为一个连通域,将所有连通域之外的区域作为非连通域。
[0032] 优选的,所述根据连通域中包含的格子的数量以及网格中所有格子的数量获取连通域数值集合以及非连通域数值集合,包括的具体步骤如下:
[0033] 获取所有连通域中包含的格子的数量N,以及网格中所有格子的数量M,在0到255中无放回的随机选择 个数,构成连通域数值集合;剩余的255‑ 个数构成非连通域数值集合,其中 为四舍五入取整符号。
[0034] 优选的,所述根据连通域数值集合以及非连通域数值集合对网格进行填充,得到密文图像,包括的具体步骤如下:
[0035] 在连通域数值集合中有放回的随机选择N个数值填入到网格的连通域中每个位置;在非连通域数值集合中有放回的随机选择M个数值填入到网格的非连通域的每个位置;将填入数值后网格连通图作为密文图像。
[0036] 本发明的技术方案的有益效果是:本发明根据明文序列获取目标格得到网格连通图,实现了将序列数据转换为图像数据,将明文序列隐藏在了图像中,破坏了序列数据的原有的数据规律,使得得到的密文图像的复杂度大大提升,增加了破解的难度。同时本发明根据加密序列在获取网格连通图的过程中嵌入干扰信息,既减少了明文序列获取目标格产生冲突的可能性,又增加了网格连通图的复杂度,使得网格连通图中的目标格尽可能连续且无规律,攻击者即使掌握了网格连通图,在不知道加密序列以及补充长度的情况下,也无法从网格连通图中获取明文序列,确保了敏感信息存储的安全性;本发明嵌入的干扰信息为随机设置,针对相同的数据,嵌入的干扰信息不同,最终得到的密文图像也不同,破坏了加密结果的统计规律,使得密文图像复杂,进一步确保了敏感信息存储的安全性,相比于现有的方法通过频繁更换密钥来破坏加密结果的统计规律,本发明无需频繁更换密钥,使得密钥管理简单;本发明根据目标格所围成连通域中格子的个数的占比随机获取可填入连通域的数值以及可填入非连通域部分的数值,使得最终得到的密文图像中每个灰度值出现的个数相近,即使得每个灰度值均匀分布,进一步使得攻击者无法根据灰度值分布的个数猜测出连通域的部分与非连通域的部分,因此本发明获取的密文图像复杂,可抵抗统计分析攻击,同时本发明根据可填入连通域的数值以及可填入非连通域部分的数值对网格进行随机填充,即使是具有相同目标格的网格,随机填充的结果也不相同,进一步增加了密文图像的复杂性,使得敏感数据存储的安全性更高。

附图说明

[0037] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038] 图1为本发明的一种用于计算机系统的数据管理方法的步骤流程图;
[0039] 图2为本发明的网格顶点类型示意图;
[0040] 图3为本发明的目标格冲突示意图;
[0041] 图4为本发明的一个网格单连通图;
[0042] 图5为本发明的另一个网格单连通图;
[0043] 图6为本发明的网格连通图;
[0044] 图7为本发明的连通域示意图。

具体实施方式

[0045] 为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种用于计算机系统的数据管理方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
[0046] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
[0047] 下面结合附图具体的说明本发明所提供的一种用于计算机系统的数据管理方法的具体方案。
[0048] 请参阅图1,其示出了本发明一个实施例提供的一种用于计算机系统的数据管理方法的步骤流程图,该方法包括以下步骤:
[0049] S001.获取明文序列。
[0050] 需要说明的是,为确保敏感数据的安全性,需要存储在计算机的敏感数据进行加密。由于敏感数据可能为符号、文字、数字、语音、图像、视频等多种数据类型,为方便加密,需将敏感数据转换为统一的数据类型。
[0051] 在本实施例中,利用现有的编码方法将敏感数据编码成二进制形式,为便于后续加密,将编码得到的二进制形式的数据转换为三进制,将得到的三进制数看作一个序列,三进制数中的每一位作为序列中的元素,将该序列作为明文序列。
[0052] 例如文字数据“计算机”利用现有的GB2312编码算法编码成二进制形式为“101111001100011011001011111000111011101111111010”,将编码得到的二进制形式的数据转换为三进制数为1000012220201211101000122020002,则明文序列为[1,0,0,0,0,1,2,2,2,0,
2,0,1,2,1,1,1,0,1,0,0,0,1,2,2,0,2,0,0,0,2]。
[0053] 至此,获得了明文序列。
[0054] S002.获取加密序列。
[0055] 需要说明的是,为对明文序列进行加密,需要获取一个加密序列,本实施例中加密序列用作后续对明文序列进行加密时嵌入干扰信息,若在后续加密过程中在明文序列每k个元素之后嵌入干扰信息,则加密序列的长度需为 ,其中L为明文序列的长度, 为向下取整符号,k为预设第一长度,在本实施例中k=3,在其他实施例中实施人员可根据需要设置k的值。为了方便后续加密,加密序列中每个元素的需在[1,n]范围内,其中n为预设第二长度,在本实施例中n=5,在其他实施例中实施人员可根据需要设置n的值。
[0056] 在一个实施方法中,随机获取一个长度为 的序列,序列中每个元素均为整数,且每个元素的取值范围为[1,n],将得到的序列作为加密序列。加密序列需要事先获取,单独存储管理。
[0057] 在另一个实施方法中,利用logistic混沌映射的方法获取加密序列,具体如下:logistic混沌映射需要的参数为 ,其中 需满足条件:
[0058]
[0059]
[0060]
[0061] 其中 为属于符号;Z为整数符号。
[0062] 预先设置一个满足条件的 作为加密密钥,根据加密密钥根据logistic混沌映射的方法获取一个长度为 的混沌序列,获取混沌序列中第 到第 个元素,并将此些元素乘以n之后的结果向上取整,得到 个[1,n]范围内的整数,将此些整数组成的序列作为加密序列。需要说明的是,加密密钥 需要事先获取,单独存储管理。
而加密序列无需事先获取存储,只需在每次加密或解密时根据加密序列获取。
[0063] 至此,获得了加密序列。
[0064] S003.根据明文序列以及加密序列构建网格连通图。
[0065] 需要说明的是,明文序列中每个元素均为长度为1的三进制数,而长度为1的三进制数共有0、1、2三种,在本实施例中,分别将0、1、2看作网格中的三种不同类型的顶点,根据明文序列获取网格中的目标格,绘制网格连通图以实现明文序列的加密。图2为本实施例的网格顶点类型示意图,图2中用灰色来表示目标格,白色不为目标格。0表示一个目标格的顶点;1表示两个目标格的顶点,且两个目标格存在公共边;2表格两个目标格的顶点,且两个灰色格不存在公共边。则根据明文序列可在网格中获取目标格,进一步得到网格连通图。在根据明文序列中的三进制数获取网格中的目标格的过程中,可能存在冲突的情况,如图3所示,A、B表示顶点,c、d表示网格,若明文序列为[0,0,0,1],以顶点A为起点时,顶点A顶点类型为0,此时顶点A为一个仅目标格的顶点,若根据顶点A选择的目标格为d时,c一定不为目标格,顶点B的顶点类型为1,此时顶点B为两个目标格的顶点,且此两个目标格存在公共边,则根据根据顶点B选择的目标格为c和d,与根据顶点A选择的目标格冲突。
[0066] 需要进一步说明的是,为了在根据明文序列中的三进制数获取网格中的目标格的过程中,尽可能减少冲突,同时增加获取的目标格的复杂性,可在获取目标格的过程中根据加密序列在明文序列每k个元素之后嵌入干扰信息,使得最终获得的目标格尽可能连续且无规律。
[0067] 在本实施例中,根据根据明文序列获取网格中的目标格,绘制网格连通图,对明文序列进行加密,具体方法如下:
[0068] 首先设置一个初始值为1的计数器,记为计数器1,用来记录明文序列待加密的元素序号;设置一个初始值为k的计数器,记为计数器2,用来记录待嵌入干扰信息的间隔;设置一个初始值为1的计数器,记为计数器3,用来记录加密序列中元素的使用情况。
[0069] 在空白的网格中随机选择一个顶点作为起点,将起点作为当前顶点。
[0070] 将明文序列中序号为计数器1的值的元素作为当前顶点的顶点类型,根据当前顶点的顶点类型在网格中获取目标格,当获取的目标格和之前的目标格冲突时,执行步骤6,当获取的目标格和之前的目标格不冲突时,执行步骤4。
[0071] 其中根据当前顶点的顶点类型在网格中获取目标格,具体包括:当顶点类型为0时,当前顶点为仅一个目标格的顶点,随机获取满足条件的一个格子作为目标格;当顶点类型为1时,当前顶点为两个目标格的顶点,且两个目标格存在公共边,随机获取满足条件的两个格子作为目标格;当顶点类型为2时,当前顶点为两个目标格的顶点,且两个目标格不存在公共边,随机获取满足条件的两个格子作为目标格。
[0072] 将位于目标格上且在当前顶点的顺时针方向上的下一个顶点作为新的当前顶点,此时计数器1加一,计数器2减一。
[0073] 重复步骤3直到计数器2为0或计数器1为L+1时停止,其中L为明文序列的长度。
[0074] 当计数器2为0时,将加密序列中序号为计数器2的值的元素作为干扰个数,进行干扰嵌入操作,包括:为当前顶点随机设置一个不冲突的顶点类型;将位于目标格上且在当前顶点的顺时针方向上的下一个顶点作为新的当前顶点;
[0075] 重复干扰嵌入操作,直到达到干扰个数次时停止迭代,将计数器2置为k,将计数器3加一;此时继续执行步骤3。
[0076] 当计数器1为L+1时,明文序列中所有元素均已作为网格中顶点的顶点类型,此时进行目标格连通闭合操作,最终得到多个网格单连通图,将多个网格单连通图合并在同一个网格中,得到网格连通图。此时,已获取网格连通图,不执行任何步骤,结束循环。记录网格连通图中每个起点的位置,记为起点坐标。
[0077] 需注意的是,多个网格单连通图中的目标格互不相连。在本实施例中相连是指,目标格八邻域内存在其他目标格,此时此两个目标格相连。目标格连通闭合操作具体为:重复干扰嵌入操作,直到最终获得的当前顶点为起点时停止,此时从起点开始获取的目标格形成一个闭环,该闭环则为一个网格单连通图。记录目标格连通闭合操作中重复干扰嵌入操作的次数,作为补充长度。
[0078] 修改当前顶点的顶点类型,使根据当前顶点的顶点类型在网格中获取的目标格和之前的目标格不冲突,将位于目标格上且在当前顶点的顺时针方向上的下一个顶点作为新的当前顶点。进行目标格连通闭合操作,将计数器2置为k。重复步骤2‑3直到得到网格连通图时停止迭代。
[0079] 本实施例以文字数据“计算机”、加密序列[3,1,1,2,4,1,3,2,5,2]、k=3为例说明网格连通图获取的具体过程:
[0080] 文字数据“计算机”对应的明文序列为[1,0,0,0,0,1,2,2,2,0,2,0,1,2,1,1,1,0,1,0,0,0,1,2,2,0,2,0,0,0,2]。以空白的网格中第5行第2列的格子左上角的顶点为起点,根据明文序列、加密序列得到的网格单连通图如图4所示,其中由于产生了冲突,所以图4中仅以明文序列中第1个到第8个元素作为图4中部分顶点的顶点类型。同理,以空白的网格中第4行第6列的格子左下角的顶点为起点,根据明文序列、加密序列得到的网格单连通图如图5所示,图5中以明文序列中第9个到最后一个元素作为图5中部分顶点的顶点类型。图4、图5中灰色的格子表示目标格,白色的格子不为目标格。将图4、图5的网格单连通图合并在同一个网格中,得到的网格连通图如图6所示。
[0081] 至此,得到了网格连通图,同时还获取了起点坐标以及每个网格单连通图的补充长度。
[0082] 需要说明的是,本实施例根据明文序列获取目标格,实现了将序列数据转换为网格连通图,将明文序列隐藏在了网格连通图中,破坏了序列数据的原有的数据规律,使得后续根据网格连通图得到的密文图像的复杂度大大提升,增加了破解的难度。同时本实施例根据加密序列在获取网格连通图的过程中嵌入干扰信息,既减少了明文序列获取目标格产生冲突的可能性,又增加了网格连通图的复杂度,使得网格连通图中的目标格尽可能连续且无规律,攻击者即使掌握了网格连通图,在不知道加密序列以及补充长度的情况下,也无法从网格连通图中获取明文序列,确保了敏感信息存储的安全性。同时本实施例嵌入的干扰信息为随机设置,针对相同的数据,嵌入的干扰信息不同,最终得到的密文图像也不同,破坏了加密结果的统计规律,使得密文图像复杂,进一步确保了敏感信息存储的安全性,相比于现有的方法通过频繁更换密钥来破坏加密结果的统计规律,本发明无需频繁更换密钥,使得密钥管理简单。
[0083] S004.根据网格连通图获取密文图像,对密文图像进行存储。
[0084] 需要说明的是,为使得网格连通图更加混乱无规律性,可向网格中每个位置填入0到255范围内的整数,将网格连通图转换为一幅灰度图像,作为密文图像,使得攻击者无法提取密文图像的规律性,从而猜测出网格连通图。同时为了确保需要密文图像可解密,需要根据网格连通图中目标格的分布确定向网格中每个位置填入的数值。
[0085] 需要进一步说明的是,网格连通图中目标格形成了多个闭环,若以形成的闭环为边界,则每个闭环所围成的区域可看作一个连通域,如此可得到多个连通域,图6的网格连通图中的连通域示意图如图7所示,图7中黑色的格子表示连通域部分,白色的格子表示非连通域部分。可在连通域的部分与非连通域的部分填入不同的数值,使得掌握填充数值的人员在得到的密文图像中可区分连通域部分和非连通域部分。同时为了避免攻击者统计密文图像中的规律猜测出连通域部分和非连通域部分,则需要使得连通域部分填入的数值与非连通域部分填入的数据足够混乱,使得攻击者不易统计密文图中的规律。
[0086] 在本实施例中,获取连通域部分与非连通域部分可填入的数值的方法如下:
[0087] 获取所有连通域中包含的格子的数量N,以及网格中所有格子的数量M,则连通域中可填入不同的数值的个数为 ,其中 为四舍五入取整符号。对应的非连通域中可填入不同的数值的个数为255‑ 。
[0088] 在0到255中无放回的随机选择 个数,构成连通域数值集合。则剩余的255‑ 个数构成非连通域数值集合。
[0089] 在连通域数值集合中有放回的随机选择N个数值,将此N个数值填入到网格的连通域中每个位置,在非连通域数值集合中有放回的随机选择M个数值,将此M个数值填入到网格的非连通域的每个位置。
[0090] 网格连通图填入数值后可看作一幅灰度图像,该灰度图像即为密文图像。
[0091] 至此,获得了密文图像。
[0092] 需要说明的是,本实施例根据目标格所围成连通域中格子的个数的占比随机获取可填入连通域的数值以及可填入非连通域部分的数值,使得最终得到的密文图像中每个灰度值出现的个数相近,即使得每个灰度值均匀分布,进一步使得攻击者无法根据灰度值分布的个数猜测出连通域的部分与非连通域的部分,因此本实施例获取的密文图像复杂,可抵抗统计分析攻击。
[0093] 在本实施例中,将密文图像存储计算机中。同时为了确保可解密,还需存储加密密钥、连通域数值集合、起点坐标以及每个网格单连通图的补充长度。将连通域数值集合、起点坐标以及每个网格单连通图的补充长度作为补充密文,将补充密文与加密密钥存储在专门的存储设备上,如U盘中,使得只有掌握补充密文与加密密钥的存储设备的人员才可对密文图像进行解密,如此确保了密文图像的安全性。同时本实施例根据可填入连通域的数值以及可填入非连通域部分的数值对网格进行随机填充,即使是具有相同目标格的网格,随机填充的结果也不相同,进一步增加了密文图像的复杂性,使得敏感数据存储的安全性更高。
[0094] S005.对密文图像进行解密。
[0095] 当需要查看敏感数据时,插入存储补充密文与加密密钥的存储设备,对密文图像进行解密,具体过程如下:
[0096] 补充密文包括连通域数值集合、起点坐标以及每个网格单连通图的补充长度。首先根据密文图像中灰度值与连通域数值集合中的数值相等的像素点获取密文图像中的多个连通域。
[0097] 根据起点坐标按照顺时针方向获取每个连通域边界的每个顶点的顶点类型,构成顶点类型序列。根据加密序列以及补充长度剔除顶点类型序列中嵌入的干扰信息,则得到结果为明文序列。
[0098] 明文序列中每个元素为三进制,将明文序列转换为一个二进制数,并利用现有的编码方法对二进制数进行解码得到敏感信息。
[0099] 至此,完成了密文图像的解密,获取了敏感信息。
[0100] 通过以上步骤,完成了敏感信息的加密和解密。
[0101] 本发明实施例密钥空间大,可抵抗暴力破解攻击;本发明实施例根据明文序列获取目标格得到网格连通图,实现了将序列数据转换为图像数据,将明文序列隐藏在了图像中,破坏了序列数据的原有的数据规律,使得得到的密文图像的复杂度大大提升,增加了破解的难度。同时本发明实施例根据加密序列在获取网格连通图的过程中嵌入干扰信息,既减少了明文序列获取目标格产生冲突的可能性,又增加了网格连通图的复杂度,使得网格连通图中的目标格尽可能连续且无规律,攻击者即使掌握了网格连通图,在不知道加密序列以及补充长度的情况下,也无法从网格连通图中获取明文序列,确保了敏感信息存储的安全性;本发明实施例根据目标格所围成连通域中格子的个数的占比随机获取可填入连通域的数值以及可填入非连通域部分的数值,使得最终得到的密文图像中每个灰度值出现的个数相近,即使得每个灰度值均匀分布,进一步使得攻击者无法根据灰度值分布的个数猜测出连通域的部分与非连通域的部分,因此本发明实施例获取的密文图像复杂,可抵抗统计分析攻击。
[0102] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。