密文比明文大的加密?
是否存在會產生比明文更長的密文的加密?(請忽略區塊鏈 IV 的東西,這將導致從明文生成數據)。
問題的關鍵是生成的密文 $ {0,1}^n $ 似乎不如一個兩倍長 $ {0,1}^{2n} $ 就後者而言,更多的排列是可能的。
然而,如果明文是塊類型,則 $ {0,1}^n $ 加密如何雙向映射似乎令人費解
$$ {0,1}^n \to \text{encrypt} \to {0,1}^{2n} $$和 $$ {0,1}^{2n} \to \text{decrypt} \to {0,1}^n $$ 我假設這個問題涉及加密的必要屬性,即雙向性和確定性行為。
沒有提供此密碼的密碼。
但是,如果您想要這種映射,則有兩種使用場景。
加強對稱加密。通過這種結構,您可以將密鑰大小加倍。在“應用密碼學”中,施奈爾建議結合兩種加密算法,這樣密文的大小將是明文的兩倍。
生成焊盤 $ R $ 隨意,只要你的消息
計算 $ P=R \oplus M $
加密 $ P $ 使用一個密碼密鑰對
加密 $ R $ 使用另一個 Cipher-Key-Pair
可以建構帶有中間標記的線上 AEAD 模式,因為基本上可以驗證消息的每個單個塊。前任 在 512 位塊上使用 HMAC + CTR 可以使用 CTR 加密連續數據流,並在每個 512 位塊之後放置 512 位 HMAC 標籤。這可能很好,因為您已經獲得了此類模式提供的線上加密和中間標籤驗證的所有理想屬性。也可以使用塊密碼(也許像 VMAC 之類的東西)來建構這樣的模式。
但是,對於第一個使用場景,沒有必要,因為目前的塊密碼足夠安全,如果您需要更大的塊大小,只需切換到 Threefish 之類的東西。
生成一個密文,c 大於明文 p (|c| > |p|) 是一個非常有用的配置。它允許一對多(p 到 c),多對一(c 到 p),因此相同的消息可能會隨機加密為不同的密文。或者,選擇哪些可能的密文解密回相同的明文以使用,可以用作潛意識通道。相反,這樣的密碼可以在散列協議中使用。在Crypto Academy中查看更多資訊。更多用途參見美國專利#6,823,068