Encryption

(DES) 給定相同的明文,兩個密鑰 (k1, k2) 產生相同密文的機率是多少?

  • October 27, 2022

基本上,我需要找到 DES(p, k1) = DES(p, k2) = c 的機率

我的猜測是機率 = 1 / 2^64,因為這是可能輸出的總數,但老實說,我對加密一無所知。提前感謝您的幫助!

這取決於你的意思。有256 $ 2^{56} $ 不同的 DES 密鑰等如果ķ1 $ k_1 $ 和ķ2 $ k_2 $ 都均勻且獨立地隨機選擇,則有2-56 $ 2^{-56} $ 在這種情況下,它們可能是相同的鍵D乙小號(p,ķ1)=D乙小號(p,ķ2) $ \mathrm{DES}(p,k_1)=\mathrm{DES}(p,k_2) $ 與選擇無關p $ p $ . (非因果案例是二階效應)。

另一方面,如果ķ1 $ k_1 $ 和ķ2 $ k_2 $ 是不同的並且p $ p $ 是隨機均勻選擇的,然後@kodlu 的分析成立。

但是,如果我們選擇不同的ķ1 $ k_1 $ 和ķ2 $ k_2 $ 然後詢問存在一些的機率p $ p $ 這樣D乙小號(p,ķ1)=D乙小號(p,ķ2) $ \mathrm{DES}(p,k_1)=\mathrm{DES}(p,k_2) $ 是機率π-1ķ1(πķ2(X)) $ \pi_{k_1}^{-1}(\pi_{k_2}(x)) $ 不是一種精神錯亂,大致是(1-1/e) $ (1-1/e) $ (假設 DES 操作與隨機排列無法區分)。

讓D乙小號(p,ķ) $ DES(p,k) $ 由偽隨機排列建模πķ:{0,1}64→{0,1}64. $ \pi_{k}:{0,1}^{64}\rightarrow {0,1}^{64}. $ 然後 D乙小號(p,ķ1)=D乙小號(p,ķ2)⇔π-1ķ2(πķ1(p))=p.$$ DES(p,k_1)=DES(p,k_2) \Leftrightarrow \pi_{k_2}^{-1}(\pi_{k_1}(p))=p. $$ 自從π-1ķ2(πķ1(⋅)) $ \pi_{k_2}^{-1}(\pi_{k_1}(\cdot)) $ 本身就是一個偽隨機排列。給定點的機率p $ p $ 由這個排列固定是1/264 $ 1/2^{64} $ 這是比率(n-1)!/n! $ (n-1)!/n! $ 和n=264 $ n=2^{64} $ 因為有(n-1)! $ (n-1)! $ 排列n $ n $ 固定給定點的點。

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