Commit Graph
84 Commits
Author SHA1 Message Date
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
dAxpeDDa db4e07811e Implement oprf_key test 2021-07-30 14:45:27 -07:00
dAxpeDDa 3f6b6d4afe Implement client_mac_key test 2021-07-30 14:45:27 -07:00
dAxpeDDa ec528eb4d9 Implement server_mac_key test 2021-07-30 14:45:27 -07:00
dAxpeDDa 4298deadff Implement handshake_secret test 2021-07-30 14:45:27 -07:00
dAxpeDDa 49dc5b9050 Implement auth_key test 2021-07-30 14:45:27 -07:00
dAxpeDDa b90163a007 Add randomized_pwd tests 2021-07-30 14:45:27 -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 b4882f8810 Adding reflected value check on client side 2021-07-14 18:10:35 -07:00
Kevin Lewi 8de2f37235 Updating VOPRF dependency 2021-07-12 15:16:08 -07:00
Kevin Lewi e6b5a5dcf6 Adding i2osp error checking condition 2021-07-08 19:38:30 -07:00
daxpedda 2d9b1d550e Remove unnecessary clones 2021-07-08 18:55:53 -07:00
daxpedda 52d68d6f77 Constraint Scalar with Copy 2021-07-08 18:55:53 -07:00
daxpedda dd97a81641 Generic PublicKey and PrivateKey 2021-07-08 18:55:53 -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 98f1821897 Adding identity element checks and ensuring non-zero scalar selection 2021-06-15 18:39:33 -07:00
Valentin Tolmer 210e0e99df Enforce public vs private keys via types 2021-06-15 14:47:35 -07:00
Valentin Tolmer cd85efc603 Fix some clippy lint warnings 2021-06-15 12:59:36 -07:00
Marcelin Dupraz 055e76a115 Implement serde serialization and deserialization to follow Rust's standards. 2021-06-12 23:24:27 -07:00
Kevin Lewi 8bc5e7dc02 Add zeroize on drop for remaining intermediate API states and tests 2021-06-04 16:37:54 -07:00
Kevin Lewi ba8e940e08 Updating to 0.5 with removing generic_bytes_derive (#150) 2021-03-01 19:23:09 -08:00
Kevin Lewi fa0fb48654 Fixing test vector bug with envelope ciphertext serialization and updating VOPRF (#145) 2021-02-21 18:44:36 -08:00
Kevin Lewi 4da6bbce0c Fixing key sizes and removing serialization (#144) 2021-02-20 03:51:04 -08:00
Kevin Lewi a457d82793 Updating transcript computation for 3DH (#143) 2021-02-19 12:02:44 -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 160ac47ffa Renaming shared secret to session key (#133) 2021-02-08 11:19:06 -08:00
Kevin Lewi e35410ab95 Fixing envelope mode inconsistency and matching against latest test vectors (#130) 2021-02-05 13:17:02 -08:00
Kevin Lewi 099f887530 Applying envelope simplified construction and km3 mac changes (#128) 2021-02-04 15:57:06 -08:00
Kevin Lewi 9d3963f98e Addressing various TODOs and minor cleanups (#127) 2021-02-02 12:12:20 -08:00
Kevin Lewi 6eeeb0db28 Fixing test vectors and use of SHA512 (#120) 2021-01-26 09:27:30 -08:00
Kevin Lewi 6dc1c8b212 Turning KeyPair into a struct (#119) 2021-01-25 13:20:36 -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
François Garillot 6b22064863 Fold a few panics
Removes a few panics we don't need by folding them in the Error case of their enclosing Result return.
2020-12-09 13:10:05 -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
Kevin Lewi 6f5a1fc6aa Removing protocol message bytes (#93) 2020-11-30 11:37:32 -08:00
Kevin LewiandKevin Lewi 4c82dfaf13 Adding info and einfo fields to test vectors (#92)
Co-authored-by: Kevin Lewi <[email protected]>
2020-11-29 23:06:55 -08:00
Kevin Lewi 95152c3b35 Adding API for handling info fields (#88) 2020-11-16 14:05:43 -08:00
Kevin Lewi 51b3781e5c Updating AKE message format (#85) 2020-11-16 11:49:27 -08:00
Kevin Lewi f165310c96 Adding expand_message_xmd and RFC compliance with VOPRF and H2C (#80) 2020-11-12 10:00:09 -08:00