Reduce timing leakage from hash_digest_two_compression_rounds
Open
priority/medium
size/medium
type/formal_verification
type/investigation
type/side_channel
- Dominant language
- C
- Stars
- 4.8k
- Forks
- 802
- Avg merge
- 5d 22h
- Merged PRs (30d)
- 33
Description
Currently, s2n balances the number of hash rounds by forcing a second hash compression when needed. This is done by hashing one extra block's worth of bytes. This causes extra btyes to be copied, creating a small timing inefficiency. Explore reducing this.
Contributor guide
Research direction
Start by locating hash_digest_two_compression_rounds and measuring the extra block-sized byte copy used when a second hash compression is forced. Done means reducing that copying-related timing inefficiency while preserving the intended balance in hash rounds; the issue names no tests, so identify the relevant validation before changing behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- cryptography, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100