澄清辨識 AES 密鑰所需的明文、密文對的預期數量
我知道關於這個主題的許多問題,但我仍然不確定我在下面的推理出了什麼問題。
我假設使用具有密鑰大小的 AES $ 2^{256} $ 和大小的消息 $ 2^{128} $ ,使用歐洲央行。當我嘗試計算密鑰辨識之前所需的明文-密文對的預期數量時,我是這樣推斷的:
對於單對 $ (m,c) $ :
$$ \Pr_k[E_k(m)=c]=2^{-128} $$
為了 $ n $ 對(由於 iid):
$$ \Pr_k\big[(E_k(m_1)=c_1) \wedge (E_k(m_2)=c_2) \wedge … \wedge (E_k(m_n)=c_n)\big]=2^{-128n} $$
所以我們正在尋找 $ n $ 使得所有同意的密鑰的預期數量 $ n $ 對是 $ 1 $ , IE:
$$ \frac{2^{256}}{2^{128n}}=1 $$
所以 $ n=2 $ .
這個答案與相關文章中的其他答案相匹配,但我的問題是,如果我接受 $ n \to \infty $ (甚至只是一個大 $ n $ ) 我明白了 $ 0 $ 預期匹配(或少於 $ 1 $ 對於大 $ n $ )。所以這似乎不正確。
我知道每個鍵都不太可能是鍵,這是理想的,但我正在尋找一種正式的方法來計算預期匹配的鍵數。有沒有辦法來解決這個問題?或者將我的解決方案與 $ n\to \infty $ 問題?
您的計算確定了對於隨機、均勻採樣的“輸入”塊和“輸出”塊,存在可以產生這些匹配的密鑰的機率。但是,如果我們知道匹配的輸入和輸出是由因果鍵產生的,那麼表達式就不同了。
在後一種情況下,對於設計良好的分組密碼,可以產生匹配的密鑰數量的良好近似值 $ m $ -pairs,給定塊大小 $ b $ 和一個密鑰大小 $ k $ 是(誰)給的 $$ 1+\mathrm{Poisson}\left(\frac{2^k-1}{2^{bm}}\right). $$ 最初的 1 代表因果鍵,Poisson項代表非因果解。可以將這個Poisson項視為對二項式表達式的近似,其中有 $ 2^k-1 $ “獨立”非因果鍵,每個鍵都有一個 $ 2^{-bm} $ 偶然創造匹配的機會。由於將密碼建模為隨機排列而不是隨機函式,情況有些混亂,但這並不會顯著影響這一級別的問題。
請注意,如果一個人試圖用盡 $ k $ -bit 密鑰僅使用 $ k $ -位檢查然後我們希望非常接近兩種可能的解決方案(您可以檢查小密鑰大小)。然後需要進一步的測試來區分因果鍵和任何非因果解決方案。然而,非因果解決方案的數量迅速趨於零,因為校驗位超出了密鑰空間。