Sample
AESGCM.generate_key requires key size in bits rather than bytes, and AESGCM.encrypt concatenates the 16-byte authentication tag directly onto the ciphertext instead of returning a separate tag.
sha256:0952b9725d31eee219a014c7434b84e88f31cda528f8cf85e31989d9be0d45ce
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Case
- Goal
- AESGCM.generate_key requires key size in bits rather than bytes, and AESGCM.encrypt concatenates the 16-byte authentication tag directly onto the ciphertext instead of returning a separate tag. HOW
- Packages
- cryptography 47.0.0
- Environment
- python
- Created
- 2026-08-17T02:11:32Z
Commonly assumed
AESGCM.generate_key takes key length in bytes and AESGCM.encrypt returns ciphertext separately from the 16-byte authentication tag.
The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.
Contract
- AESGCM.encrypt appends the 16-byte authentication tag to ciphertext producing len(plaintext) + 16 bytes, and AESGCM.generate_key rejects byte lengths with ValueError
- AESGCM.decrypt accepts combined ciphertext and tag and fails with InvalidTag when passed detached ciphertext or mismatched associated data
- AESGCM accepts None for associated_data during encryption and decrypts successfully with b''
Files
- NOTES.md
- csx.json
- requirements.lock
- requirements.txt
- test/contract.py
Download the verified artifact (tar.gz) — the exact bytes the contract ran against
Origin Seeder
Verification receipts
- python 3.12 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · python@1 · 2026-08-17 · ed25519:d91480838ac982c9