一种基于编码转换的软件研发数据安全管理方法转让专利

申请号 : CN202211199323.9

文献号 : CN115272502B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 成骁陈成陆丹华刘小虎景红艳姜建梅王新峰

申请人 : 江苏宝翼通讯科技有限公司

摘要 :

本发明涉及数字信息传输技术领域,具体涉及一种基于编码转换的软件研发数据安全管理方法。该方法首先采集待加密数据,对待加密数据进行编码得到二进制编码序列;对二进制编码序列进行两次分段处理,将分段后的初始编码序列转换为十进制数字,转换后的十进制数字作为RGB颜色空间中三个通道的像素值;对RGB颜色空间中的点进行聚类,并对每一聚簇点进行位置转换,对应彩色图像像素值的加密,得到加密后的彩色图像;对加密后的彩色图像进行解密,得到原始的待加密数据,进而实现基于编码转化的数字信息传输。减少数据的冗余以及增加数据安全性,便于数据管理。

权利要求 :

1.一种基于编码转换的软件研发数据安全管理方法,其特征在于,该方法包括以下步骤:采集待加密数据,对待加密数据进行编码得到二进制编码序列;

对二进制编码序列进行两次分段处理,将分段后的初始编码序列转换为十进制数字,转换后的十进制数字作为RGB颜色空间中三个通道的像素值;

根据均值漂移聚类方法,输入所有RGB颜色空间中的点,获得RGB颜色空间中的点的聚簇;对于任意聚簇,获取聚簇的中心点,根据聚簇对应点到聚簇中心的距离,获得以聚簇中心为圆心,以聚簇对应点到聚簇中心的距离为半径的多个圆形;获得RGB颜色空间中同一聚簇的点在初始编码序列中的位置的差异性,根据聚簇点的位置差异性确定对应圆形与RGB颜色空间中R通道方向的夹角,作为圆形在RGB颜色空间中平面的位置;

根据logistic混沌函数,确定当前聚簇中不同圆形上的点圆周运动的方向以及距离,在各聚簇对应点所对应的圆形上,对聚簇对应点进行移动,对应彩色图像像素值的加密,得到加密后的彩色图像;

对加密后的彩色图像进行解密,得到原始的待加密数据。

2.根据权利要求1所述的一种基于编码转换的软件研发数据安全管理方法,其特征在于,所述对二进制编码序列进行两次分段处理,包括:对二进制编码序列以24位为单位进行分段,获得多个长度为24的第一分段编码序列;

其中,最后一段第一分段编码序列不足24位的进行随机补位,补位的编码随机为0和1,并记录随机补位的编码数量为附加密钥;

对每一段第一分段编码序列以8位为单位进行平均分段,获得多个长度为8的第二分段编码序列。

3.根据权利要求1所述的一种基于编码转换的软件研发数据安全管理方法,其特征在于,所述将分段后的初始编码序列转换为十进制数字,转换后的十进制数字作为RGB颜色空间中三个通道的像素值,包括:将属于同一第一分段编码序列的长度为8的三个第二分段编码序列转换为十进制,分别表示为第一数值,第二数值和第三数值;将第一数值,第二数值和第三数值作为第一分段编码序列在RGB颜色空间中对应的像素点的RGB三个通道的像素值。

4.根据权利要求1所述的一种基于编码转换的软件研发数据安全管理方法,其特征在于,所述获得RGB颜色空间中同一聚簇的点在初始编码序列中的位置的差异性,根据聚簇点的位置差异性确定对应圆形与RGB颜色空间中R通道方向的夹角,作为圆形在RGB颜色空间中平面的位置,包括:在RGB颜色空间中,获取聚簇中第v个圆形上的点与所有点对应编码段在编码序列中的位置的均值差异表示为 ,其中, 表示第t个聚簇的所有点对应编码段在编码序列中的位置的均值; 表示第t个聚簇中第v个圆形上所有点对应编码段在编码序列中的位置的均值;

对应圆形与RGB颜色空间中R通道方向的夹角为: ,其中 表示平面位置

