Encryption

如何使用 Argon2id 從一個密碼中派生兩個密鑰

  • April 1, 2022

我想從使用者密碼派生兩個獨立的 256 位密鑰用於對稱加密。我使用 Argon2id 作為基於密碼的密鑰派生函式。我打算做以下事情:

  1. 生成 256 位隨機鹽。
  2. 使用使用者密碼和 salt 生成帶有 Argon2id 的 512 位標籤。
  3. 將 512 位標籤的前 256 位作為第一個密鑰,將後 256 位作為第二個密鑰。

這會產生兩個獨立的密鑰嗎?

注意:這個問題對 scrypt 的回答是肯定的。

Argon2 支持變長輸出,所有輸出表現為獨立的隨機位。您可以按照您想要的任何方式拆分輸出。請注意,總安全性不大於 512 位,但這不是問題,更大的輸出不會導致隨機性“拉伸”並變弱。

使用 Argon2 生成變長輸出,相當於生成單個輸出並將其輸入 HKDF 以生成多個密鑰,或者將其輸入 XOF 以將其擴展為更多字節。

https://en.wikipedia.org/wiki/Argon2#Variable-length_hash_function

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