aws / aws/aws-lc

Make any structure with potentially variable size opaque

Open
#3,495 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Assembly
Stars
830
Forks
212
Avg merge
2d 22h
Merged PRs (30d)
61

Description

### Problem:

The HPKE structure size had to be changed for ML-KEM support. This breaks ABI.

### Solution:

Make these structs, and all structs with sizes that might change in the future, opaque.

* **Does this change any public APIs?** Structs that have sizes that might change in the future become pointers to heap-allocated opaque types.
* **Which algorithm(s) will this impact?** HPKE, possibly others.

### Requirements / Acceptance Criteria:

Anything with a size that isn’t future-proof becomes a pointer to a heap-allocated opaque type.

* **RFC links:** None
* **Related Issues:** None
* **Will the Usage Guide or other documentation need to be updated?** Yes
* **Testing:** Normal testing of callers should suffice.
* **Will this change trigger AWS LibCrypto Formal Verification changes?** No
* **Should this change be fuzz tested?** Only for out of memory conditions.

### Out of scope:

Being able to link OpenSSL and AWS-LC in the same binary.

Contributor guide

Open the contributing guide

Research direction

No files or specific tests are named. Start by inventorying the public HPKE and other variable-size structures and their callers, then determine which sizes are not future-proof. Done means affected structures use heap-allocated opaque types, callers and normal tests pass, and the Usage Guide is updated.

Written by the indexing model from the issue text.

Assessment

Domain
cryptography
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.