的基准值; 为聚簇中第v个圆形上的点与所有点对应编码段在编码序列中的位置的均值差异;为自然常数。

5.根据权利要求1所述的一种基于编码转换的软件研发数据安全管理方法,其特征在于,所述根据logistic混沌函数,确定当前聚簇中不同圆形上的点圆周运动的方向以及距离,在各聚簇对应点所对应的圆形上,对聚簇对应点进行移动,对应彩色图像像素值的加密,得到加密后的彩色图像,包括:利用logistic混沌函数进行确定,已知logistic混沌函数的表达式为

,其中 的函数参数, 表示函数迭代v次获得的函数值,并且

,根据logistic混沌函数,确定当前聚簇中不同圆形上的点圆周运动的方向以及距离;

确定每一个圆形中点的移动方向,已知点的圆周运动的方向为顺时针或者逆时针,此时根据函数 确定第 个圆形上点的运动方向,当 ,表示第v个圆形上点顺时针运动, ,表示第v个圆形上点逆时针运动;根据函数 确定第v个圆形上点的运动距离,表示为:其中, 表示logistic函数第v个函数值, 表示第v圆形上点移动的角度,即移动的距离; 表示第v个圆形上的点在顺时针方向运动,运动角度为 ; 表示第v个圆形上的点在逆时针方向运动,运动角度为 ;

获得所有聚簇对应的点的转换,不同的聚簇对应不同的logistic函数参数,完成彩色图像像素值的加密。

6.根据权利要求1所述的一种基于编码转换的软件研发数据安全管理方法,其特征在于,所述对加密后的彩色图像进行解密,得到原始的待加密数据,包括:将加密后的彩色图像的像素值转换到RGB颜色空间中,利用均值漂移获得RGB颜色空间中点的聚簇;根据聚簇对应点的特征,确定聚簇中点所在的平面;根据每一个聚簇对应点的数量确定logistic混沌函数的参数,确定每一个圆形上点的运动方向以及运动距离,对点进行反向运动,获得的logistic混沌函数值 ,对应圆形上的点进行逆时针运动,对应圆形上的点进行顺时针运动,获得原始彩色图像对应像素值在RGB颜色空间中的分布,得到原始彩色图像;

将原始彩色图像中每一像素点对应的RGB颜色通道像素值转换为二进制,获得长度为

24的编码分段,然后将编码分段按照像素点的顺序进行排列,获得一段二进制的编码序列,再去掉编码序列最后的附加密钥的编码,获得原始编码序列,对原始编码序列进行解码,获得原始的待加密数据。

说明书 :

一种基于编码转换的软件研发数据安全管理方法

技术领域

[0001] 本发明涉及数字信息传输技术领域,具体涉及一种基于编码转换的软件研发数据安全管理方法。

背景技术

[0002] 对于一个软件的研发,具有一定周期性,所以软件研发数据常常需要定期的管理,并且软件研发数据中,可能在不同的研发项目中多次使用,所以存在数据的保存于提取。对于软件研发数据,包含大量的知识成果,所以软件研发数据具有私密性,一旦数据发生泄漏,会丧失软件开发企业的核心竞争力,造成严重的经济损失,所以在软件数据的管理中,需要对数据进行加密处理。
[0003] 对于数据的加密,常规的加密方法主要针对数据本身进行原始信息的覆盖或者置乱,加密算法固定,所以随着技术的不断发展,存在很大的破解风险;并且常规加密会产生大量的密钥,增加数据的冗余的同时密钥存在泄漏的风险,所以不利于加密密文数据的传输与存储。所以本发明提出一种新型的加密方法,主要通过编码转换改变数据的表现形式,增加原始数据隐蔽性,然后通过原始数据特征生成密钥,减少数据冗余的同时,保证密钥的隐蔽性,从而增加数据的加密效果。

发明内容

