-
-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
agent: quantum-resistant double ratchet encryption #1024
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* doc * diff * ratchet header * types * ratchet step with PQ KEM, message header with KEM * comment * update types, remove Eq instances, store KEM keys to database * pqx3dh * PQ double ratchet test * pqdr tests pass * fix most tests * refactor * allow KEM proposals from both sides * test names * agent API parameters to use PQ KEM * initialize ratchet state for enabling KEM * fix/test KEM state machine to support disabling/enabling via messages * more tests * diff * diff2 * refactor * refactor * refactor * refactor * remove Maybe * rename * add PQ encryption status to CON, MID and MSG events and sendMessage API results * different PQ parameter when creating connection * rename/reorganize types for PQ encryption modes * rename * fix testWaitDeliveryTimeout * rename * rename2 * ghc8107 * rename * increase timeouts for concurrent send/receive test * enable all tests --------- Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
* correctly parse new Ratchet fields when omitted * rfc: migrating connection versions to pqdr * update rfc * WIP (dont commit) * rename versions * update ratchet version based on PQ encryption feature flag * remove duplicate function * synchronize ratchet, fix tests, refactor * comments * test * pattern
* extract batchTransmissions_ * add Simplex.Messaging.Compression * add combined compression/batching * force NonEmpty for batching * hide FFI and allocation related IO * split packing * remove batch compression, tweak API * OCD over API * remove Empty, extract passthrough const --------- Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* envelope sizes dependent on PQ encryption (WIP) * add "supported" flag to ratchets, update this flag on ratchet resync * change connection PQ status on sendMessage * comment, fix * refactor
…n in connections (#1031) * pqdr: use different newtypes for supporting and enabling PQ encryption in connections * rename field, fix test * refactor
…ndshake, fix incorrect PQ support (#1032) * pqdr: agent api to confirm PQ encryption support during connection handshake * fix CONF, tests * fix REQ, tests * remove unused
* convert compress to a wrapper with passthrough fallback * add compress1 for non-batched compression * use original size as upper bound for scratch * refactor --------- Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
* core: restore Eq instances * remove duplicates from tests
* pqdr: more tests, pass e2e version to rcEncrypt from config * fix
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
allow version 1 for E2E encryption and replace with 2 in parser, possibly the same for duplex handshake in agent version.this is not necessary, as these parameters are only used in 1-time links that don't need this adjustment.