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>