[0004] 为了解决上述技术问题,本发明的目的在于提供一种基于编码转换的软件研发数据安全管理方法,所采用的技术方案具体如下:
[0005] 采集待加密数据,对待加密数据进行编码得到二进制编码序列;
[0006] 对二进制编码序列进行两次分段处理,将分段后的初始编码序列转换为十进制数字,转换后的十进制数字作为RGB颜色空间中三个通道的像素值;
[0007] 根据均值漂移聚类方法,输入所有RGB颜色空间中的点,获得RGB颜色空间中的点的聚簇;对于任意聚簇,获取聚簇的中心点,根据聚簇对应点到聚簇中心的距离,获得以聚簇中心为圆心,以聚簇对应点到聚簇中心的距离为半径的多个圆形;获得RGB颜色空间中同一聚簇的点在初始编码序列中的位置的差异性,根据聚簇点的位置差异性确定对应圆形与RGB颜色空间中R通道方向的夹角,作为圆形在RGB颜色空间中平面的位置;
[0008] 根据logistic混沌函数,确定当前聚簇中不同圆形上的点圆周运动的方向以及距离,在各聚簇对应点所对应的圆形上,对聚簇对应点进行移动,对应彩色图像像素值的加密,得到加密后的彩色图像;
[0009] 对加密后的彩色图像进行解密,得到原始的待加密数据。
[0010] 优选的,所述对二进制编码序列进行两次分段处理,包括:
[0011] 对二进制编码序列以24位为单位进行分段,获得多个长度为24的第一分段编码序列;其中,最后一段第一分段编码序列不足24位的进行随机补位,补位的编码随机为0和1,并记录随机补位的编码数量为附加密钥;
[0012] 对每一段第一分段编码序列以8位为单位进行平均分段,获得多个长度为8的第二分段编码序列。
[0013] 优选的,所述将分段后的初始编码序列转换为十进制数字,转换后的十进制数字作为RGB颜色空间中三个通道的像素值,包括:
[0014] 将属于同一第一分段编码序列的长度为8的三个第二分段编码序列转换为十进制,分别表示为第一数值,第二数值和第三数值;将第一数值,第二数值和第三数值作为第一分段编码序列在RGB颜色空间中对应的像素点的RGB三个通道的像素值。
[0015] 优选的,所述获得RGB颜色空间中同一聚簇的点在初始编码序列中的位置的差异性,根据聚簇点的位置差异性确定对应圆形与RGB颜色空间中R通道方向的夹角,作为圆形在RGB颜色空间中平面的位置,包括:
[0016] 在RGB颜色空间中,获取聚簇中第v个圆形上的点与所有点对应编码段在编码序列中的位置的均值差异表示为 ,其中, 表示第t个聚簇的所有点对应编码段在编码序列中的位置的均值; 表示第t个聚簇中第v个圆形上所有点对应编码段在编码序列中的位置的均值;
[0017] 对应圆形与RGB颜色空间中R通道方向的夹角为: ,其中 表示平面位置的基准值; 为聚簇中第v个圆形上的点与所有点对应编码段在编码序列中的位置的均值差异;为自然常数。
[0018] 优选的,所述根据logistic混沌函数,确定当前聚簇中不同圆形上的点圆周运动的方向以及距离,在各聚簇对应点所对应的圆形上,对聚簇对应点进行移动,对应彩色图像像素值的加密,得到加密后的彩色图像,包括:
[0019] 利用logistic混沌函数进行确定,已知logistic混沌函数的表达式为,其中 的函数参数, 表示函数迭代v次获得的函数值,并且,根据logistic混沌函数,确定当前聚簇中不同圆形上的点圆周运动的方向以及距离;
[0020] 确定每一个圆形中点的移动方向,已知点的圆周运动的方向为顺时针或者逆时针,此时根据函数 确定第 个圆形上点的运动方向,当 ,表示第v个圆形上点顺时针运动, ,表示第v个圆形上点逆时针运动;根据函数 确定第v个圆形上点的运动距离,表示为:
[0021]
[0022] 其中, 表示logistic函数第v个函数值, 表示第v圆形上点移动的角度,即移动的距离; 表示第v个圆形上的点在顺时针方向运动,运动角度为 ; 表示第v个圆形上的点在逆时针方向运动,运动角度为 ;
[0023] 获得所有聚簇对应的点的转换,不同的聚簇对应不同的logistic函数参数,完成彩色图像像素值的加密。
[0024] 优选的,所述对加密后的彩色图像进行解密,得到原始的待加密数据,包括:
[0025] 将加密后的彩色图像的像素值转换到RGB颜色空间中,利用均值漂移获得RGB颜色空间中点的聚簇;根据聚簇对应点的特征,确定聚簇中点所在的平面;根据每一个聚簇对应点的数量确定logistic混沌函数的参数,确定每一个圆形上点的运动方向以及运动距离,对点进行反向运动,获得的logistic混沌函数值 ,对应圆形上的点进行逆时针运动, 对应圆形上的点进行顺时针运动,获得原始彩色图像对应像素值在RGB颜色空间中的分布,得到原始彩色图像;
[0026] 将原始彩色图像中每一像素点对应的RGB颜色通道像素值转换为二进制,获得长度为24的编码分段,然后将编码分段按照像素点的顺序进行排列,获得一段二进制的编码序列,再去掉编码序列最后的附加密钥的编码,获得原始编码序列,对原始编码序列进行解码,获得原始的待加密数据。
[0027] 本发明实施例至少具有如下有益效果:
[0028] 本发明首先采集待加密数据,对待加密数据进行编码得到二进制编码序列;对二进制编码序列进行两次分段处理,将分段后的初始编码序列转换为十进制数字,转换后的十进制数字作为RGB颜色空间中三个通道的像素值;根据均值漂移聚类方法,输入所有RGB颜色空间中的点,获得RGB颜色空间中的点的聚簇;对于任意聚簇,获取聚簇的中心点,根据聚簇对应点到聚簇中心的距离,获得以聚簇中心为圆心,以聚簇对应点到聚簇中心的距离为半径的多个圆形;获得RGB颜色空间中同一聚簇的点在初始编码序列中的位置的差异性,根据聚簇点的位置差异性确定对应圆形与RGB颜色空间中R通道方向的夹角,作为圆形在RGB颜色空间中平面的位置;根据logistic混沌函数,确定当前聚簇中不同圆形上的点圆周运动的方向以及距离,在各聚簇对应点所对应的圆形上,对聚簇对应点进行移动,对应彩色图像像素值的加密,得到加密后的彩色图像;对加密后的彩色图像进行解密,得到原始的待加密数据。
[0029] 利用本发明方法,首先通过编码数据的分段转换,将原始数据转换为彩色图像,相比常规的加密过程,改变数据的表现形式,增加数据的隐蔽性;然后在RGB颜色空间中,通过对不同聚簇的点进行不同方式的位置变换,增加位置变换过程的混乱性,从而增加数据密文的混乱性;最后,在RGB颜色空间中的点转换,转换参数由RGB颜色空间中点的特征生成,即不需要额外设置密文,减少数据的冗余以及增加密钥安全性,便于数据密文数据管理。

