Encryption

無懈可擊的程式碼是否可能(包括蠻力攻擊)?

  • August 30, 2019

如果我使案例如 AES 對文本進行雙重加密,由於電腦不知道何時到達純文字,它是否不會受到暴力攻擊?

純文字->第一層加密->第二層->輸出

我將在標題中解決這個問題 - 使用 AES 進行雙重加密已在其他答案中得到解決。

正如 Squeamish Ossifrage 指出的那樣,您通常不希望依賴於對手無法驗證候選解密是否正確的假設。但是,在某些情況下您必須這樣做。通常,當您要保護的消息使用低熵密鑰(例如密碼)加密時,就會出現這種情況。在這種情況下,蠻力攻擊在計算上變得可行,這是一個有趣且經過充分研究的問題,以了解我們何時可以緩解這種情況並實現超越蠻力安全性。

這個問題的解決方案被稱為蜂蜜加密(另見本文)。Honey 加密有很多有趣的應用程序,請參閱Google 學者以獲取使用它的論文列表。引用介紹它的開創性論文的摘要:

我們介紹了蜂蜜加密 (HE),這是一種使用密碼等低最小熵密鑰加密消息的簡單通用方法。HE 旨在生成密文,當使用許多不正確的密鑰中的任何一個解密時,會產生看似合理但虛假的明文,稱為蜂蜜消息。HE 的一個關鍵好處是,它可以在熵太少而無法承受嘗試每個密鑰的蠻力攻擊的情況下提供安全性;從這個意義上說,HE 提供了超出正常蠻力界限的安全性。HE 還可以對高最小熵密鑰的部分披露提供對沖。

HE 顯著提高了許多實際環境中的安全性。為了展示這一改進,我們為 RSA 密鑰和信用卡號的基於密碼的加密建構了具體的 HE 方案。關鍵挑戰是開發一種稱為分佈轉換編碼器 (DTE) 的新型隨機消息編碼方案的適當實例,以及分析各種球和垃圾箱遊戲中預期的最大垃圾箱負載。

直覺地說,當您的消息來自已知分發時,蜂蜜加密甚至可以防止暴力攻擊。這個想法是設計加密方案,使得給定密文 $ C = E_K(m) $ 加密消息 $ m $ 從分佈中抽樣 $ D $ ,然後任何替代鍵 $ K’ $ 將擁有的財產 $ D_{K’}(C) $ 看起來像一個隨機樣本 $ D $ - 因此,暴力解密無法區分正確的密鑰和錯誤的密鑰。

對於簡單的分發,蜂蜜加密可以相對容易地實現。例如,您可能想要加密您的電話號碼,這樣使用不正確密鑰對密文進行的任何解密看起來都像是一個有效的電話號碼。或者您可能想要加密素數(這是我引用的第一篇論文中描述的應用程序)。

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