#13033·cryptography

Add support for tink primitives - AEAD AES-CTR HMAC

Author: vgrozdanicCreated Jun 3, 2025Updated Jan 21, 2026
Labelsapi design

Hi all, as per discussion in https://github.com/pyca/cryptography/issues/12968#issuecomment-2905395386 i would propose the first supported primitive to be AES-CTR HMAC.

Instead of a one quite large PR, I propose the work to be separated into multiple "smaller" PRs/tasks:

  • implement AES-CTR-HMAC primitive following the tink's wire format and the draft for AES-CBC-HMAC from Mcgrew
  • implement keyset
  • implement keyset JSON serialization/deserialization
  • (optional, but needed for full tink support) protobuf support <-- this requires additional dependency (protobuf package) to cryptography library :/

If this sounds good, we can discuss more in detail and I can start slowly working on this.

DISCLAIMER: I am very inexperienced with (more advanced) cryptography, so my understanding could be totally wrong :)