botan: SHA-3 support
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2018 Tobias Brunner
|
||||
* Copyright (C) 2018 Andreas Steffen
|
||||
* HSR Hochschule fuer Technik Rapperswil
|
||||
*
|
||||
* Copyright (C) 2018 René Korthaus
|
||||
@@ -164,6 +165,13 @@ METHOD(plugin_t, get_features, int,
|
||||
PLUGIN_PROVIDE(HASHER, HASH_SHA384),
|
||||
PLUGIN_PROVIDE(HASHER, HASH_SHA512),
|
||||
#endif
|
||||
#ifdef BOTAN_HAS_SHA3
|
||||
PLUGIN_PROVIDE(HASHER, HASH_SHA3_224),
|
||||
PLUGIN_PROVIDE(HASHER, HASH_SHA3_256),
|
||||
PLUGIN_PROVIDE(HASHER, HASH_SHA3_384),
|
||||
PLUGIN_PROVIDE(HASHER, HASH_SHA3_512),
|
||||
#endif
|
||||
|
||||
/* prfs */
|
||||
#ifdef BOTAN_HAS_HMAC
|
||||
PLUGIN_REGISTER(PRF, botan_hmac_prf_create),
|
||||
@@ -254,6 +262,16 @@ METHOD(plugin_t, get_features, int,
|
||||
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA2_384),
|
||||
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA2_512),
|
||||
#endif
|
||||
#ifdef BOTAN_HAS_SHA3
|
||||
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PKCS1_SHA3_224),
|
||||
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PKCS1_SHA3_256),
|
||||
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PKCS1_SHA3_384),
|
||||
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PKCS1_SHA3_512),
|
||||
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA3_224),
|
||||
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA3_256),
|
||||
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA3_384),
|
||||
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA3_512),
|
||||
#endif
|
||||
#endif
|
||||
#ifdef BOTAN_HAS_EMSA_PSSR
|
||||
PLUGIN_PROVIDE(PRIVKEY_SIGN, SIGN_RSA_EMSA_PSS),
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2018 Tobias Brunner
|
||||
* Copyright (C) 2018 Andreas Steffen
|
||||
* HSR Hochschule fuer Technik Rapperswil
|
||||
*
|
||||
* Copyright (C) 2018 René Korthaus
|
||||
@@ -135,6 +136,18 @@ METHOD(private_key_t, sign, bool,
|
||||
case SIGN_RSA_EMSA_PKCS1_SHA2_512:
|
||||
return botan_get_signature(this->key, "EMSA_PKCS1(SHA-512)", data,
|
||||
signature);
|
||||
case SIGN_RSA_EMSA_PKCS1_SHA3_224:
|
||||
return botan_get_signature(this->key, "EMSA_PKCS1(SHA-3(224))", data,
|
||||
signature);
|
||||
case SIGN_RSA_EMSA_PKCS1_SHA3_256:
|
||||
return botan_get_signature(this->key, "EMSA_PKCS1(SHA-3(256))", data,
|
||||
signature);
|
||||
case SIGN_RSA_EMSA_PKCS1_SHA3_384:
|
||||
return botan_get_signature(this->key, "EMSA_PKCS1(SHA-3(384))", data,
|
||||
signature);
|
||||
case SIGN_RSA_EMSA_PKCS1_SHA3_512:
|
||||
return botan_get_signature(this->key, "EMSA_PKCS1(SHA-3(512))", data,
|
||||
signature);
|
||||
case SIGN_RSA_EMSA_PSS:
|
||||
return build_emsa_pss_signature(this, params, data, signature);
|
||||
default:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2018 Tobias Brunner
|
||||
* Copyright (C) 2018 Andreas Steffen
|
||||
* HSR Hochschule fuer Technik Rapperswil
|
||||
*
|
||||
* Copyright (C) 2018 René Korthaus
|
||||
@@ -115,6 +116,18 @@ METHOD(public_key_t, verify, bool,
|
||||
case SIGN_RSA_EMSA_PKCS1_SHA2_512:
|
||||
return botan_verify_signature(this->key, "EMSA_PKCS1(SHA-512)",
|
||||
data, signature);
|
||||
case SIGN_RSA_EMSA_PKCS1_SHA3_224:
|
||||
return botan_verify_signature(this->key, "EMSA_PKCS1(SHA-3(224)",
|
||||
data, signature);
|
||||
case SIGN_RSA_EMSA_PKCS1_SHA3_256:
|
||||
return botan_verify_signature(this->key, "EMSA_PKCS1(SHA-3(256))",
|
||||
data, signature);
|
||||
case SIGN_RSA_EMSA_PKCS1_SHA3_384:
|
||||
return botan_verify_signature(this->key, "EMSA_PKCS1(SHA-3(384))",
|
||||
data, signature);
|
||||
case SIGN_RSA_EMSA_PKCS1_SHA3_512:
|
||||
return botan_verify_signature(this->key, "EMSA_PKCS1(SHA-3(512))",
|
||||
data, signature);
|
||||
case SIGN_RSA_EMSA_PSS:
|
||||
return verify_emsa_pss_signature(this, params, data, signature);
|
||||
default:
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2018 Tobias Brunner
|
||||
* Copyright (C) 2018 Andreas Steffen
|
||||
* HSR Hochschule fuer Technik Rapperswil
|
||||
*
|
||||
* Copyright (C) 2018 René Korthaus
|
||||
@@ -67,6 +68,14 @@ const char *botan_get_hash(hash_algorithm_t hash)
|
||||
return "SHA-384";
|
||||
case HASH_SHA512:
|
||||
return "SHA-512";
|
||||
case HASH_SHA3_224:
|
||||
return "SHA-3(224)";
|
||||
case HASH_SHA3_256:
|
||||
return "SHA-3(256)";
|
||||
case HASH_SHA3_384:
|
||||
return "SHA-3(384)";
|
||||
case HASH_SHA3_512:
|
||||
return "SHA-3(512)";
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user