肖 紅, 陳欣燕
(東北石油大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院, 黑龍江 大慶 163318)
量子計(jì)算[1]作為一種新的計(jì)算方法以其高度的并行性受到廣泛關(guān)注, 例如量子人工智能[2]、 量子機(jī)器學(xué)習(xí)[3]和量子圖像處理[4]等. 目前量子圖像處理的研究主要包括兩方面: 量子圖像表示和量子圖像處理算法. 對(duì)于量子圖像表示目前已有許多方法, 如Qubit Lattice模型[5]、 Real Ket模型[6]和FRQI(flexible representation of quantum images)模型[7-8]. 這3個(gè)模型是量子圖像表示的基礎(chǔ)模型, 其他各種模型都是對(duì)這3個(gè)模型的修改或擴(kuò)展. 文獻(xiàn)[9]給出了量子圖像表示的發(fā)展過程. 量子圖像處理算法包括幾何變換、 色彩處理、 特征提取、 圖像分割、 圖像置亂、 圖像加密、 信息隱藏和數(shù)字水印等, 其中圖像信息隱藏技術(shù)目前已成為量子圖像處理領(lǐng)域的一個(gè)研究熱點(diǎn).
在灰度載體圖像隱寫方面, 文獻(xiàn)[10]提出了一種基于Moire Pattern的水印算法; 文獻(xiàn)[11]提出了一種基于LSB(least significant bit)的信息隱藏算法; 文獻(xiàn)[12]提出了兩種盲LSB隱寫算法, 一種使用消息位直接代替像素的LSB, 另一種將消息位嵌入到一個(gè)圖像塊的多個(gè)像素中; 文獻(xiàn)[13]提出了一種同時(shí)采用LSB和MSB(most significant bit)的量子隱寫算法, 該算法實(shí)際上只有50%秘密信息嵌入到載體圖像中, 其余50%作為密鑰. 上述算法的嵌入容量均不超過每像素1 bit. 文獻(xiàn)[14]提出了一種基于Arnold置亂和LSB的隱寫算法, 該算法將經(jīng)Arnold置亂后的圖像嵌入到載體的圖像LSB中, 嵌入容量達(dá)到每像素2 bit. 在彩色載體圖像隱寫方面, 文獻(xiàn)[15]提出了一種量子圖像LSB信息隱藏算法, 雖然該方法的嵌入容量達(dá)到每像素3 bit, 但其安全性較低; 文獻(xiàn)[16]研究了3種基于LSB的量子彩色圖像隱寫算法, 其中前兩種嵌入容量為每像素1 bit, 第三種為每像素2 bit; 文獻(xiàn)[17]提出了一種新的基于量子LSB的彩色圖像Gray碼隱寫方法, 該方法中Gray碼的優(yōu)勢(shì)并未得到充分利用, 且嵌入容量?jī)H為每像素2 bit.
針對(duì)上述問題, 本文提出一種新的彩色載體圖像量子隱寫算法. 該算法將秘密信息劃分為多個(gè)3 bit段, 每個(gè)3 bit段根據(jù)其自身的值和Gray碼映射規(guī)則嵌入到載體圖像的LSB中. 最后采用不同的秘密圖像和載體圖像作為實(shí)驗(yàn)對(duì)象, 并與其他方法進(jìn)行對(duì)比, 結(jié)果表明, 該算法在嵌入容量和安全性方面均有提升.
本文基于QRMW(quantum representation of multi wavelength images)提出一種新的彩色圖像量子表示方法, 該模型同樣使用3組糾纏量子位序列, 分別對(duì)每個(gè)像素的顏色、 通道、 位置信息進(jìn)行編碼. 第一量子位序列用于編碼像素的顏色值, 需要8個(gè)量子比特; 第二量子位序列用于編碼RGB通道, 需要2個(gè)量子比特, 這2個(gè)量子比特處于3個(gè)基態(tài)|00〉,|01〉,|10〉(分別表示R,G,B三通道)的均衡疊加態(tài)中, 量子線路如圖1所示; 第三量子位序列用于編碼像素位置.
圖1 2個(gè)量子比特產(chǎn)生3個(gè)均衡疊加態(tài)的量子線路Fig.1 Quantum circuits that two qubits produce three equilibrium superposition states
因此描述一個(gè)大小為2n×2n、 顏色范圍為(28,28,28)的彩色圖像, 僅需要(2n+10)個(gè)量子比特.一張2n×2n的彩色圖像可表述為
其中
一張2×2的彩色圖像及其對(duì)應(yīng)的量子描述如圖2所示.
圖2 一張2×2的彩色圖像及其模型的表示方式Fig.2 Color image of 2×2 and its model representation
1.2 Gray碼及其在LSB隱寫中的應(yīng)用
在Gray碼中, 任何兩個(gè)相鄰的代碼只有一個(gè)不同的二進(jìn)制數(shù). 此外, 由于最大碼與最小碼之間只相差一位數(shù)字, 即首尾相連, 因此它也被稱為循環(huán)碼或反射碼[18].
二進(jìn)制碼bnbn-1,…,b1與其Gray碼gngn-1,…,g1之間的相互轉(zhuǎn)換[18]為
(2)
(3)
以4位Gray碼為例(其他情況類似), 實(shí)現(xiàn)二進(jìn)制碼和Gray碼轉(zhuǎn)換的量子線路如圖3所示.
圖3 實(shí)現(xiàn)二進(jìn)制碼和Gray碼互相轉(zhuǎn)換的量子線路Fig.3 Quantum circuits that implement conversion between binary code and Gray code
文獻(xiàn)[18]研究了Gray碼在LSB圖像隱寫中的應(yīng)用, 采用灰度圖像作為載體, 按照Gray碼規(guī)則嵌入秘密信息. 該方案的優(yōu)點(diǎn)是其遵循變換規(guī)則, 隱寫圖像的LSB并不總等于秘密位, 實(shí)驗(yàn)結(jié)果表明二者的差異幾乎達(dá)到50%. 但其嵌入容量?jī)H為每像素1 bit.
本文提出的隱寫方案包括分割、 嵌入、 提取和恢復(fù)4個(gè)過程, 如圖4所示.
圖4 本文隱寫方案的流程Fig.4 Flow chart of proposed steganography scheme
為便于描述, 本文中秘密信息(即需要嵌入載體彩色圖像|CI〉中的信息)是指大小為2u×2v且灰度范圍為28的灰度圖像|SI〉.將秘密消息嵌入載體圖像的基本思想: 首先將|SI〉中的量子比特序列視為3 bit段序列, 然后將每段嵌入到載體像素RGB通道的LSB中, 如果最后一段小于3 bit, 則用對(duì)應(yīng)位置載體圖像的像素比特填充. 因此, 為將|SI〉嵌入到大小為2n×2n的|CI〉中, 首先需要將|SI〉轉(zhuǎn)換成大小為2u+v+2-n×2n、 灰度范圍為23的圖像, 其中u+v+2≤2n.分段后的秘密圖像與載體圖像的列數(shù)相同, 行數(shù)小于等于載體圖像的行數(shù).經(jīng)過像素比特分段后的秘密圖像通常含有一些冗余像素, 本文將這些冗余像素的灰度值設(shè)為|0〉.下面給出一個(gè)嵌入實(shí)例.
假設(shè)載體圖像的大小為4×4, 原始秘密圖像大小為2×2, 則秘密圖像包含2×2×8=32個(gè)秘密比特, 這些秘密比特可視為11個(gè)3 bit段, 其中最后1位段只有2 bit, 此時(shí)可用載體圖像對(duì)應(yīng)位置的像素比特填充. 這11個(gè)3 bit段可視為一個(gè)大小為3×4且灰色范圍為23的圖像, 顯然需要4 bit實(shí)現(xiàn)位置編碼, 因此會(huì)導(dǎo)致有5個(gè)冗余像素, 如圖5所示.
圖5 一個(gè)原始秘密圖像及其分割后圖像的實(shí)例Fig.5 An example of original secret image and its segmented image
圖7 在載體圖像中嵌入單個(gè)秘密像素的量子線路Fig.7 Quantum circuits for embedding a single secret pixel in carrier image
圖8 秘密圖像的提取方案Fig.8 Extracting scheme of secret image
圖9 在載體圖像中提取單個(gè)秘密像素的量子線路Fig.9 Quantum circuits for extracting a single secret pixel in carrier image
為便于理解, 本文給出一個(gè)實(shí)例, 它描述了3個(gè)秘密比特是如何嵌入到一個(gè)載體像素并提取出來的. 假設(shè)載體像素的三通道顏色值為
P=(|rij〉,|gij〉,bij〉)=|01100110〉 |10110101〉|00110011〉,
在量子圖像處理中, 量子線路的復(fù)雜性主要根據(jù)通用邏輯門(Hadamard門, 非門, 受控非門(Controlled-NOT gate, CNOT)以及任意2×2酉算子)的數(shù)量決定. 下面從分析每個(gè)子模塊的復(fù)雜性開始, 逐步確定整個(gè)線路的復(fù)雜性.
1) 量子比較器、 Gray碼的轉(zhuǎn)換. 由文獻(xiàn)[19]可知, 量子比較器的復(fù)雜度不超過O(n2), 由圖2可知, Gray碼轉(zhuǎn)換的復(fù)雜度為O(3).
2) 秘密圖像的像素分段.該線路由2u+v+3個(gè)(2u+2v+3)-CNOT門組成.根據(jù)文獻(xiàn)[20], 一個(gè)k-CNOT門可由(4k-8)個(gè)2-CNOT門和一些輔助比特實(shí)現(xiàn).由u+v+2≤2n可知, 該模塊的復(fù)雜度不超過O(22n+1n).
3) 嵌入單個(gè)秘密像素線路. 由圖7可知, 該線路由兩個(gè)Gray碼轉(zhuǎn)換、 9個(gè)Toffoli門、 8個(gè)6-CNOT門、 16個(gè)5-CNOT門組成, 因此該線路的復(fù)雜度為與圖像大小無(wú)關(guān)的常數(shù).
4) 秘密圖像嵌入線路. 該量子電路由兩個(gè)量子比較器和一個(gè)單像素嵌入模塊組成, 因此該線路的復(fù)雜度不超過O(n2).
5) 提取單個(gè)秘密像素線路.由圖9可知, 該線路由兩個(gè)Gray碼轉(zhuǎn)換、 8個(gè)Toffoli門和4個(gè)3-CNOT門組成, 因此該線路復(fù)雜度也為與圖像大小無(wú)關(guān)的常數(shù).
6) 秘密圖像提取線路. 該線路由兩個(gè)量子比較器和一個(gè)單像素提取模塊組成, 因此這種電路的復(fù)雜度不超過O(n2).
7) 秘密圖像恢復(fù).該線路的復(fù)雜度與秘密圖像分段線路相同.
因此, 如果不考慮秘密圖像的像素分段和恢復(fù)過程, 則隱寫方案的復(fù)雜度不超過O(n2); 如果考慮所有過程, 則復(fù)雜度為O(22n+2n+n2).
由于目前量子計(jì)算機(jī)尚未普及, 因此在經(jīng)典計(jì)算機(jī)上對(duì)幾種彩色圖像的隱寫方案進(jìn)行仿真.仿真硬件環(huán)境為配置Intel(R)Core(TM)i7-10700CPU@2.90 GHz, 8.00 GB RAM和64位Win10操作系統(tǒng)的臺(tái)式計(jì)算機(jī). 軟件環(huán)境為MATLAB2019a. 為驗(yàn)證本文隱寫方案的優(yōu)點(diǎn), 將本文方案與文獻(xiàn)[15-17]中的隱寫方案進(jìn)行比較. 仿真中使用4個(gè)512×512的彩色載體圖像如圖10所示.
圖10 實(shí)驗(yàn)中使用的4張載體圖像Fig.10 Four carrier images used in experiments
由于文獻(xiàn)[16]和文獻(xiàn)[17]的嵌入容量是每像素2 bit, 即最多可嵌入512×512=256×256×4個(gè)秘密比特, 因此嵌入的秘密圖像最大為256×256. 同理, 文獻(xiàn)[15]和本文中的隱寫方案嵌入容量為每像素3 bit, 即最多可嵌入512×512×3=384×256×8個(gè)秘密比特, 因此嵌入的秘密圖像最大為384×256. 兩個(gè)大小為256×256和兩個(gè)大小為384×256的灰度圖像(作為秘密圖像)如圖11所示.
圖11 實(shí)驗(yàn)中使用的4張秘密圖像Fig.11 Four secret images used in experiments
4.1 4種隱寫方案的PSNR比較
令C是大小為2n×2n的彩色載體圖像,S是嵌入秘密信息后的隱寫圖像, 則PSNR可定義為
(4)
將圖10中的4張載體圖像分別嵌入圖11中的4張秘密圖像后, 本文方案和其他3種方案的PSNR對(duì)比結(jié)果列于表1. 由表1可見, 當(dāng)嵌入相同大小的秘密圖像后, 與其他方案相比, 本文方案的PSNR僅降低了0.5~3 dB. 當(dāng)達(dá)到最大嵌入容量時(shí), 與文獻(xiàn)[16]和文獻(xiàn)[17]的方案相比, 雖然PSNR降低了2~4 dB, 但嵌入容量增加了1/3; 與文獻(xiàn)[15]的方案相比, 雖然PSNR降低了約3 dB, 但后續(xù)實(shí)驗(yàn)結(jié)果表明, 本文嵌入方案更安全. 此外, 本文方案在達(dá)到最大嵌入容量后, PSNR值仍大于48 dB, 這在一般情況下可以接受.
表1 秘密圖像和載體圖像不同組合下4種隱寫方案的PSNR對(duì)比
將圖11(C)中的秘密圖像嵌入到所有載體圖像中, 該方案的視覺效果如圖12所示. 由圖12可見, 原始的載體圖像和對(duì)應(yīng)的隱寫圖像僅用肉眼無(wú)法區(qū)分, 這也在一定程度上驗(yàn)證了本文方案的安全性.
圖12 秘密信息嵌入載體圖像前后的視覺效果Fig.12 Visual effect before and after secret information is embedded into carrier image
圖13為兩張?jiān)驾d體圖像和嵌入圖11(B)中秘密圖像后的隱寫圖像直方圖. 由圖13可見, 與原始載體圖像的直方圖相比, 雖然隱寫圖像的直方圖有輕微抖動(dòng), 但仍保持了高度的一致性.
圖13 隱寫圖像的直方圖Fig.13 Histogram diagram of steganography images
圖14 兩種方案直接提取隱寫圖像中RGB三通道的LSB得到的秘密圖像Fig.14 Secret images obtained by directly extracting LSB of RGB three-channel in steganography image for two schemes
(5)
表2 原始秘密圖像與直接提取隱寫圖像的LSB得到的秘密圖像相似性
由表2可見, 對(duì)于不同載體圖像和秘密圖像的組合, 本文方案的相似度為0.498 1~0.500 9, 因此具有更好的安全性. 對(duì)于文獻(xiàn)[15]的方案, 提取的圖像與原始秘密圖像完全相同(即相似度等于1), 因此根本不存在安全性.
為評(píng)估該隱寫方案在信道噪聲情況下的魯棒性, 本文分別考察了3種噪聲: 均值為0、 方差為0.01的高斯噪聲; 密度為0.1的椒鹽噪聲; 翻轉(zhuǎn)概率為0.01的量子比特翻轉(zhuǎn)噪聲. 首先在隱寫圖像中分別混入上述3種噪聲中的一種, 然后考察秘密圖像的提取效果, 并將本文方案與文獻(xiàn)[15-17]的方案進(jìn)行比較, 進(jìn)一步驗(yàn)證本文方案的有效性.
仿真結(jié)果表明, 幾種方案的魯棒性能相似. 對(duì)椒鹽噪聲和量子比特翻轉(zhuǎn)噪聲都具有良好的適應(yīng)性, 而對(duì)高斯噪聲的魯棒性較差. 為定量比較4種方案的魯棒性, 定義兩張圖像間的相關(guān)系數(shù)為
(6)
其中E(x)和D(x)分別為圖像x像素灰度值的數(shù)學(xué)期望和方差.
利用式(6)將x作為原始秘密圖像,y作為從疊加噪聲的隱寫圖像中提取的秘密圖像.4種方案在不同噪聲下的相關(guān)系數(shù)比較分別列于表3~表5.
表3 4種方案在高斯噪聲下的相關(guān)系數(shù)比較
表4 4種方案在椒鹽噪聲下的相關(guān)系數(shù)比較
表5 4種方案在量子比特翻轉(zhuǎn)噪聲下的相關(guān)系數(shù)比較
由表3~表5可見: 4種方案對(duì)高斯噪聲的魯棒性較差; 對(duì)椒鹽噪聲和量子比特翻轉(zhuǎn)噪聲, 本文方案的魯棒性與文獻(xiàn)[15]和文獻(xiàn)[16]中方案大致相同, 優(yōu)于文獻(xiàn)[17]中方案.
對(duì)于隱寫方案的嵌入容量, 文獻(xiàn)[10]將其定義為秘密圖像量子比特?cái)?shù)與載體圖像像素?cái)?shù)之比:
(7)
根據(jù)該定義, 本文方案的嵌入容量為C=(3×2n×2n)/(2n×2n)=3 bit/像素. 文獻(xiàn)[15]中方案的嵌入容量為3 bit/像素, 而文獻(xiàn)[16]和文獻(xiàn)[17]中方案的嵌入容量?jī)H為2 bit/像素. 由上述實(shí)驗(yàn)結(jié)果可見, 本文方案不僅具有可接受的峰值信噪比、 較高的嵌入容量和更好的安全性, 而且在存在信道噪聲的情況下具有更好的魯棒性能.
綜上所述, 隱寫是一種在數(shù)字媒體(如數(shù)字圖像、 音頻或視頻)中隱藏秘密信息的科學(xué), 在經(jīng)典計(jì)算機(jī)上已進(jìn)行了較深入的研究, 而關(guān)于量子計(jì)算機(jī)的類似研究報(bào)道較少. 本文給出了基于LSB替代的彩色圖像隱寫在量子計(jì)算機(jī)上的實(shí)現(xiàn)方案, 該方案不直接用秘密比特替換載體圖像的LBS, 而是通過Gray碼規(guī)則將秘密信息間接嵌入到載體像素的LBS中, 提高了隱寫圖像的安全性. 與現(xiàn)有的幾種彩色圖像量子隱寫方案相比, 該方案不僅具有可接受的峰值信噪比, 較高的嵌入容量和更好的安全性, 而且在存在信道噪聲的情況下具有更好的魯棒性.