• 沒有找到結果。

量子密碼學在傳統電腦上的模擬研究

N/A
N/A
Protected

Academic year: 2021

Share "量子密碼學在傳統電腦上的模擬研究"

Copied!
67
0
0

加載中.... (立即查看全文)

全文

(1)國立台中教育大學自然科學教育學系碩士論文. 指導教授: 葉聰文博士. 量子密碼學在傳統電腦上的模擬研究 A Study of Simulation of Quantum Cryptology on the Traditional Computer. 研究生:鄭玉玫撰 中華民國九十五年六月.

(2) 致謝 從進入自科所的第一天開始, 我的人生就有了不同的目標及生活方式。 在研究的期間, 經 歷了許許多多的事情, 也認識了不少的師長以及好伙伴, 給予我莫大的協助, 讓我能夠克 服許多困難, 完成我的學業。 首先感謝指導教授葉聰文博士, 給予我許許多多的建議及教導, 在寫作的過程中, 更是 不厭其煩地諄諄教誨。 感謝張嘉麟教授和郭西川教授, 對於我的論文提出了許多需要修 正的地方, 並且給予指導及建議。 感謝所長許良榮教授, 對於我補修課程上給予最佳的建 議及關心。 也感謝自科所的每一位師長, 在上課期間授予我相當豐富的知識及做人處事方 法。 感謝瓊如跟銥屏, 在論文寫作期間彼此互相叮嚀, 相互扶持。 感謝家人對我的支持及鼓 勵, 讓我有信心和毅力完成我的學業。 感謝同事們的協助及關懷, 讓我的工作及學習能夠 兼顧。 最後, 感謝同窗好友及教育大學的相關工作人員, 因您們的適時協助, 才能夠順利 完成各項手續及應盡事宜。 要感謝的人太多, 要學習的事情更多, 讓我懷著一顆感恩及努力的心, 在漫漫人生路上 繼續前行。.

(3) 摘要 本研究探討量子金鑰傳輸 BB84 協定在實際傳輸過程中的可行性。 傳輸系統則採用量 子電路模擬軟體 QAD 及 QuaSi2 在傳統三十二位元電腦上所模擬的量子環境中來進 行架構。 依照 BB84 量子金鑰協定所設計的量子資訊傳輸電路, 經模擬器模擬單一資料 傳輸後可得到三種傳輸結果, 分別是成功傳輸, 不成功傳輸及成功傳輸但可能被第三者竊 聽等情形。 兩種模擬軟體模擬所得到的結果, 皆與 Black 的 BB84 量子電路模型的模擬 結果相似, 也與 BB84 協定的理論預測接近。 本研究顯示透過模擬電路實際操作的驗證, 證實 BB84 金鑰分配協定對單一資料傳輸的可行性。. 關鍵字: 量子傳輸、 BB84 量子金鑰協定、 量子電路.

(4) Abstract According to the BB84 quantum key distribution (QKD) protocol, we investigate the applicability of the quantum teleportation in real cases. In order to construct the data transformation system, we employed the simulation software, the quantum algorithm designer (QAD) and the quantum algorithm simulation 2 (QuaSi2), to simulate the quantum teleportation environment on a traditional computer of 32 bits. We then designed the quantum circuits to simulate the quantum teleportation under the BB84 QKD protocol. The simulations show that there are three types of quantum teleportation. They are separately the successful transformations, the false transformations, and the successful transformations under eavesdropping. The simulation results are also consistent with the Black’s BB84 circuit model, and the principles of the BB84 QKD. With these foundings, we showed that the applicability of the BB84 QKD in real quantum teleportation.. Keywords: Quantum teleportation 、 BB84 Quantum Key Distribution 、 Quantum Circuit.

(5) 目錄. 1 緒論. 1. 1.1 研究背景及動機 . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2 基本原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2.1. 數學基本理論 . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2.2. 量子力學基本理論 . . . . . . . . . . . . . . . . . . . . . .. 3. 2 古典密碼學. 7. 2.1 密碼學原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 2.2 對稱金鑰系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 8. 2.3 非對稱金鑰系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3 量子密碼學. 13. 3.1 BB84 協定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 B92 協定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3 EPR協定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4 量子電路. 20. 4.1 概論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2 簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21. I.

(6) 4.2.1. 反閘 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. 4.2.2. 哈達馬閘 . . . . . . . . . . . . . . . . . . . . . . . . . .. 22. 4.2.3. 控制-反閘 . . . . . . . . . . . . . . . . . . . . . . . . . .. 23. 4.2.4. 控制-控制-反閘 . . . . . . . . . . . . . . . . . . . . . . .. 24. 4.3 研究方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 5 模擬程式. 27. 5.1 QAD簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 5.1.1. QAD操作說明 . . . . . . . . . . . . . . . . . . . . . . . 28. 5.2 QuaSi2 簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.2.1. QuaSi2 操作說明 . . . . . . . . . . . . . . . . . . . . . . 30. 5.3 其他模擬器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.3.1. Quack . . . . . . . . . . . . . . . . . . . . . . . . . . . 34. 5.3.2. Open Qubit . . . . . . . . . . . . . . . . . . . . . . . . 35. 5.3.3. Fraunhofer Quantum Computing Simulation . . . . . . 35. 5.3.4. QCSim . . . . . . . . . . . . . . . . . . . . . . . . . . . 36. 5.3.5. QuIDDpro . . . . . . . . . . . . . . . . . . . . . . . . . 36. 5.3.6. QCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37. 5.3.7. jQuantum . . . . . . . . . . . . . . . . . . . . . . . . . 37. 5.3.8. QCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37. 6 研究結果. 38. 6.1 BB84 電路模擬 . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 6.2 範例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 6.2.1. QAD 範例 . . . . . . . . . . . . . . . . . . . . . . . . . 44 II.

(7) 6.2.2. QuaSi2 範例 . . . . . . . . . . . . . . . . . . . . . . . . 46. 7 結論與建議. 51. 7.1 結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 7.2 建議 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 參考文獻 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. III. 54.

(8) 圖目錄. 3.1 BB84 通訊階段圖 . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.1 布洛赫球面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.1 QAD 畫面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.2 QAD 試作四量子位元電路 . . . . . . . . . . . . . . . . . . . . . 30 5.3 QuaSi2 介面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.4 電路設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.5 波長及方向 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5.6 實數與虛數部分 . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.7 數字部份 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 6.1 BB84 Model 電路圖 . . . . . . . . . . . . . . . . . . . . . . . . 38 6.2 BB84 Model 電路模擬結果 . . . . . . . . . . . . . . . . . . . . . 39 6.3 BB84 電路圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.4 BB84 電路模擬結果 . . . . . . . . . . . . . . . . . . . . . . . . . 42 6.5 可輸入的 BB84 電路 . . . . . . . . . . . . . . . . . . . . . . . . 44 6.6 輸入 | 0i| 0i| 0i| 0i 的 QuaSi2 BB84 電路 . . . . . . . . . . . . . 47 6.7 輸入 | 0i| 1i| 0i| 0i 的 QuaSi2 BB84 電路 . . . . . . . . . . . . . 47 6.8 輸入 | 1i| 0i| 0i| 0i 的 QuaSi2 BB84 電路 . . . . . . . . . . . . . 47 IV.

(9) 6.9 輸入 | 1i| 0i| 1i| 0i 的 QuaSi2 BB84 電路 . . . . . . . . . . . . . 48 6.10 輸入 | 0i| 1i| 0i| 1i 的 QuaSi2 BB84 電路 . . . . . . . . . . . . . 48 6.11 輸入 | 1i| 0i| 0i| 1i 的 QuaSi2 BB84 電路 . . . . . . . . . . . . . 48 6.12 輸入 | 0i| 1i| 1i| 1i 的 QuaSi2 BB84 電路 . . . . . . . . . . . . . 49 6.13 輸入 | 1i| 1i| 1i| 1i 的 QuaSi2 BB84 電路 . . . . . . . . . . . . . 49. V.

(10) 表目錄. 2.1 AES演算法運算回合 . . . . . . . . . . . . . . . . . . . . . . . .. 9. 2.2 ShiftRow 位移格數關係表 . . . . . . . . . . . . . . . . . . . . . 10 3.1 Alice 傳送資訊表 . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2 Alice,Eve,Bob 傳送資訊比對表 . . . . . . . . . . . . . . . . . . . 16 3.3 B92 傳送序列關係表 . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4 EPR編碼表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1 反閘真值表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.2 CN閘真值表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.3 CCN閘真值表 . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 5.1 QAD量子閘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.2 QAD連結運算關係 . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.1 BB84 Model 模擬結果(係數 14 ) . . . . . . . . . . . . . . . . . . . 40 6.2 BB84 Model 模擬結果 (係數 6.3 BB84 Model 模擬結果 (係數. 1 √ ) . 4 2 − 4√1 2 ). . . . . . . . . . . . . . . . . 40 . . . . . . . . . . . . . . . . 41. 6.4 BB84 模擬結果 (係數 41 ) . . . . . . . . . . . . . . . . . . . . . . 42 6.5 BB84 模擬結果 (係數. 1 √ ) 4 2. . . . . . . . . . . . . . . . . . . . . . 43. 6.6 BB84 模擬結果 (係數− 4√1 2 ) . . . . . . . . . . . . . . . . . . . . 43 VI.

