Home GnuPG

kdf: Implement Argon2 KDF using blake2b_vl_hash function.

Description

kdf: Implement Argon2 KDF using blake2b_vl_hash function.

* cipher/kdf.c (hash): Remove, as it's not possible to implement with
_gcry_md_* programming interface.
(xor_block): New.
(argon2_fill_first_blocks): Rename from argon2_genh0_first_blocks.
(argon2_init): Don't use ->HD any more.
(fill_block, pseudo_random_generate, index_alpha): New.
(argon2_compute_segment): Implement ARGOND, ARGON2I and ARGON2ID.
(argon2_final): Fix using blake2b_vl_hash.
(argon2_open): Fix for parameters and the restriction for output length.
* tests/t-kdf.c (check_argon2): Update test vector for version 0x13.
(main): Enable the test.
  • Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>

Details

Provenance
gniibeAuthored on Jan 28 2022, 6:40 AM
Parents
rC6467287ba121: cipher: Implement variable-length hash function for Argon2.
Branches
Unknown
Tags
Unknown