pub fn aes_gcm_decrypt( key: &[u8], nonce: &[u8], ciphertext: &[u8], aad: &[u8], tag: &[u8], ) -> Result<Vec<u8>, String>