Kevin Lewi
ed5e7cf116
Publishing v4.0.0 ( #407 )
2025-10-23 16:28:30 -07:00
Kevin Lewi
af220c6d00
Fixing generic-array dependency ( #402 )
2025-10-15 15:05:51 -07:00
Kevin Lewi
79e4eacc40
Making full test vector generation deterministic ( #398 )
2025-10-13 15:05:15 -07:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3f8026d30e
Update criterion requirement from 0.5 to 0.7 ( #394 )
...
Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs ) to permit the latest version.
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.5.0...0.7.0 )
---
updated-dependencies:
- dependency-name: criterion
dependency-version: 0.7.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 20:48:32 -07:00
daxpedda
33464543c1
Add migration guide to changelog ( #393 )
2025-09-09 00:25:04 -07:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
6593833622
Update rustyline requirement from 15 to 17 ( #391 )
...
Updates the requirements on [rustyline](https://github.com/kkawakam/rustyline ) to permit the latest version.
- [Release notes](https://github.com/kkawakam/rustyline/releases )
- [Changelog](https://github.com/kkawakam/rustyline/blob/master/History.md )
- [Commits](https://github.com/kkawakam/rustyline/compare/v15.0.0...v17.0.1 )
---
updated-dependencies:
- dependency-name: rustyline
dependency-version: 17.0.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 14:50:58 -07:00
daxpedda
1b6633cdcc
Move Serde De/Serialization to Group Implementation ( #380 )
...
* Move Serde De/Serialization to `Group` implementation
* Clean up Serde formats
* Fix typo
2025-07-14 19:54:43 -07:00
daxpedda
5b492aedbf
Update MSRV to v1.85 and edition to 2024 ( #383 )
2025-07-10 12:55:41 -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
b16cf8ce05
Enable curve25519-dalek/serde ( #375 )
2025-04-28 12:48:06 -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
6b69e93dc9
Bump MSRV to v1.83 ( #370 )
...
* Fix Clippy warnings for Rust v1.86
* Bump MSRV to v1.83
2025-04-15 13:31:37 -07:00
Kevin Lewi
df8e61d24b
Publishing v3.0.0 ( #367 )
2024-10-09 22:13:13 -07:00
Cynthia
94d9c563a4
chore!: align to draft 16, update dependencies ( #365 )
...
* chore!: align to draft 16, update dependencies
* chore: fix toml formatting
2024-09-23 21:28:40 -07:00
Kevin Lewi
4e525560c7
Publishing v3.0.0-pre.5 ( #364 )
2024-09-18 14:58:35 -07:00
Kevin Lewi
066f88f434
Updating dependencies ( #360 )
2024-09-16 18:01:45 -07:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
1cc30c255e
Update rustyline requirement from 12 to 13 ( #352 )
...
Updates the requirements on [rustyline](https://github.com/kkawakam/rustyline ) to permit the latest version.
- [Release notes](https://github.com/kkawakam/rustyline/releases )
- [Changelog](https://github.com/kkawakam/rustyline/blob/master/History.md )
- [Commits](https://github.com/kkawakam/rustyline/compare/v12.0.0...v13.0.0 )
---
updated-dependencies:
- dependency-name: rustyline
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-20 14:06:15 -08: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
83795f3f1c
Increase MSRV to 1.70 and update workflow dependencies ( #342 )
2023-09-24 17:43:59 -07:00
Kevin Lewi
d13d261cf1
Publishing v3.0.0-pre.4 ( #337 )
2023-07-25 01:38:33 -07:00
daxpedda
4487f11f87
Bump curve25519-dalek to v4.0.0-rc.3 ( #330 )
2023-06-29 11:51:40 -07:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7f0b6a8e66
Update rustyline requirement from 11 to 12 ( #332 )
...
Updates the requirements on [rustyline](https://github.com/kkawakam/rustyline ) to permit the latest version.
- [Release notes](https://github.com/kkawakam/rustyline/releases )
- [Changelog](https://github.com/kkawakam/rustyline/blob/master/History.md )
- [Commits](https://github.com/kkawakam/rustyline/compare/v11.0.0...v12.0.0 )
---
updated-dependencies:
- dependency-name: rustyline
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-26 16:59:13 -07:00
Kevin Lewi
c3498ead45
Publishing v3.0.0-pre.3 ( #327 )
2023-06-08 01:39:28 -07:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c73eb963db
Update criterion requirement from 0.4 to 0.5 ( #325 )
...
Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs ) to permit the latest version.
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.4.0...0.5.0 )
---
updated-dependencies:
- dependency-name: criterion
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-23 19:24:34 -07:00
daxpedda
e6c9870899
Correctly clamp Curve25519 secret keys ( #323 )
2023-05-21 17:36:01 -07:00
daxpedda
7b205b73eb
Bump voprf to v0.5.0-pre.4 ( #322 )
2023-05-21 02:06:34 -07:00
Kevin Lewi
8b755bf076
Publishing v3.0.0-pre.2 ( #318 )
2023-03-14 19:07:10 -07:00
dependabot[bot] and dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f8f5d22721
Update scrypt requirement from 0.10 to 0.11 ( #315 )
...
Updates the requirements on [scrypt](https://github.com/RustCrypto/password-hashes ) to permit the latest version.
- [Release notes](https://github.com/RustCrypto/password-hashes/releases )
- [Commits](https://github.com/RustCrypto/password-hashes/compare/scrypt-v0.10.0...scrypt-v0.11.0 )
---
updated-dependencies:
- dependency-name: scrypt
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-10 10:11:29 -08:00
daxpedda
c1c1c40191
Test P-384 ( #290 )
2023-03-06 11:28:19 -08:00
daxpedda
3096c4d9df
Update argon2 to v0.5 ( #314 )
2023-03-04 20:31:18 -08:00
daxpedda
c255364ca0
Update VOPRF to draft 19 ( #307 )
2023-03-04 20:31:07 -08:00
daxpedda
5400128833
Update rustyline to v0.11 ( #313 )
2023-03-04 14:49:29 -08:00
Kevin Lewi
b40092db28
Publishing v3.0.0-pre.1 ( #309 )
2023-02-08 17:46:28 -08:00
daxpedda
09489ddf8b
Only use explicit crate features ( #306 )
2023-02-04 13:25:41 -08:00
daxpedda
1fbe25507e
Bump voprf to v0.5.0-pre.2 ( #304 )
2023-02-03 16:45:52 -08:00
daxpedda
8901b74030
Update curve25519-dalek to 4.0.0-pre.5 ( #301 )
...
* Update `curve25519-dalek`
* Improve documentation
* Update `voprf` to 0.5.0-pre.1
2022-12-19 14:04:52 -08:00
daxpedda
2dc2b0e617
Rename X25519 to Curve25519 ( #302 )
2022-12-19 09:03:11 -08:00
daxpedda
a0cab10663
Update dependencies ( #288 )
...
* Fix Clippy
* Update dependencies
2022-12-10 21:30:05 -08:00
Kevin Lewi
556f6c2bd4
Version bump for 2.0.0 ( #284 )
2022-09-21 21:18:20 -07:00
Kevin Lewi
d2a2139348
Publishing v2.0.0 ( #283 )
2022-09-21 20:31:31 -07:00
zer0x64 and daxpedda
94fd3598d0
Argon2 Example ( #282 )
...
* add argon2 example to simple_login.rs
* rename Default to DefaultCipherSuite in examples to avoid conflicts with core::default::Default
* put the custom KSF example in the documentation
* add links in documentation
Co-authored-by: daxpedda <[email protected] >
* remove no_run on argon2 doctest
* hide argon2 cfg attribute in docs
Co-authored-by: daxpedda <[email protected] >
Co-authored-by: daxpedda <[email protected] >
2022-07-24 20:26:48 -07:00
Kevin Lewi
9ce5d8d191
Fixing voprf dependency pinning ( #280 )
2022-07-11 19:17:29 -04:00
Kevin Lewi
22eded4ed8
Updating voprf dependency and test vectors ( #278 )
2022-07-05 05:21:50 -04:00
Kevin Lewi
6e90913132
Adding documentation on RegistrationUpload and removing patch voprf in Cargo.toml ( #273 )
2022-04-22 01:51:16 -07:00
Kevin Lewi
3fe6bbb80f
Updating to version 08 ( #271 )
2022-04-17 16:23:31 -07:00
daxpedda
384207acbb
General Improvements ( #268 )
...
* Move `elliptic-curve` implementation to points to allow `Zeroize`
* Simplify `Ristretto255::random_scalar` implementation
* Fix `Ristretto255` deserialization
* Remove unnecessary check in `Ristretto255::random_scalar`
* Base `X25519` implementation on `curve25519-dalek`
* Constrain public and secret key to `Copy`
* Replace manual `ZeroizeOnDrop` implementation with `derive`
* Update dependencies
* Add `warn(unused_crate_dependencies)`
* Sync crate feature naming with `voprf`
* Remove unnecessary dependency crate features
* Never produce a zero scalar
* Rename `OprfGroup` to `OprfCs`
* Rename `TripleDH` to `TripleDh`
* Remove `slow-hash` crate feature
* Rename `NoOpHash` to `Identity`
* Rename `SlowHash` to `Ksf`
* Move `KeyExchange` type definitions down
* Deserialize secret and public keys from slices
* Remove `PrivateKey::from_bytes`
* Rename `From/ToBytes` to `De/Serialize`
* Re-export `serde_` as `serde`
* Custom `De/Serialize` implementation for keys
* Remove custom `De/Serialize` implementation
* Run Taplo v0.6
2022-04-01 16:10:00 -07:00
daxpedda
b2f10858e0
Group revamp ( #261 )
...
* Revamp `KeGroup` trait
* Update dependencies
* Fix `hash_to_scalar` using `OprfGroup` instead of `KeGroup`
* Relax constraints on associated types of `KeGroup`
* Improve `KeGroup` implementation on `Curve`
* Improve `KeyExchange` trait
* Fix new Clippy 1.59 warnings
2022-02-24 22:13:22 -08:00
daxpedda
47a26a19c5
Format ( #257 )
...
* Add Rustfmt
* Add Taplo
2022-01-05 21:19:02 -08:00
daxpedda
36f0a55518
Voprf update ( #255 )
...
* Update to latest voprf
* Upgrade to Rust edition 2021
* Fix Clippy
* Remove all allocations
* Remove unnecessary `allow(type_alias_bounds)`
* Make all serialization infallible
* Remove self-dependency
* Update rustyline
2022-01-05 15:10:57 -08:00
daxpedda
82e4436d39
General improvements ( #250 )
...
* Remove unnecessary constraints on hash
* Remove unnecessary `Result` on `KeyPair::generate_random`
* Fix de-serialization issue on `Ke1State`
* Fix rustfmt
* Remove allocations in `envelope`
* Run Clippy for tests and rustdoc lints too
* Fix `Debug` implementation
* Fix missing constraints on `ClientRegistration`
* Fix de-serialization
* Pin temporary dependency
* Update dependencies
* Replace macro with derive-where
* Remove unnecessary installation of Rust components
* Improve macro naming
* Implement `Copy`, `Debug`, `Ord` and `PartialOrd` for high-level items
* Add `rust-version` field to `Cargo.toml`
* Remove unnecessary allocations
* Fix MSRV
* Fix no_std
* Remove unnecessary allocations
* Remove unnecessary allocations
* Not importing items from voprf helps readability
* Fix rustdoc
* Remove unnecessary allocations
* Remove unnecessary allocations
* Replace `Vec` from `diffie_hellman` with `GenericArray`
* Remove unnecessary allocations
* Remove unnecessary allocations
* Remove `cfg(feature = bench)` guard for `missing_docs`
* Fix documentation
* Remove all remaining allocations from `KeyExchange`
* Improve type-safety
* Remove all remaining allocations in `keypair`
* Remove last remaining allocations except `NonVerifiableClient` input
* Remove base64 encoding in Serde implementation
* Remove unnecessary Serde `alloc` feature
* Make curve25519-dalek optional
* Rename `serialize` crate feature to `serde`
* Switch `KeGroup` implementations to higher-level libraries
- Fixes missing clamping in X25519
- X25519 is now a separate crate feature
* Fix typo
2022-01-03 15:50:40 -08:00