量子圖像加密解密
- 量子灰階圖像表示
- DRPE和量子加密與解密
-
- 雙随機相位編碼技術(DRPE)
- 量子圖像加密
- 量子圖像解密
在老師的建議下補充一點有關量子圖像加密和解密的内容。
我是一隻正在不斷學習、希望早日成為小白的小小白,有什麼錯誤歡迎大家批評指正,喜歡的請點個贊哦!
量子灰階圖像表示
灰階量子态圖像的表達式:
∣ I ( θ ) ⟩ = 1 2 n ∑ j = 0 2 2 n − 1 ∣ c j ⟩ ⊗ ∣ j ⟩ |I(\theta)\rangle=\frac{1}{2^{n}} \sum_{j=0}^{2^{2 n}-1}\left|c_{j}\right\rangle \otimes|j\rangle ∣I(θ)⟩=2n1j=0∑22n−1∣cj⟩⊗∣j⟩
∣ c j ⟩ = ( ∣ 0 ⟩ + e i θ j ∣ 1 ⟩ ) \left.\left|c_{j}\right\rangle=(|0\rangle+e^{i \theta_{j}}|1\rangle\right) ∣cj⟩=(∣0⟩+eiθj∣1⟩)
其中, θ j ∈ [ 0 , π 2 ] \theta_{j} \in\left[0, \frac{\pi}{2}\right] θj∈[0,2π],其代表的是灰階資訊對應的編碼資訊, ∣ c j ⟩ \left|c_{j}\right\rangle ∣cj⟩代表圖像的灰階資訊, ∣ j ⟩ |j\rangle ∣j⟩代表圖像中像素所處的位置資訊,其中 j = 0 , 1 , ⋯ , 2 2 n − 1 j=0,1, \cdots, 2^{2 n}-1 j=0,1,⋯,22n−1。
編碼在位置量子位 ∣ j ⟩ |j\rangle ∣j⟩上的位置資訊包含垂直坐标和水準坐标:
∣ j ⟩ = ∣ y ⟩ ∣ x ⟩ = ∣ y n − 1 y n − 2 ⋯ y 0 ⟩ ∣ x n − 1 x n − 2 ⋯ x 0 ⟩ x j , y j ∈ { 0 , 1 } |j\rangle=|y\rangle|x\rangle=\left|y_{n-1} y_{n-2} \cdots y_{0}\right\rangle\left|x_{n-1} x_{n-2} \cdots x_{0}\right\rangle \quad x_{j}, y_{j} \in\{0,1\} ∣j⟩=∣y⟩∣x⟩=∣yn−1yn−2⋯y0⟩∣xn−1xn−2⋯x0⟩xj,yj∈{0,1}
要對灰階圖像進行處理時,可以在 ∣ c j ⟩ \left|c_{j}\right\rangle ∣cj⟩ 上執行一個相位門 U = [ 1 0 0 e i ψ j ] U=\left[\begin{array}{ll} 1 & 0 \\ 0 & e^{i \psi_{j}} \end{array}\right] U=[100eiψj]
為什麼會進行這樣的操作呢?我們繼續往後看!

