发明内容
为了解决上述问题,本发明提供一种用于系统集成中数码资源安全存储方法,所述方法包括:
获取明文图像,构建密钥树和密钥图,获取密钥树的节点关系的编码方式和解码方式;
明文图像中的任意一个明文像素点和密钥图中相同位置的像素点组成一个像素对,根据明文图像和密钥图获得所有像素对;
对于任意一个像素对,获取所述像素对对应的第一节点和第二节点,根据第一节点、第二节点以及密钥树获得所述像素对的最短路径;
根据编码方式对所有像素对的所有最短路径进行编码,获得所有明文像素点的所有密文;
根据所有明文像素点的所有密文,获得所有密文像素点以及密文图像。
进一步地,所述获取密钥树的节点关系的编码方式和解码方式的步骤包括:
获取密钥树的节点关系;
用2位二进制数对节点关系进行编码,密钥树的节点关系的编码方式为:用2位二进制数00编码父节点关系,用2位二进制数01编码左子节点关系,用2位二进制数10编码右子节点关系;
用节点关系对2位二进制数进行解码,密钥树的节点关系的解码方式为:将2位二进制数00解码为父节点关系,将2位二进制数01解码左子节点关系,将2位二进制数10解码右子节点关系。
进一步地,所述获取所述像素对对应的第一节点和第二节点的步骤包括:
对于任意一个像素对,在密钥树的前8层的所有节点中,获取数值与所述像素对对应的明文像素点的灰度值相同的节点,记为第一节点;在密钥树的第9层的所有节点中,获取数值与所述像素对对应的像素点的灰度值相同的节点,记为第二节点。
进一步地,所述根据第一节点、第二节点以及密钥树获得所述像素对的最短路径的步骤包括:
在密钥树上,从第一节点出发,通过父节点到子节点或者子节点到父节点的连接到达第二节点,且同一个节点最多出现一次,期间经过的所有节点按照经过的先后顺序排列组成的序列,记为所述像素对的最短路径。
进一步地,所述根据编码方式对所有像素对的所有最短路径进行编码,获得所有明文像素点的所有密文的步骤包括:
对于任意一个像素对的最短路径,根据密钥树的节点关系的编码方式对所述像素对的最短路径进行编码,具体为:对于所述最短路径上任意相邻的两个节点,判断两个节点的节点关系,根据编码方式对节点关系进行编码,获取所述最短路径上的所有相邻节点的节点关系,将所有节点关系的编码结果按照顺序排列,并与终止码组成一个二进制序列,记为所述像素对对应的明文像素点的密文;获取所有明文像素点的所有密文。
进一步地,所述根据所有明文像素点的所有密文,获得所有密文像素点以及密文图像的步骤包括:
按照从左到右、从上到下的顺序,将明文图像中所有明文像素点的所有密文排列组成的序列记为明文图像的密文序列;将明文图像的密文序列从左到右依次划分为多个长度为8的密文子序列,将每个密文子序列对应的8位二进制数换为十进制数;将灰度值等于十进制数的像素点记为密文像素点,将所有密文像素点组成的图像记为密文图像。
进一步地,所述获取密钥树的节点关系的步骤包括:
对于密钥树上的任意一个节点,都有一个父节点和两个子节点,其中,两个子节点分别记为左子节点和右子节点,对于密钥树上的任意连接的两个节点有3种关系:如果第二个节点是第一个节点的父节点,则两个节点的关系为父节点关系,第二个节点是第一个节点的左子节点,则两个节点的关系为左子节点关系,第二个节点是第一个节点的右子节点,则两个节点的关系为右子节点关系。
本发明实施例提出一种用于系统集成中数码资源安全存储系统,包括视频会议终端和中央处理系统,所述视频会议终端包括显示模块和音频模块,所述中央处理系统实现上述方法的步骤,通过网络设备将视频会议终端的视音频数据、文件数据等数码资源加密,并进行安全存储。
本发明上述方法至少具有如下有益效果:
本发明将明文图像中的明文像素点和密钥图中相同位置的像素点组成像素对,根据密钥树获得像素对对应的两个节点,根据两个节点和密钥树获得像素对的最短路径,根据编码方式对像素对的最短路径进行编码,获得明文像素点的密文。综上,对于明文图像中灰度值相同的明文像素点,由于其在密钥图对应的像素点的灰度值不同,因此组成的像素对的最短路径不同,进而编码获得明文像素点的密文不同;对于明文图像中灰度值不同的明文像素点,虽然其在密钥图对应的像素点的灰度值不同,但是组成的像素对的最短路径可能相同,进而编码获得明文像素点的密文相同;因此,明文图像中,相同的明文像素点可能会被加密成不同的密文,不同的明文像素点可能会被加密为相同的密文,使得最终密文对应的密文图像的统计特性完全不同于明文序列;因此,明文图像加密后得到的密文图像,其统计特性与明文图像的统计特性完全不同,这就导致攻击者无法通过分析明文图像和密文图像的统计规律来破译密文图像,保证密文图像抵抗攻击者的统计分析攻击。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种用于系统集成中数码资源安全存储方法及系统,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构、或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的一种用于系统集成中数码资源安全存储方法及系统的具体方案。
请参阅图1,其示出了本发明一个实施例提供的一种用于系统集成中数码资源安全存储方法及系统的步骤流程图,该方法包括以下步骤:
S001,获取明文图像,对明文图像进行预处理。
实施例的远程视频系统集成会议系统,通过视频会议终端采集视音频数据、文件数据等数码资源,对其中的文本类的数码资源,通过AES加密方法进行加密,对其中的图像类的数码资源,作为明文图像,明文图像的大小为M×N。将明文图像中所有灰度值为0的明文像素点的灰度值转换为1。
S002,构建密钥树和密钥图,获取密钥树的节点关系的编码方式和解码方式。
1、构建密钥树。
构建一个9层的完全二叉树,如图2所示,从上到下依次为第1层到第8层;将1至255之间的所有整数,随机分配给完全二叉树的前8层的所有节点,将每个节点分配到的整数记为每个节点的数值;将0至255之间的所有整数,随机分配给完全二叉树的第9层的所有节点,将每个节点分配到的整数记为每个节点的数值。
对于完全二叉树,上一层节点为下一层节点的父节点,下一层节点为上一层节点的子节点,将上述获得的完全二叉树记为密钥树,本实施例提供一种如图2所示的密钥树。
需要说明的是,密钥树在整个加密过程中只获取一次,且密钥树的密钥空间为255!×256!,密钥空间足够大,能抵御任何形式的暴力攻击。
2、获取密钥树的节点关系的编码方式和解码方式。
由于密钥树是完全二叉树,因此,对于密钥树上的任意一个节点,都有一个父节点和两个子节点,其中,两个子节点分别记为左子节点和右子节点;因此,对于密钥树上的任意连接的两个节点有3种关系:如果第二个节点是第一个节点的父节点,则两个节点的关系为父节点关系,第二个节点是第一个节点的左子节点,则两个节点的关系为左子节点关系,第二个节点是第一个节点的右子节点,则两个节点的关系为右子节点关系。
实施例用2位二进制数分别对上述三种节点关系进行编码,因此,密钥树的节点关系的编码方式具体为:用2位二进制数00编码父节点关系,用2位二进制数01编码左子节点关系,用2位二进制数10编码右子节点关系。
同理,实施例用上述三种节点关系对2位二进制数进行解码,密钥树的节点关系的解码方式具体为:将2位二进制数00解码为父节点关系,将2位二进制数01解码左子节点关系,将2位二进制数10解码右子节点关系。
3、构建密钥图。
获取一个和明文图像尺寸相同的大小为M×N的图像,对图像中的任意一个像素点进行赋值,具体方法为:将[0,255]之间的所有整数组成的集合记为第一集合;获得以该像素点为中心的预设大小的邻域内的所有像素点,将所有像素点的所有灰度值组成的集合记为第二集合;获取第一集合与第二集合的差集记为第三集合,从第三集合中随机选择一个数值作为该像素点的灰度值,实现对该像素点赋值。对图像中的所有像素点进行赋值,将赋值后的图像记为密钥图,本实施例提供一种如图3所示的密钥图。在本实施例中,预设大小为11,在其他实施例中,实施人员可根据需要设置预设大小。
需要说明的是,密钥图在整个加密过程中只获取一次,且密钥图的密钥空间足够大,能抵御任何形式的暴力攻击。
实施例的加密方法的保密性依赖于密钥树和密钥图,所述密钥树和密钥图是随机设置的,且密钥树和密钥图的密钥空间足够大,进而增加了暴力破解密文图像的难度,使密文图像能抵御任何形式的暴力攻击,增加了密文图像的安全性。
S003,根据明文图像和密钥图获得所有像素对,根据密钥树获得所有像素对的最短路径,根据编码方式对所有像素对的所有最短路径进行编码,获得所有明文像素点的所有密文。
1、根据明文图像和密钥图获得所有像素对。
对于明文图像中第x行第y列的明文像素点A(x,y),其灰度值记为h(x,y);获取密钥图中与上述明文像素点位置相同的像素点,即密钥图中第x行第y列的像素点B(x,y),其灰度值记为t(x,y);将明文像素点A(x,y)和像素点B(x,y)记为一个像素对[A(x,y),B(x,y)],根据明文图像和密钥图获得所有像素对。
2、根据密钥树获得所有像素对的最短路径。
对于明文像素点A(x,y)和像素点B(x,y)组成的像素对[A(x,y),B(x,y)],根据密钥树获得像素对的路径,具体为:
(1)在密钥树的前8层的所有节点中,获取数值与像素对对应的明文像素点A(x,y)的灰度值h(x,y)相同的节点,记为第一节点;在密钥树的第9层的所有节点中,获取数值与像素对对应的像素点B(x,y)的灰度值t(x,y)相同的节点,记为第二节点;
(2)在密钥树上,获取第一节点到第二节点的最短路径,具体为:从第一节点出发,通过父节点到子节点或者子节点到父节点的连接到达第二节点,且同一个节点最多出现一次,期间经过的所有节点按照经过的先后顺序排列组成的序列,记为像素对的最短路径。
(3)根据上述步骤(1)和步骤(2),获得所有像素对的最短路径。
例如,对于如图4所示的明文图像中的第10行第10列的明文像素点A(10,10),其灰度值h(10,10)=1,密钥图中第10行第10列的像素点B(10,10),其灰度值为t(10,10)=102,将明文像素点A(10,10)和像素点B(10,10)记为一个像素对[A(10,10),B(10,10)];在密钥树的前8层的所有节点中,获取数值与明文像素点A(10,10)的灰度值相同的节点记为第一节点,在密钥树的第9层的所有节点中,获取数值与像素对对应的像素点B(10,10)的灰度值相同的节点记为第二节点,如图2所示的第一节点和第二节点;在密钥树上,从第一节点出发,分别经过数值为57的节点、数值为133的节点、数值为43的节点、数值为175的节点,到达第二节点,则第一节点、数值为57的节点、数值为133的节点、数值为43的节点、数值为175的节点、第二节点共六个节点组成的序列为第一节点到第二节点的最短路径。
3、根据编码方式对所有像素对的所有最短路径进行编码,获得所有明文像素点的所有密文。
对于任意一个像素对的最短路径,根据密钥树的节点关系的编码方式对该像素对的最短路径进行编码,具体为:对于该最短路径上的相邻的第i个节点和第i+1个节点,判断两个节点的节点关系,根据编码方式对节点关系进行编码,获得该最短路径上的所有相邻节点的节点关系,将所有节点关系的编码结果按照顺序排列,并与终止码组成一个二进制序列,记为该像素对对应的明文像素点的密文;其中,终止码为11,获取所有明文像素点的所有密文。
例如,像素对[A(10,10),B(10,10)]对应的两个节点的最短路径,根据编码方式对所有像素对的所有最短路径进行编码,具体为:分别获得相邻两个节点的节点关系:第一节点与数值为57的节点的节点关系为父节点关系,数值为57的节点与数值为133的节点的节点关系为父节点关系,数值为133的节点与数值为43的节点的节点关系为左子节点关系,数值为43的节点与数值为175的节点的节点关系为左子节点关系,数值为175的节点与第二节点的节点关系为右子节点关系;根据密钥树的节点关系的编码方式对像素对的最短路径进行编码,分别为:00,00,01,01,10,将所有节点关系的编码结果按照顺序排列,并与终止码11组成一个二进制序列为000001011011,记为像素对[A(10,10),B(10,10)]对应的明文像素点的密文。
实施例将明文图像中的明文像素点和密钥图中相同位置的像素点组成像素对,根据密钥树获得像素对对应的两个节点,根据两个节点和密钥树获得像素对的最短路径,根据编码方式对像素对的最短路径进行编码,获得明文像素点的密文。综上,对于明文图像中灰度值相同的明文像素点,由于其在密钥图对应的像素点的灰度值不同,因此组成的像素对的最短路径不同,进而编码获得明文像素点的密文不同;对于明文图像中灰度值不同的明文像素点,虽然其在密钥图对应的像素点的灰度值不同,但是组成的像素对的最短路径可能相同,进而编码获得明文像素点的密文相同;因此,明文图像中,相同的明文像素点可能会被加密成不同的密文,不同的明文像素点可能会被加密为相同的密文,使得最终密文对应的密文图像的统计特性完全不同于明文序列;因此,明文图像加密后得到的密文图像,其统计特性与明文图像的统计特性完全不同,这就导致攻击者无法通过分析明文图像和密文图像的统计规律来破译密文图像,保证密文图像抵抗攻击者的统计分析攻击。
S004,根据所有明文像素点的所有密文,获得所有密文像素点以及密文图像,对密文图像进行安全存储。
按照从左到右、从上到下的顺序,将明文图像中所有明文像素点的所有密文排列组成的序列记为明文图像的密文序列;将明文图像的密文序列从左到右依次划分为多个长度为8的密文子序列,将每个密文子序列对应的8位二进制数换为十进制数;将灰度值等于十进制数的像素点记为密文像素点,将所有密文像素点组成的图像记为密文图像,该密文图像为明文图像加密后的结果,对密文图像进行安全存储。
S005,根据密钥树和密钥图对密文图像进行解密,获得解密后的还原图像。
根据密钥树和密钥图,对安全存储的密文图像进行解密,获得解密后的还原图像。具体解密方法如下:
1、将所有密文像素点的灰度值转换为8位二进制数,按照从左到右、从上到下的顺序,将密文图像的所有密文像素点的8位二进制数组成的序列记为密文序列,根据终止码将密文序列分割为多个密文,获得密文图像的所有密文。
2、根据密钥图中第x行第y列的像素点B(x,y)和第(x-1)N+y个密文,获得还原图像中第x行第y列的还原像素点C(x,y),具体为:
(1)在密钥树的第9层的所有节点中,获取数值与像素点B(x,y)的灰度值t(x,y)相同的节点记为第二节点。
(2)从左到右依次将第(x-1)N+y个密文划分为多个2位二进制数,根据密钥树的节点关系的解码方式,将所有2位二进制数解码为对应的节点关系,获得所有节点关系。
(3)按照倒序的方式,依次根据第二节点和节点关系获得新的节点,将灰度值等于最后一个节点的数值的像素点记为还原像素点C(x,y)。
(4)根据上述步骤(1)到步骤(3),获得所有的还原像素点,将所有还原像素点组成的图像记为还原图像,该还原图像为密文图像解密后的结果。
例如,根据密钥图中第10行第10列的像素点B(10,10)和第9N+y个密文000001011011,获得还原图像中第10行第10列的还原像素点,具体为:)在密钥树的第9层的所有节点中,获取数值与像素点B(10,10)的灰度值相同的第二节点,从左到右依次将密文划分为多个2位二进制数,分别为:00,00,01,01,10,根据密钥树的节点关系的解码方式,将所有2位二进制数解码为对应的节点关系,获得所有节点关系,分别为:父节点关系、父节点关系、左子节点关系、左子节点关系、右子节点关系,按照倒序的方式,首先根据第二节点和父节点关系获得数值为175的节点,根据数值为175的节点和父节点关系获得数值为43的节点,根据数值为43的节点和左子节点关系获得数值为133的节点,根据数值为133的节点和左子节点关系获得数值为57的节点,根据数值为57的节点和右子节点关系获得数值为1的节点,将灰度值等于最后1的像素点记为还原像素点C(10,10)。
对于如图4所示的明文图像,其灰度直方图如图5所示,通过本实施例的方法进行加密后,获得的密文图像如图6所示,其灰度直方图如图7所示,根据两个灰度直方图可知,加密后的密文图像相较于明文图像,其统计特性发生了变化。
本发明将明文图像中的明文像素点和密钥图中相同位置的像素点组成像素对,根据密钥树获得像素对对应的两个节点,根据两个节点和密钥树获得像素对的最短路径,根据编码方式对像素对的最短路径进行编码,获得明文像素点的密文。综上,对于明文图像中灰度值相同的明文像素点,由于其在密钥图对应的像素点的灰度值不同,因此组成的像素对的最短路径不同,进而编码获得明文像素点的密文不同;对于明文图像中灰度值不同的明文像素点,虽然其在密钥图对应的像素点的灰度值不同,但是组成的像素对的最短路径可能相同,进而编码获得明文像素点的密文相同;因此,明文图像中,相同的明文像素点可能会被加密成不同的密文,不同的明文像素点可能会被加密为相同的密文,使得最终密文对应的密文图像的统计特性完全不同于明文序列;因此,明文图像加密后得到的密文图像,其统计特性与明文图像的统计特性完全不同,这就导致攻击者无法通过分析明文图像和密文图像的统计规律来破译密文图像,保证密文图像抵抗攻击者的统计分析攻击。
综上所述,本发明获取明文图像,构建密钥树和密钥图,获取密钥树的节点关系的编码方式和解码方式;根据明文图像和密钥图获得所有像素对,根据密钥树获得所有像素对的最短路径,根据编码方式对所有像素对的所有最短路径进行编码,获得所有明文像素点的所有密文;根据所有明文像素点的所有密文,获得所有密文像素点以及密文图像,对密文图像进行安全存储。本发明根据像素对的最短路径获得明文像素点的密文,实现对明文图像加密并进行安全存储,获得统计特性不同于明文图像的密文图像,使密文图像能够抵御统计分析攻击。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,均应包含在本申请的保护范围之内。