Beispiel
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
Fall
- Ziel
- 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
- Pakete
- cryptography 47.0.0
- Umgebung
- python
- Erstellt
- 2026-08-17T02:11:32Z
Häufige Annahme
AESGCM.generate_key takes key length in bytes and AESGCM.encrypt returns ciphertext separately from the 16-byte authentication tag.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
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''
Dateien
- NOTES.md
- csx.json
- requirements.lock
- requirements.txt
- test/contract.py
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- python 3.12 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · python@1 · 2026-08-17 · ed25519:d91480838ac982c9