2012-12-27 41 views
1

我知道KDF(密鑰派生函數)用於擴展用戶密碼,它基本上不適合用作密碼算法中的密鑰。隨機字節的密鑰導出函數?

但是,如果我創建一個隨機密鑰(隨機32字節),我仍然需要使用KDF來確保正確的加密?

+1

更適合crypto.stackexchange.com –

回答

3

KDF通常用於從諸如密碼短語之類的事物中派生密碼密鑰,正如您正確地說,它不適合直接使用。但它們也用於從主密鑰中獲取更多密鑰,這取決於您的整體方案,可能會有用。

假設您使用了密鑰協議協議,雙方都以隨機共享密鑰結束。您可以使用KDF來派生加密密鑰,並使用一個用於消息完整性的密鑰(例如,HMAC密鑰)。

NIST SP800-108來自:

當各方共享一個祕密對稱密鑰(如在1和 指定例如,在成功執行 一個鍵 - 建立方案[2]),它是通常的情況需要額外的密鑰(如[3]中所述的 )。對於不同的密碼學目的,可能需要單獨的密鑰 - 例如,對於 加密算法可能需要一個密鑰,而另一個密鑰旨在供完整性保護算法使用,例如消息認證 代碼。在其他時候,多個實體 所需的不同密鑰可以由可信方從單個主密鑰生成。密鑰 派生函數用於派生這些密鑰。

簡短的回答是,不,你不需要使用KDF,假設你的密鑰生成是正確的。

+0

謝謝,我根本不知道這個文檔 – HyBRiD