一种基于图像的非对称式区块独立加密方法与流程

文档序号:32049170发布日期:2022-11-03 08:20阅读:81来源:国知局
一种基于图像的非对称式区块独立加密方法与流程

1.本发明涉及图像加密技术领域,具体涉及一种基于图像的非对称式区块独立加密方法。


背景技术:

2.随着互联网的发展,人们交换信息的手段逐渐趋近于的网络化,而后其中一个重要的信息交换的方式为利用图片作为载体进行信息的交换,而利用图片作为载体进行信息交换的过程中,常常因为图片所携带信息的隐私性和重要性,被非法进行获取会造成一定的损失,所以需要对图片上所携带的信息进行加密。
3.常规的图片的加密手法有两种,一种是不改变灰度直方图的图像加密,一种是改变灰度直方图的图像加密。前者多为像素点置换类型的加密算法,其加密过程简单但是容易破解;后者通过特定的算法规则对像素点的灰度值进行改变达到对称加密的效果,如利用混沌序列进行原图像值替代加密,然而利用混沌序列进行图像加密时,利用生成的混沌序列进行只能给整体的值替换,在知道少量明文的情况下可以利用密文对照恢复出具有足够精度的密钥,其对于明文攻击抵抗很差,并且对称加密的方式因为其整体采用统一密钥加密,容易被破解。


技术实现要素:

