public class LegacyFullDeterministicAead extends Object implements DeterministicAead
DeterministicAead and makes it a full primitive. This is a class
that helps us transition onto the new Keys and Configurations interface, by bringing potential
user-defined primitives to a common denominator with our primitives over which we have control.| Modifier and Type | Method and Description |
|---|---|
static DeterministicAead |
create(LegacyProtoKey key)
Creates a DeterministicAead full primitive from user-defined deterministic aead / key classes.
|
byte[] |
decryptDeterministically(byte[] ciphertext,
byte[] associatedData)
Deterministically decrypts
ciphertext with associatedData as associated
authenticated data. |
byte[] |
encryptDeterministically(byte[] plaintext,
byte[] associatedData)
Deterministically encrypts
plaintext with associatedData as associated
authenticated data. |
public static DeterministicAead create(LegacyProtoKey key) throws GeneralSecurityException
GeneralSecurityExceptionpublic byte[] encryptDeterministically(byte[] plaintext,
byte[] associatedData)
throws GeneralSecurityException
DeterministicAeadplaintext with associatedData as associated
authenticated data.
Warning
Encrypting the same plaintext multiple times protects the integrity of that
plaintext, but confidentiality is compromised to the extent that an attacker can determine that
the same plaintext was encrypted.
The resulting ciphertext allows for checking authenticity and integrity of associated data
(associatedData), but does not guarantee its secrecy.
encryptDeterministically in interface DeterministicAeadGeneralSecurityExceptionpublic byte[] decryptDeterministically(byte[] ciphertext,
byte[] associatedData)
throws GeneralSecurityException
DeterministicAeadciphertext with associatedData as associated
authenticated data.
The decryption verifies the authenticity and integrity of the associated data, but there are no guarantees wrt. secrecy of that data.
decryptDeterministically in interface DeterministicAeadGeneralSecurityException