附图说明

[0030] 为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0031] 图1为本发明一个实施例所提供的一种基于编码转换的软件研发数据安全管理方法的方法流程图。

具体实施方式

[0032] 为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于编码转换的软件研发数据安全管理方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
[0033] 除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
[0034] 本发明实施例提供了一种基于编码转换的软件研发数据安全管理方法的具体实施方法,该方法适用于软件研发数据安全管理场景。为了解决针对数据本身进行原始信息的覆盖或者置乱,加密算法固定,所以随着技术的不断发展,存在很大的破解风险的问题。本发明首先,原始数据进行编码,并对编码进行分段;分段编码数据转换为十进制,表示像素点的RGB通道值;对RGB颜色空间中的点进行聚类,并对每一聚簇点进行位置转换,实现像素值的变换,从而实现原始数据的加密。
[0035] 下面结合附图具体的说明本发明所提供的一种基于编码转换的软件研发数据安全管理方法的具体方案。
[0036] 请参阅图1,其示出了本发明一个实施例提供的一种基于编码转换的软件研发数据安全管理方法的步骤流程图,该方法包括以下步骤:
[0037] 步骤S100,采集待加密数据,对待加密数据进行编码得到二进制编码序列。
[0038] 对于数据的加密,首先需要获得原始数,即待加密的明文,也即待加密数据。在本发明中,通过技术人员认为判断待加密的数据,然后针对待加密数据进行数据的管理。
[0039] 对于数据的管理,首先需要减少数据的冗余,所以首先根据现有的编码方法,对待加密数据进行编码得到二进制编码序列。比如利用霍夫曼编码技术,输入软件研发数据,输出一段二进制的编码序列,表示为 ,其中 为软件开发数据的编码长度,即二进制编码序列的数量。
[0040] 步骤S200,对二进制编码序列进行两次分段处理,将分段后的初始编码序列转换为十进制数字,转换后的十进制数字作为RGB颜色空间中三个通道的像素值。
[0041] 对于数据的加密,加密后密文越混乱,加密效果越好,加密解密过程计算越简单,加密效果越好,同时在加密过程中,产生密钥越少,加密效果越好。本发明通过将二进制编码序列转换为图像,然后通过对图像的像素值在RGB颜色空间中点的位置转换,完成图像的加密,即完成软件研发数据的加密。
[0042] 本发明进行数据加密的过程为:编码序列的分段;通过编码的转换对数据进行加密;解密验证。以下为编码序列的分段的具体展开:
[0043] 对于编码数据的加密,在本发明主要通过将二进制编码数据进行转换完成的,对于编码数据的转换,首先需要确定转换编码的长度,所以为了便于编码的转换,首先需要对编码序列进行分段处理。
[0044] 对二进制编码序列进行两次分段处理,对二进制编码序列以24位为单位进行分段,获得多个长度为24的第一分段编码序列;其中,最后一段第一分段编码序列不足24位的进行随机补位,补位的编码随机为0和1,并记录随机补位的编码数量为附加密钥;对每一段第一分段编码序列以8位为单位进行平均分段,获得多个长度为8的第二分段编码序列,将属于同一第一分段编码序列的长度为8的三个第二分段编码序列转换为十进制,分别表示为第一数值,第二数值和第三数值;将第一数值,第二数值和第三数值作为第一分段编码序列在RGB颜色空间中对应的像素点的RGB三个通道的像素值。
[0045] 具体的:在本发明中需要将编码序列与图像结合,所以对编码序列 以24位为单位进行分段,获得分段数为 ,其中, 表示向上取整,此时获得 段长度为24的编码数据,分别表示为 ,特殊的,最后一段编码不足24位的进行随机补位,即补位的编码随机为“0”和“1”,并且记录编码补位的数量 为附加密钥。
[0046] 然后对每一段编码进行再次平均分段,即每一段长度为24 的编码转换为长度为8的三段编码,分别表示为 , , ,此时长度为8的二进制编码段转换为十进制,分别表示为 , , ,并且 , , 的取值范围为[0,255],即满足图像中像素点的取值范围,所以 可以表示为一副彩色图像中所有像素点的像素值, , , 分别表示图像中第j像素点在R,G,B通道的像素值。
[0047] 通过以上步骤,对原始编码数据进行分段与转换,从而将原始数据表示为一副彩色图像,彩色图像中像素点的位置与像素值即表示原始数据信息。又因为数据的加密主要依据数据之间的关系,所以上述步骤增加了编码数据之间的关系,便于数据的加密。
[0048] 步骤S300,根据均值漂移聚类方法,输入所有RGB颜色空间中的点,获得RGB颜色空间中的点的聚簇;对于任意聚簇,获取聚簇的中心点,根据聚簇对应点到聚簇中心的距离,获得以聚簇中心为圆心,以聚簇对应点到聚簇中心的距离为半径的多个圆形;获得RGB颜色空间中同一聚簇的点在初始编码序列中的位置的差异性,根据聚簇点的位置差异性确定对应圆形与RGB颜色空间中R通道方向的夹角,作为圆形在RGB颜色空间中平面的位置。
[0049] 本发明进行数据加密的过程为:编码序列的分段;通过编码的转换对数据进行加密;解密验证。以下为通过编码的转换对数据进行加密的具体展开:
[0050] 在上述步骤中,通过编码的分段与转换,将原始数据转换为一副彩色图像,从而获得数据之间更多的关系,此时需要根据图像中数据之间的关系,进行数据的加密,具体过程如下:
[0051] (1)像素值转换到颜色空间。
[0052] 原始数据转换为一副彩色图像,图像中像素点的像素值与位置关系表示原始数据信息。为方便分析彩色图像中像素点的像素值的关系,将像素点的像素值表示在RGB颜色空间中,此时RGB颜色空间中一点表示图像中一个像素点的像素值。
[0053] 通过上述步骤,将像素值转换到RGB颜色空间中,通过RGB颜色空间中点的位置关系,对像素点的像素值进行加密,从而实现原始数据信息的加密。
[0054] (2)对RGB颜色空间中的点进行变换。
[0055] 上述步骤获得彩色图像的像素值的在RGB颜色空间中的分布,此时为隐藏彩色图像像素值所代表的原始数据信息,需要改变彩色图像的像素值,以实现原始数据信息的加密,即保证软件研发数据的传输与存储安全性。
[0056] 第一步,对RGB颜色空间中点的聚类:
[0057] 为了保证RGB颜色空间中点的位置的混乱行,需要对不同分布的点进行不同尺度的转换,此时不同分布的点根据点的聚集性进行判断。
[0058] 根据现有的均值漂移聚类方法,输入所有RGB颜色空间中的点,获得颜色空间中的点的聚簇,分别表示为 ,其中 表示聚簇的数量。对于不同聚簇对应的点进行不同尺度的变换,以增加彩色图像像素值变换的混乱程度。
[0059] 第二步,RGB颜色空间的点的变换:
[0060] 上述步骤获得RGB颜色空间中点的聚簇,此时对不同的聚簇对应的点进行变换,以增加彩色图像像素值变换的混乱程度,对于任意聚簇,获取聚簇的中心点,根据聚簇对应点到聚簇中心的距离,获得以聚簇中心为圆心,以聚簇对应点到聚簇中心的距离为半径的多个圆形。也即对于RGB颜色空间中第t个聚簇对应点的变换,首先获取该聚簇的中心点 ,然后根据聚簇对应点到聚簇中心的距离,获得以 为半径,点到聚簇中心的距离为半径的多个圆形,分别表示为 ,其中v表示当前聚簇中获得的第v个圆形, 表示第t个聚簇对应点形成的圆形的个数。
[0061] 第三步,确定圆所在平面的位置:
[0062] 对于RGB颜色空间中同一聚簇对应的点,在确定的圆形上运动,此时首先需要在空间中确定圆所在的平面,在空间中两个点距离为半径构成的圆所在的平面为经过两点连线的平面的集合,所以在本发明方案中,圆所在的平面位置表示为对应平面与RGB颜色空间中R通道方向的夹角。
[0063] 在所获得的彩色图像像素值的加密过程,即为像素值的置乱,其本质为像素值对应编码序列的置乱,此时为了突出彩色图像像素值的置乱程度,像素值对应的编码序列越相近,置乱的方式需要差异越大。所以对于RGB颜色空间中的点,在对应聚簇中运动时,需要根据点对应的像素点的位置判断其运动的圆形所在的平面的位置。
[0064] 已知在RGB颜色空间中,第t个聚簇中第v个圆形上的点在编码序列中对应的编码段的位置表示为 ,此时第t个聚簇中第v个圆形上的点与所有点对应编码段在编码序列中的位置的均值差异表示为 ,其中, 表示第t个聚簇的所有点对应编码段在编码序列中的位置的均值; 表示第t个聚簇中第v个圆形上所有点对应编码段在编码序列中的位置的均值, 越小,表示此时第t个聚簇中第v个圆形上的点在当前聚簇中的差异越小,所以其在编码序列中具有位置的上的聚集性,为了破坏原始相邻的编码之间的相似性,需要对其进行差异更大的转换,即在RGB颜色空间中需要对其在差异性更大的平面进行位置的转换。
[0065] 以上步骤获得RGB颜色空间中同一聚簇点在原始编码序列中的位置的差异性,根据聚簇点的位置差异性确定对应圆形在RGB空间中平面的位置,即第t个聚簇中第v个圆形与RGB颜色空间中R通道方向的夹角。
[0066] 首先根据 的值确定一个平面位置的基准值,即 ,其中 表示取余函数,此时根据第t个聚簇中第v个圆形上的点与所有点对应编码段在编码序列中的位置的均值差异 ,确定第v个圆形所在平面的位置表示为,也即对应圆形与RGB颜色空间中R通道方向的夹角表示为 ,其中 表示平面位置的基准值。至此,确定了第t个聚簇中第v个圆形与RGB颜色空间中R通道方向的夹角,即确定了圆所在平面位置。
[0067] 通过以上步骤,获得RGB颜色空间中同一聚簇中不同点位置转换的圆形平面的位置,并且根据空间中点对应编码序列的位置,也即图像像素点的位置,对相邻位置的点设置更大差异的平面位置,避免相邻点进行相同程度转换造成的局部信息的保留,从而获得整体混乱程度更高的密文数据。
[0068] 步骤S400,根据logistic混沌函数,确定当前聚簇中不同圆形上的点圆周运动的方向以及距离,在各聚簇对应点所对应的圆形上,对聚簇对应点进行移动,对应彩色图像像素值的加密,得到加密后的彩色图像。
[0069] 首先,确定圆形上点的运动。
[0070] 对于当前聚簇中每一个点的位置变换为每个圆形中存在的点进行圆周移动,即在当前圆周上进行移动,以破坏原有的空间聚簇对应点的位置。对于RGB颜色空间中第t个聚簇中第v个圆形上的点的位置变换,需要确定点在圆周移动时的移动方向与移动距离。此时利用logistic混沌函数进行确定,已知logistic混沌函数的表达式为 ,其中 的函数参数, 表示函数迭代v次获得的函数值,并且 。此时根据logistic混沌函数,确定当前聚簇中不同圆形上的点圆周运动的方向以及距离。
[0071] 在上述步骤中,确定了RGB颜色空间中聚簇对应的点所在圆形,此时在点所在的圆形上,对点进行移动,以完成对应彩色图像像素值的加密,即原始软件研发数据的加密。
[0072] 首先确定每一个圆形中点的移动方向,已知点的圆周运动的方向为顺时针或者逆时针,此时根据函数 确定第 个圆形上点的运动方向,即当 ,表示第v个圆形上点顺时针运动, ,表示第v个圆形上点逆时针运动。然后同样根据函数 确定第v个圆形上点的运动距离,表示为:
[0073]
[0074] 其中, 表示logistic函数第v个函数值,表示第v圆形上点移动的角度,即移动的距离。 表示第v个圆形上的点在顺时针方向运动,运动角度为 ; 表示第v个圆形上的点在逆时针方向运动,运动角度为 。此时完成彩色图像像素值在RGB颜色空间中第t个聚簇对应的点的转换,然后根据同样方法,获得所有聚簇对应的点的转换,此时不同的聚簇对应不同的logistic函数参数。至此,完成彩色图像像素值的加密,即完成原始软件研发数据的加密。此时对应的密钥为logistic函数以及彩色图像像素值在RGB空间中不同聚簇对应的不同logistic函数参数 ,其中 为logistic函数的位置参数, 表示函数的初始值。在本发明中,对于密钥 根据对应聚簇的特点获得,即获得每一个聚簇对应的点的个数,根据logistic函数 的取值范围,对其分别进行 和的归一化,分别获得 和 的值,即本发明中加密过程的密钥即为数据本
身特征值。
[0075] 通过以上步骤,完成彩色图像的像素值的转换,即对彩色图像进行加密。在上述步骤中,主要利用彩色图像像素值在RGB颜色空间中的分布,在聚类的基础上,对不同聚簇的点进行不同程度的转换,实现不同尺度的加密。本发明中对RGB颜色空间中点进行转换时,利用聚簇中心对应圆形上进行点的移动,在变换了RGB颜色空间点的位置的同时,保持的原始数据对应的空间分布特点,即便于数据的解密。最后在确定RGB空间中点的位置转换时,利用了logistic混沌函数的强伪随机性与参数的高敏感性,同时在logistic函数参数由聚簇特征确定,不用额外设置参数,减少密钥的传输,增加密钥的安全性,即保证了原始软件研发数据的安全性。
[0076] 至此,完成彩色图像的像素值的变换,即完成原始数据的加密。
[0077] 步骤S500,对加密后的彩色图像进行解密,得到原始的待加密数据。
[0078] 本发明进行数据加密的过程为:编码序列的分段;通过编码的转换对数据进行加密;解密验证。以下为解密验证的具体展开:
[0079] 根据上述步骤,完成了软件研发数据的加密。在实际中,对于软件研发数据可能随时需要调用,此时就需要对加密密文进行解密,以获得原始的软件研发数据明文。具体的解密过程为:
[0080] (1)密文:彩色图像;密钥:logistic混沌函数。
[0081] 首先将密文对应的加密后的彩色图像的像素值转换到RGB颜色空间中,然后利用均值漂移获得RGB颜色空间中点的聚簇,根据聚簇对应点的特征,确定聚簇中点所在的平面,此时根据每一个聚簇对应点的数量确定logistic混沌函数的参数,从而确定每一个圆形上点的运动方向以及运动距离,最后对点进行反向运动,即获得的logistic混沌函数值,对应圆形上的点进行逆时针运动, 对应圆形上的点进行顺时针运动,获得原始彩色图像对应像素值在RGB颜色空间中的分布,即获得原始彩色图像。
[0082] (2)密文:彩色图像,密钥:补位编码数量 。
[0083] 在获得原始彩色图像后,需要返回软件研发数据对应的编码序列。首先将原始彩色图像中每一像素点对应的RGB颜色通道像素值转换为二进制,获得长度为24的编码分段,然后将编码分段按照像素点的顺序进行排列,获得一段二进制的编码序列,再去掉编码序列最后的 个编码,获得原始编码序列 。最后对原始编码序列 进行解码,获得原始的软件研发数据,也即获得原始的待加密数据,完成密文的解密。
[0084] 根据以上步骤,完成软件研发数据的加密。然后对加密密文利用现有的压缩方法进行压缩,然后对压缩后的密文进行传输或者存储,从而实现软件研发数据的安全管理。
[0085] 至此,完成软件研发数据的安全管理。
[0086] 综上所述,本发明首先采集待加密数据,对待加密数据进行编码得到二进制编码序列;对二进制编码序列进行两次分段处理,将分段后的初始编码序列转换为十进制数字,转换后的十进制数字作为RGB颜色空间中三个通道的像素值;根据均值漂移聚类方法,输入所有RGB颜色空间中的点,获得RGB颜色空间中的点的聚簇;对于任意聚簇,获取聚簇的中心点,根据聚簇对应点到聚簇中心的距离,获得以聚簇中心为圆心,以聚簇对应点到聚簇中心的距离为半径的多个圆形;获得RGB颜色空间中同一聚簇的点在初始编码序列中的位置的差异性,根据聚簇点的位置差异性确定对应圆形与RGB颜色空间中R通道方向的夹角,作为圆形在RGB颜色空间中平面的位置;根据logistic混沌函数,确定当前聚簇中不同圆形上的点圆周运动的方向以及距离,在各聚簇对应点所对应的圆形上,对聚簇对应点进行移动,对应彩色图像像素值的加密,得到加密后的彩色图像;对加密后的彩色图像进行解密,得到原始的待加密数据。
[0087] 需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0088] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
[0089] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。