mirror of
https://github.com/strongswan/strongswan.git
synced 2025-10-03 00:00:24 -04:00
mgf1: Support of RSA PSS with SHA3 hash
This commit is contained in:
parent
1265d78cac
commit
3b7c49bc31
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Tobias Brunner
|
||||
* Copyright (C) 2016 Andreas Steffen
|
||||
* Copyright (C) 2016-2023 Andreas Steffen
|
||||
*
|
||||
* Copyright (C) secunet Security Networks AG
|
||||
*
|
||||
@ -24,6 +24,10 @@ ENUM(ext_out_function_names, XOF_UNDEFINED, XOF_CHACHA20,
|
||||
"XOF_MGF1_SHA256",
|
||||
"XOF_MGF1_SHA384",
|
||||
"XOF_MGF1_SHA512",
|
||||
"XOF_MGF1_SHA3_224",
|
||||
"XOF_MGF1_SHA3_256",
|
||||
"XOF_MGF1_SHA3_384",
|
||||
"XOF_MGF1_SHA3_512",
|
||||
"XOF_SHAKE128",
|
||||
"XOF_SHAKE256",
|
||||
"XOF_CHACHA20"
|
||||
@ -46,15 +50,19 @@ ext_out_function_t xof_mgf1_from_hash_algorithm(hash_algorithm_t alg)
|
||||
return XOF_MGF1_SHA384;
|
||||
case HASH_SHA512:
|
||||
return XOF_MGF1_SHA512;
|
||||
case HASH_SHA3_224:
|
||||
return XOF_MGF1_SHA3_224;
|
||||
case HASH_SHA3_256:
|
||||
return XOF_MGF1_SHA3_256;
|
||||
case HASH_SHA3_384:
|
||||
return XOF_MGF1_SHA3_384;
|
||||
case HASH_SHA3_512:
|
||||
return XOF_MGF1_SHA3_384;
|
||||
case HASH_IDENTITY:
|
||||
case HASH_UNKNOWN:
|
||||
case HASH_MD2:
|
||||
case HASH_MD4:
|
||||
case HASH_MD5:
|
||||
case HASH_SHA3_224:
|
||||
case HASH_SHA3_256:
|
||||
case HASH_SHA3_384:
|
||||
case HASH_SHA3_512:
|
||||
break;
|
||||
}
|
||||
return XOF_UNDEFINED;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (C) 2017 Tobias Brunner
|
||||
* Copyright (C) 2016 Andreas Steffen
|
||||
* Copyright (C) 2016-2023 Andreas Steffen
|
||||
*
|
||||
* Copyright (C) secunet Security Networks AG
|
||||
*
|
||||
@ -43,6 +43,14 @@ enum ext_out_function_t {
|
||||
XOF_MGF1_SHA384,
|
||||
/** RFC 8017 PKCS#1 */
|
||||
XOF_MGF1_SHA512,
|
||||
/** RFC 8017 PKCS#1 */
|
||||
XOF_MGF1_SHA3_224,
|
||||
/** RFC 8017 PKCS#1 */
|
||||
XOF_MGF1_SHA3_256,
|
||||
/** RFC 8017 PKCS#1 */
|
||||
XOF_MGF1_SHA3_384,
|
||||
/** RFC 8017 PKCS#1 */
|
||||
XOF_MGF1_SHA3_512,
|
||||
/** FIPS 202 */
|
||||
XOF_SHAKE_128,
|
||||
/** FIPS 202 */
|
||||
|
@ -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),
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user