SipHash: make it possible to control the hash size through string controls
authorRichard Levitte <levitte@openssl.org>
Sat, 8 Sep 2018 21:19:06 +0000 (23:19 +0200)
committerRichard Levitte <levitte@openssl.org>
Sat, 8 Sep 2018 23:47:56 +0000 (01:47 +0200)
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7154)

crypto/siphash/siphash_pmeth.c

index a63526025398ed77ea252828c7b2cff81ededa06..5c981bdb0bd05b4684d193c5d7d9b9926e6e61be 100644 (file)
@@ -167,6 +167,12 @@ static int pkey_siphash_ctrl_str(EVP_PKEY_CTX *ctx,
 {
     if (value == NULL)
         return 0;
+    if (strcmp(type, "digestsize") == 0) {
+        size_t hash_size = atoi(value);
+
+        return pkey_siphash_ctrl(ctx, EVP_PKEY_CTRL_SET_DIGEST_SIZE, hash_size,
+                                 NULL);
+    }
     if (strcmp(type, "key") == 0)
         return EVP_PKEY_CTX_str2ctrl(ctx, EVP_PKEY_CTRL_SET_MAC_KEY, value);
     if (strcmp(type, "hexkey") == 0)