summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Salon <asalon@vmware.com>2018-12-20 15:32:58 -0800
committerMatt Caswell <matt@openssl.org>2019-02-06 09:18:43 +0000
commitd1ad7c834e10543b3d1ecb36ccbd110384063b8f (patch)
tree75d7d27e450810a719d56e318fd7295f4c00b4ba
parentc3a261f8d31c1d04db01de36eccfe001b4ca0368 (diff)
blake2: register MAC objects
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)
-rw-r--r--crypto/evp/c_allm.c3
-rw-r--r--crypto/objects/obj_dat.h12
-rw-r--r--crypto/objects/obj_mac.num2
-rw-r--r--crypto/objects/objects.txt2
-rw-r--r--include/openssl/evp.h2
-rw-r--r--include/openssl/obj_mac.h8
6 files changed, 26 insertions, 3 deletions
diff --git a/crypto/evp/c_allm.c b/crypto/evp/c_allm.c
index 2cc0694221..e3e03e1261 100644
--- a/crypto/evp/c_allm.c
+++ b/crypto/evp/c_allm.c
@@ -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
diff --git a/crypto/objects/obj_dat.h b/crypto/objects/obj_dat.h
index 859795fa50..78a9e7acaf 100644
--- a/crypto/objects/obj_dat.h
+++ b/crypto/objects/obj_dat.h
@@ -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" */
diff --git a/crypto/objects/obj_mac.num b/crypto/objects/obj_mac.num
index 021875d9e4..87790200d4 100644
--- a/crypto/objects/obj_mac.num
+++ b/crypto/objects/obj_mac.num
@@ -1198,3 +1198,5 @@ kmac256 1197
aes_128_siv 1198
aes_192_siv 1199
aes_256_siv 1200
+blake2bmac 1201
+blake2smac 1202
diff --git a/crypto/objects/objects.txt b/crypto/objects/objects.txt
index fc32606deb..344b67b395 100644
--- a/crypto/objects/objects.txt
+++ b/crypto/objects/objects.txt
@@ -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
diff --git a/include/openssl/evp.h b/include/openssl/evp.h
index 0094806bd0..23f07eaa05 100644
--- a/include/openssl/evp.h
+++ b/include/openssl/evp.h
@@ -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
diff --git a/include/openssl/obj_mac.h b/include/openssl/obj_mac.h
index 242eaeb6ce..97b2204ba6 100644
--- a/include/openssl/obj_mac.h
+++ b/include/openssl/obj_mac.h
@@ -57,6 +57,14 @@
#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