Hmac

只散列對稱密鑰以派生身份驗證密鑰是否可以?

  • November 23, 2019

我在 libsodium 的程序中使用 xsalsa20poly1305 進行加密。塊的推薦大小為 4 kB。在這種情況下,poly1305 將僅對單個 4k 塊進行身份驗證。不是全部資訊。

我想用 poly1305 或 HMAC-SHA256 或其他任何東西再次驗證整個消息。眾所周知,重複使用相同的密鑰進行加密和身份驗證是一個壞主意。如果我在那裡錯了,請糾正我。

我的問題是:計算我目前密鑰的 SHA-256 或 SHA-512 並將其用作身份驗證密鑰是否可以(在每個人都知道我正在使用的算法的開源項目中)?

請注意,在我的應用程序中,絕對不可能有多個對稱密鑰,因為該密鑰是從 ECDH 派生的。

是的,這是“好的”。

如果我在那裡錯了,請糾正我。

你是對

它有效地棘輪了原始密鑰。

然而,可能有更優雅的解決方案,例如使用靜態密鑰進行身份驗證,使用臨時密鑰進行密​​鑰協商(即,對每個新消息使用臨時-臨時 Diffie-Hellman)。

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