(11) [. 6.7 轉換後的表格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 6.8 可輸入的 BB84 模擬結果 . . . . . . . . . . . . . . . . . . . . . . 45 6.9 使用 QuaSi2 的模擬結果 . . . . . . . . . . . . . . . . . . . . . . 50. VII.

(12) 第1章 緒論 1.1 研究背景及動機. 電腦在我們的日常生活中已經成為一個通訊的重要角色, 幾乎每個人每天都會使用到它。 尤其在今日網路行銷及商業應用日趨普遍的時代, 資訊的保密系統就愈形重要。 不論是個 人或者是公司企業的資訊, 在電腦或網路上都必須要保有一定的私密性, 以確保資訊的安 全性, 因此電腦的密碼系統便成為對資訊保密的一項重要工具。 現今的密碼系統是由資訊加上演算法而成, 已發展出相當安全的密碼系統, 至少對於 一般人而言是相當安全的。 但是其安全性能夠維持多久呢? 有絕對或永久的安全性嗎? 這是值得研究的問題。 與現今使用的電腦密碼系統比較, 量子密碼系統是一個新的密碼系統。 量子電腦的計 算速度預估應比古典電腦的計算速度快上許多倍, 它的量子平行計算能力可以增進解題 的速度, 而量子位元儲存資料的能力也遠遠超越古典電腦。 因此使用量子密碼系統成為 人們的期待, 希望能夠創建出比古典密碼系統安全許多的密碼系統。 本研究希望利用量子電路模擬無噪音干擾的 BB84 量子密碼系統, 以量子電路模擬程 式 QAD 以及 QuaSi2 設計模擬 BB84 協定的金鑰傳輸電路, 並驗證其可行性。 1.2 基本原理 1.2.1 數學基本理論. 1.群 (group). 1.

(13) 第 1 章 緒論. 群是由一些元素和一個運算元所組成的, 例如: 加法群 (Zn , + ) 的元素是指由介於. 0 與 n − 1 間的整數所成的集合 Zn 和運算元 + 所組成, 其運算的方式是將兩個元素相 加, 然後求和除以 n 之後的餘數, 如果運算元不會造成混淆, 這個群通常用 Zn 來表示。 以加法群(Zn , + ) 為例, 一個群滿足下列條件: (1) 封閉性: 對所有的元素x, y,. x + y ∈ Zn 。 (2) 單位元素: 群中存在一個單位元素 0, 使所有的元素 x 滿足 0 + x = x + 0 = x。 (3) 反元素: 對所有的元素 x 而言, 存在一個反元素 y, 使得 x + y = y + x = 0。 (4) 結合率: 對所有的元素 x, y, z ∈ Zn , (x + y) + z = x + (y + z)。 因 此, 在加法群中可以做加的運算, 也可以做減的運算 (使用加法反元素)。 同樣的, 在乘法 群中, 可以做乘和除的運算, 例如: Zn∗ 是密碼學常用的乘法群, 它包含介於 1 和 n − 1 之間與 n 互質的整數 [1]。. 2.體(Field) 體是一個集合, 在這個集合中我們可以將任意兩元素做加、 減、 乘、 除的運算, 假設. (F , +, ×) 是一個體, 它滿足: (1)(F , +) 是一個加法交換群。 (2)(F \ {0}, ×) 是一 個乘法交換群, 其中 0 為加法單位元素, 並且非 0 的元素有乘法反元素存在。 (3) 分配 率: 對所有的 x, y, z ∈ Zn , x × (y + z) = x × y + x × z 。 在密碼學中所使用的都是有限元素的群跟體, 稱為有限群 (Finite Group) 和有限體. (Finite Field)。 最常見的有限體是 Zp 或 Zpk , 其中 p 是質數, k 是正整數。 3.同餘 (congruence) 令三數 a, b 及 n 皆為正整數, 若 a 和 b 除以 n 的餘數相同, 我們稱 a 與 b 在模n 中同餘, 記作 a ≡ b (mod n)。 也就是說 a - b = kn, 或 n | (a − b)。 同餘有以下性質:. (1) 若 a ≡ b (mod n), 且 c ≡ d (mod n), 則 a + c ≡ b+d (mod n)。 (2) 若a ≡ b (mod n), 且 c ≡ d (mod n), 則 ac ≡ bd (mod n)。 (3) 若 ac ≡ bc (mod n), 且 c 和 n 互質, 則 a ≡ b (mod n)。 2.

(14) 第 1 章 緒論. (4) 若 ac ≡ bc (mod n), 且 c 為 c 和 n 的最大公因數, 則 a ≡ b (mod nc )。 (5) 若 a ≡ b (mod n) , 且 m 為正整數, 則 am ≡ bm (mod n)。 (6) 若 a ≡ b (mod mn) , 則 a ≡ b (mod m), a ≡ b (mod n)。 (7) 若 a ≡ b (mod m) , 若 a ≡ b (mod n) , 且 m 與 n 互質, 則 a ≡ b (mod mn)。 (引述自 [1])。 1.2.2 量子力學基本理論. 1.Dirac 表述法 在量子力學中, 所有物理狀態組成的向量空間是複數的, 以複數向量空間來代表物理 系統的狀態空間, 一般採用狄拉克(Dirac) 表述法, 不需要採用具體表象來討論問題 [2]。 量子的一個狀態向量我們可以用括矢(Ket Vector) 來表示, 其符號為 |i, 其內可以 加入符號表示特殊的態, 如 | ψi 表示用波函數 ψ 所描述的狀態。 所有括矢則組成一個 複數線性向量空間, 稱為括空間 (Ket Space)。 任意兩個或多個括矢的線性疊加仍然以 一個括矢表示, 代表新的物理狀態。 與括矢相對應, 包矢 (Bra Vector) 表示括矢共軛空間中的一個抽象態矢, 其符號為. h|, 所有的包矢組成跟括空間相對應的包空間 (Bra space)。 包矢 hα | 跟括矢 | βi 的內積以 hα | βi 表示, 且. hα | βi = hβ | αi∗. (1.1). 若 hα | βi = 0 , 表示 hα | 跟 | βi正 交。 若 hα | αi = 1 , 表示 | αi 為歸ㄧ化的矢 態。 包矢 hα | 跟括矢 | βi 的外積以 | αihβ | 表示, 它是一個算符 (operator), 可以直 接作用在括矢及包矢上:. (| αihβ |)· | γi =| αihβ | γi, hγ | ·(| αihβ |) = hγ | αihβ | 2.算符 (Operator) 3. (1.2).

(15) 第 1 章 緒論. 所有可觀測量在量子力學中都以自伴算符 (hermitian operator) 表示, 也就是這個 算符的自伴共軛算符 (hermitian conjugate operator) 就是自己本身, 由此也可證明 他的本徵值 (Eigen values) 都是實數。 一般算符 Ω 都是在括空間內直接作用在括矢上, 可分為線性算符和反線性算符 [3]。 線性算符(linear operator) 的定義為. Ω(c | αi + d | βi) = cΩ | αi + dΩ | βi. (1.3). 反線性算符 (antilinear operator) 的定義為. Ω(c | αi + d | βi) = c∗ Ω | αi + d∗Ω | βi. (1.4). 在量子物理中, 常用的多是線性算符, 反線性算符只有時間反轉算符。 ㄧ自伴算符 A 的本徵值方程式可以寫為. A | ai = a | ai. (1.5). 其中實數 a 為 A 的本徵值且ha′ | ai = δa′ a 。 所有自伴算符 A 的本徵態及線性疊合 組成括空間, 所有本徵態的集合則形成一個完全正交歸ㄧ基集 (complete orthogonal. basis), 可用下列式子表示: X. ha′ | ai = δa′ a ,. a. | aiha |= 1. (1.6). 括空間內的任一括矢 | αi 可以表示如下:. | αi =. X a. | aiha | αi. (1.7). 此式表示在狀態 | αi 之下, 我們測量算符 A 得到本徵值 a 的機率是 |ha | αi|2 。 另一常用的算符是么正算符(Unitary Operator), 么正算符 U 乘上自己的自伴共軛 算符定為 1 : U U + = U + U = 1 。. 3.測不準原理 (uncertanty principle) 4.

(16) 第 1 章 緒論. 測不準原理是指對微觀粒子而言, 想要在同時間精確的測出某些共軛的物理量是不可 能的, 這些共軛的物理量包括空間位置和動量、 時間和能量、 方位角和角動量等等, 要在 同時將一個測得較為準確, 另外一個就會不確定 [4]。. 4. 量子不可複製理論(Quantum No-Cloning Theorem) 量子不可複製理論則是基於測不準原理而延伸的, 它是指在不知道量子狀態的情況下, 想要複製出相同的單量子是不可能的, 因為要複製單量子之前必須先測量, 測量這個量子 的同時就會對整個量子系統產生干擾, 讓通訊的雙方察覺到有人在竊聽 [13]。 假設 A 原處於 | Ψi 的狀態, 想使用么正算符 U 對任意狀態 | µi 和 | νi 做複製, 且 0 <| hµ | νi |< 1, 其結果如下:. | Ψi | µi → U | Ψi | µi =| Ψ′ i | µi | µi. (1.8). | Ψi | νi → U | Ψi | νi =| Ψ”i | νi | νi. (1.9). | Ψ′ i 與 | Ψ”i 是複製後 A 所處的狀態。 由於 U 是么正轉換且 hΨ | Ψi = 1 , 可以得 到. hµ | hΨ | U +U | Ψi | νi = hµ | hΨ | Ψi | νi. (1.10). hµ | hµ | hΨ′ | Ψ”i | νi | νi = hΨ′ | Ψ”ihµ | νi2. (1.11). 以及. 由於式 1.10和式 1.11要相等, 所以. hµ | νi = hΨ′ | Ψ”ihµ | νi2. (1.12). 但由於0 <| hµ | νi |< 1 且 | hΨ′ | Ψ”i |< 1, 故式 1.12無法成立, 不存在複製後的量 子位元, 這就是量子不可複製原理 [14]。. 5.貝爾不等式(Bell’s Inequality) 1964 年, 貝爾從定域論的觀點出發, 採用定域實在論的三個基本假設: (1) 實在論, 即認為所觀察現象的規律性是由獨立於觀察者之外的物理客體引起的; (2) 歸納推理法, 5.

(17) 第 1 章 緒論. 認為可以自由運用歸納推理法從觀察中得出合理的結論; (3) 愛因斯坦定域性原理, 提出 了貝爾不等式 [15] : 假設 P(a,b), P(b,c), P(a,c) 分別表示在 a 和 b 方向, 在 b 和 c. ~a · B ~ b i, h 方向, 在 a 和 c 方向分別測量粒子 A 和粒子 B 自旋投影乘積的平均值 h A ~b · B ~c i, h A~a · B ~ c i, 必須滿足 |P(a,b) - P(a,c)|≤1+P(b,c)。 如果我們任意取 3 個方 A. 向觀測 A 和 B 的自旋, 它們所表現出來的相關性必定要受限於貝爾不等式之內 [4]。 由 於貝爾不等式主要是基於定域實在論所提出, 在實驗上則證實量子力學將違背這個理論。 雖然量子力學不落在貝爾不等式的範圍中, 但卻可以利用貝爾不等式來作為驗證量子力 學的重要依據, 在 EPR 協定中, 更是利用它來驗證竊聽者的存在與否。. 6.

(18) 第2章 古典密碼學 2.1 密碼學原理. 古典密碼學(classical cryptology) 是指以古典物理為基礎的密碼學, 在此, 為與量子密 碼學做比較, 我們所要探討的古典密碼學範圍為適合電腦以及網路上應用的近代密碼學。 首先我們需要知道它設計的基本原理, 令 M 為明文的集合, C 為密文的集合, K 為金 鑰的集合, 密碼系統的設計就是設計一種函數. fk : M 7→ C,. (2.1). 此函數具有三種性質. 1.對於明文 x ∈ M, 計算密文 y = fk (x) 是容易的。 2.若無金鑰 k, 想要從密文 y ∈ C 計算出 x, 使得 fk (x) = y 是困難的。 3.若知道金鑰 k, 對於密文 y ∈ C , 計算出 x 使得 fk (x) = y 是容易的。 所謂容易和困難, 指的是其計算複雜度 (computational complexity)。 一般而言, 計 算所需要的時間和輸入資料的長度有關, 輸入資料的長度越長所需要的計算時間就越多, 輸入資料的長度則是以輸入資料所需要的位元數來表示, 例如: 分解 512 位元的資料要 比分解 256 位元的資料多花上許多時間。 假設某個問題所需要的計算時間可以用輸入資 料長度 n 的多項式 T (n) 來表示, 就可以說這個問題是容易計算的, 若無法用多項式. T (n) 來表示, 就說這個問題是困難計算的 [1]。. 7.

(19) 第 2 章 古典密碼學. 設計 fk 的方法有以下兩種 :. 1.讓沒有金鑰 k 者沒有足夠的資訊可以計算出明文, 稱為無條件安全 (unconditionally secure)。 例如 : 將介於 0 到 10 的整數 x 加上金鑰 k 成為密文, 即 fk (x) = x+k , 若 k 的選擇是介於 0 到 n ≥ 10 的整數其機率都相同, 則不知道 k 的人, 不論知不知 道密文, 猜對 x 的機率都是. 1 10 。. 無條件安全表示再大計算能力的計算機也無法破解這個. 密碼系統, 但是相同的金鑰無法重複使用, 否則會洩漏一些訊息, 例如利用一些密文和其 對應的明文找出金鑰或其他密文對應的明文, 稱為已知明文的攻擊。 像這樣金鑰只能使用 一次, 而且金鑰至少跟明文一樣長的密碼系統, 又稱為 one-time pad 。. 2.讓沒有金鑰 k 者沒有足夠的時間可以計算出明文, 稱為計算安全 (computationally secure)。 2.2 對稱金鑰系統. 對稱金鑰系統是指加密時與解密時所使用的金鑰是相同的, 又稱為單密鑰系統。 因此在使 用對稱金鑰系統之前, 雙方都必須擁有金鑰, 並且此金鑰不能夠在公開的通道中傳送, 否 則會有被竊取的風險。 ㄧ個對稱金鑰密碼系統可以用 M, C, K, E, D 來表示, 其中 M 是明文的集合, C 是 密文的集合, K 是金鑰的集合, E 是加密函數的集合, D 是解密函數的集合。 對於任一 個金鑰 k ∈ K , 存在一個加密函數 fk ∈ E 和解密函數 gk ∈ D , 符合以下的函數. gk (fk (x)) = x,. (2.2). 對稱金鑰加密系統使用的最廣泛的要算是 DES 系統, DES(Data Encryption Stan-. dard) 是在 1970 代中期由美國 IBM 公司發展出來的, 並且被美國國家標準局公佈為 資料加密標準的一種區塊加密法(Block Cipher) [5]。 所謂區塊加密法, 是對一定大小的明文或密文做加密或解密的動作。 在DES 系統中所. 8.

(20) 第 2 章 古典密碼學. 設定的區塊大小為 64 位元, 也就是說, 無論明文或密文, DES 系統都會將資料中每 64 位元當成一個區塊而加以切割, 再對每一區塊做加密或解密。 但是對明文做區塊切割時, 可能最後一個區塊大小會小於 64 位元, 此時必須將此區塊後附加 ”0” 位元, 直到這個 區塊大小成為 64 位元為止。 另外, DES 所使用的加密或解密金鑰也是 64 位元大小, 其中有 8 個位元是用來做 錯誤更正 (Error Correction), 所以 64 位元中只有 56 位元是真正的金鑰 [5]。 將 64 位元大小的明文輸入 DES 系統後, 系統會先將明文做初始排列, 再經過 16 回 合的運算, 最後將運算結果經過終結排列之後輸出 64 位元的密文。. DES 系統的金鑰只有 56 位元, 對於目前大量的資料而言過於短少, 並且目前已經有 密碼專家宣佈 DES 系統能夠被破解, 也就是說 DES 已經無法提供完整的安全性保護 了。 雖然有其他較新的系統如 Triple-DES 被 研發, 但因為是從 DES 系統所延伸而來 的, 所以也面臨著 DES 同樣的問題。 因此 NIST(National Institute of Standards and Technology 美國國家標準 與技術協會 ) 在 1997 年開始徵求新一代的加解密演算法, 經過嚴格徵選後, 選定了. Rijndael 為新的加解密演算法, 稱為 AES 演算法。 AES 演算法為區塊加密演算法, 其加密區塊和金鑰長度可以變動, 可以使用 128 位 元(Nk = 4),192 位元 (Nk = 6) 或 256 位元 (Nk = 8) 的金鑰, 對 128 位元. (Nb = 4),192 位元 (Nb = 6) 或 256 位元 (Nb = 8) 的明文區塊作加密, 不同的明文 區塊 (Nb) 及金鑰長度(Nk ) 則搭配不同的運算回合(Nr ), 其關係整理如表 2.1。 表 2.1: AES 演算法運算回合. Nr Nk =4 Nk =6 Nk =8. Nb = 4 10 12 14. Nb = 6 12 12 14. 9. Nb = 8 14 14 14.

(21) 第 2 章 古典密碼學. AES 演算法包含四個程序, ByteSub, ShiftRow, MixColumn, 以及 AddRoundKey。 ByteSub(s) 是針對狀態 (State,s) 的每一個元素 ai,j 分別求出在有限體 GF (28) 中的乘法反元素 X = a−1 i,j , 利用 X 做仿射運算 (affine transform), 可以得到 Y 。 其 過程如下所示: .                    . . . y0      y1       y2       y3    =  y4       y5        y6     y7. . . 1 0 0 0 1 1 1 1     1 1 0 0 0 1 1 1      1 1 1 0 0 0 1 1      1 1 1 1 0 0 0 1   ×  1 1 1 1 1 0 0 0      0 1 1 1 1 1 0 0       0 0 1 1 1 1 1 0    0 0 0 1 1 1 1 1. . . x0      x1       x2       x3    +  x4       x5        x6     x7. . 1  1   0   0   0   1    1  0. ShiftRow(s) 是將狀態 (s) 進行位移, s中的第 i 列向左移動 Ns 格, Ns 的大小與 Nb 的關係可由表 2.2查出。 表 2.2: ShiftRow 位移格數關係表. 位移格數Ns 明文區塊大小 Nb =4 Nb =6 Nb =8. i=0 0 0 0. i=1 1 1 1. i=2 2 2 3. i=3 3 3 4. MixColumn(s) 則將 s 中每一行之四個位元組表示為有限體 GF (28) 的多項式, 將 每個多項式都乘上. c(x) = (03)x3 + (01)x2 + (01)x + (02), 然後除以 x4 + 1, 求其餘式。 其中 c(x) 的係數都是十六進制, 其乘法反元素為 10. (2.3).

(22) 第 2 章 古典密碼學. d(x) = (0b)x3 + (0d)x2 + (09)x + (0e),. (2.4). 進行反運算時將多項式乘 d(x), 然後除以 x4 + 1, 並求其餘式。. AddRoundKey(s,ki) 是將 s 與每一回合所用的回合金鑰 RoundKey 進行相加運 算, AES 先利用原金鑰轉換成回合金鑰, 再利用 AddRoundKey 函數將元素相加。. AES 演算法的加解密速度快速, 可以在個人電腦上迅速執行。 AES 允許明文區塊及 金鑰大小可以有所變化, 運算回合數則依明文區塊而有所更動, 這些都是 AES 的優點。 但是由於 AES 加解密的過程並不相同, 在軟體實作上需要不同的程式碼及查詢的表格 來完成, 而在硬體的實作上加解密僅有一部份能使用相同的元件, 所以較不適合在資源限 制較多的裝置上使用, 這些可以說是 AES 的限制的部份 [6]。 2.3 非對稱金鑰系統. 非對稱金鑰密碼系統的加密金鑰和解密金鑰不同, 而且無法由加密金鑰推算出解密金鑰, 因此, 加密金鑰可以公開, 所以非對稱金鑰又稱為公開金鑰密碼系統 (public-key cryp-. tosystem)。 一旦明文經過加密金鑰加密成為密文之後, 就必須使用解密金鑰才能將密文 解為明文, 所以即使是使用加密金鑰加密明文的人, 沒有解密金鑰, 仍然無法將密文還原 成明文。. RSA 密碼系統即是一種非對稱金鑰系統, 所使用的是同餘的原則。 若 A 要用 RSA 密碼系統傳送資訊給 B , 其步驟如下:. 1.產生金鑰 (1) B 選擇兩個大的質數 p 和 q , 並計算 n = pq , φ(n) = (p − 1)(q − 1) 。 (2) B 任選一個與 φ(n) 互質的整數 e , 即GCD(e, φ(n)) = 1, e 即是加密金鑰。 (3) B 計算 e 的乘法反元素 d = e−1 mod φ(n) 。. 11.

(23) 第 2 章 古典密碼學. (4) B 傳送公開金鑰 n 和 e 給 A , 將 d 保存為秘密金鑰。 p 和 q 可以毀去不用, 增 加安全性。. 2.加密 (1) A 計算密文 C = M e mod n 。 (2) A 傳送密文 C 給 B 。 3.解密 B 利用秘密金鑰 d 計算明文 M = C d mod n 。 金鑰產生可以事先做好, 也可以由一個值得信賴的單位來產生和管理。. RSA 密碼系統的優點在於其加密金鑰可以公開, 因此可以讓許多想要傳送密文給相 同一個人的使用者同時使用, 而解密金鑰只需一個, 由接受密文的使用者保管及使用, 免 除了金鑰在公共管道被竊取的可能性。 並且每個使用者只需一套加解密金鑰, 就可以分別 成為加密者或解密者, 例如 A 擁有自己的加密金鑰為 na , ea , 解密金鑰 da , B擁有自己 的加解密金鑰為 nb , eb , 解密金鑰 db, 則 A 可以利用 nb , eb 傳遞密文給 B , B 再利用 自己的秘密金鑰 db 解為明文。 相同的 B 也可以用 A 的加密金鑰 na , ea 傳遞密文給. A , A 再利用自己的秘密金鑰 da 解為明文, 如此則可以解決對稱金鑰密碼系統中密碼 面臨不夠分配的情況。. RSA 密碼系統中最難以破解的部份在於如何求出大質數 p 和 q, 若是 p 和 q 的數 字很小時, n 的位元數也就小, 要從 n = pq 求出 p 和 q 是很容易的, 但是當 p 和 q 的 數字很大時, 想從 n = pq 求出 p 和 q 是很困難的。 為了不讓他人輕易破解, RSA 密 碼法也不斷的在增加 n 的位元數, 增加保密的程度。 隨著科技的進步, 量子電腦的時代來臨, 美國貝爾實驗室 Shor 博士(Peter W. Shor) 提出了量子分解質因數演算法, 利用量子電腦可以平行運算的特性, 對 n 進行質因數的 分解, 這對於 RSA 密碼系統可以說是一大危機。. 12.

(24) 第3章 量子密碼學. 量子密碼學的理論基礎是量子力學, 與傳統密碼學使用的數學基礎不同, 量子密碼學是利 用物理學原理保護訊息, 最基本的兩個原理是海森堡的測不準原理 (uncertanty prin-. ciple) 和量子不可複製理論 (Quantum No-Cloning Theorem)(見 1.2.2 節)。 最早將量子理論用於密碼學上的是美國科學家 Wiesner , 他在 1969 年提出了 『con-. jugate coding』 的觀念, 但因為他的方案超越當時的觀念, 其論文因而未被接受刊登, 直 到 1983 年才被接受發表 [7] 。 後來, Bennett 和 Brassard 從 Wiesner 的想法中受到 啟發, 將量子理論用於傳輸訊息之上, 於 1984 年提出了第一個量子金鑰分配(Quantum. Key Distribution,QKD) 的方法, 稱為 BB84 協定 [16]。 1992 年, Bennett 又提出 一種與 BB84 協定類似的, 但較為簡化的 B92 協定 [17]。 而另外一種根據量子糾纏態(Quantum entanglement) 的量子特性的 EPR 協定. [18], 則於 1991 年由 Ekert 所提出。 主要是利用雙量子的糾纏態特性作為量子金鑰分 配, 並以糾纏態的獨特物理特性作為是否遭受到竊聽的判斷依據。 上面所提到的三種量子金鑰分配協定為目前被普遍研究的三種協定, 雖然還有其他不 同的協定, 但多可歸納屬於此三種類型之下, 下面的內容則針對此三種類型分別進行說 明。. 13.

(25) 第 3 章 量子密碼學. 圖 3.1: BB84 通訊階段圖. 3.1 BB84 協定. BB84 協定是 Bennett 和 Brassard 於 1984 年所提出的量子金鑰分配系統 [16], 也 是第一個最著名的量子金鑰分配協定, 它是利用光子的偏振狀態所設計的。 若以雷射發射出單一光子, 光子會以兩種模式的其中一種做偏振 [8]。 第一種偏振方向 是垂直或水平的線極化光學狀態, 包含垂直極化狀態 |li, 設為 1 ; 和水平極化狀態 |↔i, 設為 0 。 第二種偏振方向是和垂直呈現45 度角的對角線極化光學狀態, 包含和垂直偏離. θ=. π 4. 的極化狀態 |րi , 設為 1 ; 和垂直偏離 θ = − π4 的極化狀態 |տi , 設為 0 。 我. 們以 ⊞ 代表使用 {|li, |↔i} 狀態的模式, 以 ⊠ 代表使用 {|րi, |տi} 狀態的模式,. BB84 量子金鑰分配分成兩個階段進行, 如圖 3.1所示: 第一階段: 經由量子通道 (Quantum Channel) 進行單向通訊 (One-Way Com-. munication) 1.發送端 Alice 首先產生由 0 或 1 所構成的序列, 這些序列即將被用來建立金鑰。 2. Alice 任意選擇偏振濾片, 根據序列中的每一個元素產生偏極化光子, 並且記錄下 所使用的偏振片及產生的偏振狀態, 我們將之整理如表 3.1, 第一行表示 Alice 所使用的 偏振片, 第二行是所產生的偏振狀態, 第三行則是序列的編碼。 14.

(26) 第 3 章 量子密碼學. 表 3.1: Alice 傳送資訊表. Alice. ⊞ l 1. ⊠ ր 1. ⊠ տ 0. ⊞ l 1. ⊞ ↔ 0. ⊠ տ 0. ⊞ l 1. ⊠ ր 1. ⊠ տ 0. ⊞ ↔ 0. 3. Alice 將產生的光子傳遞給接受端 Bob。 4. Bob 任意選擇偏振片來接受光子, 同時記錄下他所使用的偏振片, 以及接受到的 序列, 如表。 第一行表示 Bob 所使用的偏振片, 第二行是所接收到的序列編碼。 第二階段: 經由公開通道 (Public Channel) 進行雙向的確認 (Two-Way Com-. munication) 1.原始金鑰的確認 (1) Bob 透過公開通道 (可以是電話或者是電子郵件) 告訴 Alice 自己所使用的偏振 片。. (2) Alice 也透過公開通道告訴 Bob 所使用的偏振片哪些是正確的。 (3) 雙方將錯誤的 bits 去除, 剩下的將成為判斷是否被 Eve 竊聽的基礎。 如果 Eve 沒有竊聽, 他們剩下的 bits 將會完全相同; 如果 Eve 有竊聽, 他們剩下的 bits 就不會 完全相同。. 2.錯誤率的評估 Alice 和 Bob 拿原始金鑰的一小部份來做測試, 並依此評估錯誤率 R。 如果 R=0 , 表示 Eve 沒有竊聽, 可以將原始金鑰減去測試的部份, 成為共同金鑰。 如果 R 6= 0, 表 示 Eve 有竊聽, 本次通訊並非安全, 必須將原始金鑰完全丟棄, 重新來過。 我們使用表 3.2來檢測是否遭受到 Eve 進行不透明竊聽, 所謂不透明竊聽 (o-paque. eavesdropping) 是說 Eve 攔截每一個 qubit , 測量之後再寄給 Bob [9]。 由於 Eve 所 使用的偏振片與 Alice 不完全相同, 因此會改變原本 Alice 所發送的光子偏振狀態。 根 據量子不可複製理論(Quantum No-Cloning Theorem), 量子測量會改變系統狀態, 15.

(27) 第 3 章 量子密碼學. 因此 Eve 無法完全複製出相同的量子狀態, 從而改變了 Alice 所發送的光子偏振狀態, 使得 Bob 所接收到的與 Alice 所發送的產生誤差, 因而得知 Eve 的存在。 表 3.2中 Bob 所使用的偏振片與 Alice 的不同者就去除不用, 與 Alice 相同者才列入原始金鑰。 其中,. Bob 使用與 Alice 相同的偏振片, 但卻出現不同的結果的部份, 即顯示出因 Eve 竊聽 而產生的錯誤部份, 也同時告訴 Alice 及 Bob 本次通訊不安全。 表 3.2: Alice,Eve,Bob 傳送資訊比對表. Alice. ⊞ l 1. ⊠ ր 1. ⊠ տ 0. ⊞ l 1. ⊞ ↔ 0. ⊠ տ 0. ⊞ l 1. ⊠ ր 1. ⊠ տ 0. ⊞ ↔ 0. Eve. ⊞ 1. ⊠ 1. ⊠ 0. ⊞ 1. ⊞ 0. ⊞ 0. ⊠ 1. ⊠ 1. ⊞ 1. ⊞ 0. Bob. ⊞ 1 ∨. ⊠ 1 ∨. ⊠ 0 ∨. ⊠ 0. ⊞ 0 ∨. ⊠ 1 ∨ E. ⊞ 0 ∨ E. ⊠ 1 ∨. ⊞ 1. ⊞ 0 ∨. 與 Alice 相同 受到竊聽. 3.2. B92 協定. Bennett 在 1992 年結合了量子糾纏 (quantum entanglement) 以及量子不可複製 原理 (Quantum No-Cloning Theorem) 提出了 B92 量子金鑰分配協定, 由於量子 原理的限制, 如果一種測量不會破壞兩個非正交態中的任一個, 那麼經由該測量也不可能 獲得任何能夠區分這兩個狀態的訊息 [17]。 因此, 不同於 BB84 協定需要使用到 4 個非 正交態的光子, B92 協定只需要使用 2 個非正交狀態的光子。. B92 協定和 BB84 有許多相似的地方, 依據[19]所述, B92 協定也分成兩個階段, 第 一階段在量子通道進行單向通訊, 第二階段在公開通道中進行雙向的確認。 第一階段:. 1. Alice 隨機準備一個二進位序列 a, 並依照以下的規則傳送量子位元給 Bob。 (1) 16.

(28) 第 3 章 量子密碼學. 如果 a = 0 , 傳送 | ψi =| 0i 。 (2) 如果 a = 1 , 傳送 | ψi =. |0i+|1i √ 2. 。. 2.Bob 自己隨機產生一個二進位序列 a′ , 然後依照 a′ 依下列規則對 Alice 所傳送 的序列 a 進行測量。 (1) 如果 a′ = 0 , 使用 Z 基態 | 0i, | 1i 作測量。 (2) 如果 a′ = 1. , 使用 X 基態 | ±i =. |0i±|1i √ 2. 作測量。. 3. Bob 將測量的結果整理成二進位序列 b 。 測量的結果中包含了 X 和 Z 的本徵值 -1 和 +1 , 將 -1 轉為 0 , +1 轉為 1 , 形成一個僅包含 0 和 1 的序列 b 。 第二階段:. 1. Bob 經由公開通道告知 Alice 序列 b 。 2. Alice 和 Bob 保留 b=1 時的序列 a 和 a′ , 剩下的 a 就是 Alice 的金鑰, 剩下 的 1 − a′ 就是 Bob 的金鑰。. 3.錯誤率的評估: 與 BB84 相同。 我們可以用表 3.3來看出在 B92 協定中, 各個序列之間的關係。 並且發現到當 b = 0 時, a = a′ ; 只有在 b = 1 時, a = 1 − a′ , 其機率為 12 , 且本例中最後形成金鑰為. 01011 。 表 3.3: B92 傳送序列關係表. Alice Bob. a | ψi a′ basis b 選取. 0 | 0i 0 Z 0. 1 |0i+|1i √ 2. 1 X 0. 0 0 | 0i | 0i 1 0 X Z 1 0 ∨. 1. 1. |0i+|1i √ 2. |0i+|1i √ 2. 0 Z 1 ∨. 1 X 0. 0 0 | 0i | 0i 0 1 Z X 0 1 ∨. 1. 1. |0i+|1i √ 2. |0i+|1i √ 2. 0 Z 1 ∨. 0 Z 1 ∨. 3.3 EPR 協定. EPR 協定是 Ekert 在 1991 年提出的量子金鑰分配協定, 主要是利用量子糾纏態 (Quantum entanglement) 的特性, 並且用貝爾不等式 (Bell’s inequality) 來偵測竊聽者的 存在 [18]。 所謂的量子糾纏是指兩個或兩個量子位元以上的量子系統, 無法被分解成獨 17.

(29) 第 3 章 量子密碼學. 立的純量子位元的張量積(tensor product), 則稱此量子系統具有糾纏的特性。 一般而言, 一個多量子位元系統 (multi-qubit system) 可以表示成各個獨立的量子 N 位元的張量積, 數學上以符號 來表示, 假設有兩個量子位元分別為: | φ1 i = a |. 0i + b | 1i, | φ2 i = c | 0i + d | 1i, 若此雙量子系統為非糾纏態 (Un-entangled) 的 量子系統, 我們可以將系統的狀態表示成:. | φ1 i. O. | φ2 i =| φ1 φ2 i = ac | 00i + ad | 01i + bc | 10i + bd | 11i,. (3.1). 然而並非所有的多量子系統都可以用多個獨立的純量子位元張量積來表示, 也就是說, 多量子系統 | ψi, 如果無法被分解成獨立的純量子位元張量積的話, 就說這個量子系統 N 具有糾纏的特性, 不存在單量子位元系統 | φ1 i 和 | φ2 i, 滿足 | ψi =| φ1 i | φ2 i 。 量子糾纏是一種奇特的量子現象, 當兩個量子系統發生糾纏時, 他們的命運就已經牽 連在一起了, 且不受時空的限制及外界干擾。 如此奇特的性質, 讓量子糾纏成為量子資訊 的重要基礎 [10]。. Ekert(1991) 的原始協定使用3 個非正交狀態的協定, 假設選擇了 | Ω0i = 0i1 | 2π 6 i1. 3π 6 i2 −. |. |. 5π 6 i2 −. 3π 6 i1. |. | 0i2 ), | Ω1 i =. 5π 6 i1. |. 2π 6 i2 ),. √1 (| π i1 6 2. |. 4π 6 i2 −. |. 4π 6 i1. | π6 i2 ), 和| Ω2i =. √1 (| 2 √1 (| 2. 三種不同的偏極化狀態, 對於每一種狀態選擇相對應的字. 母 A0 , A1 和A2 , 並將其編碼如表 3.4所示, 表 3.4: EPR 編碼表. 字母 A0 A1 A2. Symbol | 0i | 3π i 6 π | 6i | 4π i 6 2π | 6i i | 5π 6. 然後分別選擇相對應的測量算符 18. Bit 0 1 0 1 0 1.

(30) 第 3 章 量子密碼學. M0 =| 0ih0 |, M1 =| π6 ih π6 |, M2 =|. 2π 2π 6 ih 6. |。. EPR 協定分為兩個階段進行, 第一階段是在量子通道進行單向通訊, 第二階段是在公 開通道進行雙向的確認。 第一階段:. 1.發信者或者是管理者隨機地從 {| Ω0i, | Ω1i, | Ω2 i} 選取狀態 | Ωj i 。 2.在挑選的狀態 | Ωj i 中創造 EPR 對。 3.創造出的 EPR 對, ㄧ個光子傳送給 Alice, 另一個光子傳送給 Bob 。 4. Alice 和 Bob 分別隨機且獨立的選擇 M0 , M1 和 M2 之一測量自己的光子, 並 且分別記錄下自己所測量到的Bits。 第二階段:. 1. Alice 和 Bob 在公開通道進行測量算符的比對, 找出他們相同的測量算符, 做為 原始金鑰 (raw keys), 不同的測量算符則作為棄置金鑰 (rejected keys)。. 2.利用棄置金鑰的 Bell 不等式決定是否遭受到竊聽, 如果 Bell 不等式被滿足了, 就 表示遭受到竊聽, 如果 Bell 不等式沒有被滿足, 就表示通道是安全的, 竊聽者並不存在。 我們令 P (6=| i, j) 表示 Alice 和 Bob 選擇的測量算符分別為 (Mi,Mj ) 或 (Mj ,Mi ) 之下, 相對應的棄置金鑰不同的機率, 而 P (=| i, j) = 1 − P (6=| i, j) 表示相對應的棄 置金鑰相同的機率。 設 ∆(i, j) = P (6=| i, j) − P (=| i, j), 則 Bell 不等式可以化為. β = 1 + ∆(1, 2)− | ∆(0, 1) − ∆(0, 2) |, 根據量子力學, 如果 β = − 12 , 就不滿足 Bell 不等式, 表示沒有竊聽者的存在; 如果 β ≥ 0, 表示滿足了 Bell 不等式, 也就是說 有竊聽者的存在。. 19.

(31) 第4章 量子電路 4.1 概論. 現今電子元件的趨勢是愈來愈小, 依據古典理論所構成的電腦, 已經漸漸到達了古典物 理的極限。 目前的半導體技術是將電子視為工作的粒子, 而電子跟光子一樣具有波粒二 元性, 當給予的活動空間大時, 可以忽略其波動性將之視為粒子, 但是活動空間小時, 其 波動性便無法忽略, 這時量子電腦就成為大家追求的新一代電腦科技。 量子電腦 (quantum computer) 是一種以量子力學為基礎理論的電腦, 相對於傳統 電腦而言, 量子電腦的優勢在於它具有量子平行計算的能力, 因此速度會比傳統電腦快上 許多倍。 並且, 傳統二進位位元每個位元只能儲存一個資料, 不是 0 就是 1 , n 個位元 就只能儲存 n 個資料。 量子電腦採用量子位元儲存資料, 因為量子位元具有疊加的狀態, 儲存的內容可以同時是 0 和 1 , n 個量子位元就可以儲存 2n 個資料, 因此大大地提高 了資料儲存的能力, 這是量子電腦的另一個優勢。 在傳統電腦上, 我們使用電路(circuit) 作為傳送電子達到目的的線路, 在量子電腦上, 我們要傳送的是量子, 目前並沒有類似傳統電腦的電路硬體架構, 所使用的可能是運用核 磁共振所達成的化學物質, 所做的計算是以外加的電磁場改變量子狀態的機率 [11]。 為了 說明量子電腦的運算, 我們通常以圖形來表示, 類似於傳統電腦使用電線和邏輯閘設計出 電路, 我們可以用量子閘(quantum gate) 來設計量子運算的時間流程, 稱之為量子電 路。 在量子電路圖中, 「電線」 是用來表示時間過程的, 一條水平線代表一個量子位元, 閘. 20.

(32) 第 4 章 量子電路. 圖 4.1: 布洛赫球面. 的輸入/輸出是指經過閘的作用前後的量子態, 時間的演變從左邊到右邊, 一個符號代表 一個閘。 量子電路如同傳統電路一般也有串聯跟並聯, 所謂串聯, 指的是按照順序的對該量子 施以這些閘的作用, 每個閘所作用的是前一個閘作用完之後的量子態。 所謂並聯, 指的是 數個閘各自對量子分別作用, 這些作用是互相獨立的, 作用的先後順序不會影響到最後的 結果 [12]。 4.2 簡介. 在這裡, 我們要介紹一些基本的量子閘, 所謂的量子閘(quantum gate) 指的是透過某 些物理動作, 例如加了一小段時間某個方向的電磁場, 使得量子狀態改變的過程 [12]。 量 子位元經過量子閘的作用, 仍然可以表示成在布洛赫球(圖 4.1) 上的一點, 並且, 量子閘 可以以一個么正矩陣來表示, 將量子狀態乘以這個矩陣, 就可以得到新的量子狀態。 首先我們說明一個單量子位元就是一個 2 × 2 的么正矩陣, 如:   0 −i  U = i 0. (4.1). 就是一個單量子位元的表示法。 對於一個具有 n 個輸入/輸出的量子閘, 我們都可以用 21.

(33) 第 4 章 量子電路. 2n × 2n 的么正矩陣來表示。 也就是說, 2 個量子位元的量子閘為 4 × 4 的么正矩陣, 3 個量子位元的量子閘為 8 × 8 的么正矩陣。 4.2.1 反閘. 反閘作用在單一量子位元上, 可以使得 | 0i 變成 | 1i , | 1i 變成 | 0i 。 反閘是一個. 2 × 2 的矩陣:. . N =. 0 1 1 0. . (4.2). . 作用於量子位元的方式如下:. . N (| ϕi) = . 0 1 1 0.  . c0 c1. . . =. c1 c0.  . (4.3). 反閘的圖示如下: '&%$ !"#. 其真值表如表 4.1: 表 4.1: 反閘真值表. 輸入 0 1. 輸出 1 0. 4.2.2 哈達馬閘. 哈達馬閘是單位元量子閘, 它的作用方式是使量子位元在布洛赫球面上繞著 y=0, x=z 這條直線為軸旋轉 180 度。 其矩陣形式為 . H =. √1 2 √1 2. 22. √1 2 −1 √ 2.  . (4.4).

(34) 第 4 章 量子電路. 作用於量子位元的式子如下:. . H(| ϕi) = . √1 2 √1 2. √1 2 −1 √ 2.  . c0 c1. . . =. √1 (c0 2 √1 (c0 2. + c1 ) − c1 ).  . (4.5). 其電路圖示如下:. H 4.2.3 控制-反閘. 控制-反閘 ( CN 閘) 是多量子閘中最基本的量子閘, CN 閘會同時作用在兩個量子位元 上, 一個量子位元是控制位元, 另一個是目標位元。 CN 閘會利用第一個量子位元的狀態 來控制是否要對第二個量子位元作反閘的動作, 當控制位元的值是 | 1i 的時候, 會使目 標位元的值反向; 當控制位元的值是 | 0i 的時候, 目標位元的值就不變。 CN 閘的電路 表示法如下:. • '&%$ !"#. 其真值表如表 4.2所示: 表 4.2: CN 閘真值表. 輸入 X Y 0 0 0 1 1 0 1 1. 輸出 X Y 0 0 0 1 1 1 1 0. 23.

(35) 第 4 章 量子電路. CN 閘可以表示成 4 × 4 的矩陣: . 1 0   0 1 CN =   0 0  0 0 作用於量子位元的式子如下:    c  0      c1     CN   =  c2      c3. 1 0 0 0. 0 0. .   0 0   0 1  1 0. . (4.6). . . . c c  0   0      0 1 0 0   c1   c1    =       0 0 0 1   c2   c3      c3 c2 0 0 1 0. (4.7). 4.2.4 控制-控制-反閘. 控制-控制-反閘 (CCN 閘) 是作用在三個量子位元的量子閘, 由前兩個量子位元控制第 三個量子位元, 當前兩個控制位元都是| 1i的狀態時, 才會將第三個量子位元做反向的運 作。 CCN閘的電路表示法如下所示:. • • '&%$ !"#. 其真值表如表 4.3所示:. 24.

(36) 第 4 章 量子電路. 表 4.3: CCN 閘真值表. X 0 0 0 0 1 1 1 1. CCN閘可以表示成8 × 8的矩陣:            CCN =          . 輸入 Y 0 0 1 1 0 0 1 1. Z 0 1 0 1 0 1 0 1. X 0 0 0 0 1 1 1 1. 輸出 Y 0 0 1 1 0 0 1 1. Z 0 1 0 1 0 1 1 0. . 1 0 0 0 0 0 0 0  0 1 0 0 0 0 0 0   0 0 1 0 0 0 0 0   0 0 0 1 0 0 0 0   0 0 0 0 1 0 0 0   0 0 0 0 0 1 0 0    0 0 0 0 0 0 0 1  0 0 0 0 0 0 1 0. 25. (4.8).

(37) 第 4 章 量子電路. 作用於量子位元的式子如下:     c0   1     c1   0        c2   0        c3   0    CCN   =  c  0  4     c  0  5         c6   0    0 c7. . 0 0 0 0 0 0 0    1 0 0 0 0 0 0    0 1 0 0 0 0 0    0 0 1 0 0 0 0    0 0 0 1 0 0 0    0 0 0 0 1 0 0    0 0 0 0 0 0 1   0 0 0 0 0 1 0. . . c0      c1       c2       c3    =  c4       c5        c6     c7. . c0   c1    c2    c3    c4    c5     c7   c6. (4.9). 除了上述的基本閘之外, 還有相位偏移閘 (作用於單量子位元)、 控制么正閘 (作用於 兩個量子位元)、 各種 CN 閘的變形 (統稱 CU 閘), 以及各種 CCN 閘的變形 (統稱. CCU 閘) 等等量子閘, 因與本研究較不相關, 故省略不予寫出。 4.3 研究方法. 量子電腦基於各項量子演算法所組成, 對於資訊的處理方式與傳統電腦有所不同, 並且所 需要的設備也不同。 目前量子電腦的技術尚未開發成熟, 量子電腦的種類不多且不普及, 也有一些操作上的困難尚未克服。 因此從事量子密碼的研究時, 無法真正使用量子電腦作 為測試。 在實際操作量子電腦之前, 我們可以先採用量子電腦模擬器來模擬量子密碼傳輸 系統, 若設計的量子電路在模擬器上可行, 再實際運用於量子電腦上。 如此, 可以增加實 驗的正確性以及效率。 本研究採用量子電路設計模擬量子密碼 BB84 協定, 利用量子電路的種種特性以及量 子閘, 設計模擬傳輸金鑰的量子電路。 並藉由 QAD 模擬器的模擬運作, 驗證此模擬電 路的可行性。. 26.

(38) 第5章 模擬程式 5.1. QAD 簡介. 研究量子密碼學最好的方式當然是在量子電腦上直接操作, 但是目前量子電腦的技術尚 未開發成熟, 一般實驗室也無法具備完善的設備, 因此無法直接操作量子電腦做研究。 目 前在美國、 日本、 中國大陸等地, 對量子通訊的研究已達到傳訊距離 1 公里以上, 但僅限 於設備優良的實驗室可以辦得到。 一般人想要研究量子通訊方面的議題, 雖無法直接操 作, 但利用量子電路模擬程式設計模擬電路, 也是一種方法。 利用模擬程式操作的好處是 模擬程式可以在傳統電腦上操作, 並且可以重複做試驗直至成功。 模擬成功的電路可待將 來量子電腦技術成熟後, 移至量子電腦上操作, 節省在量子電腦上測試的時間。 因此本研 究採用模擬電路設計的方法, 利用模擬程式的操作及測試, 模擬量子密碼系統中無噪音干 擾的 BB84 協定作為研究。 本研究所採用的第一套模擬程式為 Quantum Algorithm Designer (QAD), QAD 提供了演算法的設計以及模擬, 以電路模型讓使用者了解量子演算法的設計並且做模擬 演算 [20] 。 此軟體具有多項特點, 分述如下:. 1. QAD 提供方便使用的圖示操作介面。 2. QAD 可以隨使用者設計出有彈性的電路模型。 不受限於操作說明的模式, 在模擬 作用時, 僅依照電路結構作用。. 3. 使用一般的電路表示及記錄方式, 使用者可以輕鬆的拿文獻或書籍上的量子電路在. 27.

(39) 第 5 章 模擬程式. QAD 上面使用。 4. QAD 可以模擬古典演算法。 5. 在不同演算法中, 可以將某些量子狀態具象化, 即表示成布洛赫球或振幅曲線圖的 形式。. 6. 理論上, 任何量子演算法都可以在 QAD 上呈現, 於實際應用中, 則會受到記憶體 及時間的限制。. 7. QAD 為一套為任何想學習量子演算法設計的使用者設計的容易取得的免費軟體。 由上述各點可知, QAD 是一套初學者較易取得及上手的量子演算模擬軟體, 故本研 究採用 QAD 為模擬程式之軟體。 5.1.1 QAD 操作說明. QAD 所使用的是圖示的操作介面, 在操作上可以很容易就上手, 本節將對其基本操作作 簡單的說明。 進入 QAD 主畫面可以見到如圖 5.1的畫面顯示, 左邊為工具列, 中央為操作區, 可以 利用左邊的按鈕將所需要的量子位元及量子閘加入操作區, 再組合成量子電路。 工具列上 File 為開啟舊檔、 開新檔案、 儲存檔案、 另存新檔、 離開等功能。 Run 為 在設計完成電路後, 執行模擬的指令。 其內之 Step 可以顯示量子電路的矩陣, Reset 則可重設位元的輸入狀態, 對於單量子位元還可以 3D 布洛赫球面的位置表示 (需使用. JAVA 3D 軟體)。 放大鏡則可以拉近或拉遠螢幕上所顯示的電路, Properties 可以設 定量子位元或量子閘的初始狀態, 若對某量子位元或量子閘快點滑鼠左鍵二下, 亦可開 啟 Properties 視窗。 Numerical 選項決定運算是用數字或代數表示。 左邊的各項按鈕為 QAD 內設的位元及量子閘的增加按鈕, 可以依照個別需要逐項增 加。 可變閘可以設定不同大小, 以便連結作用於不同數量的量子位元; 固定閘則可作用於 固定數量的量子位元; 旋轉閘可以將連結的量子位元作旋轉或角度的變化, 表現在布洛赫 球面上不同的位置。 QAD 內設的量子閘可參見表 5.1。 28.

(40) 第 5 章 模擬程式. 圖 5.1: QAD 畫面 表 5.1: QAD 量子閘. 可變閘 Hadamard , Identity , Grover Diffusion 固定閘 CNOT , SWAP , Pauli-X , Pauli-Y , Pauli-Z , Phase , 旋轉閘 P h(α) , Rx (α) , Ry (α) , Rz (α) , Rk. π 8. 增加入操作區的元素 (量子位元, 量子閘) 可以用 Shift + 滑鼠左鍵 做連結, 不同元 素的連結代表著不同的運算, 見表 5.2。 表 5.2: QAD 連結運算關係. 選取元素 Shift + 滑鼠左鍵連結 運算關係 量子位元 量子閘 量子位元為閘的輸入 量子閘 A 量子閘 B A 閘為 B 閘的輸入 量子閘 線路 線路上的量子位元為量子閘的控制位元. 圖 5.2 為利用 QAD 程式試作四個量子位元的電路圖, 電路圖完成後, 可用 Run 中 的 Compile 確認電路圖是否可執行, 再用 Run 做分步驟的執行。. 29.

(41) 第 5 章 模擬程式. 圖 5.2: QAD 試作四量子位元電路. 5.2. QuaSi2 簡介. QuaSi2(Quantum Circuit Simulation) 是由德國 Karlsruhe 大學所研發, 開放給 一般人設計及模擬量子電路的模擬器 [21]。 它的優點如下:. (1) 可以模擬至 20 個量子位元。 (2) 使用 Window 圖示的操作介面(如圖5.3), 操作容易上手。 (3) 具有任意設計控制量子閘的功能。 內建的閘包含了單一的量子閘: 哈達馬閘、 CN 閘、 CCN 閘、 量測閘等等, 並可自行設計控制位元。 另外, 還有可以自行設計的多位元 量子閘, 將於下一節說明。. (4) 支援行列矩陣式。 (5) 可以估算方程式: | x, yi → | x, y(+)f (x)i 。 (7) 可以選擇在網頁上進行電路設計及模擬, 或安裝在自己的電腦上進行。 (8) 內建 Shor , Deutsch 以及 Grover 的 Demo 電路, 可以開啟試用。 由上述各點可知, QuaSi2 也是是一套初學者較易取得及上手的量子演算模擬軟體, 故 本研究也採用 QuaSi2 為模擬程式之軟體, 以補 QAD 軟體的不足。 5.2.1. QuaSi2 操作說明. QuaSi2 分為 4 個視窗, 分別是電路設計 (如圖5.4), 波長及方向 (如圖5.5), 實數與虛 數部分 (如圖5.6), 以及數字部份 (如圖5.7)。 茲分述如下: 30.

(42) 第 5 章 模擬程式. 圖 5.3: QuaSi2 介面. (1) 電路設計: 主要設計電路的視窗, 從 File → New 選擇設計位元數後, 即可開 始設計新電路。 Gate 選項內, 分為標準閘: 包含 Hadamard 閘, CN 閘, CCN 閘,. Measure-Gate, IGate, SetTo1, SetTo0, SigmaX, SigmaY, SigmaZ 這些閘。 方 程閘: 輸入 X-Register, Y-Register 和兩個值即可形成。 User 閘: 可以自行設計單一 位元的閘, 由輸入的係數以及 2 × 2 矩陣計算該閘的作用, 並可以加入 0 或 1 的控制 位元, 最後選擇使用單一圖示或自行命名。 Matrix 閘: 可以自行設計多位元的閘, 依照 設計位元數的不同輸入不同的矩陣及係數, 並可以設計 0 或 1 的控制位元, 最後命名後 即可完成。 在 View Information about selected Gate 選項中, 可以看到所選擇的閘 的設定, 以 JAVA 語言的形式展現。. 31.

(43) 第 5 章 模擬程式. 圖 5.4: 電路設計. 圖 5.5: 波長及方向. 32.

(44) 第 5 章 模擬程式. 圖 5.6: 實數與虛數部分. 圖 5.7: 數字部份. 33.

(45) 第 5 章 模擬程式. 電路設計完成後, 我們可以開始模擬傳輸, 使用視窗下的六個按鈕, 分別是 Prepared. State , Ground State , To the Start , Forword , To the End , 和 First to real , 按需要可以自行重複步驟, 分步驟模擬, 或是直接看結果。 需注意的是一旦開始設計, 位元的數量就不能再更改, 並且加入閘之後, 無法取消該 閘, 若其中一項設計發生錯誤就必須重新設計, 是 QuaSi2 的不便之處。. (2) 波長及方向: 顯示出模擬的量子態機率幅的大小, 由線段的長短可以看出。 (3) 實數與虛數部分: 顯示量子態振幅的大小以及正負值, 由線段的長度比例及方向 可以看出。. (4) 數字部份: 電路模擬後顯示出目前所處步驟的各個量子態 (| 0i 或 | 1i) 以及其 振幅大小和正負值, 振幅為 0 者則不顯示。 本研究即是利用 QAD 和 QuaSi2 所提供的各種量子閘設計出量子電路, 模擬無噪 音干擾下量子密碼系統 BB84 協定的金鑰傳輸系統, 並利用模擬程式驗證此電路的可行 性, 期盼對於將來量子電腦技術發展成熟, 量子電腦普及化之後, 可以將此電路實行於量 子電腦之上, 對量子密碼學有所貢獻。 5.3 其他模擬器 5.3.1 Quack. Quack 是一個在 Matlab 環境下使用的量子電腦模擬器, 包含了單一位元么正閘, 可以 建立 Pauli, rotation, Hadamard, phase 和. π 8. 閘。 雙位元的有 CN 閘, swap 閘,. Toffoli 閘和一般的控制么正閘。 具有單一位元及 Bell 量測, 利用傳統式的控制及操作, 並可計算任一次系統的複數縮減機率。 提供了簡單的範例可下載, 例如二個量子位元的. Grove 搜尋法等等 [22] 。. 34.

(46) 第 5 章 模擬程式. 5.3.2 Open Qubit. OpenQubit 軟體是由 Pritzker... 等人, 所組成的 OpenQubit 發展團隊所開發, 所 採用的是 Linux 作業系統。 OpenQubit 發展團隊是一個集合了物理學家、 電腦學家、 以及一般人的政府團隊, 希望創造出一個量子模擬的 API (Application Programmer. Interface) 。 其主要操作畫面包含兩個: (1) QState 描述量子狀態, n 個位元有 2n 個複數振幅, 以描述各種可能的輸出態。 QState 並提供 QRegister 處理設備的記憶體。 (2)QRegister 處理 QState 裡的位元, 提供基本的作用閘如 Ry 閘, Rz 閘, Ph 閘 和 CN 閘以及這些閘的應用。 欲下載 OpenQubit 軟體可以參考 [23]。 OpenQubit 的原始碼存於 GPL2(GNU. Public Licence Version 2 ) 系統下, 須有原始碼軟體才可以使用。 5.3.3 Fraunhofer Quantum Computing Simulation. Fraunhofer Quantum Computing Simulation 是一個網路連結式的模擬器, 採用 Linux 和 Myrinet 系統, 並搭配 QML 程式使用。 作者及維護者為 Ros´ e... 等。 Fraunhofer Quantum Computing Simulation 是由德國聯合教育及研究部門所支援, 可以 模擬最多至 31 個量子位元的量子電路, 31 位元的 Hamiltonians 提供網頁式編輯, 可 安裝、 控制及分析模擬作業。 並提供網路連結式的容量處理系統, 及圖示與文字的輸出和 輸入。. Fraunhofer Quantum Computing Simulation 包含了一般的單位元、 二位元及 三位元的量子閘, 特別的閘如 Oracle、 Modulo 方程、 和 QFT 也有。 若加入其團隊可 以測試較多的功能及位元, 未加入亦可以做試用 [24]。. 35.

(47) 第 5 章 模擬程式. 5.3.4 QCSim. QCSim(Quantum Compiling and Simulation) 是由 Cass 在 2002 年所設計的, 以 C++ 語言編寫, 搭配 QHDL 程式編寫量子位元的狀態, 系統的初始態, 閘以及 其作用的方式, 一旦開始編寫後就不夠改變量子位元數目。 QCSim 內包含的量子閘有. Hadamard, Pauli X, Pauli Y, Pauli Z, 各種 CN 閘等等, 也可以簡單地增加新量 子閘的原始碼。. Lane 在 2003 年所編輯的 Qhdl2Jaq 和 Jaq2Qhdl 為可配合 QCSim 所使用的 程式, 此二軟體由 C++ 語言所寫成, Qhdl2Jaq 可以將 QHDL 檔案轉變為 jaQuzzi 可以使用的檔案 (JAQ 檔), Jaq2Qhdl 則將 JAQ 檔案轉變為輸入 QCSim 可以輸出 的檔案 (QHDL 檔)。. QCSim 的原始碼以及需要用到的軟體 (Qhdl2Jaq, Jaq2Qhdl, jaQuzzi) 可以參 考 [25] 下載, 其網頁由 Black 負責維護, 下載檔案中包含了 BB84 的模擬, 電訊傳輸,. Hamming 除錯碼, 7 位元 ECC, Grove 演算法等等範例。 QCSim 因為記憶體容量的 關係, 僅能模擬至 13 個量子位元。 5.3.5 QuIDDpro. QuIDDpro 由 Viamontes, Markov, Hayes 三人所屬的 Quantum circuits group 在 2004 年開發出來的, 是需要在 Matlab 環境下使用的量子電腦模擬器, 可進行量子 態向量、 矩陣、 模擬電路之相關操作。 安裝 QuIDDpro 時, 需要搭配 Matlab , Octave 等軟體。 QuIDDpro 在量子電路的模擬上, 具有快速、 使用方式容易, 執行時所需要的 記憶體不大等優點, 可在九分鐘內模擬 100 個量子位元及 10000 個量子閘所構成的電 路。 不過與指數有關的電路模擬上(像是 Shor 的質因數分解), 還是需要較多的電腦資源. [26]。. 36.

(48) 第 5 章 模擬程式. 5.3.6 QCL. QCL 是 Omer 在 1998 年所開發, 使用的是 LALR 語法, 運用簡化的符號和文字來表 示指令, 可表現出 Dirac 符號、 矩陣形式、 以及不同類型的閘, 像是哈達馬閘、 CN 閘、. swap 閘等的操作。 可解決 Shor 的質因數分解等量子演算問題 [27] 。 5.3.7 jQuantum. jQuantum 軟體是由 Vries 開發的, 可以模擬 15 個量子位元, 是一套免費軟體。 它將 輸入和輸出分成兩個區域(x 暫存器和 y 暫存器), 包括有基本閘 (CN、CCN、H)、 旋轉 閘和量子傅立業變換閘, 也可以進行 Shor 質因數分解的數值計算。 但首先必須先安裝. Virtual Machine JRE1.4 才能執行。 jQuantum 可以證明量子演算法並設計量子電 路, 這個程式被公開的原因一方面是因為希望可以檢查這些量子閘的正確性, 透過更多使 用者和程式設計者提出建議來修正, 使這套軟體更有品質, 另一方面也是希望有創新或是 更完整的想法, 未來能修正這些量子閘和演算法 [28]。 5.3.8 QCE. Quantum Computer Emulatormv 是由 Michielsen 和 Raedt 開發的, 是被設計 用來模擬 QC 硬體的物理模式, 目前 QCE(8.1.0) 版本可以處理 16 個量子位元。 需要 在 Windows 98/NT/2000/ME/XP 環境下才能執行, 這套軟體包含了量子計算和量 子演算的基本概念, 可以執行 CN 閘、 CCN 閘、 量子傅立業轉換、 Grover 資料搜尋演 算法、 Shor 演算法並且也有一些關於這幾種演算法的範例 [29] 。. 37.

(49) 第6章 研究結果 6.1 BB84 電路模擬. 本研究所模擬的 BB84 電路設計乃依據 BB84 量子金鑰分配原理, 配合 Black 於 2004 年所發表之 BB84 Model 電路所設計 [30]。 Black 之 BB84 Model 電路為一使用8 個量子位元設計傳送單一資訊的電路, 其所使用之模擬軟體為 QCSim, 若以 QAD 模 擬程式繪出圖形如圖6.1所顯示:. 圖 6.1: BB84 Model 電路圖. 電路圖中的編號 0 的位元為 Alice 的原始資訊, 可以傳送 0 或 1 的訊息。 編號 1 的 位元為 Alice 所用的偏振片, 以 0 或 1 代表兩種不同的偏振片。 編號 3 的位元為 Eve 的竊聽用偏振片, 編號 4 的位元為 Bob 的接收偏振片, 同樣都以 0 或 1 代表兩種不同 的偏振片。 編號 1、 3、 4 這些位元因為必須隨機產生 [30] , 故先經過哈達馬閘。 編號 5. 38.

(50) 第 6 章 研究結果. 的位元為 Alice 與 Bob 所使用的偏振片核對, 當 Alice 與 Bob 所使用的偏振片相同 時, 也就是編號 1 與 4 的輸出值相同時, 編號 5 的位元輸出值為 1 。 編號 2 的位元為. Alice 的傳送資訊也就是 Bob 所接收到的光子資訊, 編號 6 的位元為 Alice 的原始資 訊與 Bob 接收的光子資訊核對, 也就是當編號 0 與 2 的輸出值不同時, 編號 6 的位元 輸出值為 1 。 當編號 6 的輸出值為 1 時, 也表示在 Alice 與 Bob 之間可能遭受到 Eve 的竊聽。 編號 7 的位元為偵測錯誤, 當編號 5 的位元與編號 6 的位元值均為 1 時, 表 示 Alice 和 Bob 所使用的偏振片相同, 但 Alice 的原始資訊與 Bob 接收的光子資訊 卻不同, 從這裡可以估算出錯誤率。 其在 QAD 上的模擬結果如圖6.2所示:. 圖 6.2: BB84 Model 電路模擬結果. 分析結果可依其係數分成三種, 分別是. | 164i、 | 180i、 | 236i、 | 252i。. 1 √ 4 2. 1 4. 的有 8 個結果: | 4i、 | 20i、 | 76i、 | 92i、. 的有 12 個結果: | 8i、 | 24i、 | 42i、 | 58i、 | 64i、. | 80i、 | 98i、 | 114i、 | 138i、 | 154i、 | 194i、 | 210i。 − 4√1 2 的有 4 個結果: | 168i、 | 184i、 | 224i、 | 240i。 將係數為. 1 4. 將係數為. 1 √ 的 4 2. 的 8 個結果轉換為二進制, 可以表示成如表 6.1的結果:. 12 個結果轉換為二進制, 可以表示成如表 6.2的結果: 39.

(51) 第 6 章 研究結果. 表 6.1: BB84 Model 模擬結果 (係數 14 ) 量子位元編號 0 1 2 3 4 5 6 7. 代表意義 Alice 的原始資訊 Alice 的偏振片 光子資訊 Eve 的偏振片 Bob 的偏振片 Alice 與 Bob 偏振片核對 Alice 與光子資訊不同 偵測錯誤. | 4i 0 0 0 0 0 1 0 0. | 20i 0 0 0 1 0 1 0 0. | 76i 0 1 0 0 1 1 0 0. | 92i 0 1 0 1 1 1 0 0. | 164i 1 0 1 0 0 1 0 0. | 180i 1 0 1 1 0 1 0 0. | 236i 1 1 1 0 1 1 0 0. | 252i 1 1 1 1 1 1 0 0. 1 表 6.2: BB84 Model 模擬結果 (係數 4√ ) 2. 編號. 代表意義. | 8i. | 24i. | 42i. | 58i. | 64i. | 80i. | 98i. | 114i. | 138i. | 154i. | 194i. | 210i. 0. Alice 的原始資訊. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. Alice 的偏振片. 0. 0. 0. 0. 1. 1. 1. 1. 0. 0. 1. 1. 2. 光子資訊. 0. 0. 1. 1. 0. 0. 1. 1. 0. 0. 0. 0. 3. Eve 的偏振片. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. 4. Bob 的偏振片. 1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 0. 0. 5. Alice 與 Bob 偏振片核對. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 6. Alice 與光子資訊不同. 0. 0. 1. 1. 0. 0. 1. 1. 1. 1. 1. 1. 7. 偵測錯誤. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 將係數為 − 4√1 2 的 4 個結果轉換為二進制, 可以表示成如表 6.3的結果: 將表 6.1、 表. 6.2、 表 6.3轉換為二進制後, 可以看出在係數. 1 √ 4 2. 和 − 4√1 2 的 16 種結果中, Alice 和. Bob 使用的偏振片都是不同的, 也就是在 BB84 金鑰分配原理中, Alice 與 Bob 核 對偏振片後所要捨去的部份, 因此在這裡便不再加以分析。 分析係數為. 1 4. 的結果中發現,. 以 QAD 模擬 Black 之 BB84 Model 電路結果中包含了一些與 BB84 原理不符合 之結果, 例如在模擬結果 | 20i、 | 76i、 | 180i、 | 236i 中, Eve 竊聽所使用的偏振片與. Alice 的不同, 應該會對光子資訊有所影響, 但結果並沒有影響。 另外, 偵測錯誤的位元 輸出的值均為 0, 表示此位元偵測不到錯誤, 就無法評估錯誤率。 會造成此種結果可能是 因為 Black 所使用的模擬軟體與本研究採用的模擬軟體不同, 而在模擬結果的呈現中也 有所不同。 因此研究者將 Black 之 BB84 Model 電路稍加修改, 以在 QAD 軟體的使 40.

(52) 第 6 章 研究結果. 1 表 6.3: BB84 Model 模擬結果 (係數− 4√ ) 2. 編號 0 1 2 3 4 5 6 7. 代表意義 Alice 的原始資訊 Alice 的偏振片 光子資訊 Eve 的偏振片 Bob 的偏振片 Alice 與 Bob 偏振片核對 Alice 與光子資訊不同 偵測錯誤. | 168i 1 0 1 0 1 0 0 0. | 184i 1 0 1 1 1 0 0 0. | 224i 1 1 1 0 0 0 0 0. | 240i 1 1 1 1 0 0 0 0. 用上符合 BB84 傳輸之原理。 修改之後的電路圖如圖6.3所顯示:. 圖 6.3: BB84 電路圖. 修改的部份為增加 Eve 的竊聽對於光子資訊的影響, 當 Eve 所使用的偏振片與 Al-. ice 的不同時, 光子會因此被改變, 因此在比對 Alice 的原始資訊和光子資訊時, 也就是 編號 6 的位元輸出值為 1 時, 即是傳輸間遭受到竊聽的狀況。 另外, 編號 7 的位元更改 成為偵測竊聽, 也就是說當其輸出值為 1 時, 表示 Alice 和 Bob 所使用的偏振片相同, 但原始資訊與接收到的光子資訊卻不同, 顯示該次傳輸遭受到竊聽。 其模擬結果如圖6.4所示:. 41.

(53) 第 6 章 研究結果. 圖 6.4: BB84 電路模擬結果. 分析結果其係數亦可分成三種, 分別是. | 151i、 | 164i、 | 207i、 | 252i。. 1 √ 4 2. 1 4. 的有 8 個結果: | 4i、 | 55i、 | 92i、 | 111i、. 的有 12 個結果: | 8i、 | 24i、 | 42i、 | 58i、 | 64i、. | 80i、 | 98i、 | 114i、 | 138i、 | 184i、 | 210i、 | 224i。 − 4√1 2 的有 4 個結果: | 154i、 | 168i、 | 194i、 | 240i。 將係數為. 1 4. 的 8 個結果轉換為二進制, 可以表示成為表 6.4的結果: 表 6.4: BB84 模擬結果 (係數 14 ). 量子位元編號 0 1 2 3 4 5 6 7. 代表意義 Alice 的原始資訊 Alice 的偏振片 光子資訊 Eve 的偏振片 Bob 的偏振片 Alice 與 Bob 偏振片核對 Alice 與光子資訊不同 偵測竊聽 偵測到竊聽. | 4i 0 0 0 0 0 1 0 0. | 55i 0 0 1 1 0 1 1 1 ∨. 42. | 92i 0 1 0 1 1 1 0 0. | 111i 0 1 1 0 1 1 1 1 ∨. | 151i 1 0 0 1 0 1 1 1 ∨. | 164i 1 0 1 0 0 1 0 0. | 207i 1 1 0 0 1 1 1 1 ∨. | 252i 1 1 1 1 1 1 0 0.

(54) 第 6 章 研究結果. 由表 6.4得知, 當位元 7 的值為 1 時, 可以看出傳輸過程中曾經遭受到 Eve 的竊聽, 該次傳輸便是不安全的傳輸。 將係數為. 1 √ 4 2. 的 12 個結果轉換為二進制, 可以表示成為表 6.5的結果: 表 6.5: BB84 模擬結果 (係數. 編號. 代表意義. 1 √ ) 4 2. | 8i. | 24i. | 42i. | 58i. | 64i. | 80i. | 98i. | 114i. | 138i. | 184i. | 210i. | 224i. 0. Alice 的原始資訊. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. Alice 的偏振片. 0. 0. 0. 0. 1. 1. 1. 1. 0. 0. 1. 1. 2. 光子資訊. 0. 0. 1. 1. 0. 0. 1. 1. 0. 1. 0. 1. 3. Eve 的偏振片. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. 1. 0. 4. Bob 的偏振片. 1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 0. 0. 5. Alice 與 Bob 偏振片核對. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 6. Alice 與光子資訊不同. 0. 0. 1. 1. 0. 0. 1. 1. 1. 0. 1. 0. 7. 偵測竊聽. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 將係數為 − 4√1 2 的 4 個結果轉換為二進制, 可以表示成為表 6.6的結果: 1 表 6.6: BB84 模擬結果 (係數− 4√ ) 2. 編號 0 1 2 3 4 5 6 7. 代表意義 Alice 的原始資訊 Alice 的偏振片 光子資訊 Eve 的偏振片 Bob 的偏振片 Alice 與 Bob 偏振片核對 Alice 與光子資訊不同 偵測竊聽. 將之轉換為二進制後, 同樣在係數. 1 √ 4 2. | 154i 1 0 0 1 1 0 1 0. | 168i 1 0 1 0 1 0 0 0. | 194i 1 1 0 0 0 0 1 0. | 240i 1 1 1 1 0 0 0 0. 和 − 4√1 2 的 16 種結果中, Alice 和 Bob 使. 用的偏振片都是不同的, 也就是在 BB84 金鑰分配原理中, Alice 與 Bob 核對偏振片 後所要捨去的部份, 因此在這裡便不再加以分析。. 43.

(55) 第 6 章 研究結果. 6.2 範例 6.2.1. QAD 範例. 為了核對 BB84 電路模擬結果是否配合 BB84 協定之原理, 我們利用 QAD 建立另外 一個電路, 將 Alice 的原始資訊、 Alice 的偏振片、 Bob 的偏振片和 Eve 的偏振片選 擇由 x 隨機 q 更改為可以自行輸入, 以便檢核是否與第 3 章所述說之傳輸過程及結果. (表 3.2) 相符合。 為了方便核對, 我們先將表 3.2的格式轉變成較易核對的表 6.7的格式。 其中偏振片為 ⊞ 的設為 0 , 偏振片為 ⊠ 的設為 1 , 在表 3.2中原本有 10 次傳輸, 其 中有 4 次分別是兩兩相同的傳輸, 整理過後僅有 8 次不同的傳輸, 將之表示為表 6.7。 表 6.7: 轉換後的表格 Alice 的原始資訊 Alice 的偏振片 光子資訊 Eve 的偏振片 Bob 的偏振片. 0 0 0 0 0. 0 1 1 0 0. 1 0 1 0 0. 1 0 0 1 0. 0 1 1 0 1. 1 0 0 0 1. 0 1 0 1 1. 1 1 1 1 1. 新的電路設計如圖6.5所示:. 圖 6.5: 可輸入的 BB84 電路. 電路圖中量子位元編號 0 為 Alice 的原始資訊, 編號 1 為 Alice 的偏振片, 編號 2 為 Bob 接收的光子資訊, 編號 3 為 Eve 的偏振片, 編號 4 為 Bob 的偏振片, 編號 44.

(56) 第 6 章 研究結果. 5 為 Alice 與 Bob 採用的偏振片核對, 若輸出值為 1 則表示偏振片相同; 編號 6 為 Alice 的原始資訊與 Bob 的光子資訊核對, 若輸出值為 1 則表示 Alice 傳送的資訊與 Bob 接收的資訊不同; 編號 7 為偵測竊聽, 若輸出值為 1 則表示 Alice 與 Bob 所採 用的偏振片相同, 但資訊不同, 可以得知被竊聽。 所需輸入的值為編號 0 : Alice 的原始資訊 (| 0i或| 1i), 編號 1 : Alice 的偏振片. (| 0i或| 1i), 編號 3 : Eve 的偏振片 (| 0i或| 1i), 編號 4 : Bob 的偏振片 (| 0i或| 1i), 總共有 16 種輸入形式。 輸出結果有 16 種, 分別為 | 4i、 | 64i、 | 164i、 | 151i、 | 111i、. | 138i、 | 92i、 | 252i、 | 224i、 | 55i、 | 114i、 | 210i、 | 42i、 | 207i、 | 24i、 | 184i。 其中與表 6.7相同輸入的結果為 | 4i、 | 64i、 | 164i、 | 151i、 | 111i、 | 138i、 | 92i、. | 252i。 將之轉為二進制, 整理為表6.8。 表 6.8: 可輸入的 BB84 模擬結果 編號 0 1 2 3 4 5 6 7. 代表意義 Alice 的原始資訊 Alice 的偏振片 光子資訊 Eve 的偏振片 Bob 的偏振片 Alice 與 Bob 偏振片核對 Alice 與光子資訊不同 偵測竊聽 結果分析. | 4i 0 0 0 0 0 1 0 0 ∨. | 64i 0 1 0 0 0 0 0 0 ×. | 164i 1 0 1 0 0 1 0 0 ∨. | 151i 1 0 0 1 0 1 1 1 E. | 111i 0 1 1 0 1 1 1 1 E. | 138i 1 0 0 0 1 0 1 0 ×. | 92i 0 1 0 1 1 1 0 0 ∨. | 252i 1 1 1 1 1 1 0 0 ∨. 從結果分析中可以很容易的看出在 | 4i、 | 164i、 | 92i、 | 252i 這幾次輸出結果中,. Alice 與 Bob 所使用的偏振片相同, 所得的資訊也相同, 是可以保留的傳輸。 在 | 64i、 | 138i 這兩次的傳輸中, Alice 和 Bob 所使用的偏振片不同, 為必須去除的傳輸。 而 | 151i、 | 111i 兩次的傳輸中, Alice 與 Bob 所使用的偏振片相同, 但所接收到的資訊 卻不同, 在偵測錯誤中亦出現 1 的結果, 顯示出遭受到竊聽。 將範例電路模擬的結果與前面隨機選擇偏振片的 BB84 Model 電路和 BB84 電路 模擬結果核對, 發現範例電路中的每一次傳輸, 都落在 BB84 Model 電路和 BB84 電 45.

參考文獻

相關文件

軟體至 NI ELVIS 環境。現在,您在紙上或黑板上的設計可在 Multisim 內進 行模擬,並模擬為 NI ELVIS 或 NI ELVIS II 電路板配置上的傳統電路圖。設 計趨於成熟後,使用者即可在 NI

下列哪一種記憶體屬於非揮發性記憶體, 不會因電源關閉而使其中的資料消 失, 但是可以透過電壓的方式重複抹除資料, 可用於基本輸入/ 輸出系統 (Basic Input / Output System,BIOS)

 想要設計一個具有兩個輸入G(gate閘控)和 D(data資料)以及一個輸出Q的閘控閂電 路。當G等於1時,在輸入D出現的二進位資料

„ „ 利用電腦來安排與整合多種媒體,可產生 利用電腦來 更多樣化的作品。如某一段背景配樂在影 片中的哪個時間點開始播放、新聞播報中 子母畫面的相對位置、文字字幕出現在畫

近期全球各地皆藉由停止上班上課以遏制新冠肺炎疫情的傳播,正是需要遠端視訊或會 議軟體的時刻,然而視訊會議工具 Zoom

近期全球各地皆藉由停止上班上課以遏制新冠肺炎疫情的傳播,正是需要遠端視訊或會 議軟體的時刻,然而視訊會議工具 Zoom

政府應邀請合適的業界模範參與製作在電視╱電台播放的政府宣傳短片及聲帶。該等

Hanning Window 可用來緩和輸入訊號兩端之振幅,以便使得訊號呈現 週期函數的形式。Hanning Window