One-Time-Pad

為什麼不是每個人都使用 One Time Pad 進行加密?

  • June 11, 2018

如果我們相信 Wikipedia,One Time Pad (OTP) 聽起來非常安全。但從表面上看,這聽起來也非常不切實際——如何安全地分發 OTP?

想法:為什麼不讓別人在每個人的視線範圍內為您分發它?

假設我可以對細節保密(就像我使用加密密鑰一樣),如果我想安全地進行通信,我為什麼不從一些豐富的圖像來源(Facebook、新聞網站、約會網站、色情網站、等),並利用低位的雜訊來創建一次性填充?

即使假設有人入侵了我的電腦並可以縮小我可能使用過的圖像的範圍,圖像本身也不是 OTP - 您需要從圖像像素中提取 OTP 位。這可以通過多種方式完成。這樣做的秘密或多或少等同於傳統的加密密鑰。

例如,我可以在將所選圖像中的像素用於 N!N 像素的可能洗牌,即使在 50 像素之後也是巨大的。我還可以從任何像素開始並以一堆掃描方向/模式從圖像像素中提取 OTP 位。我使用哪些位,以什麼順序使用?任何想要破解我的程式碼的人都可以猜到更多的排列。

這引發了一種不同的可能性:為什麼我不分髮用於置換像素和提取位以從單個圖像創建 OTP 的算法?

我建議這樣做是因為我不久前註意到維基百科上發布的蒙娜麗莎的原始圖像恰好有其寬度和高度的質數。對於想要生成 OTP 的人來說,這聽起來像是一個有用的屬性。您不會認為有人已經為此或其他加密目的使用它,是嗎?畢竟,這個圖像大小是維基百科唯一重複的,這似乎……不可能是巧合。

然而,所有這一切都完全違背了“不要自己動手”的建議。這個建議是否仍然適用於真正只使用過一次的 OTP,即使它的隨機位每次都是從真正隨機位的單一來源以非常多種方式之一偽隨機選擇的?

使用公共資源獲取關鍵材料是一個眾所周知的概念。書籍密碼可以追溯到很久以前。

但是認為你的密鑰是從公共源中提取的隨機位的較大 OTP 是錯誤的。真正的關鍵是圖像的選擇。

您和您的合作夥伴必須就一組公開可用的圖像達成一致,作為提取比特的基礎。那是您需要以某種方式共享的密鑰。

網際網路上可能的圖像數量很大,但遠小於您計劃提取的隨機位數的兩倍。此外,您可能無法從所有圖像中隨機選擇,而是從一些小於“網際網路”的圖像池中進行選擇。

添加額外的固定排列將不會增加額外的安全性。

加密的一般思想是系統受到密鑰的保密,而不是算法的保護。您提出的系統要求對生成密鑰的算法保密。

有更簡單的方法可以做到這一點,例如,給定一個種子值,您可以將某些選定 DRBG 的輸出作為 OTP 進行異或。那麼秘密就是使用的 DRBG。

引用自:https://crypto.stackexchange.com/questions/59892