Chacha
ChaCha20 核心與理想的無鍵 PRP
我知道 ChaCha20 核心(沒有初始常數)不是一個理想的 PRP,不能這樣使用。我也知道 $ \text{ChaChaCore}(0) = 0 $ . 還有其他區別嗎?
如果 ChaCha 核心是一個排列(作為 PRP 中的最後一個 P),那將是非常令人驚訝的,儘管我們沒有證據證明它不是(如果它是一個排列,它至少是一個我們不知道如何反轉的排列,看到這個問題)。
更好的近似是 ChaCha 核心表現為具有附加屬性的偽隨機函式 $ \text{ChaChaCore}(0)=0 $ . 當我們使用恆定密鑰作為輸入的一部分時,ChaCha 核心就變成了一個似是而非的偽隨機函式族。
與 Salsa20 核心相比,ChaCha 核心具有不那麼顯著的外部可見特性。 $ \text{ChaChaCore}(0)=0 $ 是一個簡單的。然而,還有其他一些,包括在輸出中保持輸入的一些對稱性;以及真正的 PRF 不具備的其他屬性。
特別是:根據定義, $ \text{ChaChaCore}(x)=P(x)\boxplus x $ 在哪裡 $ \boxplus $ 是 512 位加法,在 32 位塊之間去除了進位,並且 $ P $ 是一些公共排列(與 $ P(0)=0 $ ) 可以簡單地反轉。隨之而來的是知識 $ \text{ChaChaCore}(x)\boxminus x $ 足以找到 $ x $ , 通過計算 $ P^{-1}(\text{ChaChaCore}(x)\boxminus x) $ , 在哪裡 $ \boxminus $ 是 $ \boxplus $ 加法是什麼減法。