mgf1: Support of RSA PSS with SHA3 hash

This commit is contained in:
Andreas Steffen
2024-11-22 14:05:36 +01:00
committed by Tobias Brunner
parent 1265d78cac
commit 3b7c49bc31
5 changed files with 46 additions and 7 deletions
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2008-2009 Martin Willi
* Copyright (C) 2023 Andreas Steffen, strongSec GmbH
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
@@ -115,6 +116,8 @@ METHOD(plugin_t, get_features, int,
PLUGIN_SDEPEND(XOF, XOF_MGF1_SHA1),
PLUGIN_SDEPEND(XOF, XOF_MGF1_SHA256),
PLUGIN_SDEPEND(XOF, XOF_MGF1_SHA512),
PLUGIN_SDEPEND(XOF, XOF_MGF1_SHA3_256),
PLUGIN_SDEPEND(XOF, XOF_MGF1_SHA3_512),
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_NULL),
PLUGIN_PROVIDE(PUBKEY_VERIFY, SIGN_RSA_EMSA_PKCS1_SHA2_224),
PLUGIN_DEPENDS(HASHER, HASH_SHA224),
+9 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2016 Andreas Steffen
* Copyright (C) 2016-2023 Andreas Steffen
*
* Copyright (C) secunet Security Networks AG
*
@@ -53,6 +53,14 @@ METHOD(plugin_t, get_features, int,
PLUGIN_DEPENDS(HASHER, HASH_SHA384),
PLUGIN_PROVIDE(XOF, XOF_MGF1_SHA512),
PLUGIN_DEPENDS(HASHER, HASH_SHA512),
PLUGIN_PROVIDE(XOF, XOF_MGF1_SHA3_224),
PLUGIN_DEPENDS(HASHER, HASH_SHA3_224),
PLUGIN_PROVIDE(XOF, XOF_MGF1_SHA3_256),
PLUGIN_DEPENDS(HASHER, HASH_SHA3_256),
PLUGIN_PROVIDE(XOF, XOF_MGF1_SHA3_384),
PLUGIN_DEPENDS(HASHER, HASH_SHA3_384),
PLUGIN_PROVIDE(XOF, XOF_MGF1_SHA3_512),
PLUGIN_DEPENDS(HASHER, HASH_SHA3_512),
};
*features = f;
return countof(f);
+12
View File
@@ -257,6 +257,18 @@ mgf1_xof_t *mgf1_xof_create(ext_out_function_t algorithm)
case XOF_MGF1_SHA512:
hash_alg = HASH_SHA512;
break;
case XOF_MGF1_SHA3_224:
hash_alg = HASH_SHA3_224;
break;
case XOF_MGF1_SHA3_256:
hash_alg = HASH_SHA3_256;
break;
case XOF_MGF1_SHA3_384:
hash_alg = HASH_SHA3_384;
break;
case XOF_MGF1_SHA3_512:
hash_alg = HASH_SHA3_512;
break;
default:
return NULL;
}