diff options
-rw-r--r-- | src/util/Makefile.am | 3 | ||||
-rw-r--r-- | src/util/crypto_bug.c | 77 | ||||
-rw-r--r-- | src/util/crypto_ecc.c | 3 | ||||
-rw-r--r-- | src/util/crypto_ecc_setup.c | 3 |
4 files changed, 1 insertions, 85 deletions
diff --git a/src/util/Makefile.am b/src/util/Makefile.am index 407f482df8..208cab07b0 100644 --- a/src/util/Makefile.am +++ b/src/util/Makefile.am @@ -598,5 +598,4 @@ EXTRA_DIST = \ test_resolver_api_data.conf \ test_service_data.conf \ test_speedup_data.conf \ - gnunet-qr.py.in \ - crypto_bug.c + gnunet-qr.py.in diff --git a/src/util/crypto_bug.c b/src/util/crypto_bug.c deleted file mode 100644 index aea801d408..0000000000 --- a/src/util/crypto_bug.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - This file is part of GNUnet. - Copyright (C) 2018 GNUnet e.V. - - GNUnet is free software: you can redistribute it and/or modify it - under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, - or (at your option) any later version. - - GNUnet is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -/** - * @file util/crypto_bug.c - * @brief work around unidentified public key cryptography bug - * @author Christian Grothoff - */ - -/** - * Enable work-around. Will cause code to call #check_eddsa_key() to - * see if we have a bad key, and if so, create a new one. - */ -#define CRYPTO_BUG 0 - - -#if CRYPTO_BUG -/** - * Check if ECDH works with @a priv_dsa and this version - * of libgcrypt. - * - * @param priv_dsa key to check - * @return #GNUNET_OK if key passes - */ -static int -check_eddsa_key (const struct GNUNET_CRYPTO_EddsaPrivateKey *priv_dsa) -{ - struct GNUNET_CRYPTO_EcdhePrivateKey *priv_ecdh; - struct GNUNET_CRYPTO_EddsaPublicKey id1; - struct GNUNET_CRYPTO_EcdhePublicKey id2; - struct GNUNET_HashCode dh[2]; - - GNUNET_CRYPTO_eddsa_key_get_public (priv_dsa, - &id1); - for (unsigned int j=0;j<4;j++) - { - priv_ecdh = GNUNET_CRYPTO_ecdhe_key_create (); - /* Extract public keys */ - GNUNET_CRYPTO_ecdhe_key_get_public (priv_ecdh, - &id2); - /* Do ECDH */ - GNUNET_assert (GNUNET_OK == - GNUNET_CRYPTO_eddsa_ecdh (priv_dsa, - &id2, - &dh[0])); - GNUNET_assert (GNUNET_OK == - GNUNET_CRYPTO_ecdh_eddsa (priv_ecdh, - &id1, - &dh[1])); - /* Check that both DH results are equal. */ - if (0 != memcmp (&dh[0], - &dh[1], - sizeof (struct GNUNET_HashCode))) - { - GNUNET_break (0); /* bad EdDSA key! */ - return GNUNET_SYSERR; - } - GNUNET_free (priv_ecdh); - } - return GNUNET_OK; -} -#endif diff --git a/src/util/crypto_ecc.c b/src/util/crypto_ecc.c index 789d350ff6..07782b1815 100644 --- a/src/util/crypto_ecc.c +++ b/src/util/crypto_ecc.c @@ -50,9 +50,6 @@ #define LOG_GCRY(level, cmd, rc) do { LOG(level, _("`%s' failed at %s:%d with error: %s\n"), cmd, __FILE__, __LINE__, gcry_strerror(rc)); } while(0) -#include "crypto_bug.c" - - /** * Extract values from an S-expression. * diff --git a/src/util/crypto_ecc_setup.c b/src/util/crypto_ecc_setup.c index 1316a900c7..507cbba113 100644 --- a/src/util/crypto_ecc_setup.c +++ b/src/util/crypto_ecc_setup.c @@ -39,9 +39,6 @@ #define LOG_GCRY(level, cmd, rc) do { LOG(level, _("`%s' failed at %s:%d with error: %s\n"), cmd, __FILE__, __LINE__, gcry_strerror(rc)); } while(0) -#include "crypto_bug.c" - - /** * Wait for a short time (we're trying to lock a file or want * to give another process a shot at finishing a disk write, etc.). |