Sha-256
將高熵密鑰散列為 AES 格式
如果我有一個高熵密鑰(ECDHE 共享密鑰),我應該使用什麼類型的雜湊將其格式化為 AES-256 密鑰?Sha256 或 Sha3_256 是否足以維持熵,還是我需要使用 KDF(Scrypt / Argon2)並在握手期間交換鹽?
我似乎記得在用作加密密鑰之前應該對共享密鑰進行雜湊處理(這裡有一些簡短的討論)。
如果您的密鑰已經是高熵的,那麼使用 SHA256 散列就可以了。如果您計劃從原始共享密鑰生成多個密鑰(即加密和 HMAC),那麼HKDF是一個不錯的選擇。這是一個基於密鑰的 KDF。
Scrypt 和 Argon2 是基於密碼的 KDF,並不適用——它們是為低熵輸入(例如密碼)而設計的。