mirror of
https://github.com/pgpainless/pgpainless.git
synced 2024-11-19 02:42:05 +01:00
Kotlin conversion: EllipticCurve
This commit is contained in:
parent
13082215d6
commit
7f96272152
2 changed files with 27 additions and 42 deletions
|
@ -1,42 +0,0 @@
|
|||
// SPDX-FileCopyrightText: 2018 Paul Schaub <vanitasvitae@fsfe.org>
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package org.pgpainless.key.generation.type.ecc;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
import org.pgpainless.key.generation.type.xdh.XDHSpec;
|
||||
|
||||
/**
|
||||
* Elliptic curves for use with
|
||||
* {@link org.pgpainless.key.generation.type.ecc.ecdh.ECDH}/{@link org.pgpainless.key.generation.type.ecc.ecdsa.ECDSA}.
|
||||
* For curve25519 related curve definitions see
|
||||
* {@link XDHSpec} and {@link org.pgpainless.key.generation.type.eddsa.EdDSACurve}.
|
||||
*/
|
||||
public enum EllipticCurve {
|
||||
_P256("prime256v1", 256), // prime256v1 is equivalent to P-256, see https://tools.ietf.org/search/rfc4492#page-32
|
||||
_P384("secp384r1", 384), // secp384r1 is equivalent to P-384, see https://tools.ietf.org/search/rfc4492#page-32
|
||||
_P521("secp521r1", 521), // secp521r1 is equivalent to P-521, see https://tools.ietf.org/search/rfc4492#page-32
|
||||
_SECP256K1("secp256k1", 256),
|
||||
_BRAINPOOLP256R1("brainpoolP256r1", 256),
|
||||
_BRAINPOOLP384R1("brainpoolP384r1", 384),
|
||||
_BRAINPOOLP512R1("brainpoolP512r1", 512)
|
||||
;
|
||||
|
||||
private final String name;
|
||||
private final int bitStrength;
|
||||
|
||||
EllipticCurve(@Nonnull String name, int bitStrength) {
|
||||
this.name = name;
|
||||
this.bitStrength = bitStrength;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public int getBitStrength() {
|
||||
return bitStrength;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
// SPDX-FileCopyrightText: 2023 Paul Schaub <vanitasvitae@fsfe.org>
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
package org.pgpainless.key.generation.type.ecc
|
||||
|
||||
|
||||
/**
|
||||
* Elliptic curves for use with [org.pgpainless.key.generation.type.ecc.ecdh.ECDH] and
|
||||
* [org.pgpainless.key.generation.type.ecc.ecdsa.ECDSA].
|
||||
* For curve25519 related curve definitions see [XDHSpec] and [org.pgpainless.key.generation.type.eddsa.EdDSACurve].
|
||||
*/
|
||||
enum class EllipticCurve(
|
||||
val curveName: String,
|
||||
val bitStrength: Int
|
||||
) {
|
||||
_P256("prime256v1", 256), // prime256v1 is equivalent to P-256, see https://tools.ietf.org/search/rfc4492#page-32
|
||||
_P384("secp384r1", 384), // secp384r1 is equivalent to P-384, see https://tools.ietf.org/search/rfc4492#page-32
|
||||
_P521("secp521r1", 521), // secp521r1 is equivalent to P-521, see https://tools.ietf.org/search/rfc4492#page-32
|
||||
_SECP256K1("secp256k1", 256),
|
||||
_BRAINPOOLP256R1("brainpoolP256r1", 256),
|
||||
_BRAINPOOLP384R1("brainpoolP384r1", 384),
|
||||
_BRAINPOOLP512R1("brainpoolP512r1", 512),
|
||||
;
|
||||
|
||||
fun getName(): String = curveName
|
||||
}
|
Loading…
Reference in a new issue