Perhaps `create_encrypt_ctx` and `create_decrypt_ctx` should simply create an AEADCipherContext depending on the specified mode?