pub use crate::aes::{Aes256GcmKey, Aes256GcmNonce, CiphertextWithTag};
use crate::aes::{DecryptRequest, EncryptRequest};
use crate::CryptoError;
pub const AES_256_GCM_KEY_LEN: usize = crate::aes::AES_256_GCM_KEY_LENGTH;
pub const AES_256_GCM_NONCE_LEN: usize = crate::aes::AES_256_GCM_NONCE_LENGTH;
pub const AES_256_GCM_TAG_LEN: usize = crate::aes::AES_256_GCM_TAG_LENGTH;
pub fn aes256_gcm_encrypt(
key: &Aes256GcmKey,
nonce: Aes256GcmNonce,
aad: &[u8],
plaintext: &[u8],
) -> Result<CiphertextWithTag, CryptoError> {
crate::aes::encrypt(&EncryptRequest {
key,
nonce,
aad,
plaintext,
})
}
pub fn aes256_gcm_decrypt(
key: &Aes256GcmKey,
nonce: Aes256GcmNonce,
aad: &[u8],
ciphertext: &CiphertextWithTag,
) -> Result<Vec<u8>, CryptoError> {
crate::aes::decrypt(&DecryptRequest {
key,
nonce,
aad,
ciphertext,
})
}