4.为了解决上述技术问题,本发明提供一种基于图像的非对称式区块独立加密方法,所采用的技术方案具体如下:本发明一个实施例提供了一种基于图像的非对称式区块独立加密方法,该方法包括以下步骤:获取待加密图像及其灰度图像,将灰度图像划分为多个加密区块,基于像素点的灰度值获取加密区块中每个像素点的伪特征值;选取最大的伪特征值对应的像素点作为对应加密区块的特征像素点;对每个特征像素点进行霍夫空间投影,得到特征霍夫直线,对于霍夫空间中的每个高亮点,获取穿过该高亮点的所有特征霍夫直线的斜率和高亮点的亮度作为高亮点公钥,每条特征霍夫直线对应的最亮高亮点的高亮点公钥为该条特征霍夫直线的直线公钥;基于每条特征霍夫直线的直线公钥以及对应的最亮高亮点的亮度获取每条特征霍夫直线的私钥;利用每条特征霍夫直线的私钥对对应的加密区块进行加密,得到加密图像。
5.优选的,所述将灰度图像划分为多个加密区块,包括:计算所述灰度图像的整体信息熵,将灰度图像进行不同尺寸的区块划分,计算每个区块的信息熵,当所述信息熵与所述整体信息熵相等时,以对应的区块划分尺寸作为加密区块的划分尺寸,对所述灰度图像进行区块划分,得到多个加密区块。
6.优选的,所述伪特征值的获取方法为:
获取每个像素点的灰度值在加密区块中出现的概率作为第一概率,获取每个像素点的邻域像素点的平均灰度值在整张灰度图像中出现的概率作为第二概率,第一概率和第二概率的乘积为所述伪特征值。
7.优选的,所述高亮点的亮度获取方法为:以每个特征像素点的伪特征值作为对应特征霍夫直线的亮度,多条特征霍夫直线的交点作为高亮点,高亮点的亮度为所有交于该高亮点的特征霍夫直线的亮度之和。
8.优选的,所每条特征霍夫直线的私钥的获取方法为:对于每条特征霍夫直线来说,以对应的最亮高亮点的亮度与穿过该最亮高亮点的特征霍夫直线的条数的比值作为第一私钥;计算穿过该最亮高亮点的每条特征霍夫直线的斜率和亮度的乘积,获取穿过该最亮高亮点的所有特征霍夫直线的乘积的均值,作为第二私钥;所述私钥包括第一私钥和第二私钥。
9.优选的,所述利用每条特征霍夫直线的私钥对对应的加密区块进行加密,包括:以第二私钥作为对应的特征霍夫直线所在加密区块内的每个像素点灰度值的斜率,以第一私钥作为截距,计算每个像素点灰度值的一次函数值作为加密灰度值。
10.本发明实施例至少具有如下有益效果:基于待加密图像中的特征点的位置和特征值进行公钥计算,不同图片携带信息不同,其公钥的生成也不同,随机性很强,安全性更高;每个加密区块的私钥完全由公钥中相关的特征值以及特征像素点的位置决定,即大多数区块的私钥不同,所以加密过程中大多数区块的加密方式不同,故少数区块的密钥被破解,不影响其余区块的加密效果,安全性较常规的整体图像加密效果来说更强。本发明利用非对称加密思想结合区块独立加密方法来对于图片进行加密,相较于常规的利用对称加密算法以及单一密钥对图片加密来说,因为密钥的不对称性破解时需要更多的计算量去破解,安全性更高。
附图说明
11.为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
12.图1为本发明一个实施例提供的一种基于图像的非对称式区块独立加密方法的步骤流程图。
具体实施方式
13.为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的一种基于图像的非对称式区块独立加密方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
14.除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
15.下面结合附图具体的说明本发明所提供的一种基于图像的非对称式区块独立加密方法的具体方案。
16.请参阅图1,其示出了本发明一个实施例提供的一种基于图像的非对称式区块独立加密方法的步骤流程图,该方法包括以下步骤:步骤s001,获取待加密图像及其灰度图像,将灰度图像划分为多个加密区块,基于像素点的灰度值获取加密区块中每个像素点的伪特征值;选取最大的伪特征值对应的像素点作为对应加密区块的特征像素点。
17.具体的步骤包括:1、获取待加密图像及其灰度图像,将灰度图像划分为多个加密区块。
18.常规的图像分为rgb图片和灰度图,本发明的加密方式为单通道加密,所以若待加密图像为rgb图像时,需要对图片进行灰度化处理,并且保留rgb图像。在利用灰度图进行加密的公钥和私钥进行计算完成后,利用私钥对rgb三个通道分别利用私钥进行单通道加密。
19.如果待加密图像为灰度图,或者单通道图像,则直接进行后续的加密操作即可。
20.计算灰度图像的整体信息熵,将灰度图像进行不同尺寸的区块划分,计算每个区块的信息熵,当信息熵与整体信息熵相等时,以对应的区块划分尺寸作为加密区块的划分尺寸,对灰度图像进行区块划分,得到多个加密区块。
21.首先进行整体图像的信息熵的计算,计算方式如下所示:其中,表示灰度值为的像素点出现的个数,可通过灰度直方图统计而来;表示灰度值的总数量;表示向上取整函数。
22.利用信息熵进行整体图片信息携带量的计算,后续中以整体信息携带量作为标准进行图像区块的划分,其中向上取整的含义为给予后续进行窗口划分式的窗口信息熵的阈值区间或容错范围。
23.以3
×
3大小区块作为基础,计算区块内的信息熵,而后对3
×
3大小下所有区块的信息熵求取平均值并向上取整后与整体信息熵进行比较,若其等于整体信息熵则选择3
×
3的区块大小为加密区块,若不想等则计算4
×
4大小区块进行上述操作,直至大小的区块时,其窗口平均信息熵等于整体信息熵则停止区块的划分,此时大小的区块为加密区块,共可获得个加密区块。
24.由于后续的像素点的特征值计算需要进行8邻域内的计算,所以本发明实施例中以3
×
3大小作为基础,在其他实施例中也可以以其他大小作为基础尺寸进行区块划分。
25.以区块信息熵与整体信息熵进行区块划分的优势在于确保该种大小的区块划分下,每个区块内的整体图像的信息量携带的趋势趋近于整体图像,便面后续加密过程中过某些区块的信息携带量不足加密效果不好或者某些区块信息携带量过大加密效果不好的情况出现。
26.2、计算每个像素点的伪特征值。
27.获取每个像素点的灰度值在加密区块中出现的概率作为第一概率,获取每个像素点的邻域像素点的平均灰度值在整张灰度图像中出现的概率作为第二概率,第一概率和第二概率的乘积为伪特征值。
28.利用加密区块与邻域之间以及整体的特征来进行每个加密区块中的特征像素点的选择,以第个像素点的灰度值在第一个加密区块中出现的概率作为主体,而后通过周围8邻域像素点的灰度值的平均值在整体图像中出现的概率作为权值进行第个像素点的伪特征值的计算。以第一个加密区块为例,计算其中第个像素点的伪特征值,计算方式如下所示:其中,表示为第个像素点的灰度值为,表示灰度值为在整张灰度图像中出现的概率,表示灰度值在加密区块内出现的概率,表示第个像素点周围8邻域内的第个像素点的灰度值为。
29.表明第个像素点的灰度值与周围8邻域内像素点灰度值的分布的综合特征,越大,说明该位置的像素点在第一个加密区块内出现的次数更多,并且该位置的像素点与周围邻域像素点在整体图像中影响程度足够大。依照上述公式,其物理意义表明第个像素点的位置在加密区块内或者整体图像内具有与整体图像较为接近的灰度结构趋势。反之则相反。
30.3、选取最大的伪特征值对应的像素点作为对应加密区块的特征像素点。
31.利用上述方式对第一个加密区块内所有的像素点进行伪特征值计算,而后选择伪特征值最大的像素点作为该加密区块的特征像素点,其对应的伪特征值变为特征值。该特征像素点记录为,其中上标1表示为该特征像素点来自于第一个加密区块,下标中表示该特征像素点在灰度图像中的位置,表示其特征值。
32.利用上述方式对所有个加密区块进行每个加密区块的特征像素点的选择,可获得个特征像素点,其中表示第个加密区块的特征像素点。
33.步骤s002,对每个特征像素点进行霍夫空间投影,得到特征霍夫直线,对于霍夫空间中的每个高亮点,获取穿过该高亮点的所有特征霍夫直线的斜率和高亮点的亮度作为高亮点公钥,每条特征霍夫直线对应的最亮高亮点的高亮点公钥为该条特征霍夫直线的直线公钥。
34.上述中对每个加密区块进行了特征像素点的选择,而后需要以每个加密区块的特征像素点的信息进行霍夫空间的投影生成公钥,接着利用公钥结合每个加密区块的特征像
素点进行区块加密私钥的计算。
35.具体的步骤包括:1、对每个特征像素点进行霍夫空间投影,得到特征霍夫直线,获取霍夫空间中的高亮点及其亮度。
36.空域中每一个点都有对应的位置(),而后以该点进行霍夫空间的投影,该点的位置信息经过参数变换后会在霍夫空间中生成唯一与之对应的霍夫直线。而所有区块的特征像素点所对应的坐标在整张图片中为唯一坐标,所以利用该坐标进行霍夫空间的投影,即每个特征像素点在霍夫空间中会生成唯一与之对应的特征霍夫直线。
37.以每个特征像素点的伪特征值作为对应特征霍夫直线的亮度,多条特征霍夫直线的交点作为高亮点,高亮点的亮度为所有交于该高亮点的特征霍夫直线的亮度之和。
38.霍夫空间中原本的直线的亮度是相同的,和图像特征没有联系,本发明以每个特征像素点的特征值作为所有特征像素点在霍夫空间中的唯一对应的特征霍夫直线的亮度作为密钥的选择判断和权值,其直线相交的交点部分的亮度为相交直线的所有特征值的累加。
39.利用特征值表示特征霍夫直线的亮度作为密钥的选择判断和权值的优势在于:特征值的计算与每个特征像素点的自身灰度值、周围邻域内像素点的灰度值、特征像素点所在位置以及特征像素点所在邻域内与整体图像的灰度结构趋势有关,而上述中每一个因素发生改变,其特征值就会发生改变,所以本质上特征值是一个多维数据的聚集体,所以想利用暴力手段进行特征值的破解概率十分低,故利用特征值作为对应特征霍夫直线进行后续加密十分安全。
40.以第个特征像素点为例,其在霍夫空间中生成的特征霍夫直线为:其中,中下标表示第个特征像素点对应的特征霍夫直线,上标表示其亮度特征值为,和分别表示第个特征像素点对应的特征霍夫直线的斜率和截距。
41.利用上述方式对所有的特征像素点进行霍夫空间的投影,获得所有特征像素点在霍夫空间中的条特征霍夫直线。
42.2、获取每条特征霍夫直线的直线公钥。
43.上述中获得了每个特征像素点在霍夫空间中投影的特征霍夫直线,因为每张灰度图像中的每个加密区块的划分和特征像素点的选择都是具备多因素的,所以每个特征像素点在霍夫空间中生成的直线的斜率和截距都不相同,所以特征霍夫直线在霍夫空间中是随机存在的,分布是无规律的杂乱,必定存在交点。
44.首先任意选择一个多条特征霍夫直线的交点即高亮点,统计穿过该高亮点的特征霍夫直线,以穿过该高亮点的所有的特征霍夫直线的斜率和该高亮点的亮度作为该高亮点的公钥。
45.为避免一条特征霍夫直线对应多个加密区块公钥的现象,对穿过该高亮点的特征
霍夫直线穿过的所有高亮点的亮度进行统计,每条特征霍夫直线对应的最亮高亮点的公钥为该条特征直线所属的直线公钥。
46.例如,某个亮度为5的高亮点穿过的直线共有3条,分别为,和,其中共穿过1个高亮点为。共穿过3个高亮点,一个为,一个为亮度为1的高亮点,另一个为亮度为3的高亮点。共穿过两个高亮点,一个为,另一个为亮度为的高亮点,则按照上述规则,,穿过的最亮的高亮点为,故,使用中,和(,和分别为,和的斜率)以及的亮度作为,的直线公钥,即,对应的特征像素点所在的加密区块的直线公钥。而穿过的最亮高亮点的为,所以选择高亮点对应的公钥作为对应的直线公钥,即对应的特征像素点所在的加密区块的直线公钥。
47.利用上述方法可获得霍夫空间中的所有特征霍夫直线对应的直线公钥。
48.步骤s003,基于每条特征霍夫直线的直线公钥以及对应的最亮高亮点的亮度获取每条特征霍夫直线的私钥;利用每条特征霍夫直线的私钥对对应的加密区块进行加密,得到加密图像。
49.具体的步骤包括:1、获取每条特征霍夫直线的私钥。
50.对于每条特征霍夫直线来说,以对应的最亮高亮点的亮度与穿过该最亮高亮点的特征霍夫直线的条数的比值作为第一私钥;计算穿过该最亮高亮点的每条特征霍夫直线的斜率和亮度的乘积,获取穿过该最亮高亮点的所有特征霍夫直线的乘积的均值,作为第二私钥;私钥包括第一私钥和第二私钥。
51.利用霍夫空间中每条特征霍夫直线对应的直线公钥进行私钥的计算,以第条特征霍夫直线为例,以对应的最亮高亮点作为所属高亮点,其所属高亮点的公钥为,和,其第一私钥的计算方式为:其中,为第条特征霍夫直线所属的高亮点的亮度,为穿过该高亮点的特征霍夫直线的总条数。
52.第二私钥的计算方式为:其中,为第条特征霍夫直线所属的高亮点的公钥之一,本质为第条特征霍夫直线的斜率,为第条特征霍夫直线的亮度,为第条特征霍夫直线所属的高亮点的第个公钥,本质为第条特征霍夫直线的斜率,为第条特征霍夫直线的亮度。
53.利用上述方式可获得所有霍夫直线对应的私钥,即所有特征像素点对应的私钥,即所有加密区块对应的私钥。
54.2、利用每条特征霍夫直线的私钥对对应的加密区块进行加密,得到加密图像。
55.以第二私钥作为对应的特征霍夫直线所在加密区块内的每个像素点灰度值的斜率,以第一私钥作为截距,计算每个像素点灰度值的一次函数值作为加密灰度值。
56.上述中获得了每个加密区块的加密私钥和,而后利用私钥进行每个加密区块的图像加密即可,图像加密方式为对该加密区块的所有像素点的灰度值利用加密私钥进行线性变化,具体以第个加密区块内的某一个灰度值为例,其对应的加密区块的加密私钥分别为和,加密后的灰度值的计算方式为:利用上述方式对每一个加密区块所有灰度值通过其加密区块的专有密钥进行加密即可完成整体图像的加密。
57.上述中利用每个加密区块专属的加密私钥完成了整体图像的非对称式分加密区块的图像加密,而后利用现有的图像压缩技术对加密后的图像进行压缩,最后对已经压缩的图像进行传输即可。
58.综上所述,本发明实施例获取待加密图像及其灰度图像,将灰度图像划分为多个加密区块,基于像素点的灰度值获取加密区块中每个像素点的伪特征值;选取最大的伪特征值对应的像素点作为对应加密区块的特征像素点;对每个特征像素点进行霍夫空间投影,得到特征霍夫直线,对于霍夫空间中的每个高亮点,获取穿过该高亮点的所有特征霍夫直线的斜率和高亮点的亮度作为高亮点公钥,每条特征霍夫直线对应的最亮高亮点的高亮点公钥为该条特征霍夫直线的直线公钥;基于每条特征霍夫直线的直线公钥以及对应的最亮高亮点的亮度获取每条特征霍夫直线的私钥;利用每条特征霍夫直线的私钥对对应的加密区块进行加密,得到加密图像。本发明实施例的加密方法安全性更高。
59.需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
60.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
61.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1