Commit Graph
13 Commits
Author SHA1 Message Date
Kevin Lewi 8afec46637 Adding TripleDhKem key exchange (#404) 2025-11-08 14:21:51 -08:00
Kevin Lewianddaxpedda 226fe0ea7a Updating test vectors to RFC 9807 (#386)
* Updating to RFC 9807

* Update CHANGELOG.md

Co-authored-by: daxpedda <[email protected]>

* Update CHANGELOG.md

Co-authored-by: daxpedda <[email protected]>

* Update CHANGELOG.md

Co-authored-by: daxpedda <[email protected]>

---------

Co-authored-by: daxpedda <[email protected]>
2025-09-08 11:27:47 -07:00
daxpedda bebd2c605b SIGMA-I Key Exchange (#378)
* Move `KeGroup` to `KeyExchange::Group`

- Introduce `KeyExchange::Hash`, which separates the OPRF hash from the one used in `KeyExchange`.
- Remove `De/Serialize` requirement on key exchange messages and states, which forced a lot of where bounds on downstream users.
- Rename `KeGroup` to `Group`.
- Replace `D` generic for hash with `H`.

* Use `voprf::derive_key()` directly

* Implement SIGMA-I key exchange

* Improve `KeyExchange` for SIGMA-I and Ed25519

* Implement EdDSA

* Un-qualify some method calls

* SIGMA-I: only include client identity in client mac

* SIGMA-I: include server mac in client signature

* Expose key exchange types in `crate` & move modules

* Implement Ed25519ph

* Document `ed25519` crate feature

* Remove `ristretto255-voprf` crate feature

* Adjust CI crate feature testing

* Fix Rustdoc

* Remove unnecessary generic parameters from SIGMA-I

* Properly mark to-do's with TODO

* Assorted fixes

* SIGMA-I: include context in signature

* SIGMA-I: include identifiers in signature

* Merge `ServerLoginStart/FinishParameters`

* Re-export more necessary types

* More carefully expose types

* Add ECDSA test

* SIGMA-I: share context hashing

* De-duplicate client static public key storage

* Hide `KeyExchange` better

* Use the correct hash in the root documentation

* Bump `derive-where`

* Format documentation examples a bit further

* Add remote OPRF seed documentation

* Rename `deserialize_key_pair` to `deserialize_take_key_pair`

* Add more key tests

* Remove `SharedSecret` trait

* SIGMA-I refactor message API

* Share more implementation between 3DH and SIGMA-I

* Remove unnecessary zero scalar check for Curve25519

* Use correct hash in test

* Add some more TODOs

* Exclude `tests` folder from Cargo publishing

* Enable missing dependencies

* Use right crate for testing Ed25519

* Remove unnecessary `Sized` constraints

* Remove unnecessary `ecdsa` crate features

* Move signature de/serialization to trait methods

* Nit: move import to appropriate location

* Add warning to SIGMA-I
2025-05-19 13:56:25 -07:00
daxpedda d324584d79 Rework SecretKey API to facilitate async (#371)
* Rework `SecretKey` API to facilitate async

* Remove left-over constraints
2025-04-22 00:08:17 -07:00
daxpedda 56cdf9a024 Test P-521 (#349)
* Test P-521

* De-duplicate generic calls

* Simplify full test vectors generation
2023-11-16 11:07:46 -08:00
Kevin Lewi a88373722e Updating dual-license language (#324) 2023-05-22 23:04:26 -07:00
Kevin Lewi adbd50f523 Updating to dual-license (#252) 2021-12-03 14:38:11 -08:00
Kevin Lewi 29b2ebef1b Using voprf as a dependency (#248)
* Using voprf as a dependency

* Adding back x25519 and KeGroup

* Addressing comments
2021-10-25 02:54:32 -07:00
Kevin Lewi f1f4184400 Add better parsing for RFC test vectors (#247) 2021-10-09 18:17:07 -07:00
Kevin Lewi 6eeeb0db28 Fixing test vectors and use of SHA512 (#120) 2021-01-26 09:27:30 -08:00
Kevin LewiandKevin Lewi 9f414d4a82 Adding VOPRF draft's test vectors (#95)
Co-authored-by: Kevin Lewi <[email protected]>
2020-12-04 13:19:29 -08:00
François Garillot 344e8ad8d1 Updating serialization for RegisterFirstMessage (#35) 2020-11-02 20:14:47 -05:00
Kevin Lewi 88696763cc Initial commit
Rust CI / test + Clippy + rustfmt (push) Has been cancelled
2020-06-05 09:35:14 -07:00