blake2: register MAC objects
authorAntoine Salon <asalon@vmware.com>
Thu, 20 Dec 2018 23:32:58 +0000 (15:32 -0800)
committerMatt Caswell <matt@openssl.org>
Wed, 6 Feb 2019 09:18:43 +0000 (09:18 +0000)
Signed-off-by: Antoine Salon <asalon@vmware.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7726)

crypto/evp/c_allm.c
crypto/objects/obj_dat.h
crypto/objects/obj_mac.num
crypto/objects/objects.txt
include/openssl/evp.h
include/openssl/obj_mac.h

index 2cc0694..e3e03e1 100644 (file)
@@ -12,6 +12,9 @@
 
 void openssl_add_all_macs_int(void)
 {
+#ifndef OPENSSL_NO_BLAKE2
+    EVP_add_mac(&blake2b_mac_meth);
+#endif
 #ifndef OPENSSL_NO_CMAC
     EVP_add_mac(&cmac_meth);
 #endif
index 859795f..78a9e7a 100644 (file)
@@ -1079,7 +1079,7 @@ static const unsigned char so[7767] = {
     0x28,0xCC,0x45,0x03,0x04,                      /* [ 7761] OBJ_gmac */
 };
 
-#define NUM_NID 1201
+#define NUM_NID 1203
 static const ASN1_OBJECT nid_objs[NUM_NID] = {
     {"UNDEF", "undefined", NID_undef},
     {"rsadsi", "RSA Data Security, Inc.", NID_rsadsi, 6, &so[0]},
@@ -2282,9 +2282,11 @@ static const ASN1_OBJECT nid_objs[NUM_NID] = {
     {"AES-128-SIV", "aes-128-siv", NID_aes_128_siv},
     {"AES-192-SIV", "aes-192-siv", NID_aes_192_siv},
     {"AES-256-SIV", "aes-256-siv", NID_aes_256_siv},
+    {"BLAKE2BMAC", "blake2bmac", NID_blake2bmac},
+    {"BLAKE2SMAC", "blake2smac", NID_blake2smac},
 };
 
-#define NUM_SN 1192
+#define NUM_SN 1194
 static const unsigned int sn_objs[NUM_SN] = {
      364,    /* "AD_DVCS" */
      419,    /* "AES-128-CBC" */
@@ -2362,6 +2364,8 @@ static const unsigned int sn_objs[NUM_SN] = {
       93,    /* "BF-CFB" */
       92,    /* "BF-ECB" */
       94,    /* "BF-OFB" */
+    1201,    /* "BLAKE2BMAC" */
+    1202,    /* "BLAKE2SMAC" */
     1056,    /* "BLAKE2b512" */
     1057,    /* "BLAKE2s256" */
       14,    /* "C" */
@@ -3480,7 +3484,7 @@ static const unsigned int sn_objs[NUM_SN] = {
     1093,    /* "x509ExtAdmission" */
 };
 
-#define NUM_LN 1192
+#define NUM_LN 1194
 static const unsigned int ln_objs[NUM_LN] = {
      363,    /* "AD Time Stamping" */
      405,    /* "ANSI X9.62" */
@@ -3782,7 +3786,9 @@ static const unsigned int ln_objs[NUM_LN] = {
       92,    /* "bf-ecb" */
       94,    /* "bf-ofb" */
     1056,    /* "blake2b512" */
+    1201,    /* "blake2bmac" */
     1057,    /* "blake2s256" */
+    1202,    /* "blake2smac" */
      921,    /* "brainpoolP160r1" */
      922,    /* "brainpoolP160t1" */
      923,    /* "brainpoolP192r1" */
index 021875d..8779020 100644 (file)
@@ -1198,3 +1198,5 @@ kmac256           1197
 aes_128_siv            1198
 aes_192_siv            1199
 aes_256_siv            1200
+blake2bmac             1201
+blake2smac             1202
index fc32606..344b67b 100644 (file)
@@ -17,6 +17,8 @@ iso 0 9797 3 4                          : GMAC          : gmac
 # There are no OIDs for these yet...
             : KMAC128   : kmac128
             : KMAC256   : kmac256
+            : BLAKE2BMAC       : blake2bmac
+            : BLAKE2SMAC       : blake2smac
 
 # HMAC OIDs
 identified-organization 6 1 5 5 8 1 1  : HMAC-MD5      : hmac-md5
index 0094806..23f07ea 100644 (file)
@@ -993,6 +993,8 @@ void EVP_MD_do_all_sorted(void (*fn)
 
 /* MAC stuff */
 
+# define EVP_MAC_BLAKE2B        NID_blake2bmac
+# define EVP_MAC_BLAKE2S        NID_blake2smac
 # define EVP_MAC_CMAC           NID_cmac
 # define EVP_MAC_GMAC           NID_gmac
 # define EVP_MAC_HMAC           NID_hmac
index 242eaeb..97b2204 100644 (file)
 #define LN_kmac256              "kmac256"
 #define NID_kmac256             1197
 
+#define SN_blake2bmac           "BLAKE2BMAC"
+#define LN_blake2bmac           "blake2bmac"
+#define NID_blake2bmac          1201
+
+#define SN_blake2smac           "BLAKE2SMAC"
+#define LN_blake2smac           "blake2smac"
+#define NID_blake2smac          1202
+
 #define SN_hmac_md5             "HMAC-MD5"
 #define LN_hmac_md5             "hmac-md5"
 #define NID_hmac_md5            780