9c94344399
Added encrypt(data, aad) and decrypt(data, aad) overloads to the AESGCM expect/actual class across all platforms: - JVM/Android: Uses Cipher.updateAAD() with AES/GCM/NoPadding - Apple: Uses whyoleg.cryptography encryptWithIvBlocking(iv, data, aad) - Linux: Same as Apple via whyoleg.cryptography Updated HPKE aeadSeal/aeadOpen and MlsCryptoProvider aeadEncrypt/aeadDecrypt to use the AAD-aware methods instead of ignoring the AAD parameter. The EncryptWithLabel test still fails due to an X25519 DH computation discrepancy between Python reference and the Quartz JVM implementation. The HPKE implementation is internally consistent (MlsGroupTest passes). https://claude.ai/code/session_01NocQDWj2Y92FugjfgazzL3