Commit Graph
275 Commits
Author SHA1 Message Date
daxpeddaandGitHub e6c9870899 Correctly clamp Curve25519 secret keys (#323) 2023-05-21 17:36:01 -07:00
daxpeddaandGitHub 7b205b73eb Bump voprf to v0.5.0-pre.4 (#322) 2023-05-21 02:06:34 -07:00
Kevin LewiandGitHub 8b755bf076 Publishing v3.0.0-pre.2 (#318) 2023-03-14 19:07:10 -07:00
dependabot[bot]GitHubdependabot[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
daxpeddaandGitHub c1c1c40191 Test P-384 (#290) 2023-03-06 11:28:19 -08:00
daxpeddaandGitHub 3096c4d9df Update argon2 to v0.5 (#314) 2023-03-04 20:31:18 -08:00
daxpeddaandGitHub c255364ca0 Update VOPRF to draft 19 (#307) 2023-03-04 20:31:07 -08:00
daxpeddaandGitHub 5400128833 Update rustyline to v0.11 (#313) 2023-03-04 14:49:29 -08:00
Kevin LewiandGitHub b40092db28 Publishing v3.0.0-pre.1 (#309) 2023-02-08 17:46:28 -08:00
daxpeddaandGitHub 09489ddf8b Only use explicit crate features (#306) 2023-02-04 13:25:41 -08:00
daxpeddaandGitHub 1fbe25507e Bump voprf to v0.5.0-pre.2 (#304) 2023-02-03 16:45:52 -08:00
daxpeddaandGitHub 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
daxpeddaandGitHub 2dc2b0e617 Rename X25519 to Curve25519 (#302) 2022-12-19 09:03:11 -08:00
daxpeddaandGitHub 7da97be1db Fix CI (#298) 2022-12-16 14:14:53 -08:00
daxpeddaandGitHub a0cab10663 Update dependencies (#288)
* Fix Clippy

* Update dependencies
2022-12-10 21:30:05 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
765a15d58f Bump actions/cache from 2 to 3 (#292)
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-10 21:28:33 -08:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
86915604ee Bump actions/checkout from 2 to 3 (#291)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-10 21:28:24 -08:00
daxpeddaandGitHub cdb5222235 Add Dependabot (#287)
* Fix Clippy

* Add Dependabot
2022-12-10 14:23:53 -08:00
daxpeddaandGitHub d2bdcb391e Fix Clippy (#289) 2022-12-10 14:21:56 -08:00
Kevin LewiandGitHub 556f6c2bd4 Version bump for 2.0.0 (#284) 2022-09-21 21:18:20 -07:00
Kevin LewiandGitHub d2a2139348 Publishing v2.0.0 (#283) 2022-09-21 20:31:31 -07:00
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 LewiandGitHub 9ce5d8d191 Fixing voprf dependency pinning (#280) 2022-07-11 19:17:29 -04:00
Kevin LewiandGitHub 22eded4ed8 Updating voprf dependency and test vectors (#278) 2022-07-05 05:21:50 -04:00
e08ee1925c Document responsibility for server-side id. #276 (#277)
* Document responsibility for server-side id. #276

This is a passive warning to the server implementor
to not blindly trust the client to send the same
identifier in both [RegistrationRequest] and [RegistrationUpload].

* Perform suggested copy-editing

* Update src/lib.rs

Add wording "typically supplied by the client"

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

Co-authored-by: Jonah Beckford <[email protected]>
Co-authored-by: daxpedda <[email protected]>
2022-06-24 16:31:11 -07:00
FalkoandGitHub 5a0aef607c Change argon2 salt length to recommended value (16 bytes) (#275)
This commit changes the `Ksf` implementation for Argon2
and sets the salt length to 16 bytes, the value
recommended in section 3.1 of the Argon2 specification.
2022-06-12 20:19:26 -07:00
Kevin LewiandGitHub 6e90913132 Adding documentation on RegistrationUpload and removing patch voprf in Cargo.toml (#273) 2022-04-22 01:51:16 -07:00
Kevin LewiandGitHub f83773dec9 Fixing taplo bug (#272) 2022-04-17 22:53:41 -07:00
Kevin LewiandGitHub 3fe6bbb80f Updating to version 08 (#271) 2022-04-17 16:23:31 -07:00
daxpeddaandGitHub 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
Kevin LewiandGitHub f952a26e29 Publishing v2.0.0-pre.1 (#270) 2022-03-15 19:51:40 -07:00
daxpeddaandGitHub 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
daxpeddaandGitHub 47a26a19c5 Format (#257)
* Add Rustfmt

* Add Taplo
2022-01-05 21:19:02 -08:00
daxpeddaandGitHub 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
daxpeddaandGitHub 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
Kevin LewiandGitHub d59d0b775b Adding audit report reference to README + licenses (#253) 2021-12-13 15:29:06 -08:00
Kevin LewiandGitHub adbd50f523 Updating to dual-license (#252) 2021-12-03 14:38:11 -08:00
Kevin LewiandGitHub 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 LewiandGitHub f1f4184400 Add better parsing for RFC test vectors (#247) 2021-10-09 18:17:07 -07:00
77fbdb29f8 Constant time cmov (#241)
* Constant time `cmov`

* Adjust byte size

* Move from `to_signed_bytes_le` to `to_bytes_le`

* Add experimental p256 warning

* Remove redundant sign handling in `cmov`

* Remove unnecessary `Sub` implementation

* Improve note on missing constant-time implementations

* Move `inv0()` to `FieldElement`

* Fix Rust 1.51 compilation

* Remove unnecessary reference

Co-authored-by: Kevin Lewi <[email protected]>
2021-10-04 13:50:03 -07:00
daxpeddaandGitHub 328b07f217 P256 improvements (#244)
* Fix p256 `to_bytes`

* Remove unnecessary calls to `mod_floor`

* Port some improvements from VOPRF
2021-10-01 11:11:56 -07:00
Kevin LewiandGitHub 65a0c2f98d General cleanups and reorganizing code (#236) 2021-09-25 16:36:00 -07:00
daxpeddaandGitHub 11a93fe63e Fix is_square and is_zero (#240) 2021-09-25 12:13:06 -07:00
Aidan GilmoreandGitHub 8df79cb2b4 Remove Copy trait implementation from InnerEnvelopeMode (#237)
The Copy trait isn't allowed on types with destructors
2021-09-24 20:04:26 -07:00
d1dfee9a65 Add SlowHash configuration (#234)
* Add `SlowHash` configuration

* Use a reference

* Changing generic argument to be CipherSuite instead of SlowHash

Co-authored-by: Kevin Lewi <[email protected]>
2021-09-02 02:28:21 -07:00
Kevin LewiandGitHub 390db51910 Updating test vectors based on latest spec changes (#233) 2021-08-26 03:07:59 -07:00
Kevin LewiandGitHub aee4b5d50e Simplifying error handling (#232) 2021-08-22 12:28:19 -07:00
Kevin LewiandGitHub a99a934ead Changes related to renaming master branch to main (#231) 2021-08-18 13:57:24 -07:00
daxpeddaandGitHub 6c7840514d Fix no_std support (#229) 2021-08-16 20:11:53 -07:00
8a7bcf9097 no_std support (#225)
* No std implementation

* Run tests with std

* Adding wasm32-unknown-unknown target

Co-authored-by: Kevin Lewi <[email protected]>
2021-08-11 21:25:07 -07:00