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 |
|
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
|
65a0c2f98d
|
General cleanups and reorganizing code (#236)
|
2021-09-25 16:36:00 -07:00 |
|
Kevin Lewi
|
aee4b5d50e
|
Simplifying error handling (#232)
|
2021-08-22 12:28:19 -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 |
|
 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
|
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
|
4ce61acc6e
|
Implement custom error type
|
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
|
e6b5a5dcf6
|
Adding i2osp error checking condition
|
2021-07-08 19:38:30 -07:00 |
|
daxpedda
|
2955bcf5ac
|
Replace Vec in Key with GenericArray
|
2021-07-08 18:55:53 -07:00 |
|
daxpedda
|
dd97a81641
|
Generic PublicKey and PrivateKey
|
2021-07-08 18:55:53 -07:00 |
|
Kevin Lewi
|
c8c57785af
|
Fixing minor nits: conversion to u16 and removing keypair constructor
|
2021-06-28 19:19:11 -07:00 |
|
daxpedda
|
eb59676a94
|
Implement common traits
|
2021-06-22 20:46:34 -07:00 |
|
daxpedda
|
ed086c9528
|
Update dependencies
|
2021-06-22 14:35:14 -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 |
|
Valentin Tolmer
|
210e0e99df
|
Enforce public vs private keys via types
|
2021-06-15 14:47:35 -07:00 |
|
Valentin Tolmer
|
2c7fe4e382
|
Implement Clone for every message type
|
2021-06-15 10:06:32 -07:00 |
|
Kevin Lewi
|
30e27a11e2
|
Ensure that all public keys are being checked when deserialized
|
2021-06-14 22:39:13 -07:00 |
|
Kevin Lewi
|
51b14f34e0
|
Fixing some clippy errors and CI
|
2021-06-12 23:24:27 -07:00 |
|
Kevin Lewi
|
940d1dcdb2
|
Ensuring mac operations are constant-time
|
2021-06-04 17:07:10 -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
|
ac08801f18
|
Updating to version 0.4.0 and simplifying transcript computation logic in TripleDH (#148)
|
2021-02-26 15:18:10 -08:00 |
|
Kostas Chalkias
|
37f98b3742
|
Helper function generate_nonce to avoid duplicates + default values for Scrypt
|
2021-02-21 20:29:26 -08:00 |
|
Kevin Lewi
|
a457d82793
|
Updating transcript computation for 3DH (#143)
|
2021-02-19 12:02:44 -08:00 |
|
Kevin Lewi
|
e694a88ef9
|
Exporting rand (#137)
|
2021-02-11 18:10:48 -08:00 |
|
Kevin Lewi
|
f596e4bf0e
|
Fixing clippy issues (#139)
|
2021-02-11 03:41:01 -08:00 |
|
Kevin Lewi
|
160ac47ffa
|
Renaming shared secret to session key (#133)
|
2021-02-08 11:19:06 -08:00 |
|
Kostas Chalkias
|
e32b240ce2
|
Reuse hashers by hasher.finalize_reset which is slightly faster than constructing the hasher object each time.
|
2021-02-04 17:00:17 -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
|
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 |
|
François Garillot
|
05514e49aa
|
Correct platform size bug
|
2020-11-12 10:42:45 -05: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
|
28645a7cea
|
Add key schedule / info changes in TripleDH computation (#69)
|
2020-11-02 20:15:07 -05:00 |
|
François Garillot
|
587ef935a7
|
Fix use of TryFrom<Vec<u8>> in key_exchange
We can directly require the HRTB on `for<'r> TryFrom<&'r [u8]>`.
Eliminates needless to_vec.
|
2020-09-24 14:31:29 +00:00 |
|
François Garillot
|
c97ddaf5d2
|
Make KeyExchange generic in KeyFormat
|
2020-09-21 14:46:04 -04:00 |
|