/*
* Copyright (C) 2017 Tobias Brunner
- * Copyright (C) 2016 Andreas Steffen
+ * Copyright (C) 2016-2023 Andreas Steffen
*
* Copyright (C) secunet Security Networks AG
*
"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"
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;
/*
* Copyright (C) 2017 Tobias Brunner
- * Copyright (C) 2016 Andreas Steffen
+ * Copyright (C) 2016-2023 Andreas Steffen
*
* Copyright (C) secunet Security Networks AG
*
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 */
/*
* 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
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),
/*
- * Copyright (C) 2016 Andreas Steffen
+ * Copyright (C) 2016-2023 Andreas Steffen
*
* Copyright (C) secunet Security Networks AG
*
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);
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;
}