# How to derive two keys from one password with Argon2id

I'd like to derive two independent 256 bit keys for symmetric encryption from a user password. I'm using Argon2id as the password-based key derivation function. I'm planning to do the following:

1. Generate a 256 bit random salt.
2. Generate a 512 bit tag with Argon2id using the user's password and the salt.
3. Take the first 256 bits of the 512 bit tag for the first key and the second 256 bits for the second key.

Does this produce two independent keys?

Note: this question answers in the positive for scrypt.

• Apr 1 at 21:18

• So is the correct interpretation of "the total security is no greater than 512 bits, but this is not a problem and a larger output does not cause the randomness to "stretch" and turn weak." that the security of a chunk of the output is minimum(bits_in_chunk, 512) bits? Jun 6 at 18:33