From 8e1e90c89a72dc5f13a7ee7ad44b087cc6c532fa Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Fri, 2 Feb 2024 18:29:43 +0100 Subject: [PATCH] Document legacy-status of EdDSA and XDH --- .../org/pgpainless/key/generation/type/KeyType.kt | 10 ++++++++++ .../org/pgpainless/key/generation/type/eddsa/EdDSA.kt | 4 ++++ .../org/pgpainless/key/generation/type/xdh/XDH.kt | 4 ++++ 3 files changed, 18 insertions(+) diff --git a/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/KeyType.kt b/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/KeyType.kt index bc1497f9..3e0d7d71 100644 --- a/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/KeyType.kt +++ b/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/KeyType.kt @@ -100,8 +100,18 @@ interface KeyType { @JvmStatic fun ECDSA(curve: EllipticCurve): ECDSA = ECDSA.fromCurve(curve) + /** + * Legacy EdDSA using Ed25519. + * For OpenPGP v4 only. + */ @JvmStatic fun EDDSA(curve: EdDSACurve): EdDSA = EdDSA.fromCurve(curve) + /** + * Legacy ECDH using Curve25519. + * For OpenPGP v4 only. + */ @JvmStatic fun XDH(curve: XDHSpec): XDH = XDH.fromSpec(curve) + + // TODO: Add crypto-refresh X25519, X448, Ed25519, Ed448 } } diff --git a/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/eddsa/EdDSA.kt b/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/eddsa/EdDSA.kt index 6130328a..c5b612cb 100644 --- a/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/eddsa/EdDSA.kt +++ b/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/eddsa/EdDSA.kt @@ -8,6 +8,10 @@ import org.bouncycastle.jce.spec.ECNamedCurveGenParameterSpec import org.pgpainless.algorithm.PublicKeyAlgorithm import org.pgpainless.key.generation.type.KeyType +/** + * Legacy EdDSA using Ed25519. + * For use with OpenPGP v4 only. + */ class EdDSA private constructor(val curve: EdDSACurve) : KeyType { override val name = "EdDSA" override val algorithm = PublicKeyAlgorithm.EDDSA diff --git a/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/xdh/XDH.kt b/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/xdh/XDH.kt index 8a95fc3b..917ef14a 100644 --- a/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/xdh/XDH.kt +++ b/pgpainless-core/src/main/kotlin/org/pgpainless/key/generation/type/xdh/XDH.kt @@ -8,6 +8,10 @@ import org.bouncycastle.jce.spec.ECNamedCurveGenParameterSpec import org.pgpainless.algorithm.PublicKeyAlgorithm import org.pgpainless.key.generation.type.KeyType +/** + * Legacy ECDH with Curve25519. + * For use with OpenPGP v4 only. + */ class XDH private constructor(spec: XDHSpec) : KeyType { override val name = "XDH" override val algorithm = PublicKeyAlgorithm.ECDH