mbedtls: Activate deterministic ECDSA
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 24 Jun 2018 19:27:41 +0000 (21:27 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 7 Jul 2018 16:33:53 +0000 (18:33 +0200)
With deterministic ECDSA the value k needed for the ECDSA signature is
not randomly generated any more, but generated from a hash over the
private key and the message to sign. If the value k used in a ECDSA
signature or the relationship between the two values k used in two
different ECDSA signatures over the same content is know to an attacker
he can derive the private key pretty easily. Using deterministic ECDSA
as defined in the RFC6979 removes this problem by deriving the value k
deterministically from the private key and the content which gets
signed.

The resulting signature is still compatible to signatures generated not
deterministic.

This increases the size of the ipk on mips 24Kc by about 2 KByte.
old:
166.240 libmbedtls_2.11.0-1_mips_24kc.ipk
new:
167.811 libmbedtls_2.11.0-1_mips_24kc.ipk

This does not change the ECDSA performance in a measurable way.

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
package/libs/mbedtls/patches/200-config.patch

index e3e6d23..d925ee3 100644 (file)
  
  /**
   * \def MBEDTLS_ECP_NIST_OPTIM
-@@ -656,7 +656,7 @@
-  *
-  * Comment this macro to disable deterministic ECDSA.
-  */
--#define MBEDTLS_ECDSA_DETERMINISTIC
-+//#define MBEDTLS_ECDSA_DETERMINISTIC
- /**
-  * \def MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
 @@ -709,7 +709,7 @@
   *             See dhm.h for more details.
   *
  
  /**
   * \def MBEDTLS_HMAC_DRBG_C
-@@ -2203,7 +2203,7 @@
-  *
-  * Uncomment to enable the HMAC_DRBG random number geerator.
-  */
--#define MBEDTLS_HMAC_DRBG_C
-+//#define MBEDTLS_HMAC_DRBG_C
- /**
-  * \def MBEDTLS_MD_C
 @@ -2486,7 +2486,7 @@
   *
   * This module enables abstraction of common (libc) functions.