1.一种用于篡改检测和自恢复的量子图像水印方法,其特征在于,将自恢复水印引入到量子水印中,并基于两级篡改检测方法完成量子图像的篡改定位与自恢复;具体包括如下步骤:
步骤1、量子图像制备,具体过程如下:
q n n
步骤1.1、将灰度范围为[0,2‑1]的尺寸为2×2的灰度载体图像转换为基于NEQR的量子载体图像|C>,表示形式如下:
(2)其中,q、n均表示量子位数; ,|fYX>代表量子载体图像|C>像素的颜色信息, 表示量子载体图像|C>颜色信息的具体序列,且;|YX>C表示量子载体图像|C>像素的坐标位置,|Y>表示像素在Y方向的坐标,|X>表示像素在X方向的坐标;
n n
步骤1.2、准备尺寸为2×2的基于NEQR的空图像|T>和两个空密钥图像|K>和 ,表示如下:
(3) (4)
(5)
其中, ,|tYX>代表空图像|T>像素的颜色信息, 表示空图像|T>颜色信息的具体序列;|YX>T表示空图像|T>像素的坐标位置;|kYX>、 分别代表空密钥图像|K>和 像素的颜色信息;|YX>K、 分别表示空密钥图像|K>和 像素的坐标位置; ;
步骤2、水印生成与嵌入,具体过程如下:
步骤2.1、基于恢复位生成量子电路进行恢复位的生成,并更新临时空图像|T>和密钥图像|K >;
所述步骤2.1中,恢复位生成量子电路包括两个8量子比特RPA模块和一个由2n‑2位量子位控制的9比特量子位RPA模块、一个9量子比特D4模块、两个2n‑2量子比特QE模块、六个由2位量子比特控制的CNOT门、三个CNOT门和三个由1位量子比特控制的QE模块;
RPA模块包含一个RHA模块和n‑1个RFA模块;RHA模块包括5个CNOT门,RFA模块包括9个CNOT模块;D4模块包括2n+1个swap门;QE模块包括2n个CNOT门和一个由n位量子比特控制的CNOT门;
生成恢复位的具体过程如下:
步骤2.1.1、采用量子图像分块方法将量子载体图像|C>分为尺寸为2×2的不重叠图像块,图像块内的四个像素分别为|f(X,Y)>,|f(X+1,Y)>,|f(X,Y+1)>和|f(X+1,Y+1)>,计算图像块内4个像素的平均值并取前6位作为图像块的恢复位;
在恢复位生成量子电路中,利用三个RPA模块得到块内像素值的和,将和通过D4模块,得到块内像素的平均值|s>=| s7s6⋯s0>,并取|s7>,|s6>,⋯,|s2>作为恢复位;
步骤2.1.2、将量子载体图像|C >的位置信息|Yn‑1Yn‑2⋯Y1>C |Xn‑1Xn‑2⋯X1>C与空图像|T>的位置信息|Yn‑1Yn‑2⋯Y1 >T |Xn‑1Xn‑2⋯X1 >T通过QE模块;当QE模块输出|1>时,量子载体图像块与空图像|T>的图像块具有相同的位置;此时,通过CNOT门将量子载体图像块的6位恢复位|s7>,|s6>,⋯,|s2>临时存储在图像|T>的图像块内,图像块内的四个像素分别为|t(X,Y)>,|t(X+1,Y)>,|t(X,Y+1)>和|t(X+1,Y+1)>;存储规则为:‘|s2>,|s3>’‑|t(X,Y)>;‘|s4>,|s5>’‑|t(X+1,Y)>;‘|s6>,|s7>’‑|t(X+1,Y+1)>;
步骤2.1.3、使用QE模块比较位置|Yn‑1Yn‑2⋯Y1>C|Xn‑1Xn‑2⋯X1>C与|Yn‑1Yn‑2⋯Y1>K |Xn‑1Xn‑2⋯X1>K;当QE输出|1>时,量子载体图像块与密钥图像块位置对应;此时利用三个QE模块分别比较恢复位|s2>和|s3>,|s4>和|s5>与|s6>和|s7>是否相等;若QE模块输出|0>,则对应的两位恢复位不相等,此时通过CNOT门在密钥图像|K>的对应像素|k(X,Y)>,|k(X+1,Y)>或|k(X,Y+1)>中存入|1>;
步骤2.2、基于图像置乱量子电路对图像|T>进行置乱;将图像|T>分为4个尺寸相同的区域,交换对角线上的两个区域的像素值,当某个图像块被篡改时,它的恢复位从对角线区域的对应图像块中提取;
所述步骤2.2中,图像置乱量子电路包含两个NOT门;
图像置乱的具体过程如下:
利用两个NOT门分别作用在|T>的|Xn‑1>T和|Yn‑1>T上,对图像|T>实现置乱;得到的置乱的临时图像 表示如下: (6)
其中 , ; 表示临时图像 像素的坐标位
置;
步骤2.3、基于恢复位嵌入量子电路进行恢复位的嵌入;
所述步骤2.3中,恢复位嵌入量子电路包含一个2n‑2量子比特QE模块,三个由1位量子比特控制的swap门;
嵌入恢复位的具体过程如下:
将量子载体图像|C>的位置信息|Yn‑1Yn‑2⋯Y1>C|Xn‑1Xn‑2⋯X1>C与置乱的临时恢复位图像的位置信息 通过QE模块;当QE模块输出|1>时,量子载体图像块与临时恢复位图像块位置对应;此时,利用swap门将量子载体图像|C>中像素的3位LSB|f(X,Y)0>、|f(X+1,Y)0>和|f(X,Y+1)0>与图像|T>中像素对应的3位LSB、 和 交换,完成恢复位的嵌入;
步骤2.4、基于认证位生成和嵌入量子电路进行认证位的生成与嵌入;
所述步骤2.4中,认证位生成和嵌入量子电路包括三个NOT门、两个由2n‑2位量子比特控制的RPA模块、一个2n‑2量子比特QE模块、四个由1位量子比特控制的QE模块、15个CNOT模块、四个swap门和一个由1位量子比特控制的swap 门;
认证位生成和嵌入的具体过程如下:
步骤2.4.1、选择量子载体图像块中的三个像素|f(X,Y)>、|f(X+1,Y)>和|f(X,Y+1)>,将像素|f(X,Y)>的第七位|f(X,Y)7>,像素|f(X+1,Y)>的第五位|f(X+1,Y)5>和像素|f(X,Y+
1)>的第六位|f(X,Y+1)6>通过NOT门进行翻转后得到新像素;将新像素|f(X,Y)>与|f(X,Y+
1)>通过RPA模块,输出|r>;将新像素|f(X+1,Y)>与|f(X+1,Y+1)>通过RPA模块,输出 ;
准备4个辅助位|0>,将|r>与 的第3到6位分别通过CNOT门进行模加运算,将得到的模加值作为4位认证位赋值给4位辅助位|0>;
步骤2.4.2、将量子载体图像|C>的位置|Yn‑1Yn‑2⋯Y1>C|Xn‑1Xn‑2⋯X1>C与密钥图像 的位置 通过QE模块,当QE模块输出|1>时,量子载体图像块与密钥图像块对应;此时分别将4位认证位与量子载体图像块中4个像素的倒数第二位LSB通QE模块进行比较;若QE模块输出|1>,即认证位与对应载体像素位相等,则通过NOT门在对应的密钥位 , , 或 中存入|1>;若QE模块输出|0>,则在对应的密钥位中存入|0>;
步骤2.4.3、量子载体图像块中四个像素的倒数第二位LSB分别通过swap门与4位认证位进行交换,以完成第一层认证位的嵌入;同时,利用CNOT门将密钥图像块内的, 和 的模加值作为一位认证位存入到辅助位|0>中;当量子载体图像块的位置对应于密钥图像块的位置时,通过swap门将一位认证位嵌入到|f(X+1, Y+
1)0>中,实现第二层认证位的嵌入;
在量子载体图像|C>中嵌入水印后得到嵌入水印的图像|CW>,其表示如下: (7)
其中,|YX>CW表示嵌入水印的图像|CW>像素的坐标位置;
步骤3、基于篡改检测与自恢复量子电路进行图像篡改检测,包括第一层篡改检测和第二层篡改检测,根据篡改检测的结果,进行图像自恢复;
所述步骤3中,篡改检测与自恢复量子电路包括三个NOT门、两个由2n‑2位量子比特控制的RPA模块、11个CNOT门、一个2n‑2量子比特QE模块、一个4量子比特QE模块、一个由1位量子比特控制的QE模块、一个由3位量子比特控制的RN模块和两个由1位量子比特控制的RY模块;
图像篡改检测的具体过程如下:
步骤3.1、将嵌入水印的图像分为尺寸为2×2的不重叠图像块;将块内像素的|f(X,Y)7>,|f(X+1,Y)5>和|f(X,Y+1)6>位通过NOT门进行翻转后得到新像素;将新像素|f(X,Y)>与|f(X+1,Y)>通过RPA模块,输出|r'>,将新像素|f(X+1,Y)>与|f(X+1,Y+1)>通过RPA模块,输出;将|r'>与 的第3到6位分别通过CNOT门进行模加运算;得到重新计算的4位认证位并赋值给辅助位|0>;
步骤3.2、通过QE模块比较在步骤3.1中得到的4位新认证位与|f(X,Y)1>,|f(X+1,Y)1>,|f(X,Y+1)1>和|f(X+1,Y+1)1>,此为第一层篡改检测;
将量子载体图像|C>的位置|Yn‑1Yn‑2⋯Y1>C|Xn‑1Xn‑2⋯X1>C与密钥图像 的位置通过QE模块;当QE模块输出|1>时,量子载体图像块与密钥图像块的位置相对应;此时通过计算 , 和 的模加值得到1位新的认证位;将重新计算得到的认证位与提取出的1位认证位|f(X+1, Y+
1)0>通过QE模块进行比较,此为第二层篡改检测;
步骤3.3、当用于篡改检测的两个QE模块中至少1个输出|0>时,此时判断图像块被篡改,使用RY模块进行图像块恢复;当两个QE模块都输出|1>时,判断图像块未被篡改,此时使用RN模块对图像块进行恢复;
步骤4、图像自恢复,具体过程如下:
步骤4.1、基于提取恢复位量子电路,从嵌入水印的图像中提取恢复位并存入到空图像|T>中;
所述步骤4.1中,恢复位提取量子电路包含两个2n‑2量子比特QE模块、六个由2位量子比特控制的CNOT门和3个由2位量子比特控制的NOT门;
恢复位提取的具体过程如下:
将图像|CW>的位置|Yn‑1Yn‑2⋯Y1>CW|Xn‑1Xn‑2⋯X1>CW与空图像|T>的位置|Yn‑1Yn‑2⋯Y1>T|Xn‑
1Xn‑2⋯X1>T通过QE比较模块;当QE输出|1>时,在嵌入水印的图像块中提取出3位水印位|f(X,Y)1>CW,|f(X+1,Y)1>CW和|f(X,Y+1)1>CW并存入到|T>对应像素的LSB|t(X,Y)0>,|t(X+1,Y)0>和|t(X,Y+1)0>中;将|Yn‑1Yn‑2⋯Y1>CW|Xn‑1Xn‑2⋯X1>CW与|Yn‑1Yn‑2⋯Y1>K|Xn‑1Xn‑2⋯X1>K通过QE比较模块,当QE输出|1>时,根据密钥|K>的值,提取出另3位水印位并存入到|T>对应像素的第二位LSB|t(X,Y)1>,|t(X+1,Y)1>,|t(X,Y+1)1>中;使用CNOT门将|t(X,Y)0>,|t(X+1,Y)0>,|t(X,Y+1)0>的值赋值给|t(X,Y)1>,|t(X+1,Y)1>,|t(X,Y+1)1>;当|K>=|1>时,使用NOT门翻转|t(X,Y)1>,|t(X+1,Y)1>或|t(X,Y+1)1>;
步骤4.2、使用图像置乱量子电路逆置乱图像|T>;
步骤4.3、根据步骤3中篡改检测的结果,使用RY模块恢复被检测为篡改的图像块或使用RN模块恢复被检测为未被篡改的图像块。
2.根据权利要求1所述用于篡改检测和自恢复的量子图像水印方法,其特征在于,所述步骤4.3的具体过程如下:
步骤4.3.1、当图像块被检测为被篡改时,使用RY模块进行图像块恢复;
RY模块包括一个2n‑2量子比特QE模块和四个由1位量子比特控制的QA模块;其中一个n量子比特QA模块包含n个CNOT门和n个交换门;
RY模块恢复过程如下:
将图像|CW>的位置|Yn‑1Yn‑2⋯Y1>CW|Xn‑1Xn‑2⋯X1>CW与逆置乱图像|T>的位置|Yn‑1Yn‑2⋯Y1>T|Xn‑1Xn‑2⋯X1>T通过QE模块;当QE模块输出|1>时,将|T>的图像块中存储的6位恢复位和两位辅助位|0>作为被篡改图像块的恢复值;使用QA模块将8位恢复序列赋值给图像|CW>中对应像素块的4个像素|f(X,Y) >,|f(X+1,Y) >,|f(X,Y+1) >和|f(X+1,Y+1) >;
步骤4.3.2、当图像块被检测为未被篡改时,使用RN模块恢复图像块;
RN模块包括一个2n‑2量子比特QE模块和四个由2位量子比特控制的NOT门;
RN模块恢复过程如下:
将|Yn‑1Yn‑2⋯Y1>CW|Xn‑1Xn‑2⋯X1>CW与 通过QE模块;当QE模块输出|1>时,|C>与 图像块的位置相对应;在图像块的4个像素中,以位置(X,Y)为例,当 ,则嵌入的水印位与原载体位不相等,此时使用NOT门翻转图像|CW>中的对应像素位|f(X,Y)1>CW。