DRPE和量子加密與解密
雙随機相位編碼技術(DRPE)
假設 f ( x , y ) f(x, y) f(x,y) 是大小為 M × N 的明文圖像, ϕ ( x , y ) ϕ(x, y) ϕ(x,y) 是對應的密文圖像,DRPE表示的加密和解密過程可分别用以下公式表示:
φ ( x , y ) = F T − 1 { F T { f ( x , y ) exp [ j 2 π n ( x , y ) ] } exp [ j 2 π b ( ξ , η ) ] } \varphi(x, y)=F T^{-1}\{F T\{f(x, y) \exp [j 2 \pi n(x, y)]\} \exp [j 2 \pi b(\xi, \eta)]\} φ(x,y)=FT−1{FT{f(x,y)exp[j2πn(x,y)]}exp[j2πb(ξ,η)]}
f ( x , y ) = F T − 1 { F T { φ ( x , y ) } exp [ − j 2 π b ( ξ , η ) ] } exp [ − j 2 π n ( x , y ) ] f(x, y)=F T^{-1}\{F T\{\varphi(x, y)\} \exp [-j 2 \pi b(\xi, \eta)]\} \exp [-j 2 \pi n(x, y)] f(x,y)=FT−1{FT{φ(x,y)}exp[−j2πb(ξ,η)]}exp[−j2πn(x,y)]
其中, n ( x , y ) n(x, y) n(x,y) 和 b ( ξ , η ) b(ξ,η) b(ξ,η) 分别是空間域和頻域中均勻分布在[0,1]上的随機相位函
數, F T FT FT 和 F T − 1 F T^{-1} FT−1分别代表傅裡葉變換和傅裡葉逆變換。
步驟:
(1)先将輸入圖像 f ( x , y ) f(x, y) f(x,y) 在空間域裡和一個随機相位函數 e x p [ j 2 π n ( x , y ) ] exp[ j2πn(x, y)] exp[j2πn(x,y)] 相乘得到變換後的圖像
(2)對變換後的圖像進行傅裡葉變換,得到頻域信号
(3)将頻域信号與另一個随機相位函數 e x p [ j 2 π b ( μ , ν ) ] exp[ j2πb(μ,ν)] exp[j2πb(μ,ν)] 相乘
(4)将得到的資訊執行傅裡葉逆變換,最終得到加密圖像 ϕ ( x , y ) ϕ(x, y) ϕ(x,y)
e x p [ j 2 π n ( x , y ) ] exp[ j2πn(x, y)] exp[j2πn(x,y)] 和 e x p [ j 2 π b ( ξ , η ) ] exp[ j2πb(ξ,η)] exp[j2πb(ξ,η)] 分别為輸入圖像空間域和傅裡葉頻譜平面上的密鑰。正是因為密鑰的存在,圖像的安全才能得到保障。
量子圖像加密
假設原始明文圖像為 ∣ O ⟩ = 1 2 n ∑ j = 0 2 2 n − 1 ∣ c j ⟩ ⊗ ∣ j ⟩ |O\rangle=\frac{1}{2^{n}} \sum_{j=0}^{2^{2 n}-1}\left|c_{j}\right\rangle \otimes|j\rangle ∣O⟩=2n1∑j=022n−1∣cj⟩⊗∣j⟩,空間域和量子傅裡葉頻域的密鑰還可表示為 U K 1 = [ 1 0 0 e i ψ j ] U_{K_{1}}=\left[\begin{array}{cc}1 & 0 \\0 & e^{i \psi_{j}}\end{array}\right] UK1=[100eiψj] 和 U K 2 = [ 1 0 0 e i v j ] U_{K_{2}}=\left[\begin{array}{cc}1 & 0 \\0 & e^{i v_{j}}\end{array}\right] UK2=[100eivj],其中 ψ j , v j \psi_{j}, v_{j} ψj,vj 是均勻分布在 0 到 2 π 2π 2π 的實數。
加密的具體步驟:
(1)利用密鑰 U K 1 U_{K_{1}} UK1 在空域中編碼明文圖像,得到編碼後的圖像|M〉
∣ M ⟩ = K 1 ∣ O ⟩ = U K 1 ⊗ I 2 2 n ∣ O ⟩ = U K 1 ⊗ I 2 2 n 1 2 n ∑ j = 0 2 2 n − 1 ∣ c j ⟩ ⊗ ∣ j ⟩ = 1 2 n ∑ j = 0 2 2 n − 1 U K 1 ∣ c j ⟩ ⊗ ∣ j ⟩ = 1 2 n ∑ j = 0 2 2 n ∣ ∣ c ′ ⟩ ⊗ ∣ j ⟩ \begin{aligned} |M\rangle &=K_{1}|\mathrm{O}\rangle=U_{K_{1}} \otimes I_{2^{2 \mathrm{n}}}|\mathrm{O}\rangle \\ &=U_{K_{1}} \otimes I_{2^{2 \mathrm{n}}} \frac{1}{2^{n}} \sum_{j=0}^{2^{2 n}-1}\left|c_{j}\right\rangle \otimes|j\rangle \\ &=\frac{1}{2^{n}} \sum_{j=0}^{2^{2 n}-1} U_{K_{1}}\left|c_{j}\right\rangle \otimes|j\rangle \\ &=\frac{1}{2^{n}} \sum_{j=0}^{2^{2 n} \mid}\left|c^{\prime}\right\rangle \otimes|j\rangle \end{aligned} ∣M⟩=K1∣O⟩=UK1⊗I22n∣O⟩=UK1⊗I22n2n1j=0∑22n−1∣cj⟩⊗∣j⟩=2n1j=0∑22n−1UK1∣cj⟩⊗∣j⟩=2n1j=0∑22n∣∣c′⟩⊗∣j⟩
其中, ∣ c j ′ ⟩ = ( ∣ 0 ⟩ + e i ( θ j + ψ j ) ∣ 1 ⟩ ) \left.\left|c_{j}^{\prime}\right\rangle=(|0\rangle+e^{i\left(\theta_{j}+\psi_{j}\right)}|1\rangle\right) ∣∣cj′⟩=(∣0⟩+ei(θj+ψj)∣1⟩)
提問:為什麼 K 1 ∣ O ⟩ = U K 1 ⊗ I 2 2 n ∣ O ⟩ K_{1}|\mathrm{O}\rangle=U_{K_{1}} \otimes I_{2^{2 \mathrm{n}}}|\mathrm{O}\rangle K1∣O⟩=UK1⊗I22n∣O⟩,可以思考下。如果認真看了“張量網絡算法基礎(二、量子态、量子算符)這篇部落格的小夥伴應該知道答案,沒看的小夥伴可以點選連結看一下”單體算符及其運算
(2)對 ∣ M 〉 |M〉 ∣M〉 執行量子傅裡葉變換(QFT)操作得到 ( Q F T ∣ M 〉 QFT |M〉 QFT∣M〉)
Q F T ( ∣ M ⟩ ) = Q F T ( 1 2 n ∑ j = 0 2 2 n − 1 ∣ c j ′ ⟩ ⊗ ∣ j ⟩ ) Q F T(|M\rangle)=Q F T\left(\frac{1}{2^{n}} \sum_{j=0}^{2^{2 n}-1}\left|c_{j}^{\prime}\right\rangle \otimes|j\rangle\right) QFT(∣M⟩)=QFT⎝⎛2n1j=0∑22n−1∣∣cj′⟩⊗∣j⟩⎠⎞
(3)利用密鑰 U K 2 U_{K_{2}} UK2 對 ( Q F T ∣ M 〉 QFT |M〉 QFT∣M〉 )進行加密,得到 ∣ M 1 〉 |M_{1}〉 ∣M1〉
∣ M 1 ⟩ = K 2 Q F T ( ∣ M ⟩ ) = U K 2 ⊗ I 2 2 n Q F T ( ∣ M ⟩ ) = U K 2 ⊗ I 2 2 n Q F T ( 1 2 2 n ∑ j = 0 2 2 n − 1 ∣ c ′ ⟩ ⊗ ∣ j ⟩ ) = 1 2 n ∑ j = 0 2 2 n − 1 U K 2 Q F T ( ∣ c j ′ ⟩ ⊗ ∣ j ⟩ ) \begin{aligned} \left|M_{1}\right\rangle &=K_{2} Q F T(|M\rangle) \\ &=U_{K_{2}} \otimes I_{2^{2 n}} Q F T(|M\rangle) \\ &=U_{K_{2}} \otimes I_{2^{2 n}} Q F T\left(\frac{1}{2^{2 n}} \sum_{j=0}^{2^{2 n}-1}\left|c^{\prime}\right\rangle \otimes|j\rangle\right) \\ &=\frac{1}{2^{n}} \sum_{j=0}^{2^{2 n}-1} U_{K_{2}} Q F T\left(\left|c_{j}^{\prime}\right\rangle \otimes|j\rangle\right) \end{aligned} ∣M1⟩=K2QFT(∣M⟩)=UK2⊗I22nQFT(∣M⟩)=UK2⊗I22nQFT⎝⎛22n1j=0∑22n−1∣c′⟩⊗∣j⟩⎠⎞=2n1j=0∑22n−1UK2QFT(∣∣cj′⟩⊗∣j⟩)
(4)對 ∣ M 1 〉 |M_{1}〉 ∣M1〉 執行 i n Q F T inQFT inQFT ,得到量子密文圖像 ∣ C 〉 |C〉 ∣C〉
∣ C ⟩ = in Q F T ( ∣ M 1 ⟩ ) = in Q F T ( 1 2 n ∑ j = 0 2 2 n − 1 U K 2 Q F T ( ∣ c j ′ ⟩ ⊗ ∣ j ⟩ ) ) \begin{aligned} |C\rangle &=\operatorname{in} Q F T\left(\left|M_{1}\right\rangle\right) \\ &=\operatorname{in} Q F T\left(\frac{1}{2^{n}} \sum_{j=0}^{2^{2 n}-1} U_{K_{2}} Q F T\left(\left|c_{j}^{\prime}\right\rangle \otimes|j\rangle\right)\right) \end{aligned} ∣C⟩=inQFT(∣M1⟩)=inQFT⎝⎛2n1j=0∑22n−1UK2QFT(∣∣cj′⟩⊗∣j⟩)⎠⎞
其中, i n Q F T inQFT inQFT 的量子電路是 Q F T QFT QFT 量子電路的逆序
量子圖像解密
加密靠的是密鑰,自然解密過程中,隻需要提供兩個密鑰,即相位算子 U K 1 U_{K_{1}} UK1 和 U K 2 U_{K_{2}} UK2 。因為量子計算中的所有變換操作都是可逆的,是以解密過程是加密過程的逆序。
解密的具體步驟:
(1)對 ∣ C 〉 |C〉 ∣C〉 執行 Q F T QFT QFT 操作,得到變換後的圖像 ( Q F T ∣ C 〉 QFT |C〉 QFT∣C〉)
Q F T ( ∣ C ⟩ ) = Q F T ( i n Q F T ( ∣ M 1 ⟩ ) ) = ∣ M 1 ⟩ Q F T(|C\rangle)=Q F T\left(i n Q F T\left(\left|M_{1}\right\rangle\right)\right)=\left|M_{1}\right\rangle QFT(∣C⟩)=QFT(inQFT(∣M1⟩))=∣M1⟩
(2)利用 K 2 K_{2} K2 對 ∣ M 1 〉 |M_{1}〉 ∣M1〉 執行解密操作
K 2 − 1 ∣ M 1 ⟩ = U + K 2 ⊗ I 2 2 n ∣ M 1 ⟩ = U + K 2 ⊗ I 2 2 n K 2 Q F T ( ∣ M ⟩ ) = ( U + K 2 ⊗ I 2 2 n ) ( U K 2 ⊗ I 2 2 n ) Q F T ( ∣ M ⟩ ) = U + K 2 U K 2 ⊗ I 2 2 n Q F T ( ∣ M ⟩ ) = Q F T ( M ⟩ ) \begin{aligned} K_{2}^{-1}\left|M_{1}\right\rangle &=U^{+} K_{2} \otimes I_{2^{2 n}}\left|M_{1}\right\rangle \\ &=U^{+} K_{2} \otimes I_{2^{2 n}} K_{2} Q F T(|M\rangle) \\ &=\left(U^{+} K_{2} \otimes I_{2^{2 n}}\right)\left(U_{K_{2}} \otimes I_{2^{2 n}}\right) Q F T(|M\rangle) \\ &=U^{+}{K}_{2} U_{K_{2}} \otimes I_{2^{2 n}} Q F T(|M\rangle) \\ &=Q F T(M\rangle) \end{aligned} K2−1∣M1⟩=U+K2⊗I22n∣M1⟩=U+K2⊗I22nK2QFT(∣M⟩)=(U+K2⊗I22n)(UK2⊗I22n)QFT(∣M⟩)=U+K2UK2⊗I22nQFT(∣M⟩)=QFT(M⟩)
(3)對 ( Q F T ∣ M 〉 QFT |M〉 QFT∣M〉)執行 i n Q F T inQFT inQFT 操作,得到 ∣ M 〉 |M〉 ∣M〉
inQFT ( Q F T ( ∣ M ⟩ ) ) = ∣ M ⟩ \operatorname{inQFT}(Q F T(|M\rangle))=|M\rangle inQFT(QFT(∣M⟩))=∣M⟩
(4)利用密鑰 K 1 K_{1} K1 對上一步中得到的 ∣ M 〉 |M〉 ∣M〉 進行解密,得到原始圖像 ∣ O 〉 |O〉 ∣O〉
K 1 − 1 ∣ M ⟩ = U + K 1 ⊗ I 2 2 n ∣ M ⟩ = U + K 1 ⊗ I 2 2 n K 1 ∣ O ⟩ = ( U + K 1 ⊗ I 2 2 n ) ( U K 1 ⊗ I 2 2 n ) ∣ O ⟩ = U + K 1 U K 1 ⊗ I 2 2 n ∣ O ⟩ = ∣ O ⟩ \begin{aligned} K_{1}^{-1}|M\rangle &=U^{+}{ }_{K_{1}} \otimes I_{2^{2 n}}|M\rangle \\ &=U^{+}{ }_{K_{1}} \otimes I_{2^{2 n}} K_{1}|O\rangle \\ &=\left(U^{+}{ }_{K_{1}} \otimes I_{2^{2 n}}\right)\left(U_{K_{1}} \otimes I_{2^{2 n}}\right)|O\rangle \\ &=U^{+}{ }_{K_{1}} U_{K_{1}} \otimes I_{2^{2 n}}|O\rangle \\ &=|O\rangle \end{aligned} K1−1∣M⟩=U+K1⊗I22n∣M⟩=U+K1⊗I22nK1∣O⟩=(U+K1⊗I22n)(UK1⊗I22n)∣O⟩=U+K1UK1⊗I22n∣O⟩=∣O⟩
以上就是有關量子圖像的加密和解密過程,開學了,近期要去忙其它事情啦!以後有時間盡量更新!
我是一隻正在不斷學習、希望早日成為小白的小小白,有什麼錯誤歡迎大家批評指正,喜歡的請點個贊哦!