Skip to content

Conversation

@chadsec1
Copy link
Member

@chadsec1 chadsec1 commented Aug 29, 2025

This pull request adds an additional cryptographic primitive (McEliece8192128) in addition to ML-KEM-1024.
The reason I've picked McEliece8192128 specifically, is because it's based on a different problem that lattice-based KEMs, meaning an adversary would need to break both problems in order to retrieve the one-time-pad pad(s).

I've avoided adding support for Curve448 or other classical algorithms, to keep code complexity low, and avoid near future headaches when quantum computers become strong enough to delete it and we'd have to update it. (our software will never include auto-updates, and we plan to make it federated).

Additionally, I've reworked the perfect-forward-secrecy. In previous updated, we only rotated ML-KEM-1024 keys on every 2 OTP pad batches sent, this update makes it rotate on every batch. I've also fixed some important logic issues that affected earlier versions of Coldwire.

I've also simplified some parts of the logic, reducing the attack surface overall.

And last but not least, I've added fully async perfect-forward-secrecy and messaging support. Neither contacts need to be online once a KEM key rotation occurs.

@chadsec1 chadsec1 merged commit 87f966e into main Aug 29, 2025
3 checks passed
@chadsec1 chadsec1 deleted the refactor/hybrid-encryption branch August 29, 2025 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants