Key-Derivation

當密鑰是可變長度時,流密碼是否需要 KDF?

  • October 22, 2014

RC4 有一個可變長度的密鑰。是否仍然需要使用密鑰派生函式,例如PBKDF2來初始化它?

與使用相同單字元密碼的 SHA-256 雜湊作為密鑰的分組密碼相比,使用單字元密碼會削弱其輸出嗎?

RC4 的一個問題是,雖然它確實需要可變長度輸入(最多 256 個字節),但眾所周知,它不擅長將這些字節混合在一起。具體來說,我們看到了 RC4 密鑰和 RC4 輸出流之間的相關性。

我給你的第一個建議是使用 RC4 以外的東西。RC4 相對於大多數其他密碼的唯一優勢是它足夠簡單,易於記憶。例如,如果您要去某個不想隨身攜帶任何程序的地方,如果您可以訪問任何可程式的程序,您可以輸入一個 RC4 程序,並且很有可能讓它正常工作。如果您不關心這一點(而且您可能不關心),那麼還有更好的選擇。

我的第二個建議(假設您忽略第一個)是您應該隱藏密碼和 RC4 密鑰之間的關係(因為 RC4 在隱藏 RC4 密鑰和密鑰流之間的關係方面做得不好)。使用 KDF 處理密碼會起作用;至少,您應該使用雜湊函式。現在,我不知道 RC4 密鑰設置邏輯中的弱點是否會引起您的關注;我也不知道不是;彌補潛在的弱點似乎是一個謹慎的步驟。

至於單字元密碼,嗯,無論您使用分組密碼還是 RC4,這都會很弱……

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