From 1323b81cd2679bb61a480524a0e4cd008d3d0bee Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 1 Jul 2026 21:37:09 +0200 Subject: Add support for the reference implementation of Argon2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- librecrypt_settings_prefix.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'librecrypt_settings_prefix.c') diff --git a/librecrypt_settings_prefix.c b/librecrypt_settings_prefix.c index 31359c7..e898cd0 100644 --- a/librecrypt_settings_prefix.c +++ b/librecrypt_settings_prefix.c @@ -136,36 +136,40 @@ main(void) CHECK_ZERO("$~no~such~algorithm~$", "hash"); /* Check without hash and hashlen */ -#if defined(SUPPORT_ARGON2I) +#if defined(SUPPORT_ARGON2I) && defined(SUPPORT_ARGON2_V1_0) CHECK_HASH("$argon2i$m=8,t=1,p=1$*99$", "*100", 100); CHECK_HASH("x$*99>$argon2i$m=8,t=1,p=1$*99$", "*100", 100); CHECK_HASH("$argon2i$m=8,t=1,p=1$*99$", "NineByteHash", 9); CHECK_HASH("x$*99>$argon2i$m=8,t=1,p=1$*99$", "NineByteHash", 9); #endif -#if defined(SUPPORT_ARGON2ID) +#if defined(SUPPORT_ARGON2ID) && defined(SUPPORT_ARGON2_V1_0) CHECK_HASH("$argon2id$m=8,t=1,p=1$*99$", "*100", 100); CHECK_HASH("x$*99>$argon2id$m=8,t=1,p=1$*99$", "*100", 100); CHECK_HASH("$argon2id$m=8,t=1,p=1$*99$", "NineByteHash", 9); CHECK_HASH("x$*99>$argon2id$m=8,t=1,p=1$*99$", "NineByteHash", 9); #endif -#if defined(SUPPORT_ARGON2D) +#if defined(SUPPORT_ARGON2D) && defined(SUPPORT_ARGON2_V1_0) CHECK_HASH("$argon2d$m=8,t=1,p=1$*99$", "*100", 100); CHECK_HASH("x$*99>$argon2d$m=8,t=1,p=1$*99$", "*100", 100); CHECK_HASH("$argon2d$m=8,t=1,p=1$*99$", "NineByteHash", 9); CHECK_HASH("x$*99>$argon2d$m=8,t=1,p=1$*99$", "NineByteHash", 9); #endif -#if defined(SUPPORT_ARGON2DS) +#if defined(SUPPORT_ARGON2DS) && defined(SUPPORT_ARGON2_V1_0) CHECK_HASH("$argon2ds$m=8,t=1,p=1$*99$", "*100", 100); CHECK_HASH("x$*99>$argon2ds$m=8,t=1,p=1$*99$", "*100", 100); CHECK_HASH("$argon2ds$m=8,t=1,p=1$*99$", "NineByteHash", 9); CHECK_HASH("x$*99>$argon2ds$m=8,t=1,p=1$*99$", "NineByteHash", 9); #endif - /* Check without invalid hash */ - IF__argon2i__SUPPORTED(CHECK_ZERO("$argon2i$m=8,t=1,p=1$*99$", "#");) - IF__argon2d__SUPPORTED(CHECK_ZERO("$argon2d$m=8,t=1,p=1$*99$", "#");) - IF__argon2id__SUPPORTED(CHECK_ZERO("$argon2id$m=8,t=1,p=1$*99$", "#");) - IF__argon2ds__SUPPORTED(CHECK_ZERO("$argon2ds$m=8,t=1,p=1$*99$", "#");) + /* Check with invalid hash */ + IF__argon2i_v1_0__SUPPORTED(CHECK_ZERO("$argon2i$m=8,t=1,p=1$*99$", "#");) + IF__argon2d_v1_0__SUPPORTED(CHECK_ZERO("$argon2d$m=8,t=1,p=1$*99$", "#");) + IF__argon2id_v1_0__SUPPORTED(CHECK_ZERO("$argon2id$m=8,t=1,p=1$*99$", "#");) + IF__argon2ds_v1_0__SUPPORTED(CHECK_ZERO("$argon2ds$m=8,t=1,p=1$*99$", "#");) + IF__argon2i_v1_3__SUPPORTED(CHECK_ZERO("$argon2i$v=19$m=8,t=1,p=1$*99$", "#");) + IF__argon2d_v1_3__SUPPORTED(CHECK_ZERO("$argon2d$v=19$m=8,t=1,p=1$*99$", "#");) + IF__argon2id_v1_3__SUPPORTED(CHECK_ZERO("$argon2id$v=19$m=8,t=1,p=1$*99$", "#");) + IF__argon2ds_v1_3__SUPPORTED(CHECK_ZERO("$argon2ds$v=19$m=8,t=1,p=1$*99$", "#");) /* Test without flexible hash size (but with context I guess) */ ctx = librecrypt_create_context(); -- cgit v1.3.1