Pseudo-Random-Function
帶有固定鍵(消息)的戴維斯-邁耶模式中的 Salsa20:它是單向的嗎?
假設我有一個計算偽隨機排列的函式,並且這個函式很容易反轉。
例如 $ P(i) = AES_k(i) $ 在哪裡 $ k $ 是一個公開的密鑰。所以任何人都可以計算 $ P(i) $ 也回來 $ i $ 如果 $ P(i) $ 是已知的。
下面的函式會很難反轉嗎?
$$ F(i) = P(i) \oplus i $$ 我試圖了解為什麼 Salsa20 結構是安全的,並且想知道這樣的結構是否安全,前提是 $ P(i) $ 是一個很好的偽隨機排列,或者如果還有更多。
如果您採用偽隨機排列排列,您通常很難反轉 PRF。
AES 的 128 位有點窄,但 Salsa 的 512 位肯定足夠寬。
常用的壓縮函式是由具有類似技術的塊密碼建構的:
例如,Davies–Meyer(用於流行的雜湊,如 MD5、SHA-1 和 SHA-2)使用:
$ H_i = E_{m_i}(H_{i-1}) \oplus H_{i-1} $
這 $ \oplus $ 操作防止解決 $ H_{i-1} $ 給定 $ m_i $ 和 $ H_i $ . 如果沒有這種單向操作,窄管道雜湊函式將很容易受到中間相遇攻擊。
與 Matyas-Meyer-Oseas 合作 $ \oplus $ 更關鍵的是:
$ H_i = E_{H_{i-1}}(m_i) \oplus m_i $
這種結構直接依賴於 $ \oplus $ 將排列轉換為單向函式,以實現其原像電阻。
Matyas-Meyer-Oseas 結構和 Salsa 之間的唯一區別是,salsa 缺少它不需要的連結值/塊密碼密鑰。