Class LegacyFullAead
- java.lang.Object
-
- com.google.crypto.tink.aead.internal.LegacyFullAead
-
- All Implemented Interfaces:
Aead
public class LegacyFullAead extends java.lang.Object implements Aead
Takes an arbitrary raw AEAD 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.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Aeadcreate(Aead rawAead, Bytes outputPrefix)static Aeadcreate(LegacyProtoKey key)This method covers the cases where users created their own aead/key classes.byte[]decrypt(byte[] ciphertext, byte[] associatedData)DecryptsciphertextwithassociatedDataas associated authenticated data.byte[]encrypt(byte[] plaintext, byte[] associatedData)EncryptsplaintextwithassociatedDataas associated authenticated data.
-
-
-
Method Detail
-
create
public static Aead create(LegacyProtoKey key) throws java.security.GeneralSecurityException
This method covers the cases where users created their own aead/key classes.- Throws:
java.security.GeneralSecurityException
-
encrypt
public byte[] encrypt(byte[] plaintext, byte[] associatedData) throws java.security.GeneralSecurityExceptionDescription copied from interface:AeadEncryptsplaintextwithassociatedDataas associated authenticated data. The resulting ciphertext allows for checking authenticity and integrity of associated data (associatedData), but does not guarantee its secrecy.- Specified by:
encryptin interfaceAead- Parameters:
plaintext- the plaintext to be encrypted. It must be non-null, but can also be an empty (zero-length) byte arrayassociatedData- associated data to be authenticated, but not encrypted. Associated data is optional, so this parameter can be null. In this case the null value is equivalent to an empty (zero-length) byte array. For successful decryption the same associatedData must be provided along with the ciphertext.- Returns:
- resulting ciphertext
- Throws:
java.security.GeneralSecurityException
-
decrypt
public byte[] decrypt(byte[] ciphertext, byte[] associatedData) throws java.security.GeneralSecurityExceptionDescription copied from interface:AeadDecryptsciphertextwithassociatedDataas associated authenticated data. The decryption verifies the authenticity and integrity of the associated data, but there are no guarantees wrt. secrecy of that data.- Specified by:
decryptin interfaceAead- Parameters:
ciphertext- the plaintext to be decrypted. It must be non-null.associatedData- associated data to be authenticated. For successful decryption it must be the same as associatedData used during encryption. Can be null, which is equivalent to an empty (zero-length) byte array.- Returns:
- resulting plaintext
- Throws:
java.security.GeneralSecurityException- if decryption fails. Decryption must fail ifciphertextis not correctly authenticated for the givenassociatedData.
-
-