Package com.google.crypto.tink.hybrid
Class HpkePrivateKey
- java.lang.Object
-
- com.google.crypto.tink.Key
-
- com.google.crypto.tink.hybrid.HybridPrivateKey
-
- com.google.crypto.tink.hybrid.HpkePrivateKey
-
- All Implemented Interfaces:
PrivateKey
@Immutable public final class HpkePrivateKey extends HybridPrivateKey
Representation of the decryption function for an HPKE hybrid encryption primitive.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static HpkePrivateKeycreate(HpkePublicKey publicKey, SecretBytes privateKeyBytes)Creates a new HPKE private key.booleanequalsKey(Key o)Returns true if the key is guaranteed to be equal toother.HpkeParametersgetParameters()Returns aParametersobject containing all the information about the key which is not randomly chosen.SecretBytesgetPrivateKeyBytes()HpkePublicKeygetPublicKey()-
Methods inherited from class com.google.crypto.tink.hybrid.HybridPrivateKey
getIdRequirementOrNull, getOutputPrefix
-
-
-
-
Method Detail
-
create
public static HpkePrivateKey create(HpkePublicKey publicKey, SecretBytes privateKeyBytes) throws java.security.GeneralSecurityException
Creates a new HPKE private key.- Parameters:
publicKey- Corresponding HPKE public key for this private keyprivateKeyBytes- Private key encoded according to https://www.rfc-editor.org/rfc/rfc9180.html#section-7.1.2- Throws:
java.security.GeneralSecurityException
-
getPrivateKeyBytes
public SecretBytes getPrivateKeyBytes()
-
getParameters
public HpkeParameters getParameters()
Description copied from class:KeyReturns aParametersobject containing all the information about the key which is not randomly chosen.Implementations need to ensure that
getParameters().hasIdRequirement()returns true if and only ifgetIdRequirementOrNullis non-null.- Overrides:
getParametersin classHybridPrivateKey
-
getPublicKey
public HpkePublicKey getPublicKey()
- Specified by:
getPublicKeyin interfacePrivateKey- Specified by:
getPublicKeyin classHybridPrivateKey
-
equalsKey
public boolean equalsKey(Key o)
Description copied from class:KeyReturns true if the key is guaranteed to be equal toother.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
Keyobjects should typically not overridehashCode(because it could risk leaking key material). Hence, they typically also should not overrideequals.
-
-