chaCha20Poly1305Decrypt static method

List<int> chaCha20Poly1305Decrypt({
  1. required List<int> key,
  2. required List<int> nonce,
  3. required List<int> cipherText,
  4. List<int>? assocData,
})

Decrypt data using the ChaCha20-Poly1305 authenticated encryption algorithm. Requires a key, nonce, ciphertext, and optional associated data.

Implementation

static List<int> chaCha20Poly1305Decrypt({
  required List<int> key,
  required List<int> nonce,
  required List<int> cipherText,
  List<int>? assocData,
}) {
  final chacha = ChaCha20Poly1305(key);
  try {
    final decrypt = chacha.decrypt(
      nonce,
      cipherText,
      associatedData: assocData,
    );

    if (decrypt != null) {
      return decrypt;
    }
    throw CryptoException.failed(
      "chaCha20Poly1305Decrypt",
      reason: "Decryption failed.",
    );
  } finally {
    chacha.clean();
  }
}