Commit Graph
59 Commits
Author SHA1 Message Date
daxpeddaandKevin Lewi 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 Lewi 390db51910 Updating test vectors based on latest spec changes (#233) 2021-08-26 03:07:59 -07:00
Kevin Lewi aee4b5d50e Simplifying error handling (#232) 2021-08-22 12:28:19 -07:00
Kevin Lewi a99a934ead Changes related to renaming master branch to main (#231) 2021-08-18 13:57:24 -07:00
daxpedda 6c7840514d Fix no_std support (#229) 2021-08-16 20:11:53 -07:00
daxpeddaandKevin Lewi 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
daxpedda 88673d8e05 Separate AKE from OPRF take 2 (#222)
* Separate AKE from OPRF

Introduce X25519 implementation

* Rename `AkeGroup` to `KeGroup` and `Group` to `OprfGroup`

* Add documentation to "Overview"
2021-08-04 12:24:46 -07:00
daxpedda 10a38bc58b Merge GroupWithMapToCurve into Group (#219)
* Merge `GroupWithMapToCurve` into `Group`

* Remove `hash_to_curve`

* Ristretto improvements

* P-256 improvements
2021-08-01 17:48:56 -07:00
daxpeddaandKevin Lewi e491c1b533 P256 implementation (#213)
* Initial P256 implementation

* Add P256 VOPRF test vectors

* Fix implementation

* Forgot `Cargo.toml` and CI

* Fix MSRV

* Fix MSRV tests

* Remove accidental leftovers

* Document constants

* Use included constant time checks

* Add P-256 VOPRF test vector checks

* Remove unnecessary bound on `CipherSuite::Group`

* P-256 improvement and fixes

* Add OPAQUE test vectors for P-256

* Remove fixed key size for 3DH

* Hide P-256 test vectors behind feature flag

* Split `Group` into modules

* Fix `hash_to_scalar`

* Point to source

* Move constants to `once_cell`

Co-authored-by: Kevin Lewi <[email protected]>
2021-07-30 16:02:02 -07:00
daxpeddaandKevin Lewi 2373ca8680 Increase MSRV to 1.51 (#217)
* Increase MSRV to 1.51

* Adding MSRV note

Co-authored-by: Kevin Lewi <[email protected]>
2021-07-30 15:36:57 -07:00
Kevin Lewi 35886152ca Adding tilde to zeroize dep and minor doc adjustments 2021-07-23 15:23:10 -07:00
dAxpeDDa 1ec96e942b Remove unneeded derives 2021-07-23 15:23:10 -07:00
dAxpeDDa 68d0dd2988 Run rustfmt 2021-07-23 15:23:10 -07:00
dAxpeDDa b27b29e652 Add documentation for remote key 2021-07-23 15:23:10 -07:00
daxpedda 3d01a605df Move PrivateKey from CipherSuite to ServerSetup 2021-07-23 15:23:10 -07:00
daxpedda d61e2d0b5c Introduce PrivateKey associated type to CipherSuite 2021-07-23 15:23:10 -07:00
Kevin Lewi 349329cdeb Releasing v0.6.0 2021-06-30 12:20:57 -07:00
Kevin Lewi e86fbac0b7 Add copyright header and update server consistency documentation 2021-06-28 13:16:16 -07:00
daxpedda eb59676a94 Implement common traits 2021-06-22 20:46:34 -07:00
daxpedda ca50d92f96 Remove scrypt 2021-06-21 12:26:22 -07:00
daxpedda 535b9b8ee4 Argon2 implementation 2021-06-21 12:26:22 -07:00
Kevin Lewi 1572ff0104 Adding support for "internal mode" and fake credential response + test vectors (#155)
* Adding support for internal and external mode
2021-06-21 01:29:39 -07:00
Kevin Lewi f0c13945d1 Adding client enumeration mitigations (#153) 2021-06-21 01:29:39 -07:00
Kevin Lewi 0935bea8ff Adding documentation of slow-hash + other features 2021-06-13 15:45:53 -07:00
Kevin Lewi ac08801f18 Updating to version 0.4.0 and simplifying transcript computation logic in TripleDH (#148) 2021-02-26 15:18:10 -08:00
Kevin Lewi 782eeb7090 Converting to_bytes and try_from to serialize() and deserialize() (#138) 2021-02-17 02:47:00 -08:00
Kevin Lewi e694a88ef9 Exporting rand (#137) 2021-02-11 18:10:48 -08:00
Kevin Lewi d3204203ca Publishing v0.3.0 (#132) 2021-02-08 12:52:46 -08:00
Kevin Lewi 160ac47ffa Renaming shared secret to session key (#133) 2021-02-08 11:19:06 -08:00
Kevin Lewi 6dc1c8b212 Turning KeyPair into a struct (#119) 2021-01-25 13:20:36 -08:00
Kevin Lewi 511d371c9a Adding digital locker example (#117) 2021-01-21 20:18:57 -08:00
Kevin Lewi 2a2d0888a5 Adding encryption algorithm and removing unnecesssary info fields (#114) 2021-01-14 15:30:37 -08:00
Kevin Lewi fa6752cdc5 Adding documentation for advanced usage + optional parameters (#110) 2021-01-05 10:13:00 -08:00
Kevin Lewi 9f6b32a5ea Updating envelope structure to support two fixed modes (#108)
* Moving id_u and id_s from ClientLoginStartParameters to ClientLoginFinishParameters

* Updating envelope format to support two fixed modes
2021-01-04 14:27:20 -08:00
Kevin Lewi f5b5391ee0 Moving id_u and id_s from the client API to registration finish instead of start (#102) 2020-12-17 14:00:32 -08:00
Kevin Lewi 605d2b639b Cleaning up docs + README (#98) 2020-12-12 21:53:33 -08:00
Kevin Lewi 95152c3b35 Adding API for handling info fields (#88) 2020-11-16 14:05:43 -08:00
François Garillot 230b1bcef6 Start integrating the derivable SizedBytes
- just derive it on Key and KeyPair for now
2020-11-03 16:45:37 -05:00
Kevin Lewi c8cbf56336 Conform to voprf spec (#71) 2020-11-02 20:15:08 -05:00
François Garillot 9c06c98ad6 Introduce enum structs to replicate TLS message format
This PR favors native coercions of enums to numerical types to help ser/de operations.
Small rearrangement of the serialization module.
2020-11-02 20:15:02 -05:00
François Garillot 344e8ad8d1 Updating serialization for RegisterFirstMessage (#35) 2020-11-02 20:14:47 -05:00
Kevin Lewi c7f6abb591 Adding simple login example and fixing some docs (#67) 2020-10-26 11:52:15 -07:00
François Garillot 25ae7ff9bf Make Hash module public
Fixes #63
2020-10-21 18:24:55 -04:00
François Garillot f1bdfcd3a0 Add elligator mapping for hash-to-curve 2020-09-03 14:17:43 -04:00
Kevin Lewi c2edb2d95e Adding a hash type to CipherSuite (#24) 2020-07-27 15:25:04 -07:00
François Garillot 4fda240a7d Pass the {curve, x}25519-dalek features through the build 2020-07-22 14:59:06 -04:00
François Garillot 91137903c6 Add benchmarks for OPRF functions (under a bench feature) 2020-07-22 14:32:58 -04:00
François Garillot e93e8fd5a8 Make the group mod public 2020-07-22 11:58:00 -04:00
Kevin Lewi f8285c60ba Introducing a trait for key exchange (#20) 2020-07-13 15:23:29 -07:00
François Garillot 69449cca3e Activate #![deny(missing_docs)], #![deny(unsafe_code)] 2020-07-06 15:40:35 -04:00