@Alpha public final class AesGcmSiv extends Object implements Aead
This encryption mode is intended for authenticated encryption with associated data. A major security problem with AES-GCM is that reusing the same nonce twice leaks the authentication key. AES-GCM-SIV on the other hand has been designed to avoid this vulnerability.
This encryption requires a JCE provider that supports the AES/GCM-SIV/NoPadding
transformation such as Conscrypt. using JCE.
| Constructor and Description |
|---|
AesGcmSiv(byte[] key) |
| Modifier and Type | Method and Description |
|---|---|
byte[] |
decrypt(byte[] ciphertext,
byte[] associatedData)
On Android KitKat (API level 19) this method does not support non null or non empty
associatedData. |
byte[] |
encrypt(byte[] plaintext,
byte[] associatedData)
On Android KitKat (API level 19) this method does not support non null or non empty
associatedData. |
public AesGcmSiv(byte[] key)
throws GeneralSecurityException
GeneralSecurityExceptionpublic byte[] encrypt(byte[] plaintext,
byte[] associatedData)
throws GeneralSecurityException
associatedData. It might not work at all in older versions.encrypt in interface Aeadplaintext - 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.GeneralSecurityExceptionpublic byte[] decrypt(byte[] ciphertext,
byte[] associatedData)
throws GeneralSecurityException
associatedData. It might not work at all in older versions.decrypt in interface Aeadciphertext - 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.GeneralSecurityException