網際網路上的消費者級 OTP + QKD 怎麼可能實用?
請注意,我絕不會質疑量子密鑰分發 (QKD) 在某些應用中的未來用途。我毫不懷疑它將證明對大型銀行以及某些軍事研究應用很有用。
但是,即使敏感量子硬體的成本急劇下降,我也看不到它在消費者層面甚至企業層面變得普遍。
http://users.telenet.be/d.rijmenants/en/onetimepad.htm
儘管如此,一次性密本加密還是有著光明的未來。事實上,它是唯一有前途的加密算法。一旦計算能力和密碼破譯技術已經超越了密碼學家的能力和數學的限制來進行強加密,那麼將不再有任何密碼算法能夠在密碼學的演進中倖存下來,除非它符合資訊論完美安全的標準。
上述文章聲稱,所有其他加密算法都將隨著計算的進步而過時,因此,我們必須在某個時候轉向一次性密碼 (OTP) 和 QKD 的組合。我覺得這種說法很可疑,但作為一名非密碼學專家,我試圖保持開放的心態。
儘管本文主要是關於 OTP,但 QKD 需要與 OTP 一起使用才能對除少數選定應用程序之外的所有應用程序具有很大的實用價值。
我的懷疑源於 QKD 似乎與全球資訊網的原則和實施不兼容。WWW需要分散路由;也就是說,你收到的電子永遠不會是我發送給你的實際電子,這沒關係,只要它們的頻率模式匹配。
據我所知,如果不破壞光子的波函式,就無法複製光子的特性。也許這個假設是不正確的?這意味著,我的伺服器必須找到一種方法將同一個光子重定向到其預期目標,這似乎容易出錯且不切實際。
即使我們可以找到一種方法來複製光子(或電子)而不會以有效的方式折疊其波函式,但我現在如何通過 wifi 傳輸該波函式,這是大多數人使用網際網路的方式?
我是否在這裡誤解了一些可以讓廣泛的 QKD 和 OTP 對大型分佈式消費者網路變得實用的東西?還是我懷疑這篇文章得出的結論有問題?
這裡有很多問題;我不是在回答標題中的問題,而是在解決正文中的最後問題。
儘管如此,一次性密本加密還是有著光明的未來。事實上,它是唯一有前途的加密算法。一旦計算能力和密碼破譯技術已經超越了密碼學家的能力和數學的限制來進行強加密,那麼將不再有任何密碼算法能夠在密碼學的演進中倖存下來,除非它符合資訊論完美安全的標準。就像經典的紙筆密碼隨著電腦的出現而變得無用一樣,目前基於電腦的加密算法也將成為技術發展的犧牲品,而那一刻可能會比我們預期的要快得多。只有一次性加密,即唯一理論上安全的資訊加密,才能在這種演變中倖存下來。
連結的文章詳細描述了 OTP。它繼續快速地隨意聲稱所有其他加密算法是如何注定要失敗的,但沒有提供任何類型的引用或真實論據來說明為什麼會出現這種情況。甚至沒有提及諸如“但可能P=NP ”之類的弱論點。他們模糊地提到了提高計算能力和改進的密碼分析技術,所以我想這就是我們必須涵蓋的內容。
計算能力
這表明缺乏對破解密鑰成本的實際規模的理解。聲稱僅計算能力的進步就會威脅到例如 AES-256 的安全性,這是支持這一點的證據。任何計算能力都不會強行使用 AES-256 密鑰。即使從理論的角度來看,這也是不可能的,更不用說實際的了。
緊接在該段落之前的段落中還存在其他誤解:
另一個缺點是一次性加密不提供消息身份驗證和完整性。
好的好的,這是真的,至少作者認識到這一點。
當然,你知道發送者是真實的,因為他有適當的密鑰,只有他才能產生可破譯的密文……
這很愚蠢。任何人都可以簡單地製作他們想要的任何比特集並將其作為“密文”送出,而接收方無法驗證該消息實際上來自特定的任何人(事實上,他們無法準確區分密文和密文之間的區別)為他們準備的和一堆隨機位)
繼續進入同一段,我們看到作者提倡 MAC-then-encrypt(編輯:實際上,它甚至可以說不是 MAC-then-encrypt,因為雜湊甚至沒有鍵控),這與標準最佳實踐背道而馳
一種解決方案是在明文上使用散列算法,並將散列輸出值與消息一起加密發送給接收者(散列值是唯一的固定長度值,從消息中派生)。只有擁有正確一次性密碼的人才能正確加密消息和相應的雜湊值。對手無法預測他的操作對明文的影響,也無法預測雜湊值。在接收時,消息被解密並通過將接收到的散列值與從接收到的消息創建的散列值進行比較來檢查其內容。不幸的是,需要一台電腦來計算雜湊值,這使得這種身份驗證方法無法用於純手動加密。
有趣的是,儘管存在資訊理論上安全的 MAC,但對於我們的資訊論安全愛好者來說,正常的舊雜湊函式似乎已經足夠好了。
但是密碼分析呢?
可能存在密碼分析攻擊,它可以在比暴力破解更短的時間內恢復密鑰。這並不意味著:
這種攻擊的空間要求是實用的
這種攻擊的時間要求是實際的(> 2 ** 100 == 不切實際)
攻擊起作用所需的條件可能不現實
- 例如/在任何人評論“但對 AES-256 的相關密鑰攻擊!”之前,請考慮該攻擊的上下文和成本:
> > > - 有一個密鑰所有者;關鍵是 KA,攻擊者試圖猜測它。 > - 可以說服密鑰所有者使用特定的派生算法從 KA 計算出其他三個密鑰 KB 、 KC 和 KD(KB 等於 KA 與攻擊者選擇的常數進行異或運算;KC 和 KD 使用更複雜但相同的確定性推導算法)。 > - 然後,攻擊者可以讓密鑰所有者使用密鑰 KA、KB、KC 和 KD 加密和解密攻擊者選擇的任意塊。 > - 密鑰所有者將接受最多處理 $ 2^{99.5} $ 塊(即 16 字節塊,因此總計約 14000 億千兆字節)。 > - 最後,攻擊者可以訪問大約一百萬億千兆字節的一些儲存空間。 >
您是否看到對手可以在他們選擇的四個不同密鑰下加密和解密 14,000 億 GB 的部分?在這種情況下,您的密碼到底在保護什麼?如果對手可以訪問解密預言機,為什麼他們甚至需要您的密鑰?這真的是一個合理且實用的場景嗎?您真的會根據具有這些要求的攻擊來決定使用哪種算法嗎?
關鍵是,僅僅使用“底線”,即作者將他們所有的攻擊整合到一個單一的時間測量中,作為安全性的唯一衡量標準,這種視角太狹隘了。在時間 2 ** 115 中被破壞的算法真的比需要時間 2 ** 128 來破壞的算法更不安全嗎?顯然*,理論上該問題的正確答案是“是”,但在實踐中*,這兩種攻擊都需要很長時間才能執行,因此兩者都將提供等效的安全性,因為這兩種攻擊都不會被執行(我們將忽略假設攻擊的論點可以改進)。
我是否在這裡誤解了一些可以讓廣泛的 QKD 和 OTP 對大型分佈式消費者網路變得實用的東西?還是我懷疑這篇文章得出的結論有問題?
有理由相信這篇文章的結論是有問題的。這篇文章的作者基本上聲稱需要廣泛的 QKD+OTP,但似乎沒有就如何建構這樣的未來提供任何建設性的建議,也沒有提供任何支持證據來說明為什麼所有其他密碼學顯然注定要失敗。
在 OTP 的所有讚譽中,他們完全忽略了提及在實踐中使用的算法(即 AES/ChaCha)如何成功地定期為整個世界提供安全性,而所有的 OTP 在理論上都是完美的榮耀已經在實踐中多次被打破。
OTP 和量子密碼學基本上與實際密碼學相反。通信系統越複雜,就越容易受到攻擊。
對手不會瞄準等式中最強的部分;假設您確實使用 QKD 和 OTP 來保護您的消息,他們只會等待您接收消息然後從您個人那裡提取資訊。
要麼,要麼他們將針對/利用實現的某些方面,因為理論上安全的算法和該算法的安全實現之間存在差異。