理想密碼與理想加密方案
理想密碼是其密鑰空間中每個密鑰的隨機排列。
而且,理想的加密方案是具有完美保密性/不可區分性的加密方案。對於加密方案,從純文字空間到密文空間的隨機排列似乎是一個更強的屬性,並不總是需要
我不明白理由:
- 為什麼對於加密方案來說只有完美的保密性/不可區分性(而不是隨機性)就足夠了,但對於分組密碼來說卻不行?
- 另一方面,為什麼完美的保密性/不可區分性對於分組密碼來說還不夠呢?為什麼需要隨機排列?
1. 為什麼對於加密方案來說只有完美的保密性/不可區分性(而不是隨機性)就足夠了,但對於分組密碼來說卻不行? 2. 另一方面,為什麼完美的保密性/不可區分性對於分組密碼來說還不夠?為什麼需要隨機排列?
不可區分性是針對多個消息的,這意味著多個塊。分組密碼本身是不可區分的:如果您對相同的消息塊進行兩次加密,您將獲得相同的密文。顯然,這是您希望為分組密碼維護的屬性,因為如果不這樣做,它就不是排列。
為什麼對於加密方案來說只有完美的保密性/不可區分性(而不是隨機性)就足夠了,但對於分組密碼來說卻不行?
**分組密碼是原語。**我們希望它們是偽隨機排列 (PRP),並能抵禦暴力、線性和差分攻擊等攻擊。
當我們想要加密/解密時,我們需要由密鑰生成、加密和解密算法組成的加密方案(**非正式地;它定義瞭如何使用分組密碼進行加密)。為了形成一個方案,我們需要一種分組密碼的操作模式,**其中如何定義多個分組消息、隨機化(IV、nonce、tweak)等。然後我們可以討論在像 Ind-CPA 這樣的對抗模型下加密方案的不可區分性。
甚至 ECB 模式也是我們必須忘記的加密方案。
為什麼需要隨機排列?
更好的形式化是Why does it need to be pseudo random permutation。
安全性證明 (Ind-X) 依賴於分組密碼的 PRP (請參閱以let開頭的證明 $ F $ 是一個 PRP*),否則,證明不容易顯示。實際上,安全定理不需要 PRP 的存在。因此,使用(理想)PRP 設置邊界,如果您開始初始化此加密方案(實現)並且如果分組密碼不是 PRP,則邊界不起作用。
如果分組密碼被證明不是 PRP,那麼它有一個區分符,可用於利用該分組密碼所使用的加密方案。
如果分組密碼被破壞,那麼在該分組密碼下加密模式是不安全的。
另一方面,為什麼完美的保密性/不可區分性對於分組密碼來說還不夠呢?
人們可以談論受限分組密碼(它是一種加密方案)的完美保密性,儘管證明它不可行,因為它意味著它被破壞了。如您所見,它需要我們沒有的限制。
理想密碼與理想加密方案
請記住,分組密碼是一系列排列,其中每個排列都由一個密鑰選擇/表示;$$ F:{0,1}^k\times {0,1}^b \to {0,1}^b $$
理想密碼是一種模型,我們假設分組密碼是每個密鑰的隨機排列,並且這些排列彼此獨立。這對於理想化來說太過分了,因為在像分組密碼這樣的小結構下沒有這樣的結構。我們需要一個 gnome,就像 Random Oracle 模型一樣。這再次用於證明構造。然後,當您需要實現該結構時,您必須求助於一個真實的模型,並且面對使用分組密碼來實現它。
*必須說操作模式不限於 PRP,有可以使用 PRF 的操作模式(CTR、CFB)然後邊界不同,請參閱 PRF-PRF swithing-lemma