From 75554737821b31e693adbee7c6b878035b217f6a Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Fri, 10 May 2024 11:37:33 +0200 Subject: [PATCH] PGPKeyConverter.implGetKdfParameters(): Add support for X448 See https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-13.html\#name-algorithm-specific-fields-for-x --- .../bouncycastle/openpgp/operator/PGPKeyConverter.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pg/src/main/java/org/bouncycastle/openpgp/operator/PGPKeyConverter.java b/pg/src/main/java/org/bouncycastle/openpgp/operator/PGPKeyConverter.java index ccdea777b4..52ca458e0b 100644 --- a/pg/src/main/java/org/bouncycastle/openpgp/operator/PGPKeyConverter.java +++ b/pg/src/main/java/org/bouncycastle/openpgp/operator/PGPKeyConverter.java @@ -74,6 +74,11 @@ protected PGPKeyConverter() * SHA2-256 * AES-128 * + * + * Curve448 + * SHA2-512 + * AES-256 + * * */ protected PGPKdfParameters implGetKdfParameters(ASN1ObjectIdentifier curveID, PGPAlgorithmParameters algorithmParameters) @@ -89,7 +94,8 @@ else if (curveID.equals(SECObjectIdentifiers.secp384r1) || curveID.equals(TeleTr { return new PGPKdfParameters(HashAlgorithmTags.SHA384, SymmetricKeyAlgorithmTags.AES_192); } - else if (curveID.equals(SECObjectIdentifiers.secp521r1) || curveID.equals(TeleTrusTObjectIdentifiers.brainpoolP512r1)) + else if (curveID.equals(SECObjectIdentifiers.secp521r1) || curveID.equals(TeleTrusTObjectIdentifiers.brainpoolP512r1) + || curveID.equals(EdECObjectIdentifiers.id_X448)) { return new PGPKdfParameters(HashAlgorithmTags.SHA512, SymmetricKeyAlgorithmTags.AES_256); }