量子密碼學 BB84 簡述

2021-08-03 16:14:29 字數 1934 閱讀 4081

最近看見量子傳輸通道在國內某塊zf內部已經建立起來了,著實嚇了一跳,畢竟現階段的大部分加密方式都沒有考慮過量子計算機的威脅。因此個人覺得還是有必要了解一下基礎的。當然,本人不是物理專業,所有僅從計算機層面來簡述乙個基礎。

量子計算機是用量子邏輯進行運算的計算機,相較於傳統計算機,理論上量子計算機能讓計算量飆公升數十甚至百倍,因此在摩爾定律逐漸趨於極限的現在,量子計算機也是未來的一種方向。

關於量子計算機破解現存密碼學,其實也僅僅是因為量子計算機的算力巨大,導致原本計算機集群需要算乙個月的資料,量子計算機只要數秒,這樣現階段ras,sha256等演算法的長度變得完全不夠看了。

量子的特性不僅僅能建造計算機,也可以用來建立一種基於量子特性的加密方式。不過首先,得了解兩個量子的基本理論:海森堡測不准原理,量子不可複製定理

該原理表明:乙個微觀粒子的某些物理量(如位置和動量,或方位角與動量矩,還有時間和能量等),不可能同時具有確定的數值,其中乙個量越確定,另乙個量的不確定程度就越大。

不可複製原理,也稱作不可轉殖原理,是 「海森堡測不准原理」的推論,它表明:在不知道量子狀態的情況下複製單個量子是不可能的。 

如果量子態是已知的,我們可以重複的製備它。困難在於我們不能通過單次測量來獲知量子系統的確切特性。因為一旦進行測量,原來量子態就改變了,測得到結果只是組成此量子態的各種可能狀態之一。

基於上述兩種特性,便可以延伸出一種bb84加密方式。這種加密方式的想法來自一次性密碼本(one-time pad),在我以前密碼學的blog中也提到,一次性密碼本是世界上安全性最高的加密方式,不過唯一的問題就在於如何交換密碼本,而bb84就提供了這種方式。

具體的bb84協議流程如下:

(1)單光子源產生乙個乙個的單光子;

(2)傳送方alice 使用偏振片隨機生成垂直、水平、+45°或-45°的偏振態,將選定偏振方向的光子通過量子通道傳送給接收方bob;

(3)bob 隨機選用兩種測量基測量光子的偏振方向;

(4)bob 將測量結果保密,但將所用的測量基通過經典通道告知alice;

(5)alice 對比bob選用的測量基與自己的編碼方式,然後通過經典通道告訴bob哪些基和她用的不同;

(6)bob 扔掉錯誤基的測量結果(統計上會扔掉一半的資料);

(7)alice 和bob選取一部分保留的密碼來檢測錯誤率,如果雙方的0、1序列為一致,則判定沒有竊聽者eve竊聽,剩下未公開的位元序列就留作量子金鑰本。

如上圖所示,假設b1偏振片檢測水平,垂直為1,其餘為0,b2檢測45度為1,其餘為0,alice要傳送1100101101字串。

按照第乙個字元看,alice 傳送了垂直的偏振態,bob隨機選擇b1,b2接受,這裡bob有幸選對,bob再傳回所用偏振片,這裡是b1,alice收到後表示正確,因此保留此字元。

按照第三個字元看,alice傳送了45度的偏振態,bob隨機選擇了b2,是個錯誤的選擇,bob傳回所用偏振片,alice收到後表示錯誤,因此捨棄此字元。

因此最終的密碼本為1101010

再結合上述兩個粒子特性來,量子密碼學具有兩個基本特徵:無條件安全性和對竊聽的可檢測性 。

所謂密碼系統的無條件安全性是指在攻擊者具有無限計算資源的條件下仍不可能破譯此密碼系統。

所謂對竊聽者或其他各種擾動的可檢測性是指兩個使用者之間通訊受到干擾時,通訊者根據測不准原理可以同步檢測出干擾存在與否。

當然,現階段bb84也不是盡善盡美,也有部分問題需要解決。

1. 如果竊聽者不停地竊聽,甲乙雙方就無法獲得安全的金鑰,於是保密通訊便無法進行。它唯一的優勢功能就是斷定是否有竊聽者存在,所分配的金鑰是否安全而已。這點在傳統金鑰分配原則上做不到,只能用來確保傳遞資訊的安全性,無法抗擊「破壞資訊傳送」的行為。

總而言之,拋開高大上的物理學以及科技**誇張的渲染,其本質只是基礎密碼學+物理特性的一種延伸,弄懂之後,並沒有想象中的高大上或者跨時代飛躍的感覺。

密碼學 密碼學基礎

密碼學是研究編制密碼和破譯密碼的技術科學。密碼學的安全目標至少包含三個方面 保密性 完整性 可用性。完整性 資源只有授權方以授權的方式進行修改,所有資源沒有授權則不能修改。可用性 資源只有在適當的時候被授權方訪問,並按需求使用。密碼系統由5部分組成 1 明文空間m 全體明文的集合 2 密文空間c 全...

6D位姿識別 BB8

2 三維位姿 3 旋轉對稱物體的位姿估計 這一階段的任務是在影象中識別物體的中心點,分為兩個階段 將尺寸為512 times 384的影象分割為128 times 128大小的影象塊 將影象塊輸入到vgg分類網路 將最後全連線層的輸出改為16 16 256 16 times 16 256 16 16...

密碼學基礎 OSG8

密碼用於 靜態 動態 使用中的資訊 目標 保密性 加密演算法實現 完整性 加密的資訊摘要實現,數字簽名 身份驗證 挑戰 應答 不可否認性 無冒充的傳送者,防止接受者聲稱沒有接到訊息,非對稱實現 布林數學 1 0 邏輯運算 與 and 有0則0 v 或 or 有1則1 非 not 取反 o 異或 xo...