@Immutable public final class EciesPrivateKey extends HybridPrivateKey
| Modifier and Type | Method and Description |
|---|---|
static EciesPrivateKey |
createForCurveX25519(EciesPublicKey publicKey,
SecretBytes x25519PrivateKeyBytes)
Creates a new ECIES private key using Curve25519.
|
static EciesPrivateKey |
createForNistCurve(EciesPublicKey publicKey,
SecretBigInteger nistPrivateKeyValue)
Creates a new ECIES private key using NIST Curves.
|
boolean |
equalsKey(Key o)
Returns true if the key is guaranteed to be equal to
other. |
SecretBigInteger |
getNistPrivateKeyValue() |
EciesParameters |
getParameters()
Returns a
Parameters object containing all the information about the key which is not
randomly chosen. |
EciesPublicKey |
getPublicKey() |
SecretBytes |
getX25519PrivateKeyBytes() |
getIdRequirementOrNull, getOutputPrefixpublic static EciesPrivateKey createForCurveX25519(EciesPublicKey publicKey, SecretBytes x25519PrivateKeyBytes) throws GeneralSecurityException
publicKey - Corresponding ECIES public key for this private keyx25519PrivateKeyBytes - private key bytesGeneralSecurityExceptionpublic static EciesPrivateKey createForNistCurve(EciesPublicKey publicKey, SecretBigInteger nistPrivateKeyValue) throws GeneralSecurityException
publicKey - Corresponding ECIES public key for this private keynistPrivateKeyValue - private big integer value in bigendian representationGeneralSecurityException@Nullable public SecretBytes getX25519PrivateKeyBytes()
@Nullable public SecretBigInteger getNistPrivateKeyValue()
public EciesParameters getParameters()
KeyParameters object containing all the information about the key which is not
randomly chosen.
Implementations need to ensure that getParameters().hasIdRequirement() returns true
if and only if getIdRequirementOrNull is non-null.
getParameters in class HybridPrivateKeypublic EciesPublicKey getPublicKey()
getPublicKey in interface PrivateKeygetPublicKey in class HybridPrivateKeypublic boolean equalsKey(Key o)
Keyother.
Implementations are required to do this in constant time.
Note: this is allowed to return false even if two keys are guaranteed to represent the same function, but are represented differently. For example, a key is allowed to internally store the number of zero-bytes used as padding when a large number is represented as a byte array, and use this in the comparison.
Note: Tink Key objects should typically not override hashCode (because it
could risk leaking key material). Hence, they typically also should not override equals.