Simplify some code
authorMatt Caswell <matt@openssl.org>
Wed, 7 Feb 2018 13:40:56 +0000 (13:40 +0000)
committerMatt Caswell <matt@openssl.org>
Tue, 20 Feb 2018 12:59:31 +0000 (12:59 +0000)
The original curve448 code was templated to allow for a 25519
implementation. We've just imported the 448 stuff - but a remnant of
the original templated approach remained. This just simplifies that.

Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/5105)

crypto/ec/curve448/eddsa.c

index 92892f305d805b9a4b7599e48d4448bc2b64294c..71757157036143a2e2c0c18685de1e57dfc90158 100644 (file)
@@ -40,17 +40,9 @@ static c448_error_t oneshot_hash(uint8_t *out, size_t outlen,
 
 static void clamp(uint8_t secret_scalar_ser[EDDSA_448_PRIVATE_BYTES])
 {
-    uint8_t hibit = (1 << 0) >> 1;
-
-    /* Blarg */
     secret_scalar_ser[0] &= -COFACTOR;
-    if (hibit == 0) {
-        secret_scalar_ser[EDDSA_448_PRIVATE_BYTES - 1] = 0;
-        secret_scalar_ser[EDDSA_448_PRIVATE_BYTES - 2] |= 0x80;
-    } else {
-        secret_scalar_ser[EDDSA_448_PRIVATE_BYTES - 1] &= hibit - 1;
-        secret_scalar_ser[EDDSA_448_PRIVATE_BYTES - 1] |= hibit;
-    }
+    secret_scalar_ser[EDDSA_448_PRIVATE_BYTES - 1] = 0;
+    secret_scalar_ser[EDDSA_448_PRIVATE_BYTES - 2] |= 0x80;
 }
 
 static c448_error_t hash_init_with_dom(EVP_MD_CTX *hashctx, uint8_t prehashed,