examples/module-loading/08_aesgcm.py
"""Thin AES-GCM wrapper — logic stays in Catnip."""
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
def make_key(size=32):
return AESGCM.generate_key(bit_length=size * 8)
def encrypt(key, nonce, data, aad=None):
return AESGCM(key).encrypt(nonce, data, aad)
def decrypt(key, nonce, ct, aad=None):
return AESGCM(key).decrypt(nonce, ct, aad)