From d38701f99fb6e7d2db24a6a252946d488667d3a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sun, 19 Apr 2020 10:56:25 +0200 Subject: [PATCH] tests: reduce number of iterations in PBKDF2 tests from 100000 to 1000 This speeds up tests by about 30%. --- tests/unit/core/test-core-crypto.cpp | 24 +------- tests/unit/plugins/relay/test-relay-auth.cpp | 62 ++++++++++---------- 2 files changed, 32 insertions(+), 54 deletions(-) diff --git a/tests/unit/core/test-core-crypto.cpp b/tests/unit/core/test-core-crypto.cpp index 43a8bc160..7e12af9ac 100644 --- a/tests/unit/core/test-core-crypto.cpp +++ b/tests/unit/core/test-core-crypto.cpp @@ -54,18 +54,11 @@ extern "C" #define DATA_HASH_SALT "this is a salt of 32 bytes xxxxx" #define DATA_HASH_PBKDF2_SHA1_1000 "85ce23c8873830df8f0a96aa82ae7d7635dad12" \ "7" -#define DATA_HASH_PBKDF2_SHA1_100000 "f2c2a079007523df3a5a5c7b578073dff06ba" \ - "49f" #define DATA_HASH_PBKDF2_SHA256_1000 "0eb0a795537a8c37a2d7d7e50a076e07c9a8e" \ "e9aa281669381af99fad198997c" -#define DATA_HASH_PBKDF2_SHA256_100000 "b243ef60f9d9e7a6315f874053802cfb3b7" \ - "b5a3502d47cf7fd76b3ee5661fcff" #define DATA_HASH_PBKDF2_SHA512_1000 "03d8e9e86f3bbe20b88a600a5aa15f8cfbee0" \ "a402af301e1714c25467a32489c773c71eddf5aa39f42823ecc54c9e9b015517b5f3c0" \ "19bae9463a2d8fe527882" -#define DATA_HASH_PBKDF2_SHA512_100000 "286cca5521b00a7398530fbf11a570401a8" \ - "0c901f1584cb493fcb75c49e5c30613c331ce318b34615a08be2fdcb9a3b4d3e9a5b62" \ - "e119db6941010533cdf73d3" #define TOTP_SECRET "secretpasswordbase32" @@ -218,7 +211,7 @@ TEST(CoreCrypto, HashPbkdf2) WEE_CHECK_HASH_PBKDF2(0, NULL, "test", 4, GCRY_MD_SHA1, "salt", 4, 0); LONGS_EQUAL (0, weecrypto_hash_pbkdf2 (data, data_size, GCRY_MD_SHA256, - salt, salt_size, 100000, + salt, salt_size, 1000, NULL, NULL)); /* SHA1 */ @@ -227,11 +220,6 @@ TEST(CoreCrypto, HashPbkdf2) GCRY_MD_SHA1, DATA_HASH_SALT, salt_size, 1000); - WEE_CHECK_HASH_PBKDF2(1, DATA_HASH_PBKDF2_SHA1_100000, - data, data_size, - GCRY_MD_SHA1, - DATA_HASH_SALT, salt_size, - 100000); /* SHA256 */ WEE_CHECK_HASH_PBKDF2(1, DATA_HASH_PBKDF2_SHA256_1000, @@ -239,11 +227,6 @@ TEST(CoreCrypto, HashPbkdf2) GCRY_MD_SHA256, DATA_HASH_SALT, salt_size, 1000); - WEE_CHECK_HASH_PBKDF2(1, DATA_HASH_PBKDF2_SHA256_100000, - data, data_size, - GCRY_MD_SHA256, - DATA_HASH_SALT, salt_size, - 100000); /* SHA512 */ WEE_CHECK_HASH_PBKDF2(1, DATA_HASH_PBKDF2_SHA512_1000, @@ -251,11 +234,6 @@ TEST(CoreCrypto, HashPbkdf2) GCRY_MD_SHA512, DATA_HASH_SALT, salt_size, 1000); - WEE_CHECK_HASH_PBKDF2(1, DATA_HASH_PBKDF2_SHA512_100000, - data, data_size, - GCRY_MD_SHA512, - DATA_HASH_SALT, salt_size, - 100000); } /* diff --git a/tests/unit/plugins/relay/test-relay-auth.cpp b/tests/unit/plugins/relay/test-relay-auth.cpp index 78345c60e..15dc07e3b 100644 --- a/tests/unit/plugins/relay/test-relay-auth.cpp +++ b/tests/unit/plugins/relay/test-relay-auth.cpp @@ -148,7 +148,7 @@ TEST(RelayAuth, ParsePbkdf2) POINTERS_EQUAL(NULL, hash_pbkdf2); /* not enough parameters: 2 (expected: 3) */ - WEE_CHECK_PARSE_PBKDF2("41424344:100000"); + WEE_CHECK_PARSE_PBKDF2("41424344:1000"); POINTERS_EQUAL(NULL, salt_hexa); POINTERS_EQUAL(NULL, salt); LONGS_EQUAL(0, salt_size); @@ -156,40 +156,40 @@ TEST(RelayAuth, ParsePbkdf2) POINTERS_EQUAL(NULL, hash_pbkdf2); /* good parameters */ - WEE_CHECK_PARSE_PBKDF2("41424344:100000:01757d53157ca14a1419e3a8cc1563536" - "520a60b76d2d48e7f9ac09afc945a1c"); + WEE_CHECK_PARSE_PBKDF2("41424344:1000:8765936466387f2cfcc47d2617423386684" + "a218d64a57f8213e42b0fe60d8849"); STRCMP_EQUAL("41424344", salt_hexa); MEMCMP_EQUAL(salt_expected, salt, 4); LONGS_EQUAL(4, salt_size); - LONGS_EQUAL(100000, iterations); - STRCMP_EQUAL("01757d53157ca14a1419e3a8cc1563536520a60b76d2d48e7f9ac09afc9" - "45a1c", + LONGS_EQUAL(1000, iterations); + STRCMP_EQUAL("8765936466387f2cfcc47d2617423386684a218d64a57f8213e42b0fe60" + "d8849", hash_pbkdf2); free (salt_hexa); free (salt); free (hash_pbkdf2); /* wrong salt */ - WEE_CHECK_PARSE_PBKDF2("Z:100000:01757d53157ca14a1419e3a8cc1563536520a60b" - "76d2d48e7f9ac09afc945a1c"); + WEE_CHECK_PARSE_PBKDF2("Z:1000:8765936466387f2cfcc47d2617423386684a218d64" + "a57f8213e42b0fe60d8849"); POINTERS_EQUAL(NULL, salt_hexa); POINTERS_EQUAL(NULL, salt); LONGS_EQUAL(0, salt_size); - LONGS_EQUAL(100000, iterations); - STRCMP_EQUAL("01757d53157ca14a1419e3a8cc1563536520a60b76d2d48e7f9ac09afc9" - "45a1c", + LONGS_EQUAL(1000, iterations); + STRCMP_EQUAL("8765936466387f2cfcc47d2617423386684a218d64a57f8213e42b0fe60" + "d8849", hash_pbkdf2); free (hash_pbkdf2); /* wrong iterations */ - WEE_CHECK_PARSE_PBKDF2("41424344:abcd:01757d53157ca14a1419e3a8cc156353652" - "0a60b76d2d48e7f9ac09afc945a1c"); + WEE_CHECK_PARSE_PBKDF2("41424344:abcd:8765936466387f2cfcc47d2617423386684" + "a218d64a57f8213e42b0fe60d8849"); STRCMP_EQUAL("41424344", salt_hexa); MEMCMP_EQUAL(salt_expected, salt, 4); LONGS_EQUAL(4, salt_size); LONGS_EQUAL(0, iterations); - STRCMP_EQUAL("01757d53157ca14a1419e3a8cc1563536520a60b76d2d48e7f9ac09afc9" - "45a1c", + STRCMP_EQUAL("8765936466387f2cfcc47d2617423386684a218d64a57f8213e42b0fe60" + "d8849", hash_pbkdf2); free (salt_hexa); free (salt); @@ -311,10 +311,10 @@ TEST(RelayAuth, CheckHashPbkdf2) "sha256", salt, sizeof (salt), 0, NULL, NULL)); LONGS_EQUAL(0, relay_auth_check_hash_pbkdf2 ( - "sha256", salt, sizeof (salt), 100000, NULL, NULL)); + "sha256", salt, sizeof (salt), 1000, NULL, NULL)); LONGS_EQUAL(0, relay_auth_check_hash_pbkdf2 ( - "sha256", salt, sizeof (salt), 100000, "", "")); + "sha256", salt, sizeof (salt), 1000, "", "")); /* PBKDF2 (SHA256): hash is for password "wrong" */ LONGS_EQUAL(0, @@ -322,9 +322,9 @@ TEST(RelayAuth, CheckHashPbkdf2) "sha256", salt, sizeof (salt), - 100000, - "e8f92a75f5956e9dc3499775221e9ef121bf4d09bdca4391b69aa62c" - "50c2bb6b", + 1000, + "59f69895354b82a76d0b3030745c54f961de9da4a80b697b3010d749" + "58f452a1", "password")); /* PBKDF2 (SHA256): hash is for password "password" */ LONGS_EQUAL(1, @@ -332,9 +332,9 @@ TEST(RelayAuth, CheckHashPbkdf2) "sha256", salt, sizeof (salt), - 100000, - "323d29f1762dcb5917bc8320c4eb9ea05900fc28e53cbc3e1b7f0980" - "2e35e2d0", + 1000, + "1351b6c26ade0de7dc9422e09a0cd44aae9c1e5e9147ad7e91fb117f" + "2f27852d", "password")); /* PBKDF2 (SHA512): hash is for password "wrong" */ @@ -343,10 +343,10 @@ TEST(RelayAuth, CheckHashPbkdf2) "sha512", salt, sizeof (salt), - 100000, - "e682a3815a4d1de8d13a223932b6b0467b7d775111aae3794afb9a84" - "ee62bd50755fde725262f75d1211e8497a35c8dca8a6333bcc9f7b53" - "244f6ff567d25cfc", + 1000, + "4a7cd751fe20abaf52a92daeb13e571aed2453425a17258b3fa4a536" + "e8b66228f5f44570347aca462ae280de7951b9e90d2ee3d7c3dd455f" + "678e9ec80768d30e", "password")); /* PBKDF2 (SHA512): hash is for password "password" */ LONGS_EQUAL(1, @@ -354,9 +354,9 @@ TEST(RelayAuth, CheckHashPbkdf2) "sha512", salt, sizeof (salt), - 100000, - "db166999c1f415a40570a4bbd3a26d461f87e495da215c75135b77bf" - "910a261d3749f28264d24b546fc898908d4209704700020b8dd2bca6" - "e4698208dd5aa5f2", + 1000, + "7b7eca3ea0c75d9218dc5d31cd7a80f752112dc7de86501973ba8723" + "b635d9b1e461273c3a8ad179cb5285b32f0c5ed0360e37b31713977e" + "f53326c3729ffd12", "password")); }