• 沒有找到結果。

三. 基於區塊影像之可逆式直方圖量子資訊隱藏演算法

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⟩𝑃 = 1

2𝑛2i=02𝑛−1|i⟩𝐷|0⟩𝑃

步驟 3:

利用𝑈𝑝,建構量子影像中的像素值,得到原始影像 I 之 NEQR 表示式

|𝜓2⟩ = 𝑈𝑝(21𝑛2i=02𝑛−1|i⟩𝐷|0⟩𝑃) =21𝑛(∑2𝑖=02𝑛−1|i⟩𝐷|𝑐𝑖𝑃)。

步驟 4:

檢查影像中的像素值是否有下限 0 和上限2𝑞− 1的像素值(溢位位置像素值),如果這些像素 值存在,則執行𝐹ℎ𝑐記錄在輔助暫存器 G 中;如果這些像素值不存在則直接跳到步驟 6,得到

步驟 5:

將溢位位置像素值實施修正,先執行𝐹+,再執行𝐹

(1)當輔助暫存器 G 為|01⟩𝐺時,則像素暫存器 P 執行像素值加 1 的動作。即執行𝐹+,將|𝑐𝑖𝑃 = 0 之像素值加 1。

(2)當輔助暫存器 G 為|10⟩𝐺時,則像素暫存器 P 執行像素值減 1 的動作。即執行𝐹,將|𝑐𝑖𝑃 = 2𝑞− 1之像素值減 1。

|𝜓4⟩ = 𝐹+𝐹(|𝜓3⟩) = 21𝑛(∑2𝑖=02𝑛−1|i⟩𝐷|𝑐̌⟩𝑖 𝑃|𝑔𝑖𝐺)。

步驟 6:

記錄位移區塊像素值。判別在量子影像中的所有像素值是否小於、等於或大於雙高點ℎ1與ℎ2, 則執行𝑈ℎ𝑐,並分別將結果記錄在輔助暫存器 A 和 B 中,得到

|𝜓5⟩ = 𝑈ℎ𝑐(|𝜓4⟩ ⊗ |00⟩𝐴 ⊗ |00⟩𝐵) =21𝑛(∑2𝑖=02𝑛−1|i⟩𝐷|𝑐̌⟩𝑖 𝑃|𝑔𝑖𝐺|𝑎𝑖𝐴|𝑏𝑖𝐵)。

步驟 7:

位移像素值區塊。先執行𝑈,將|𝑐̌⟩𝑖 𝑃 < ℎ1所有像素值都減 1;再執行𝑈+,將|𝑐̌⟩𝑖 𝑃 > ℎ2所有 像素值都加 1,得到

|𝜓6⟩ = 𝑈𝑈+(|𝜓5⟩) = 21𝑛(∑2𝑖=02𝑛−1|i⟩𝐷|𝑐̂⟩𝑖 𝑃|𝑔𝑖𝐺|𝑎𝑖𝐴|𝑏𝑖𝐵)。

步驟 8:

藏入機密資訊。假設先以傳統方式模擬取得雙高點位置,依據獲得之雙高點位置所對應的機 密資訊𝑠𝑘 = 1,則執行底下的運算。將位置暫存器 D、輔助暫存器 A 與 B 當成控制位元,像 素暫存器 P 當成目標位元,先執行𝑈′,再執行𝑈′+,將機密資訊藏入影像中,得到

|𝜓7⟩ = 𝑈′𝑈′+(|𝜓6⟩) =21𝑛(∑2𝑖=02𝑛−1|i⟩𝐷|𝑐′̂⟩𝑖 𝑃|𝑔𝑖𝐺|𝑎𝑖𝐴|𝑏𝑖𝐵)。

步驟 9:

歸零輔助暫存器 A 與 B。執行𝑈′ℎ𝑐,判別在量子影像中的所有像素值是否小於、等於或大於 高點像素值ℎ1、ℎ1− 1和高點像素值ℎ2、ℎ2+ 1,並分別記錄在輔助暫存器 A 和 B 中,得到

歸零輔助暫存器 G。如果存在溢位像素值,將位置暫存器 D 當成控制位元,輔助暫存器 G 當 成目標位元,執行𝐹′ℎ𝑐記錄在輔助暫存器 G 中,如果不存在則省略本步驟;得到

|𝜓9⟩ = 𝐹′ℎ𝑐(|𝜓8⟩) =21𝑛(∑2𝑖=02𝑛−1|i⟩𝐷|𝑐′̂⟩𝑖 𝑃|00⟩𝐺|00⟩𝐴|00⟩𝐵)。

步驟 11:

卸除輔助暫存器 G、A 與 B,得到偽裝影像。

|𝜓10⟩ =21𝑛(∑2𝑖=02𝑛−1|i⟩𝐷|𝑐′̂⟩𝑖 𝑃)。

透過量子通道(包含暫存器 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:

步驟 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。

圖 18 機密資訊藏入電路圖

相關文件