國立高雄大學資訊工程研究所
碩士論文
基於區塊圖像之可逆式直方圖量子資訊隱藏演算法
Reversible Histogram Quantum Information Hiding
Algorithm Based on Block Image
研究生:王怡文撰
指導教授:陳建源教授
基於區塊圖像之可逆式直方圖量子資訊隱藏演算法
指導教授:陳建源 博士 國立高雄大學資訊工程研究所 研究生:王怡文 國立高雄大學資訊工程研究所 摘要 今日網路已成為人們每日不可或缺的工具,如何安全地在網路上傳遞機密資訊, 已經成為許多學者專家們近年來不斷地研究的議題,如何增加機密資訊的隱藏量?如何 提高偽裝影像的品質?如何縮短隱藏資訊的時間複雜度?更成為研究資訊隱藏方法的 主要方向。本文基於最不重要位元(LSQb)的量子資訊隱藏演算法基礎,利用 NEQR 的 方法,以糾纏量子序列來儲存整張影像,透過傳統直方圖可逆式資訊隱藏技術及運用 NCQI 的方法,使用量子比較器,結合量子計數器,進行機密資訊藏入與擷取,研發基 於區塊影像之可逆式直方圖量子資訊隱藏演算法,並改良演算法增加機密資訊的隱藏量 。本文所提出的方法是由傳送方透過直方圖區塊位移方法,以量子演算法將機密資訊藏 入偽裝影像,傳送給接收方,而接收方接收機密量子資訊,並還原原始影像,雖然在機 密資訊隱藏量部分比 LSQb 方法低,但本文的方法可以還原原始影像,達到可逆式的目 的。 關鍵字:資訊隱藏、可逆式資訊隱藏、直方圖區塊位移、量子演算法Reversible Histogram Quantum Information Hiding
Algorithm Based on Block Image
Advisor:Dr.(Professor) C.Y. Chen
Institute of Computer Sciencr and Information Engineering National Kaohsiung University
student:Y.W. Wang
Institute of Computer Sciencr and Information Engineering National Kaohsiung University
Abstract
Today's Internet has become an indispensable tool for people every day. How to safely transmit confidential information on the Internet has become an issue that many scholars and experts have been studying in recent years. How to increase the hidden amount of confidential information? How to improve the quality of stego-image? How to reduce the time complexity of hiding information? It has become the main direction of research on information hiding methods. Based on the quantum information hiding algorithm of least significant bit (LSQb), this paper uses NEQR representation to store the whole image with entangled quantum sequence. We present a reversible histogram quantum information hiding algorithm based on block images, by using NCQI method, quantum is used. The algorithm proposed in this paper is to use the histogram block displacement method by the transmitter to hide the confidential information into the stego-image and transmit it to the receiver. The receiver receives the quantum confidential information and recovers the original image. The information hiding amount of our algorithm is lower than the that of LSQb method, but our algorithm is reversible.
Keywords: Information Hiding, Reversible Information Hiding, Histogram Block Displacement, Quantum Algorithm
目錄 摘要 ……… i Abstract ……… ii 目錄 ……… iii 圖目錄 ……… iv 表目錄 ……… v 一. 導論 ……… 1 二. 文獻回顧 ……… 4 2.1 Yoo 等學者所提的方法……… 4 2.2 量子資訊隱藏方法……… 10 2.2.1 量子資訊隱藏技術……… 10 2.2.2 NCQI 量子資訊隱藏方法 ……… 14 三. 基於區塊影像之可逆式直方圖量子資訊隱藏演算法……… 19 3.1 可逆式直方圖量子資訊隱藏演算法說明……… 19 3.2 機密資訊藏入演算法……… 23 3.3 機密資訊擷取演算法……… 29 四. 本文方法之改良演算法……… 35 4.1 影像重疊隱藏演算法……… 35 4.2 兩位元影像區塊隱藏演算法……… 43 五. 討論與分析……… 49 5.1 本文所提演算法與 LSQb 比較……… 49 5.1.1 安全性分析……… 49 5.1.2 量子資訊隱藏比較……… 49 5.2 本文所提演算法與改良演算法比較……… 50 六. 結論 ……… 51 參考文獻 ……… 52
圖目錄 圖 1 Yoo 等學者所提出的方法之藏入過程 ……… 7 圖 2 Yoo 等學者所提出的方法之擷取過程 ……… 9 圖 3 NEQR 量子影像產生之流程圖……… 10 圖 4 一個 2 × 2 的 NEQR 量子影像……… 11 圖 5 2 × 2 影像及其 NEQR 量子表示式……… 11 圖 6 兩個量子位元比較器……… 12 圖 7 三個量子位元比較器……… 12 圖 8 兩位元的量子計數器(加 1)……… 12 圖 9 兩位元的量子計數器(減 1) ……… 13 圖 10 三位元的量子計數器(加 1) ……… 13 圖 11 三位元的量子計數器(減 1) ……… 13 圖 12 4 × 4 彩色影像及其 NCQI 的量子表示式……… 14 圖 13 NCQI 資訊隱藏法的量子電路……… 15 圖 14 擷取機密量子位元的量子電路……… 16 圖 15 2×2 的彩色數字影像……… 16 圖 16 擷取機密量子位元的量子電路範例……… 18 圖 17 量子資訊實例圖……… 25 圖 18 量子資訊藏入電路圖……… 28 圖 19 量子資訊擷取電路圖……… 34 圖 20 機密量子資訊擷取電路圖……… 34 圖 21 量子資訊改良算法範例圖……… 35
表目錄
表 1 本文所提演算法與 LSQb 演算法比較……… 49 表 2 本文所提演算法與改良演算法比較……… 50
一. 導論 資訊隱藏(Information Hiding)的技術隨著現代資訊技術而快速成長,主要將機密資訊藏 入原始影像(Cover-Image)中,然後將藏有機密資訊的偽裝影像(Stego-Image)傳送給對方,進 而達到有效接收機密資訊[1]。現今的機密資訊隱藏技術是將機密資訊隱藏在偽裝影像中,而 偽裝影像與原始的影像非常相似,一般人的是無法辨識出來的,必須要有傳送方的密鑰,才 能擷取機密資訊。 良好的機密資訊影像隱藏技術需要滿足不可察覺性(Imperceptivity)、安全性(Security)、 高資訊隱藏量(Payload)等三點要求[1]。所謂的「不可察覺性」是指藏入機密資訊的偽裝影 像品質不能失真太多,為避免引起第三者的懷疑,所以在藏入機密資訊後影像必須在一定的 水準之上。而「安全性」是指除了傳送方與接收方擁有密鑰外,第三者無法從偽裝影像中擷 取機密資訊。最後「高資訊隱藏量」是指偽裝影像在一定的品質要求前提下,盡可能增加機 密資訊的隱藏量。而根據 Kim 等學者[2]分析資訊隱藏之優劣的主要三種因素:機密資訊的 隱藏量、偽裝影像的品質(PSNR 值越高代表影像品質越好)和隱藏資訊的時間複雜度。其中最 重要的關鍵在於偽裝影像的品質和機密資訊的隱藏量。因此在偽裝影像不易被發現的前提下, 如何藏入最多的機密資訊之資訊隱藏技術,更是成為許多專家學者們研究資訊隱藏方法的主 要方向。 目前在資訊隱藏領域中有兩個主要的技術,分別為不可逆式資訊隱藏 (Irreversible Information Hiding)技術與可逆式資訊隱藏 (Reversible Information Hiding)技術。不可逆式資 訊隱藏技術是指當接收方擷取所藏入的機密資訊後,無法還原原始影像之內容,這種方法最 大的優點是擁有極高的資訊隱藏量。最簡單且有效的方法為 Tirkel[3]在 1994 年提出的最不重 要位元(Least Significant Bit;簡稱為 LSB)[4,5]的方法,該方法捨棄掉原始影像像素中的最後 一個位元,用機密資訊來替代,結果將無法得知原始影像像素中的最後一個位元值,但這種 方法因僅捨去像素值中的最後一個位元,所以最多只有差一個像素值,因此擁有很好的偽 裝影像品質。 可逆式資訊隱藏技術是指當擷取所藏入的機密資訊後,可將偽裝影像恢復到不失真的原 始影像,但可逆式資訊隱藏技術在藏入機密資訊時多半會產生額外的資訊,以輔助擷取機密 資訊 。 目 前可逆 式 資訊隱藏技術 區 分成三個主要的隱藏 方法 [6] , 分別是差 值擴張法
成直方圖後,在圖中找出一組高點(peak point)與零點(zero point),並將位於兩點之間的數值 皆向零點方向移動一個位置,藉以空出高點旁邊的位置。利用這個位移空位與高點,將機密 資訊隱藏在這高點之中,在此隱藏的步驟中,像素值最多變動為 1,使得失真率非常低。 在 2010 年,Yoo 等學者[8]為了解決直方圖位移溢位的問題並增加機密資訊之隱藏量, 在 Ni 等學者[7]直方圖資訊隱藏技術的基礎下,利用雙高點之方法藏入機密資訊並增加機密 資訊隱藏量,而且維持良好的偽裝影像品質。 另外科技的創新帶領我們進入量子領域,量子電腦是 1 和 0 位元是同時間存在的,具有 疊加態和糾纏態特性,使得量子電腦在某些運算上的運算速度可以高於一般傳統電腦,因此, 量子計算[9,10]是近來資訊科學中的一個新方向。目前已經有許多演算法能實作在量子電腦 上,如 Shor 的量子因數分解演算法[11],Grover 的量子搜尋演算法[12]。 量子隱藏影像[13]是量子資訊處理[14]的一種,大多集中在量子影像表示式、量子影像 浮水印和量子影像加密等問題上。目前已經提出許多量子影像表示式,如 Qubit Lattice 表示 式 [15],糾纏影像表示式[16],對數極坐標影像的量子表示式[17],量子影像的靈活表示式 (FRQI)[18],量子影像的多通道表示式(MCRQI)[19],量子數字影像表示式 [20],Fourier Transform 量子影像浮水印表示式[21],Real Ket 表示式 [22]和一個新的增強量子影像表示式 (NEQR) [23]等。 在 2015 年,Wang 等人[24]使用量子最低有效位元(LSQb)的方法提出量子資訊隱藏演算 法[24],利用 NEQR[23]表示式將兩個糾纏量子序列來儲存整張影像,之後利用量子比較器, 比較機密資訊位元與量子影像中像素的最後一個位元,如果不同則使用單一變換(unitary transformation)將機密資訊位元替換像素中最後一個位元,將所有的機密資訊位元隱藏在量子 影像中每個像素的最後一個位元中。 在 2016 年,Sang 等人[25,26]使用 NCQI 方法改良 LSQb,將機密資訊藏入到 RGB 通道 的最低有效量子位元中。通過設計的三位元量子比較器,將機密量子位元與 RGB 信道的最低 有效量子位元進行比較,並將比較之結果透過單一變換(unitary transformation)將機密量子資 訊藏入到 RGB 通道的最低有效量子位元中。 而目前大多數量子影像安全研究都是基於 FRQI 表示式,FRQI 使用單一個量子位元編碼, 但單一個量子位元不適用於 LSQb 資訊隱藏,所以在討論量子影像的 LSB 資訊隱藏算法時, 顏色編碼應該是二進制量子位元的形式,所以本文擬定在量子位元系統上,建構 NEQR 量子
接著第三章提出基於區塊影像之可逆式直方圖量子資訊隱藏演算法。依據本文提出的方法在 第四章提出本文方法之改良演算法。並在第五章提出分析與討論,針對本文方法與 LSQb、改 良演算法兩者之比較。最後在第六章做為最後的結論。
二. 文獻回顧 為了瞭解本文所提出之方法,我們回顧 Yoo 等學者[8]提出的區塊影像之資訊隱藏方法, 以及 NCQI 量子資訊隱藏方法。 2.1 Yoo 等學者所提的方法 Yoo 等學者[8]為了解決溢位的問題,利用 JBIG 無失真壓縮來解決,達到多次藏入機密 資訊並增加隱藏量,產生良好的影像視覺品質。以下為 Yoo 等學者提出機密資訊方法: 機密資訊藏入演算法 輸入:原始影像 𝐼、機密資訊 𝑠。 輸出:偽裝影像 𝐼′、兩個高點ℎ1、ℎ2及溢位像素值位置。 步驟 1: 將 𝐼分割成不重疊2𝑛× 2𝑛影像,並令原始影像像素值為𝑐 𝑖𝑗,0 < 𝑖 < 𝑛 − 1,0 < 𝑗 < 𝑛 − 1。 步驟 2: 依原始影像位置由左至右,由上而下依序實施檢查,運用直方圖統計每個像素值的區塊分佈 情形,並找到最高點ℎ1,並令另一個高點 ℎ2 = ℎ1+ 1。 步驟 3: 依原始影像位置由左至右,由上而下依序實施檢查原始影像 𝐼是否有下限(Lower Bound) 0 和 上限(Upper Bound) 2𝑞− 1的像素值,即為位移後的溢位像素值;如果 𝑐 𝑖𝑗 = 0,則修改像素 值 𝑐𝑖𝑗′= 𝑐𝑖𝑗+ 1 = 1;如果 𝑐𝑖𝑗 = 2𝑞− 1,則修改像素值為 𝑐𝑖𝑗′= 2𝑞− 1 − 1 = 2𝑞− 2,並 將溢位像素值位置記錄下來。 步驟 4: 依原始影像位置由左至右,由上而下依序實施檢查,針對每一個影像像素值 𝑐𝑖與兩個高點ℎ1和 ℎ2進行比較,如果 𝑐𝑖𝑗′< ℎ1,則像素值皆向直方圖左位移一個單位,即 𝑐𝑖𝑗″ = 𝑐𝑖𝑗′− 1;
步驟 5: 假設要藏入機密資訊為 𝑠, 𝑠𝑘是 𝑠 中第k 個位元,當機密資訊 𝑠𝑘 = 0 時,像素值 𝑐𝑖𝑗‴ = ℎ1或ℎ2, 則 𝑐𝑖𝑗‴ = 𝑐𝑖𝑗″;當機密資訊 𝑠𝑘 = 1 時,如果 𝑐𝑖𝑗″ = ℎ1,則將機密資訊藏入到直方圖經步驟 4 位移後所空出的左邊位置中,即 𝑐𝑖𝑗‴ = 𝑐 𝑖𝑗″− 1;如果 𝑐𝑖𝑗″ = ℎ2,則將機密資訊藏入到直方圖 經 步 驟 4 位 移 後 所 空 出 的 右 邊 位 置 中 , 即 𝑐𝑖𝑗‴ = 𝑐𝑖𝑗″+ 1 , 最 後 得 到 偽 裝 影 像 𝐼′ 。 步驟 6: 最後將偽裝影像 𝐼′、雙高點ℎ 1、ℎ2及溢位像素值位置傳送給接收方。 機密資訊擷取演算法 接收方收到偽裝影像 𝐼′及兩個高點ℎ1、ℎ2及溢位像素值位置。依照下面步驟擷取機密資 訊並還原原始影像。 輸入:偽裝影像 𝐼′、雙高點ℎ 1、ℎ2及溢位像素值位置。 輸出:原始影像 𝐼、機密資訊 𝑠。 步驟 1: 依偽裝影像位置由左至右,由上而下依序實施檢查,擷取機密資訊 𝑠: (𝑎)如果 𝑐𝑖𝑗‴ = ℎ 1或 𝑐𝑖𝑗‴ = ℎ2,則擷取機密資訊位元 0,𝑐𝑖𝑗″保持不變,即 𝑐𝑖𝑗″ = 𝑐𝑖𝑗‴。 (𝑏)如果 𝑐𝑖𝑗‴ = ℎ1− 1值,則擷取機密資訊位元 1,並將 𝑐𝑖𝑗‴值加 1,即 𝑐𝑖𝑗″ = 𝑐𝑖𝑗‴+ 1。 (𝑐)如果 𝑐𝑖𝑗‴ = ℎ 2+ 1值,則擷取機密資訊位元 1,並將 𝑐𝑖𝑗‴值減 1,即 𝑐𝑖𝑗″ = 𝑐𝑖𝑗‴− 1。 步驟 2: 依偽裝影像位置由左至右,由上而下依序實施檢查,位移位在兩個高點ℎ1和ℎ2之外的像素值: (𝑎)如果 𝑐𝑖𝑗″ < ℎ 1,則 𝑐𝑖𝑗′ = 𝑐𝑖𝑗″+ 1,表示直方圖中在 ℎ1 左方的像素值 𝑐𝑖𝑗″皆向右位移一 個位置。 (b)如果 cij″ > h 2,則 cij′= cij″ − 1,表示直方圖中在 h2 右方的像素值 cij″ 皆向左位移一個 位置。
(𝑎)如果 𝑐𝑖𝑗′ 為 1,則 𝑐 𝑖𝑗 = 𝑐𝑖𝑗′− 1。 (𝑏)如果 𝑐𝑖𝑗′ 為 2𝑞− 2,則 𝑐 𝑖𝑗 = 𝑐𝑖𝑗′+ 1。 步驟 4: 接收方即可擷取機密資訊 𝑠 與還原原始影像 I。 機密資訊藏入與擷取範例 以圖 1 說明 Yoo 等學者[8]所提出藏入的方法。將影像切割成4 × 4影像,圖 1(𝑎)所示, 進行直方圖統計,可得知最高點為ℎ1 = 4和另一高點 ℎ2 = ℎ1+ 1 = 5,如圖 1(𝑏)所示。 首先檢查原始影像 I 是否有下限 0 和上限 7 的像素值,如果 𝑐𝑖𝑗 = 0,則修改像素值 𝑐𝑖𝑗′ = 𝑐 𝑖𝑗 + 1 = 1;如果 𝑐𝑖𝑗 = 7,則修改像素值 𝑐𝑖𝑗′ = 𝑐𝑖𝑗 − 1 = 6,以避免溢位的問題,並 記錄溢位像素值位置。修改後影像如圖 1(𝑐)所示,修改後直方圖區塊如圖 1(𝑑)。 接著進行位移,將兩個高點左右相鄰像素值進行位移,如果 𝑐𝑖𝑗′ < ℎ1,則 𝑐𝑖𝑗″ = 𝑐𝑖𝑗′− 1, 如果 𝑐𝑖𝑗′ > ℎ2,則位移後像素值 𝑐𝑖𝑗″ = 𝑐𝑖𝑗′+ 1,可得到位移後空出位置的影像,如圖 1(𝑒)所 示,位移後直方圖區塊如圖 1(𝑓)。 假設要藏入的機密資訊𝑠 = 101010101。當 𝑐𝑖𝑗″ = 4且藏入機密資訊 𝑠𝑘 = 1時,則偽裝影 像像素值 𝑐𝑖𝑗‴ = 𝑐 𝑖𝑗″− 1 = 3;如果 𝑐𝑖𝑗″ = 5且藏入機密資訊 𝑠𝑘 = 1時,則偽裝影像像素值 𝑐𝑖𝑗‴ = 𝑐𝑖𝑗″+ 1 = 6,如果藏入機密資訊 𝑠𝑘 = 0時,且像素值 𝑐𝑖𝑗‴ = 4 或 5,則 𝑐𝑖𝑗‴ = 𝑐𝑖𝑗″。 最後可以得到偽裝影像 𝐼′如圖 1(𝑔)所示,偽裝影像直方圖區塊則如圖 1(ℎ)。傳送方將偽 裝影像 𝐼′及兩個高點4、5及溢位像素值位置傳送給接收方。
1 3 4 5 5 5 4 2 7 4 4 3 4 5 6 0 (𝑎) 原始影像 (𝑏) 原始影像直方圖區塊 1 3 4 5 5 5 4 2 6 4 4 3 4 5 6 1 (𝑐) 修改後影像 (𝑑) 修改後影像直方圖區塊 0 2 4 5 5 5 4 1 7 4 4 2 4 5 7 0 (𝑒) 位移後影像 (𝑓) 位移後影像直方圖區塊 0 2 3 5 6 5 3 1 7 4 3 2 4 6 7 0 (𝑔) 偽裝影像 (ℎ) 偽裝影像直方圖區塊 圖 1 Yoo 等學者所提出藏入的方法
以圖 2 說明如何擷取機密資訊與還原原始影像,接收方接收到偽裝影像 𝐼′如圖2(𝑎),及 兩個高點ℎ1 = 4、ℎ2 = 5和溢位像素值位置,偽裝影像直方圖區塊則如圖 2(𝑏)。當圖 2(𝑎)中像 素值 𝑐𝑖𝑗‴等於 4 或 5 時,表示藏入的機密資訊為 0;當像素值 𝑐𝑖𝑗‴等於 3 或 6 時,表示藏入的 機密資訊為 1,此時就可以依序擷取機密資訊 𝑠 = 101010101。 當藏入的機密資訊 𝑠𝑘 = 1時,如果偽裝影像像素值為 𝑐𝑖𝑗‴ = 3,則還原位移後像素值 𝑐𝑖𝑗″ = 𝑐𝑖𝑗′+ 1 = 4;如果偽裝影像像素值 𝑐𝑖𝑗‴ = 6,則還原位移後像素值 𝑐𝑖𝑗″ = 𝑐𝑖𝑗′− 1 = 5, 還原成位移後影像如圖2(𝑐),位移後影像直方圖區塊如圖 2(𝑑)。 當位移後像素值 𝑐𝑖𝑗″ < 4時,則修改後像素值 𝑐𝑖𝑗′= 𝑐𝑖𝑗″+ 1;位移後像素值 𝑐𝑖𝑗″ > 5 時,則修改後像素值 𝑐𝑖𝑗′ = 𝑐 𝑖𝑗″− 1,即可得到修改後影像如圖 2(𝑒),修改後影像直方圖區 塊如圖2(𝑓)。 最後依據所接收之溢位像素值位置,當溢位位置之修改後影像像素值𝑐𝑖𝑗′= 1時,原始影 像 像 素 值𝑐𝑖𝑗 = 𝑐𝑖𝑗′− 1 = 0 , 溢 位 位 置 之 修 改 後 影 像 值 𝑐𝑖𝑗′= 6 時 , 原 始 影 像 像 素 值 𝑐𝑖𝑗 = 𝑐𝑖𝑗′+ 1 = 7,即可還原回原始影像如圖 2(𝑔),還原後影像直方圖區塊如圖 2(ℎ)。
0 2 3 5 6 5 3 1 7 4 3 2 4 6 7 0 (𝑎) 偽裝影像 (𝑏) 偽裝影像直方圖區塊 0 2 4 5 5 5 4 1 7 4 4 2 4 5 7 0 (𝑐) 位移後影像 (𝑑) 位移後影像直方圖區塊 1 3 4 5 5 5 4 2 6 4 4 3 4 5 6 1 (𝑒) 修改後影像 (𝑓) 修改後影像直方圖區塊 1 3 4 5 5 5 4 2 7 4 4 3 4 5 6 0 (𝑔) 還原後影像 (ℎ) 還原後影像直方圖區塊 圖 2 Yoo 等學者所擷取的方法
2.2 量子資訊隱藏 2015 年,Wang 等人[24] 利用 NEQR[23]影像表示式,提出利用最低有效位元之量子資 訊隱藏演算法(LSQb),替換像素值的最後一個位元來藏入機密資訊。2016 年 Sang 等人[25,26] 使用 NCQI 方法改良 LSQb,利用量子位元比較器,將機密量子資訊藏入到 RGB 通道的最低 有效量子位元中。本文則另外使用量子計數器來實施直方圖區塊位移操作。 2.2.1 量子資訊隱藏工具 NEQR 影像表示式 假設影像大小為2𝑛 × 2𝑛、量子影像像素為 𝑞 位元,其值範圍為0~2𝑞− 1,每個量子影像 像素位置對應的像素值為𝑐𝑖𝑗,其中n,q為正整數。對2n個量子位元使用阿達馬閘(hadamard gate),產生影像中所有位置的量子態,接著使用2n-CNOT將所有像素值放入對應的位置中, NEQR方法流程圖如圖3,NEQR產生出的影像例子如圖4。 圖 3 NEQR 量子影像產生之流程圖。
圖 4 一個2 × 2的 NEQR 量子影像。f(Y,X)表示作為量子位元序列的基本狀態| 𝑓(𝑌 𝑋) ⟩存 儲的像素(Y,X)的灰度值 圖 5 顯示出了2 × 2灰度影像及其在 NEQR 中的表達。由於灰度範圍介於 0 和 255 之間。 需要 8 個量子位元來對像素值的顏色資訊進行編碼。另一方面,我們可以看到 NEQR 和傳統 影像之間的區別僅在於顏色資訊。當 NEQR 影像變為傳統影像時,我們只需要將其二進制顏 色資訊轉換為整數。對於灰度範圍為2𝑞的2𝑛× 2𝑛影像,NEQR 的整體準備花費不超過 O(qn22n)。 |𝐼⟩ =1 2(|0⟩ ⊗ |00⟩ + |100⟩ ⊗ |01⟩ + |200⟩ ⊗ |10⟩ + |255⟩ ⊗ |11⟩) = 1 2(|00000000⟩ ⊗ |00⟩ + |01100100⟩ ⊗ |01⟩ + |11001000⟩ ⊗ |10⟩ + |11111111⟩ ⊗ |11⟩) 圖 5 2×2 影像及其 NEQR 量子表示式 量子位元比較器 量子電路圖中的符號'●'、'○'和'⊕'代表1控制、0控制和CNOT操作閘。圖6為一種兩 個量子位元比較器,該電路採用兩個量子位元控制的CNOT閘,實現了判斷兩個量子位元是否 相同的目的。在圖6中,|a⟩, |b⟩是輸入量子位元和|d ⟩是相對應的輸出量子位元。 0 100 200 255
圖 6 兩個量子位元比較器 如果 |𝑑0⟩ = | 0 ⟩,則 |a0⟩ = |b0⟩;如果 |d0⟩ = | 1 ⟩,則 |a0⟩ ≠ |b0⟩; 如果 |d1⟩ = | 0 ⟩,則 |a1⟩ = |b1⟩;如果 |d0⟩ = | 1 ⟩,則 |a1⟩ ≠ |b1⟩。 圖 7 為一種三個量子位元比較器,依圖 6 的原理,我們可以完成三個量子位元的比較。 圖 7 三個量子位元比較器 同理得證,如果 |d0⟩ = | 0 ⟩,則 |a0⟩ = |b0⟩;如果 |d0⟩ = | 1 ⟩,則 |a0⟩ ≠ |b0⟩; 如果 |d1⟩ = | 0 ⟩,則 |a1⟩ = |b1⟩;如果 |d1⟩ = | 1 ⟩,則 |a1⟩ ≠ |b1⟩ ; 如果 |d2⟩ = | 0 ⟩,則 |a2⟩ = |b2⟩;如果 |d2⟩ = | 1 ⟩,則 |a2⟩ ≠ |b2⟩。 量子計數器 我們使用反控制閘(CNOT gate)來控制量子疊加態,當疊加態裡面的像素值暫存器之量子 態大於高點像素值時,則將目標暫存器從| 0 ⟩轉成| 1 ⟩,用來紀錄是否比高點像素值大,再將 輔助暫存器 K 當成控制方,使用量子計數器來位移像素值如圖 7,反之,可用同樣方式來位 移比高點像素值小之像素值如圖 8。 輔助 |0> 像素 |0> 暫存器 P|0>
|𝜓⟩ = |00⟩|01⟩ → |𝜓′⟩ = |11⟩|01⟩ 圖 9 兩位元的量子計數器(減 1) 將兩位元量子計數器延伸為三位元量子計數器,如圖 10、圖 11。 |𝜓⟩ = |000⟩|01⟩ → |𝜓′⟩ = |001⟩|01⟩ 圖 10 三位元的量子計數器(加 1) |𝜓⟩ = |000⟩|01⟩ → |𝜓′⟩ = |111⟩|01⟩ 圖 11 三位元的量子計數器(減 1) 輔助 |0> 暫存器 K |0> 像素 |0> 暫存器 P |0> 輔助 |0> 暫存器 K |0> |0> 像素 |0> 暫存器 P |0> 輔助 |0> 暫存器 K |0> |0> 像素 |0> 暫存器 P |0>
2.2.2 NCQI 量子資訊隱藏方法 NCQI量子資訊隱藏方法概念說明 N C Q I 用 於 在 量 子 計 算 機 上 存 儲 和 處 理 彩 色 數 字 影 像 。 假 設0 < 𝑥 < 2𝑛− 1和0 < 𝑦 < 2𝑛− 1。每個通道(R,G,B)的取值範圍為[0, 2𝑞− 1]。 NCQI 量子影像表示如下: |𝐼⟩ = 1 2𝑛 ∑ ∑ |𝑐(𝑦 𝑥)⟩⨂|𝑦𝑥⟩ 2𝑛−1 𝑥=0 2𝑛−1 𝑦=0 NCQI量子影像以量子疊加態存儲,區分為顏色資訊 𝑐(𝑦 𝑥),像素垂直位置𝑦和像素水平 位置𝑥等三個部分,這三個量子位元序列的張量積構成了NCQI的基本狀態。 |𝐼⟩ = 𝟏 √𝟐𝟒[|111111110000000000000000⟩⨂(|0000⟩|0001⟩|0100⟩|0101⟩) + |000000001111111100000000⟩⨂(|0010⟩|0011⟩|0110⟩|0111⟩) + |000000000000000011111111⟩⨂(|1000⟩|1001⟩|1100⟩|1101⟩) + |111111111111111111111111⟩⨂(|1010⟩|1011⟩|1110⟩|1111⟩)] 圖12 4×4彩色影像及其NCQI的量子表示式 其中|𝑐(𝑦 𝑥)⟩表示相應像素的顏色值,包含三個通道資訊,即R,G,B,二進制序列編碼為 𝑅𝑞− 1 … 𝑅0𝐺𝑞− 1 … 𝐺0𝐵𝑞− 1 … 𝐵0,用於2𝑛× 2𝑛彩色影像。 |𝑐(𝑦 𝑥)⟩ = |𝑅𝑞− 1 … 𝑅0𝐺𝑞− 1 … 𝐺0𝐵𝑞− 1 … 𝐵0⟩ 將機密資訊位元|𝑠𝑘⟩,k = 0,1,2和原始影像中第一像素的量子位元|𝑅0⟩,|𝐺0⟩,|𝐵0⟩實施圖7 中量子比較器的輸入,得到|𝑠0⟩和|𝑅0⟩,|𝑠1⟩和|𝐺0⟩,|𝑠2⟩和|𝐵0⟩之間的三個比較結果,表示為 |𝑑0⟩ |𝑑1⟩ |𝑑2⟩。以同樣的方式完成其他機密資訊位元|𝑠𝑙⟩,|𝑠𝑙+1⟩,|s𝑙+2⟩,l = 3,6,…,3𝑡 − 3和|𝑅 ⟩ |𝐺 ⟩ |𝐵 ⟩之間的比較。 | R | | G | | B | | R | | G | | B | | R | | G | | B | | R | | G | | B | | R | | G | | B |
可以產生8種單一運算式{𝑈0 𝑈1 𝑈2 𝑈3 𝑈4 𝑈5 𝑈6 𝑈7 𝑈8 },運用單一運算式將機密資訊藏 入偽裝影像。 NCQI量子資訊隱藏方法藏入步驟 輸入:原始影像 𝐼、機密資訊 𝑠。 輸出:偽裝影像 𝐼′ 步驟1 將機密資訊位元𝑠0,𝑠1,𝑠2與原始影像像素值中的三個最低有效量子位元𝑅0,𝐺0,𝐵0進行比較。 利用圖7中的三位元量子比較器,依序比較機密資訊位元 𝑠0,𝑠1,𝑠2和最後三個量子位元 𝑅0,𝐺0,𝐵0,比較結果分別表示為𝑑0,𝑑1,𝑑2。 步驟2 根據𝑑0,𝑑1,𝑑2的值,選擇符合條件的單一運算式 𝑈𝑘 ,操作將三個機密資訊位元藏入原始影像 𝐼 中。 步驟3 將步驟 1 和步驟 2 重複 t 次。假設機密資訊 𝑠 的位元長度為 3t ,為了藏入所有機密資訊 位元,將步驟 1 重複 t 次,共執行 3t 次比較,並將步驟 2 重複 t 次,以隱藏 3t 個機密 資訊位元。圖13為 NCQI資訊隱藏法的量子電路(引用自[25])。
NCQI量子資訊隱藏方法擷取說明 通過使用控制交換閘可以準確地擷取機密量子位元。步驟 1 分別擷取第 t 個對應像素 值R,G,B 中的最後一個量子位元。圖14為擷取機密量子位元的量子電路圖(引用自[25]),擷 取機密時,偽裝影像中的機密訊息的擷取順序是從左到右,從上到下。 圖14 擷取機密量子位元的量子電路 NCQI量子資訊隱藏方法範例 有一個2 × 2的彩色數字影像,如圖 15 所示,可以表示為以下形式|𝐼⟩。(引用自[25]) 圖 15 2×2 的彩色數字影像 |𝐼⟩ = 𝟏 第 1 個像素 第 t 個像素
假設機密資訊 𝑠 = 100111000011。而三個通道的最低有效量子位元是100010001111。 然後得到: 𝑠0 = 𝑑0, 𝑠1 = 𝑑1, 𝑠2 = 𝑑2, 𝑠3 ≠ 𝑑3, 𝑠4 = 𝑑4, 𝑠5 ≠ 𝑑5, 𝑠6 = 𝑑6, 𝑠7 = 𝑑7, 𝑠8 ≠ 𝑑8, 𝑠9 ≠ 𝑑9, 𝑠10 = 𝑑10, 𝑠11 = 𝑑11 量子位𝑠𝑘和𝑑𝑘,k = 0,…,11分別對應於機密資訊位元和最低有效量子位元。 根據比較的結果,依據符合條件實施單一運算式𝑈1 𝑈2 𝑈3和𝑈4運算:; 𝑈1 = 𝐼⨂3𝑞⨂ ∑ ∑1 |𝑗𝑖⟩⟨𝑗𝑖| 𝑖=0 1 𝑗=0 (𝑆 𝑆 𝑆) ; 𝑈2 = 𝐼⨂7⨂𝑈⨂𝐼⨂8⨂𝐼⨂7⨂𝑈⨂|01⟩⟨01| + 𝐼⨂3𝑞⨂ ∑1𝑗=0 ∑1𝑖=0 𝑗𝑖≠𝑦𝑥|𝑗𝑖⟩⟨𝑗𝑖| (𝐷 𝑆 𝐷) ; 𝑈3 = 𝐼⨂23⨂𝑈⨂|10⟩⟨10| + 𝐼⨂3𝑞⨂ ∑ ∑1 |𝑗𝑖⟩⟨𝑗𝑖| 𝑖=0 𝑗𝑖≠10 1 𝑗=0 (𝑆 𝑆 𝐷) ; 𝑈4 = 𝐼⨂7⨂𝑈⨂𝐼⨂16⨂|11⟩⟨11| + 𝐼⨂3𝑞⨂ ∑ ∑1 |𝑗𝑖⟩⟨𝑗𝑖| (𝐷 𝑆 𝑆) 𝑖=0 𝑗𝑖≠11 1 𝑗=0 ; 經過運算式𝑈1 𝑈2 𝑈3和𝑈4的運算之後,將機密資訊藏入偽裝影像| 𝐼′⟩中。 | 𝐼′⟩ = 𝟏 √𝟐𝟐[|111111110000000000000000⟩⨂(|00⟩) + |000000011111111100000001⟩⨂(|01⟩) + |000000000000000011111110⟩⨂(|10⟩) + |111111101111111111111111⟩⨂(|11⟩)] 從| 𝐼′⟩可以看出機密資訊已經藏入偽裝影像中。而且,根據 NCQI 所提出的方法,擷 取機密量子位元的量子電路如圖 16(引用自[25])。 | R | | G | | B | | R | | G | | B | | R | | G | | B | | R | | G | | B |
圖 16 擷取機密量子位元的量子電路範例 第 1 個像素 第 4 個像素 藏 入 式 量 子 影 像 機 密 量 子 位 元
三. 基於區塊影像之可逆式直方圖量子資訊隱藏演算法
根據上述 Yoo 等人的直方圖區塊資訊隱藏的概念,運用 NEQR 與 NCQI 所提出量子資訊 隱藏的方法,本文提出新的可逆式直方圖量子資訊隱藏演算法。在介紹本文所提出的方法前, 首先在 3.1 節說明本文所使用的運算代號與暫存器,而在 3.2 節中介紹本文所提出的機密資 訊藏入演算法,最後,在 3.3 節中介紹本文所提出的機密資訊擷取演算法。 3.1 可逆式直方圖量子資訊隱藏演算法說明 假設影像大小為2𝑛× 2𝑛,影像像素值的範圍為0~2𝑞− 1,其中𝑛、𝑞為正整數。依序由左 至右,由上而下,處理每個量子影像像素位置 𝑖,其對應的像素值為 𝑐𝑖。假設擬藏入的機密資 訊為 𝑠, 𝑠𝑘是 𝑠 中第k 個位元,且 𝑘 ≤ ℎ1+ℎ2(參考𝑌𝑜𝑜學者的雙高點)。傳送方運用 NEQR 方 法建構量子影像|𝜓⟩並藏入機密資訊 𝑠,形成偽裝影像|𝜓̃⟩,並傳送偽裝影像|𝜓̃⟩給接收方;而 為了順利解出機密資訊 𝑠,傳送方必須將原始影像之高點像素值ℎ1、ℎ2和溢位像素值位置 傳送給接收方。 使用暫存器說明 本文機密資訊藏入使用暫存器如下: 量子暫存器 D:一個位置暫存器 D,大小為 2n 個量子位元。 量子暫存器 P:一個像素暫存器 P,大小為 q 個量子位元。 量子暫存器 A:一個輔助暫存器 A,大小為 2 個量子位元。 量子暫存器 B:一個輔助暫存器 B,大小為 2 個量子位元。 量子暫存器 G:一個輔助暫存器 G,大小為 2 個量子位元。 傳統暫存器ℎ1:一個高點像素值ℎ1暫存器,大小為 q 個位元。 傳統暫存器ℎ2:一個高點像素值ℎ2暫存器,大小為 q 個位元。 傳統暫存器𝑂:溢位像素值位置暫存器,大小為 n+1 個位元。 本文機密資訊擷取使用暫存器如下: 量子暫存器 S:一個機密暫存器 S,大小為 2 個量子位元。
量子暫存器 R:一個輔助暫存器 R,大小為 2 個量子位元。 以上所列之量子輔助暫存器,當完成機密資訊藏入或擷取後,輔助作用已經完成,所以 將其卸除,但因量子糾纏特性,在卸除前必須將量子輔助暫存器歸零。 使用代號及其作用說明 本文機密資訊藏入演算法使用代號及其作用如下: 𝐹ℎ𝑐:輸入位置暫存器 D、像素暫存器 P 與輔助暫存器 G,執行 { 如果 |𝑐𝑖⟩𝑃 = 0,則|𝑔𝑖⟩𝐺 = |01⟩𝐺; 如果 |𝑐𝑖⟩𝑃 = 2𝑞− 1,則|𝑔𝑖⟩𝐺 = |10⟩𝐺。 𝐹′ℎ𝑐:輸入位置暫存器 D、像素暫存器 P、輔助暫存器 G、輔助暫存器 A 與輔助暫存器 B,執 行 { 原 |𝑐𝑖⟩𝑃 = 0 之溢位位置 ,則|𝑔𝑖⟩𝐺 = |01⟩𝐺; 原 |𝑐𝑖⟩𝑃 = 2𝑞− 1 之溢位位置,則|𝑔𝑖⟩𝐺 = |10⟩𝐺。 𝑈ℎ𝑐:輸入位置暫存器 D、像素暫存器 P、輔助暫存器 G、輔助暫存器 A 與輔助暫存器 B,執 行 { 如果 |𝑐𝑖⟩𝑃 > ℎ1,則|𝑎𝑖⟩𝐴 = |00⟩𝐴; 如果 |𝑐𝑖⟩𝑃 < ℎ1,則|𝑎𝑖⟩𝐴 = |01⟩𝐴 如果 |𝑐𝑖⟩𝑃 = ℎ1,則|𝑎𝑖⟩𝐴 = |10⟩𝐴 。 ,其中𝑖表示位置; { 如果 |𝑐𝑖⟩𝑃 > ℎ2,則|𝑏𝑖⟩𝐵= |01⟩𝐵 如果 |𝑐𝑖⟩𝑃 < ℎ2,則|𝑏𝑖⟩𝐵= |00⟩𝐵 如果 |𝑐𝑖⟩𝑃 = ℎ2,則|𝑏𝑖⟩𝐵 = |10⟩𝐵。 ,其中𝑖表示位置; 𝑈′ℎ𝑐:輸入位置暫存器 D、像素暫存器 P、輔助暫存器 G、輔助暫存器 A 與輔助暫存器 B,執 行 { 如果 |𝑐′̂⟩𝑖 𝑃 > ℎ1,則|𝑎𝑖⟩𝐴 = |00⟩𝐴 ; 如果|𝑐′̂⟩𝑖 𝑃 < ℎ1− 1,則|𝑎𝑖⟩𝐴 = |01⟩𝐴 如果 |𝑐′̂⟩𝑖 𝑃 = ℎ1或|𝑐′̂⟩𝑖 𝑃 = ℎ1− 1,則|𝑎𝑖⟩𝐴 = |10⟩𝐴。 ,其中𝑖表示位置; 如果|𝑐′̂⟩𝑖 𝑃 < ℎ2,則|𝑏𝑖⟩𝐵 = |00⟩𝐵; 如果|𝑐′̂⟩𝑖 𝑃 > ℎ2+ 1,則|𝑏𝑖⟩𝐵= |01⟩𝐵 ,其中𝑖表示位置;
𝑐̌ = 𝑐𝑖 𝑖+ 1。 𝐹−:輸入位置暫存器 D、像素暫存器 P 與輔助暫存器 G,當輔助暫存器 G 為|10⟩𝐺時,則像素 暫存器執行減 1 的動作。𝐹−(|i⟩𝐷|𝑐𝑖⟩𝑃|𝑔𝑖⟩𝐺) = |i⟩𝐷|𝑐̌⟩𝑖 𝑃|𝑔𝑖⟩𝐺,當|𝑔𝑖⟩𝐺 = |10⟩𝐺時,則 𝑐̌ = 𝑐𝑖 𝑖− 1。 𝑈−:輸入位置暫存器 D、像素暫存器 P、輔助暫存器 G、輔助暫存器 A 與輔助暫存器 B,當 輔 助 暫 存 器 A 為 |01⟩𝐴 時 , 則 像 素 暫 存 器 執 行 減 1 的 動 作 。𝑈−(|i⟩𝐷|𝑐̌⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴|𝑏𝑖⟩𝐵) = |i⟩𝐷|𝑐̂⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴|𝑏𝑖⟩𝐵, 當 |𝑎𝑖⟩𝐴 = |01⟩𝐴 時 , 則 𝑐̂ = 𝑐𝑖 ̌ − 1;否則𝑐𝑖 ̂ = 𝑐𝑖 ̌。 𝑖 𝑈+:輸入位置暫存器 D、像素暫存器 P、輔助暫存器 G、輔助暫存器 A 與輔助暫存器 B,當 輔 助 暫 存 器 B 為 |01⟩𝐵 時 , 則 像 素 暫 存 器 執 行 加 1 的 動 作 。𝑈+(|i⟩𝐷|𝑐̌⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴|𝑏𝑖⟩𝐵) = |i⟩𝐷|𝑐̂⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴|𝑏𝑖⟩𝐵, 當 |𝑏𝑖⟩𝐵 = |01⟩𝐵 時 , 則 𝑐̂ = 𝑐𝑖 ̌ + 1;否則𝑐𝑖 ̂ = 𝑐𝑖 ̌。 𝑖 𝑈′ −:輸入位置暫存器 D、像素暫存器 P、輔助暫存器 G、輔助暫存器 A 與輔助暫存器 B,當 輔 助 暫 存 器 A 為 |10⟩𝐴 且 𝑠𝑘 = 1 時 , 則 像 素 暫 存 器 執 行 減 1 的 動 作 。𝑈′−(|i⟩𝐷|𝑐̂⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴|𝑏𝑖⟩𝐵) = |i⟩𝐷|𝑐′̂⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴|𝑏𝑖⟩𝐵,當|𝑎𝑖⟩𝐴 = |10⟩𝐴且𝑠𝑘 = 1 時,則𝑐′̂ = 𝑐𝑖 ̂ − 1;否則𝑐′𝑖 ̂ = 𝑐𝑖 ̂。 𝑖 𝑈′ +:輸入位置暫存器 D、像素暫存器 P、輔助暫存器 G、輔助暫存器 A 與輔助暫存器 B,當 輔 助 暫 存 器 B 為 |10⟩𝐵 且 𝑠𝑘 = 1 時 , 則 像 素 暫 存 器 執 行 加 1 的 動 作 。𝑈′+(|i⟩𝐷|𝑐̂⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴|𝑏𝑖⟩𝐵) = |i⟩𝐷|𝑐′̂⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴|𝑏𝑖⟩𝐵,當|𝑏𝑖⟩𝐵 = |10⟩𝐵且𝑠𝑘 = 1 時,則𝑐′̂ = 𝑐𝑖 ̂ + 1;否則𝑐′𝑖 ̂ = 𝑐𝑖 ̂。 𝑖 本文機密資訊擷取演算法使用代號及其作用如下: 𝑊ℎ𝑐:令控制位元為像素暫存器 P,機密暫存器 S 與 T 為目標控制位元,執行 { 如果 |𝑐′̂⟩𝑖 𝑃 = ℎ1,則|𝑠𝑖⟩𝑆 = |10⟩𝑆 如果 |𝑐′̂⟩𝑖 𝑃 = ℎ1− 1,則|𝑠𝑖⟩𝑆 = |11⟩𝑆 ,其中𝑖表示位置。 { 如果 |𝑐′̂⟩𝑖 𝑃 = ℎ2,則|𝑡𝑖⟩𝑇 = |10⟩ 𝑇 如果 |𝑐′̂⟩𝑖 𝑃 = ℎ2+ 1,則|𝑡𝑖⟩𝑇 = |11⟩𝑇 ,其中𝑖表示位置。 𝑉ℎ𝑐:輸入像素暫存器 P 與輔助暫存器 K,執行
𝑉′ℎ𝑐:輸入像素暫存器 P 與輔助暫存器 K,執行 { 如果 |𝑐𝑖⟩𝑃 < ℎ1,則|𝑘𝑖⟩𝐾 = |10⟩𝐾 如果 |𝑐𝑖⟩𝑃 > ℎ2,則|𝑘𝑖⟩𝐾 = |01⟩𝐾 ,其中𝑖表示位置。 𝐸ℎ𝑐:如果|𝑐̌⟩𝑖 𝑃為溢位像素值位置,輸入位置暫存器 D、像素暫存器 P 與輔助暫存器 R,執行 { 如果 |𝑐̌⟩𝑖 𝑃 = 1,則|𝑟𝑖⟩𝑅 = |10⟩𝑅 如果 |𝑐̌⟩𝑖 𝑃 = 2𝑞− 2,則|𝑟𝑖⟩𝑅 = |01⟩𝑅 ,其中𝑖表示位置。 𝐸′ℎ𝑐:如果|𝑐𝑖⟩為溢位像素值位置,輸入位置暫存器 D、像素暫存器 P 與輔助暫存器 R,執行 { 如果 |𝑐𝑖⟩𝑃 = 0,則|𝑟𝑖⟩𝑅 = |10⟩𝑅 如果|𝑐𝑖⟩𝑃 = 2𝑞− 1,則|𝑟 𝑖⟩𝑅 = |01⟩𝑅 ,其中𝑖表示位置。 𝑉′+:輸入位置暫存器 D、像素暫存器 P、機密暫存器 S 與 T 、輔助暫存器 K 與 R,當機密暫 存器 S 為|11⟩𝑆時,則像素暫存器 P 執行加 1 的動作。 𝑉′−:輸入位置暫存器 D、像素暫存器 P、機密暫存器 S 與 T、輔助暫存器 K 與 R,當機密暫 存器 T 為|11⟩𝑇時,則像素暫存器 P 執行減 1 的動作。 𝑉+:輸入位置暫存器 D、像素暫存器 P、機密暫存器 S 與 T、輔助暫存器 K 與 R,當輔助暫 存器 K 為|10⟩𝐾時,則像素暫存器 P 執行加 1 的動作。 𝑉−:輸入位置暫存器 D、像素暫存器 P、機密暫存器 S 與 T、輔助暫存器 K 與 R,當輔助暫存 器 K 為|01⟩𝐾時,則像素暫存器 P 執行減 1 的動作。 𝐸+:輸入位置暫存器 D、像素暫存器 P、機密暫存器 S 與 T、輔助暫存器 K 與 R,當輔助暫 存器 R 為|10⟩𝑅時,則像素暫存器 P 執行加 1 的動作。 𝐸−:輸入位置暫存器 D、像素暫存器 P、機密暫存器 S 與 T、輔助暫存器 K 與 R,當輔助暫 存器 R 為|01⟩𝑅時,則像素暫存器 P 執行減 1 的動作。
3.2 機密資訊藏入演算法 傳送方在進行量子資訊隱藏之前,必須準備兩個通道-量子通道和傳統通道: (1)量子通道(quantum channel): 準備一個位置暫存器 D、一個像素暫存器 P、一個輔助暫存器 A、一個輔助暫存器 B 和一 個輔助暫存器 G。 (2)傳統通道(classical channel): 準備一個高點像素值ℎ1暫存器、一個高點像素值ℎ2暫存器和溢位像素值位置暫存器。 機密資訊藏入演算法步驟 輸入:原始影像 𝐼,大小為2𝑛× 2𝑛、機密資訊 𝑠(假設機密資訊位元個數小於雙高點總和) 輸出:偽裝影像 𝐼′、雙高點ℎ1、ℎ2和溢位像素值位置。 步驟 1: 準備 2n 個量子位元|0⟩D和𝑞個量子位元|0⟩P在量子通道中。得到 |𝜓0⟩ = |0⟩𝐷|0⟩𝑃 步驟 2:
根據原始影像 I 建構 NEQR 量子影像,首先對位置暫存器 2n 個|0⟩D執行 Hadamard gate,得 到 |𝜓1⟩ = (H|0⟩𝐷)⊗2n|0⟩𝑃 = 21𝑛∑2 |i⟩𝐷|0⟩𝑃 2𝑛−1 i=0 。 步驟 3: 利用𝑈𝑝,建構量子影像中的像素值,得到原始影像 I 之 NEQR 表示式 |𝜓2⟩ = 𝑈𝑝(21𝑛∑2 |i⟩𝐷|0⟩𝑃 2𝑛−1 i=0 ) = 1 2𝑛(∑2 |i⟩𝐷 2𝑛−1 𝑖=0 |𝑐𝑖⟩𝑃)。 步驟 4: 檢查影像中的像素值是否有下限 0 和上限2𝑞− 1的像素值(溢位位置像素值),如果這些像素 值存在,則執行𝐹ℎ𝑐記錄在輔助暫存器 G 中;如果這些像素值不存在則直接跳到步驟 6,得到
步驟 5: 將溢位位置像素值實施修正,先執行𝐹+,再執行𝐹−: (1)當輔助暫存器 G 為|01⟩𝐺時,則像素暫存器 P 執行像素值加 1 的動作。即執行𝐹+,將|𝑐𝑖⟩𝑃 = 0 之像素值加 1。 (2)當輔助暫存器 G 為|10⟩𝐺時,則像素暫存器 P 執行像素值減 1 的動作。即執行𝐹−,將|𝑐𝑖⟩𝑃 = 2𝑞− 1之像素值減 1。 |𝜓4⟩ = 𝐹+𝐹−(|𝜓3⟩) = 1 2𝑛(∑2 |i⟩𝐷|𝑐̌⟩𝑖 𝑃|𝑔𝑖⟩𝐺 2𝑛−1 𝑖=0 )。 步驟 6: 記錄位移區塊像素值。判別在量子影像中的所有像素值是否小於、等於或大於雙高點ℎ1與ℎ2, 則執行𝑈ℎ𝑐,並分別將結果記錄在輔助暫存器 A 和 B 中,得到 |𝜓5⟩ = 𝑈ℎ𝑐(|𝜓4⟩ ⊗ |00⟩𝐴 ⊗ |00⟩𝐵) =21𝑛(∑2 |i⟩𝐷|𝑐̌⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴 2𝑛−1 𝑖=0 |𝑏𝑖⟩𝐵)。 步驟 7: 位移像素值區塊。先執行𝑈−,將|𝑐̌⟩𝑖 𝑃 < ℎ1所有像素值都減 1;再執行𝑈+,將|𝑐̌⟩𝑖 𝑃 > ℎ2所有 像素值都加 1,得到 |𝜓6⟩ = 𝑈−𝑈+(|𝜓5⟩) = 1 2𝑛(∑2 |i⟩𝐷|𝑐̂⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴 2𝑛−1 𝑖=0 |𝑏𝑖⟩𝐵)。 步驟 8: 藏入機密資訊。假設先以傳統方式模擬取得雙高點位置,依據獲得之雙高點位置所對應的機 密資訊𝑠𝑘 = 1,則執行底下的運算。將位置暫存器 D、輔助暫存器 A 與 B 當成控制位元,像 素暫存器 P 當成目標位元,先執行𝑈′−,再執行𝑈′+,將機密資訊藏入影像中,得到 |𝜓7⟩ = 𝑈′−𝑈′+(|𝜓6⟩) = 1 2𝑛(∑2 |i⟩𝐷|𝑐′̂⟩𝑖 𝑃|𝑔𝑖⟩𝐺|𝑎𝑖⟩𝐴 2𝑛−1 𝑖=0 |𝑏𝑖⟩𝐵)。 步驟 9: 歸零輔助暫存器 A 與 B。執行𝑈′ℎ𝑐,判別在量子影像中的所有像素值是否小於、等於或大於 高點像素值ℎ1、ℎ1− 1和高點像素值ℎ2、ℎ2+ 1,並分別記錄在輔助暫存器 A 和 B 中,得到
歸零輔助暫存器 G。如果存在溢位像素值,將位置暫存器 D 當成控制位元,輔助暫存器 G 當 成目標位元,執行𝐹′ℎ𝑐記錄在輔助暫存器 G 中,如果不存在則省略本步驟;得到 |𝜓9⟩ = 𝐹′ℎ𝑐(|𝜓8⟩) = 1 2𝑛(∑2 |i⟩𝐷|𝑐′̂⟩𝑖 𝑃|00⟩𝐺 2𝑛−1 𝑖=0 |00⟩𝐴|00⟩𝐵)。 步驟 11: 卸除輔助暫存器 G、A 與 B,得到偽裝影像。 |𝜓10⟩ =21𝑛(∑2 |i⟩𝐷|𝑐′̂⟩𝑖 𝑃 2𝑛−1 𝑖=0 )。 透過量子通道(包含暫存器 D 和暫存器 P)和傳統通道(包含雙高點ℎ1、ℎ2和溢位像素值位置) 傳送給接收方。 為了更清楚了解上述的機密資訊藏入演算法,我們舉例說明如下: 資訊藏入演算法範例 假設影像大小為2 × 2、像素值(範圍 0~7)分別為 7、5、5、0,擬傳送機密資訊為s(010)2。 所以直方圖區塊最高點像素值ℎ1為5(101)2、另一高點像素值ℎ2 = ℎ1+ 1 = 6(110)2。 傳送方執行底下步驟傳送機密 s 給接收方:
7
5
5
0
圖 17 量子資訊實例圖 步驟 1: 準備 2 個量子位元|0⟩D和3 個量子位元|0⟩P在量子通道中,得到 |𝜓0⟩ = |00⟩D|000⟩P。 步驟 2:步驟 3: 利用𝑈𝑝,建構量子影像中的像素值,得到原始影像 I 之 NEQR 表示式 |𝜓2⟩ =12(|00⟩D|111⟩P+ |01⟩D|101⟩P+ |10⟩D|101⟩P+ |11⟩D|000⟩P)。 步驟 4: 檢查影像中的像素值是否有下限0和上限7的溢位位置像素值,檢查結果存在0和7的像素值, 執行𝐹ℎ𝑐記錄在輔助暫存器 G 中,得到 |𝜓3⟩ = 𝐹ℎ𝑐(|𝜓2⟩ ⊗ |00⟩𝐺) =12(|00⟩D|111⟩P|10⟩G+ |01⟩D|101⟩P|00⟩G+ |10⟩D|101⟩P|00⟩G+ |11⟩D|000⟩P|01⟩G)。 步驟 5: 將溢位位置像素值實施修正,先執行𝐹+,再執行𝐹−: (1)當輔助暫存器 G 為|01⟩𝐺時,執行𝐹+,將|𝑐𝑖⟩𝑃 = 0之像素值加 1。 (2)當輔助暫存器 G 為|10⟩𝐺時,執行𝐹−,將|𝑐𝑖⟩𝑃 = 7之像素值減 1。 |𝜓4⟩ = 𝐹+𝐹−(|𝜓3⟩) =12(|00⟩D|110⟩P|10⟩G+ |01⟩D|101⟩P|00⟩G+ |10⟩D|101⟩P|00⟩G+ |11⟩D|001⟩P|01⟩G)。 步驟 6: 記錄位移區塊像素值。執行𝑈ℎ𝑐,判別在量子影像中的像素值是否小於、等於或大於雙高點5與 6,並分別將結果記錄在輔助暫存器 A 和 B 中,得到 |𝜓5⟩ = 𝑈ℎ𝑐(|𝜓4⟩ ⊗ |00⟩𝐴⊗ |00⟩𝐵) =1 2(|00⟩D|110⟩P|10⟩G|00⟩A|10⟩B+ |01⟩D|101⟩P|00⟩G|10⟩A|00⟩B+ |10⟩D|101⟩P|00⟩G|10⟩A|00⟩B+ |11⟩D|001⟩P|01⟩G|01⟩A|00⟩B)。 步驟 7: 位移像素值區塊。先執行𝑈−,將|𝑐̌⟩𝑖 𝑃 < 5所有像素值都減 1;再執行𝑈+,將|𝑐̌⟩𝑖 𝑃 > 6所有 像素值都加 1,得到
步驟 8: 藏入機密資訊。假設先以傳統方式模擬取得雙高點位置,依據獲得之雙高點位置所對應的機 密資訊𝑠𝑘 = 1,則執行底下的運算。將位置暫存器 D、輔助暫存器 A 與 B 當成控制位元,像 素暫存器 P 當成目標位元,先執行𝑈′−,再執行𝑈′+,將機密資訊藏入影像中,得到 |𝜓7⟩ = 𝑈′ −𝑈′+(|𝜓6⟩) =1 2(|00⟩D|110⟩P|10⟩G|00⟩A|10⟩B+ |01⟩D|100⟩P|00⟩G|10⟩A|00⟩B+ |10⟩D|101⟩P|00⟩G|10⟩A|00⟩B+ |11⟩D|000⟩P|01⟩G|01⟩A|00⟩B)。 步驟 9: 歸零輔助暫存器 A 與 B。執行𝑈′ℎ𝑐,判別在量子影像中的像素值是否小於、等於或大於 像素值5、4和像素值6、7,並分別記錄在輔助暫存器 A 和 B 中,得到 |𝜓8⟩ = 𝑈′ ℎ𝑐(|𝜓7⟩) =1 2(|00⟩D|110⟩P|10⟩G|00⟩A|00⟩B+ |01⟩D|100⟩P|00⟩G|00⟩A|00⟩B+ |10⟩D|101⟩P|00⟩G|00⟩A|00⟩B+ |11⟩D|000⟩P|01⟩G|00⟩A|00⟩B) =1 2(|00⟩D|110⟩P|10⟩G+ |01⟩D|100⟩P|00⟩G+ |10⟩D|101⟩P|00⟩G+ |11⟩D|000⟩P|01⟩G)|00⟩A|00⟩B。 步驟 10: 歸零輔助暫存器 G。因為存在溢位像素值0和7,執行𝐹′ℎ𝑐,將位置暫存器 D 當成控制位元, 輔助暫存器 G 當成目標位元,得到 |𝜓9⟩ = 𝐹′ ℎ𝑐(|𝜓8⟩) =1 2(|00⟩D|110⟩P|00⟩G+ |01⟩D|100⟩P|00⟩G+ |10⟩D|101⟩P|00⟩G+ |11⟩D|000⟩P|00⟩G)|00⟩A|00⟩B =12(|00⟩D|110⟩P+ |01⟩D|100⟩P+ |10⟩D|101⟩P+ |11⟩D|000⟩P)|00⟩G|00⟩A|00⟩B。 步驟 11:
步驟 12:
傳送量子通道(|𝜓10⟩ =12(|00⟩D|110⟩P+ |01⟩D|100⟩P+ |10⟩D|101⟩P+ |11⟩D|000⟩P))和傳統通 道(雙高點ℎ1 = 5、ℎ2 = 6、溢位像素值位置 0、3)給接收方。機密資訊藏入電路圖如圖 18。
3.3 機密資訊擷取演算法 接收方從量子通道收到位置暫存器 D 和像素暫存器 P,即偽裝影像 𝐼′,且從傳統通道收 到雙高點ℎ1與ℎ2和溢位像素值位置。 機密資訊擷取演算法步驟 輸入:偽裝影像 𝐼′、雙高點ℎ1、ℎ2和溢位像素值位置。 輸出:原始影像 𝐼、機密量子資訊 𝑠。 步驟 1: 將收到的量子影像|𝜓10⟩加入機密暫存器 S 與 T、輔助暫存器 K 與 R,得到 |𝜓̃0⟩ = |𝜓10⟩ ⊗ |00⟩𝑆⊗ |00⟩𝑇⊗ |00⟩𝐾⊗ |00⟩𝑅 = 21𝑛(∑22𝑛−1|𝑖⟩𝐷|𝑐′̂⟩𝑖 𝑃 𝑖=0 |00⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅)。 步驟 2: 區分藏入機密資訊𝑠𝑘 = 0 或𝑠𝑘 = 1。令控制位元為像素暫存器 P,機密暫存器 S 與 T 為目標 控制位元,執行𝑊ℎ𝑐區分藏入機密資訊,得到 |𝜓̃1⟩ = 𝑊ℎ𝑐(|𝜓̃0⟩) =21𝑛(∑22𝑛−1|𝑖⟩𝐷|𝑐′̂⟩𝑖 𝑃 𝑖=0 |𝑠𝑖⟩𝑆|𝑡𝑖⟩𝑇|00⟩𝐾|00⟩𝑅)。 步驟 3: 還原藏入機密前之像素值。令控制位元為機密暫存器 S 與 T,像素暫存器 P 為目標控制位元, 先執行𝑉′+,再執行𝑉′−,還原藏入機密之像素值,得到 |𝜓̃2⟩ = 𝑉′+𝑉′−(|𝜓̃1⟩) =21𝑛(∑22𝑛−1|𝑖⟩𝐷|𝑐̂⟩𝑖 𝑃 𝑖=0 |𝑠𝑖⟩𝑆|𝑡𝑖⟩𝑇|00⟩𝐾|00⟩𝑅)。 步驟 4: 記錄位移區塊像素值位置。執行𝑉ℎ𝑐,令控制位元為像素暫存器 P,輔助暫存器 K 為目標控制 位元,將|𝑐̂⟩ < ℎ𝑖 1− 1和|𝑐̂⟩ > ℎ𝑖 2 + 1的像素值位置,分別紀錄在輔助暫存器 K 中,得到 |𝜓̃3⟩ = 𝑉ℎ𝑐(|𝜓̃2⟩) =21𝑛(∑22𝑛−1|𝑖⟩𝐷|𝑐̂⟩𝑖 𝑃 𝑖=0 |𝑠𝑖⟩𝑆|𝑡𝑖⟩𝑇|𝑘𝑖⟩𝐾|00⟩𝑅)。
控制位元,將|𝑐̂⟩ < ℎ𝑖 1− 1和|𝑐̂⟩ > ℎ𝑖 2 + 1的像素值實施像素值區塊位移,得到 |𝜓̃4⟩ = 𝑉+𝑉−(|𝜓̃3⟩) =21𝑛(∑22𝑛−1|𝑖⟩𝐷|𝑐̌⟩𝑖 𝑃 𝑖=0 |𝑠𝑖⟩𝑆|𝑡𝑖⟩𝑇|𝑘𝑖⟩𝐾|00⟩𝑅)。 步驟 6: 記錄還原溢位像素值之位置。執行𝐸ℎ𝑐,令控制位元為位置暫存器 D 與像素暫存器 P,輔助暫 存器 R 為目標控制位元,溢位像素值位置之像素值紀錄在輔助暫存器 R 中,得到 |𝜓̃5⟩ = 𝐸ℎ𝑐(|𝜓̃4⟩) =21𝑛(∑22𝑛−1|𝑖⟩𝐷|𝑐̌⟩𝑖 𝑃 𝑖=0 |𝑠𝑖⟩𝑆|𝑡𝑖⟩𝑇|𝑘𝑖⟩𝐾|𝑟𝑖⟩𝑅)。 步驟 7: 還原溢位像素值。先執行E+,再執行E−,令控制位元為位置暫存器 D 與輔助暫存器 R,像素 暫存器 P 為目標控制位元,將溢位像素值位置像素值還原,得到 |𝜓̃6⟩ = 𝐸+𝐸−(|𝜓̃5⟩) = 1 2𝑛(∑2 |𝑖⟩𝐷|𝑐𝑖⟩𝑃 2𝑛−1 𝑖=0 |𝑠𝑖⟩𝑆|𝑡𝑖⟩𝑇|𝑘𝑖⟩𝐾|𝑟𝑖⟩𝑅)。 步驟 8: 歸零輔助暫存器 R。執行𝐸′ℎ𝑐,令控制位元為位置暫存器 D 與像素暫存器 P,輔助暫存器 R 為目標控制位元,將溢位像素值位置之像素值紀錄在輔助暫存器 R 中,得到 |𝜓̃7⟩ = 𝐸′ℎ𝑐(|𝜓̃6⟩) = 1 2𝑛(∑2 |𝑖⟩𝐷|𝑐𝑖⟩𝑃 2𝑛−1 𝑖=0 |𝑠𝑖⟩𝑆|𝑡𝑖⟩𝑇|𝑘𝑖⟩𝐾|00⟩𝑅)。 步驟 9: 歸零輔助暫存器 K。執行𝑉′ℎ𝑐,判別在量子影像中|𝑐𝑖⟩𝑃 < ℎ1或|𝑐𝑖⟩𝑃 > ℎ2之像素值,分別記錄 在輔助暫存器 K 中,得到 |𝜓̃8⟩ = 𝑉′ℎ𝑐(|𝜓̃7⟩) = 1 2𝑛(∑2 |𝑖⟩𝐷|𝑐𝑖⟩𝑃 2𝑛−1 𝑖=0 |𝑠𝑖⟩𝑆|𝑡𝑖⟩𝑇|00⟩𝐾|00⟩𝑅)。 步驟 10: 卸除暫存器 K 與輔助暫存器 R,得到 |𝜓̃8⟩ = 1 2𝑛(∑2 |𝑖⟩𝐷|𝑐𝑖⟩𝑃 2𝑛−1 𝑖=0 |𝑠𝑖⟩𝑆|𝑡𝑖⟩𝑇)。
暫存器 S 與 T 中。 機密資訊擷取演算法範例 延續機密資訊藏入演算法之範例,接收方收到偽裝影像|𝜓10⟩和高點像素值ℎ1 = 5、ℎ2 = 6、 溢位像素值位置 0、3,執行底下的步驟得到機密量子資訊。 步驟 1: 將收到的偽裝影像|𝜓10⟩加入機密暫存器 S 與 T、輔助暫存器 K 與 R,得到 |𝜓̃0⟩ = |𝜓10⟩ = 1 2(|00⟩D|110⟩P+ |01⟩D|100⟩P+ |10⟩D|101⟩P+ |11⟩D|000⟩P)|00⟩S|00⟩T|00⟩K|00⟩R。 步驟 2: 區分藏入機密資訊𝑠𝑘 = 0 或𝑠𝑘 = 1。令控制位元為像素暫存器 P,機密暫存器 S 與 T 為目標 控制位元,執行𝑊ℎ𝑐區分藏入機密資訊紀錄在機密暫存器 S 與 T,得到 |𝜓̃1⟩ = 𝑊ℎ𝑐(|𝜓̃0⟩) = 1 2(|00⟩D|110⟩P|00⟩S|10⟩T|00⟩K|00⟩R+ |01⟩D|100⟩P|11⟩S|00⟩T|00⟩K|00⟩R+ |10⟩D|101⟩P|10⟩S|00⟩T|00⟩K|00⟩R+ |11⟩D|000⟩P|00⟩S|00⟩T|00⟩K|00⟩R)。 步驟 3: 還原藏入機密前之像素值。令控制位元為機密暫存器 S 與 T,像素暫存器 P 為目標控制位元, 先執行𝑉′+,再執行𝑉′−,還原藏入機密之像素值,得到 |𝜓̃2⟩ = 𝑉′+𝑉′−(|𝜓̃1⟩) =1 2(|00⟩𝐷|110⟩𝑃|00⟩𝑆|10⟩𝑇|00⟩𝐾|00⟩𝑅+ |01⟩𝐷|101⟩𝑃|11⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅+ |10⟩𝐷|101⟩𝑃|10⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅 + |11⟩𝐷|000⟩𝑃|00⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅)。 步驟 4: 記錄位移區塊像素值位置。執行𝑉ℎ𝑐,令控制位元為像素暫存器 P,輔助暫存器 K 為目標控制
= 1 2(|00⟩𝐷|110⟩𝑃|00⟩𝑆|10⟩𝑇|00⟩𝐾|00⟩𝑅 + |01⟩𝐷|101⟩𝑃|11⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅 + |10⟩𝐷|101⟩𝑃|10⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅 + |11⟩𝐷|000⟩𝑃|00⟩𝑆|00⟩𝑇|10⟩𝐾|00⟩𝑅)。 步驟 5: 位移像素值區塊。先執行𝑉+,再執行𝑉−,令控制位元為輔助暫存器 K,像素暫存器 P 為目標 控制位元,將|𝑐̂⟩ < 4和|𝑐𝑖 ̂⟩ > 7的像素值實施像素值區塊位移,得到 𝑖 |𝜓̃4⟩ = 𝑉+𝑉−(|𝜓̃3⟩) = 1 2(|00⟩𝐷|110⟩𝑃|00⟩𝑆|10⟩𝑇|00⟩𝐾|00⟩𝑅 + |01⟩𝐷|101⟩𝑃|11⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅 + |10⟩𝐷|101⟩𝑃|10⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅 + |11⟩𝐷|001⟩𝑃|00⟩𝑆|00⟩𝑇|10⟩𝐾|00⟩𝑅)。 步驟 6: 記錄還原溢位像素值之位置。執行𝐸ℎ𝑐,令控制位元為位置暫存器 D 與像素暫存器 P,輔助暫 存器 R 為目標控制位元,溢位像素值位置之像素值紀錄在輔助暫存器 R 中,得到 |𝜓̃5⟩ = 𝐸ℎ𝑐(|𝜓̃4⟩) = 1 2(|00⟩𝐷|110⟩𝑃|00⟩𝑆|10⟩𝑇|00⟩𝐾|01⟩𝑅 + |01⟩𝐷|101⟩𝑃|11⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅 + |10⟩𝐷|101⟩𝑃|10⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅 + |11⟩𝐷|001⟩𝑃|00⟩𝑆|00⟩𝑇|10⟩𝐾|10⟩𝑅)。 步驟 7: 還原溢位像素值。先執行E+,再執行E−,令控制位元為位置暫存器 D 與輔助暫存器 R,像素 暫存器 P 為目標控制位元,將溢位像素值位置像素值還原,得到 |𝜓̃6⟩ = 𝐸+𝐸−(|𝜓̃5⟩) =1 2(|00⟩𝐷|111⟩𝑃|00⟩𝑆|10⟩𝑇|00⟩𝐾|01⟩𝑅+ |01⟩𝐷|101⟩𝑃|11⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅+ |10⟩𝐷|101⟩𝑃|10⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅+ |11⟩𝐷|000⟩𝑃|00⟩𝑆|00⟩𝑇|10⟩𝐾|10⟩𝑅)。 步驟 8: 歸零輔助暫存器 R。執行𝐸′ℎ𝑐,令控制位元為位置暫存器 D 與像素暫存器 P,輔助暫存器 R
= 1 2(|00⟩𝐷|111⟩𝑃|00⟩𝑆|10⟩𝑇|00⟩𝐾|00⟩𝑅 + |01⟩𝐷|101⟩𝑃|11⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅 + |10⟩𝐷|101⟩𝑃|10⟩𝑆|00⟩𝑇|00⟩𝐾|00⟩𝑅 + |11⟩𝐷|000⟩𝑃|00⟩𝑆|00⟩𝑇|10⟩𝐾|00⟩𝑅) = 1 2(|00⟩𝐷|111⟩𝑃|00⟩𝑆|10⟩𝑇|00⟩𝐾+ |01⟩𝐷|101⟩𝑃|11⟩𝑆|00⟩𝑇|00⟩𝐾 + |10⟩𝐷|101⟩𝑃|10⟩𝑆|00⟩𝑇|00⟩𝐾+ |11⟩𝐷|000⟩𝑃|00⟩𝑆|00⟩𝑇|10⟩𝐾)|00⟩𝑅。 步驟 9: 歸零輔助暫存器 K。執行𝑉′ℎ𝑐,判別在量子影像中|𝑐𝑖⟩𝑃 < 5或|𝑐𝑖⟩𝑃 > 6之像素值,分別記錄在 輔助暫存器 K 中,得到 |𝜓̃8⟩ = 𝑉′ℎ𝑐(|𝜓̃7⟩) = 1 2(|00⟩𝐷|111⟩𝑃|00⟩𝑆|10⟩𝑇|00⟩𝐾+ |01⟩𝐷|101⟩𝑃|11⟩𝑆|00⟩𝑇|00⟩𝐾 + |10⟩𝐷|101⟩𝑃|10⟩𝑆|00⟩𝑇|00⟩𝐾+ |11⟩𝐷|000⟩𝑃|00⟩𝑆|00⟩𝑇|00⟩𝐾)|00⟩𝑅 = 1 2(|00⟩𝐷|111⟩𝑃|00⟩𝑆|10⟩𝑇+ |01⟩𝐷|101⟩𝑃|11⟩𝑆|00⟩𝑇+ |10⟩𝐷|101⟩𝑃|10⟩𝑆|00⟩𝑇+ |11⟩𝐷|000⟩𝑃|00⟩𝑆|00⟩𝑇)|00⟩𝐾|00⟩𝑅。 步驟 10: 卸除暫存器 K 與輔助暫存器 R,得到 |𝜓̃9⟩ = 1 2(|00⟩𝐷|111⟩𝑃|00⟩𝑆|10⟩𝑇+ |01⟩𝐷|101⟩𝑃|11⟩𝑆|00⟩𝑇+ |10⟩𝐷|101⟩𝑃|10⟩𝑆|00⟩𝑇+ |11⟩𝐷|000⟩𝑃|00⟩𝑆|00⟩𝑇)。 步驟 11: 依據 NCQI 資訊擷取演算法原理,我們已經從偽裝量子影像中,擷取機密資訊置入機密量子 暫存器 S 與 T 中。擷取機密量子資訊電路圖如圖 19。量子資訊擷取電路圖如圖 20
圖 19 機密量子資訊擷取電路圖
四. 本文方法之改良演算法 依據本文所提出之方法,為了提高機密資訊的隱藏量,繼續研究可以增加資訊隱藏量的 方法,於本章節提出影像重疊隱藏及兩位元影像區塊隱藏兩種演算法。 改良演算法假設條件 假設影像大小為 2 × 2、像素值(範圍0~255)分別為156、156、157、0,高點像素值ℎ1 為156(10011100)2、高點像素值ℎ2為157(10011101)2和機密資訊為s(001101)2。 156 156 157 0 圖 21 量子資訊改良算法範例圖 4.1 影像重疊隱藏演算法 本方法重複使用同一個雙高點ℎ1與ℎ2,以本文所提出之方法操作步驟,不斷地重疊機密 資訊於影像中,直到機密資訊位元完全藏入偽裝影像裡。 影像重疊隱藏演算法藏入步驟 步驟 1: 準備 2 個量子位元|0⟩D和8 個量子位元|0⟩P在量子通道中。得到 |𝜓0⟩ = |00⟩D|00000000⟩P。 步驟 2:
根據原始影像 I 建構 NEQR 量子影像,首先對位置暫存器 D 執行 Hadamard gate,得到 |𝜓1⟩ =
1
步驟 4: 檢查影像中的像素是否有下限 0 和上限 255 的溢位位置像素值,檢查結果存在 0 的像素值, 執行𝐹ℎ𝑐記錄在輔助暫存器 G 中。得到 |𝜓3⟩ = 𝐹ℎ𝑐(|𝜓2⟩ ⊗ |00⟩𝐺) =1 2(|00⟩D|10011100⟩P|00⟩G+ |01⟩D|10011100⟩P|00⟩G+ |10⟩D|10011101⟩P|00⟩G+ |11⟩D|00000000⟩P|01⟩G)。 步驟 5: 將溢位位置像素值實施修正,先執行𝐹+,再執行𝐹−: (1)當輔助暫存器 G 為|01⟩𝐺時,執行𝐹+,將|𝑐𝑖⟩𝑃 = 0之像素值加 1。 (2)當輔助暫存器 G 為|10⟩𝐺時,執行𝐹−,將|𝑐𝑖⟩𝑃 = 255之像素值減 1。 |𝜓4⟩ = 𝐹+𝐹−(|𝜓3⟩) =1 2(|00⟩D|10011100⟩P|00⟩G+ |01⟩D|10011100⟩P|00⟩G+ |10⟩D|10011101⟩P|00⟩G+ |11⟩D|00000001⟩P|01⟩G)。 步驟 6: 記錄位移區塊像素值。判別在量子影像中的所有像素值是否小於、等於或大於雙高點156與 157,則執行𝑈ℎ𝑐,並分別將結果記錄在輔助暫存器 A 和 B 中,得到 |𝜓5⟩ = 𝑈ℎ𝑐(|𝜓4⟩ ⊗ |00⟩𝐴⊗ |00⟩𝐵) =1 2(|00⟩D|10011100⟩P|00⟩G|10⟩A|00⟩B+ |01⟩D|10011100⟩P|00⟩G|10⟩A|00⟩B+ |10⟩D|10011101⟩P|00⟩G|00⟩A|10⟩B+ |11⟩D|00000001⟩P|01⟩G|01⟩A|00⟩B)。 步驟 7: 位移像素值區塊。先執行𝑈−,將|𝑐̌⟩𝑖 𝑃 < 156所有像素值都減 1;再執行𝑈+,將|𝑐̌⟩𝑖 𝑃 > 157所 有像素值都加 1,得到 |𝜓6⟩ = 𝑈−𝑈+(|𝜓5⟩)
步驟 8: 藏入機密資訊。假設先以傳統方式模擬取得雙高點位置,依據獲得之雙高點位置所對應的機 密資訊𝑠𝑘 = 1,則執行運算。將位置暫存器 D、輔助暫存器 A 與 B 當成控制位元,像素暫存 器 P 當成目標位元,先執行𝑈′−,再執行𝑈′+,將機密資訊藏入影像中,得到 |𝜓7⟩ = 𝑈′ −𝑈′+(|𝜓6⟩) =1 2(|00⟩D|10011100⟩P|00⟩G|10⟩A|00⟩B+ |01⟩D|10011100⟩P|00⟩G|10⟩A|00⟩B+ |10⟩D|10011110⟩P|00⟩G|00⟩A|10⟩B+ |11⟩D|00000000⟩P|01⟩G|01⟩A|00⟩B)。 步驟 9: 歸零輔助暫存器 A 與 B。執行𝑈′ℎ𝑐,判別在量子影像中的所有像素值是否小於、等於或大於 像素值156、155和像素值157、158,並分別記錄在輔助暫存器 A 和 B 中,得到 |𝜓8⟩ = 𝑈′ℎ𝑐(|𝜓7⟩) =1 2(|00⟩D|10011100⟩P|00⟩G|00⟩A|00⟩B+ |01⟩D|10011100⟩P|00⟩G|00⟩A|00⟩B+ |10⟩D|10011110⟩P|00⟩G|00⟩A|00⟩B+ |11⟩D|00000000⟩P|01⟩G|00⟩A|00⟩B) =1 2(|00⟩D|10011100⟩P|00⟩G+ |00⟩D|10011100⟩P|00⟩G+ |10⟩D|10011110⟩P|00⟩G+ |11⟩D|00000000⟩P|01⟩G)|00⟩A|00⟩B。 步驟 10: 歸零輔助暫存器 G。因為存在溢位像素值 0,執行𝐹′ℎ𝑐,將位置暫存器 D 當成控制位元,輔 助暫存器 G 當成目標位元,得到 |𝜓9⟩ = 𝐹′ℎ𝑐(|𝜓8⟩) =1 2(|00⟩D|10011100⟩P|00⟩G+ |01⟩D|10011100⟩P|00⟩G+ |10⟩D|10011110⟩P|00⟩G+ |11⟩D|00000000⟩P|00⟩G)|00⟩A|00⟩B =1 2(|00⟩D|10011100⟩P+ |01⟩D|10011100⟩P+ |10⟩D|10011110⟩P+ |11⟩D|00000000⟩P)|00⟩G|00⟩A|00⟩B。
|𝜓10⟩ =1 2(|00⟩D|10011011⟩P+ |01⟩D|10011100⟩P+ |10⟩D|10011111⟩P+ |11⟩D|00000000⟩P)|00⟩G|00⟩A|00⟩B。 步驟 12: 重複執行步驟 4 到步驟 10 方法再做一次重疊運算。得到 |𝜓11⟩ = 1 2(|00⟩D|10011010⟩P+ |01⟩D|10011011⟩P+ |10⟩D|10100000⟩P+ |11⟩D|00000000⟩P)|00⟩G|00⟩A|00⟩B。 步驟 13: 卸除輔助暫存器 G、A 與 B,得到偽裝影像。 |𝜓12⟩ =12(|00⟩D|10011010⟩P+ |01⟩D|10011011⟩P+ |10⟩D|10100000⟩P+ |11⟩D|00000000⟩P)。 步驟 13 傳 送 量 子 通 道 (|𝜓12⟩ =12(|00⟩D|10011010⟩P+ |01⟩D|10011011⟩P+ |10⟩D|10100000⟩P+ |11⟩D|00000000⟩P))和傳統通道(雙高點ℎ1 = 156、ℎ2 = 157、溢位像素值位置 3、3、3)給 接收方。 影像重疊隱藏演算法擷取步驟 步驟 1: 收到的量子影像|𝜓12⟩、高點像素值ℎ1 = 156、ℎ2 = 157、溢位像素值位置3、3、3。將|𝜓12⟩加 入機密暫存器 S、輔助暫存器 K 和輔助暫存器 R,得到 |𝜓̃0⟩ = |𝜓12⟩ =1 2(|00⟩D |10011111⟩P+ |01⟩D |10011001⟩P + |10⟩D |10111110⟩P + |11⟩D |00000000⟩P)|000000⟩S|00⟩K|00⟩R。
{ 如果 |𝑐‴̂ ⟩𝑖 𝑃 = 156,則|𝑠𝑖⟩𝑆 = |000011⟩ 𝑆; 如果 |𝑐‴̂ ⟩𝑖 𝑃 = 155,則|𝑠𝑖⟩𝑆 = |000001⟩𝑆; { 如果 |𝑐‴̂ ⟩𝑖 𝑃 = 157,則|𝑡𝑖⟩𝑇 = |000011⟩𝑇; 如果 |𝑐‴̂ ⟩𝑖 𝑃 = 158,則|𝑡𝑖⟩𝑇 = |000010⟩𝑇; |𝜓̃1⟩ = 𝑊ℎ𝑐(|𝜓̃0⟩) =1 2(|00⟩D |10011010⟩P|000000⟩S|00⟩K|00⟩R+ |01⟩D |10011011⟩P|000001⟩S|00⟩K|00⟩R +|10⟩D|10100000⟩P|000000⟩S|00⟩K|00⟩R+ |11⟩D|00000000⟩P|000000⟩S|00⟩K|00⟩R) 。 步驟 3: 還原藏入機密前之像素值。令控制位元為機密暫存器 S 與 T,像素暫存器 P 為目標控制位元, 先執行𝑉′+,再執行𝑉′−,還原藏入機密之像素值,得到 |𝜓̃2⟩ = 𝑉′ +𝑉′−(|𝜓̃1⟩) =1 2(|00⟩D |10011010⟩P|000000⟩S|00⟩K|00⟩R+ |01⟩D |10011100⟩P|000001⟩S|00⟩K|00⟩R +|10⟩D|10100000⟩P|000000⟩S|00⟩K|00⟩R+ |11⟩D|00000000⟩P|000000⟩S|00⟩K|00⟩R)。 步驟 4: 記錄位移區塊像素值位置。執行𝑉ℎ𝑐,令控制位元為像素暫存器 P,輔助暫存器 K 為目標控制 位元,將|𝑐̂⟩ < 155和|𝑐𝑖 ̂⟩ > 158的像素值位置,分別紀錄在輔助暫存器 K 中,得到 𝑖 |𝜓̃3⟩ = 𝑉ℎ𝑐(|𝜓̃2⟩) =1 2(|00⟩D |10011010⟩P|000000⟩S|10⟩K|00⟩R+ |01⟩D |10011100⟩P|000001⟩S|00⟩K|00⟩R +|10⟩D|10100000⟩P|000000⟩S|01⟩K|00⟩R+ |11⟩D|00000000⟩P|000000⟩S|10⟩K|00⟩R) 。 步驟 5: 位移像素值區塊。先執行𝑉+,再執行𝑉−,令控制位元為輔助暫存器 K,像素暫存器 P 為目標 控制位元,將|𝑐̂⟩ < 155和|𝑐𝑖 ̂⟩ > 158的像素值實施像素值區塊位移,得到 𝑖 |𝜓̃4⟩ = 𝑉+𝑉−(|𝜓̃3⟩) =1(|00⟩ |10011011⟩ |000000⟩ |10⟩ |00⟩ + |01⟩ |10011100⟩ |000001⟩ |00⟩ |00⟩