Stream-Cipher

流密碼(通常)可以“向後執行”嗎?

  • July 15, 2016

當只知道目前狀態時,是否有可能重建流密碼的先前輸出位,例如 RC4,或者這在計算上很難,甚至是不可能的(由於之前的狀態不明確)?

對於 Salsa 來說,這顯然是可能的,因為這甚至允許隨機訪問。

是否有該屬性的存在或不存在的正式名稱(“向後保密”)?

使用 RC4,答案是“是的,您可以有效地向後執行密碼,重建以前的狀態”。

對於流密碼,您是否可以在通常不考慮的情況下重建以前的狀態,但是對於加密安全的隨機數生成器(它們是類似的原語),它確實出現了;我聽說過的術語是“回溯阻力”。

現在,“回溯阻力”需要注意一件事;如果你有回溯阻力的原因是因為在前一個狀態和下一個狀態之間轉換的函式就像一個隨機函式,那麼比轉換函式是可逆的更容易陷入短循環;這是因為如果下一個狀態恰好是您訪問過的任何先前狀態,您就會陷入循環。相反,如果您有一個可逆的下一個狀態函式,那麼您可能會重新訪問的唯一狀態是初始狀態。由於這種陷入短循環的趨勢增加,如果您(至少)將內部狀態的大小加倍超出安全強度可能表明您需要的大小,通常被認為是明智的。

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