Add support for tink primitives - AEAD AES-CTR HMAC
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 7.8k
- Forks
- 1.8k
- Avg merge
- 7h 48m
- Merged PRs (30d)
- 157
Description
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 (
protobufpackage) tocryptographylibrary :/
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 :)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the linked Tink wire format and the AES-CBC-HMAC draft, then review the discussion in issue #12968 to establish the intended scope. Done should be defined separately for the AES-CTR-HMAC primitive, keyset support, JSON serialization, and the optional protobuf support.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cryptography
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100