Cryptanalysis

檢測或辨識未知密文的機率

  • December 9, 2020

讓 $ \it C $ 是密文,這樣我們就沒有關於用於生成的對稱加密算法類型的資訊 $ \it C $ .

讓 $ \bf S $ 是大多數塊和流密碼(如AES、DES、RC4等)的源庫。讓 $ s \in {\bf S} $ .

問題:

是否有算法、軟體或方法(尤其是基於深度學習或機器學習的)接收 $ \it C $ 和 $ s $ 作為輸入,輸出是機率 $ \it C $ 被加密 $ s $ ?

感謝您提供任何幫助,例如論文或論文。

有沒有算法

$$ … $$收到 $ \it C $ 和 $ s $ 作為輸入,輸出是機率 $ \it C $ 被加密 $ s $ ?

不,除非系統 $ s $ 有問題的被嚴重破壞了。

原因很簡單:大多數現代對稱加密方案都是從原語建構的,這些原語旨在啟發式地實現以下三種安全模型之一:PRG、PRF 或 PRP。1

所有這三個模型的共同基本屬性是,當給定一個隨機輸入(在適當的輸入槽中)時,輸出將與隨機字元串無法區分。

如果您可以在知道您針對哪個原語的同時打破任何這些原語的此安全屬性,這通常值得一篇經過同行評審的學術論文。Gimli 的例子。

現在所有非嚴重破壞方案的輸出都與隨機無法區分,這意味著它們彼此也無法區分,因此您無法推斷出密文屬於哪個。當然,除了可怕的破壞方案,您可以更清楚地說明密文是否屬於方案。當然,您不想實際使用任何這些方案,而是將它們用作如何設計啟發式安全原語的範例。

請注意,上述定義仍然留下一些迴旋餘地,如本問答中所述。然而,這主要是基於長度的(例如,直接的 AES 密文總是 16 字節)或基於 oracle 對加密方案的訪問。根據所討論的具體設置,這可能適用也可能不適用(例如,如果輸出總是被截斷為 8 字節)。


1:對於加密方案,相關的安全屬性稱為 IND $ -CPA 但這三個是通常證明IND $ -CPA 安全性的建構塊。

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