8f20115075
v0.4.1 - draft-11 compatible, builds on latest Rust ( #135 )
...
* Fix Clippy (#85 )
* Update `curve25519-dalek` to 4.0.0-pre.5 (#86 )
* Update `curve25519-dalek`
* Improve documentation
* Adding all-features CI test (#87 )
* Upgrade `p256` to v0.12 (#90 )
* Upgrade `p256` to v0.12
* Upgrade MSRV to 1.60
(cherry picked from commit daa8dc048f )
* Replace `json` with `serde_json` (#92 )
(cherry picked from commit c8de51672b )
* Fix Clippy (#96 )
(cherry picked from commit 74eaebe446 )
* Depend on `ProjectivePoint: ToEncodedPoint` (#95 )
(cherry picked from commit 0409db6f40 )
* Update `curve25519-dalek` (#94 )
(cherry picked from commit 2787151e1d )
* Use explicit crate features (#100 )
(cherry picked from commit 5bce3e3206 )
* Bump `curve25519-dalek` to v4.0.0-rc.1 (#102 )
(cherry picked from commit 8363d26f6f )
* Test P-384 (#84 )
(cherry picked from commit 83eb78b232 )
* Update RustCrypto dependencies to v0.13 (#106 )
(cherry picked from commit 8b895cc631 )
* Update curve25519-dalek requirement from =4.0.0-rc.1 to =4.0.0-rc.2 (#108 )
Updates the requirements on [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek ) to permit the latest version.
- [Release notes](https://github.com/dalek-cryptography/curve25519-dalek/releases )
- [Changelog](https://github.com/dalek-cryptography/curve25519-dalek/blob/main/CHANGELOG.md )
- [Commits](https://github.com/dalek-cryptography/curve25519-dalek/compare/4.0.0-rc.1...4.0.0-rc.2 )
---
updated-dependencies:
- dependency-name: curve25519-dalek
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit 4bd2cf466e )
* Updating dual-license language (#110 )
(cherry picked from commit f79ebf9844 )
* Bump `curve25519-dalek` to v4.0.0-rc.3 (#113 )
(cherry picked from commit 209b957ae4 )
* Bump `curve25519-dalek` to v4 (#116 )
(cherry picked from commit 0fdfdfdaee )
* Fixing clippy IntoIterator warnings (#123 )
(cherry picked from commit c0162ec8d9 )
* Bump actions/checkout from 3 to 4 (#120 )
Bumps [actions/checkout](https://github.com/actions/checkout ) from 3 to 4.
- [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/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit 8da56845b8 )
* Updating setup-rust-action (#125 )
(cherry picked from commit 59e3fedb21 )
* Test P-521 (#127 )
(cherry picked from commit 68cc7d3709 )
* Fix ambiguous lifetime elision (#131 )
(cherry picked from commit 40769f7eca )
* Bump actions/cache from 3 to 4 (#132 )
Bumps [actions/cache](https://github.com/actions/cache ) from 3 to 4.
- [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/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit c93884aca3 )
* Fixups + cherry-picking changes from #101
* Fix Clippy warnings
* More fixups, tests passing
* Ensure CI runs on branch v0.4
---------
Co-authored-by: daxpedda <[email protected] >
Co-authored-by: Kevin Lewi <[email protected] >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-23 23:43:55 -07:00
Kevin Lewi
dfa88efeca
Updating actions/checkout and cache ( #71 )
2022-04-01 16:29:39 -07:00
daxpedda
16e072dcd4
Group trait overhaul part 2 (#53 )
...
* Rely on elliptic-curve for hash-to-curve and P-256 implementations
* Update MSRV
* Remove unnecessary `#[macro_use]`
* Re-introduce `CipherSuite`
* Provide types for length shortcuts
* Remove `SUITE_ID` from `Group`
* Blanket implementation for RustCrypto `Curve`s
* Remove the p256 crate feature
* Rename `ristretto_*` crate features to `ristretto-*` for consistency
* Remove unnecessary allowed Clippy lints
* Remove some unnecessary constraints
2022-01-21 13:52:09 -08:00
daxpedda
55ef981a3f
General Improvements ( #47 )
...
* Introduce `Result` shorthand, re-export and rename `InternalError`
* Re-export some public API relevant types
* Move `deserialize`
* Remove branch in `i2osp`
* Make `serialize` and `serialize_owned` methods
* Update p256
2021-12-25 16:54:27 -05:00
daxpedda
5228474f05
Remove custom Serde implementation ( #44 )
...
* Serialize `BlindedElement` as `GenericArray`
* Don't hold input
* Remove allocations from `VerifiableClient::batch_finalize`
* Remove all allocation from serialization
* Remove required `alloc` support.
* Fix accidental usage of 1.57 API
* Let `VerifiableClient::batch_finalize` return a concrete type
* Simplify de-serialization
* Remove custom Serde implementation
2021-12-23 15:03:38 -05:00
daxpedda
6669a0c4e6
Introduce ristretto255 crate feature ( #35 )
2021-12-23 01:50:48 -05:00
daxpedda
140f9e063d
Configure Rustfmt and Taplo ( #38 )
...
* Configure rustfmt
* Add Taplo configuration and run in CI
2021-12-22 19:17:03 -05:00
daxpedda
b1b315f23c
General improvements ( #34 )
...
* Minor improvements
* Fix `Debug` implementation
* Fix de-serialization
* Fix accidental usage of nightly
* Fix MSRV warning
* Replace macro with derive-where
* Add `rust-version` into `Cargo.toml`
* Move Serde trait implementation macro to `serialization` module
* Add ability to test without a Ristretto backend
* Improve docs
* Fix testing multiple backends together
* Implement `Ord` and `PartialOrd`
* `no_std` by default
* Remove unnecessary `doc_cfg`
* Remove dev-dependency on self
* Implement `Ord` and `PartialOrd` for `InternalError`
* Remove base64 encoding for serde
* Only take references
* Remove unnecessary qualifications from super-trait times
2021-12-21 14:17:02 -05:00
daxpedda
7613610859
Add cargo-audit to CI ( #40 )
2021-12-21 14:15:34 -05:00
daxpedda
14830f1436
Remove allocations by serialize ( #29 )
...
* Changed `expand_message_xmd` input to `Iterator`
* Changed `hash_to_scalar` input to `Iterator`
* Fix rustfmt
* Add documentation for private helper types
* Fix documentation
* Improve `chain!()` syntax bias
* Move helper functions to `mod util`
2021-10-15 16:56:21 -07:00
Kevin Lewi
8457e8b900
Adding "danger" feature to expose underlying elements ( #27 )
...
* Adding internal feature to expose underlying elements
* Applying @daxpedda's comments and suggestions
2021-10-14 13:55:43 -07:00
daxpedda
de91fafdb3
Group improvements ( #28 )
...
* Implement `ConstantTimeEq` for `Group` and `Group::Scalar`
* Changed `expand_message_xmd` `dst` parameter to `GenericArray<u8, D>`
* Remove allocation for `dst_prime` in `expand_message_xmd`
* Remove allocation for `msg_prime` and `b` in `expand_message_xmd`
* Remove unnecessary references in `expand_message_xmd`
* Return `GenericArray` from `expand_message_xmd`
* Oxidize loop in `expand_message_xmd`
* Remove allocation for `b` in `expand_message_xmd`
* Remove allocation for `xor`
* De-duplicate code in `expand_message_xmd`
* Remove unnecessary features
* Make ristretto optional and export all backends
* Make `rand` optional
* Fix wrong documentation
* Document `rand` feature
* Remove empty line
* Fix rustfmt
* Fix testing with other backends
* Iterate by value in `expand_message_xmd`
* Fix typo
* Rename `ristretto_x` features to `ristretto255_x`
* Remove `rand` re-export
* Improve `expand_message_xmd` loop
* Remove unnecessary `#[doc(cfg())]`
* Remove unnecessary `pub(crate)` for `mod p256`
* Fix `p256` only build
* Rename `serialize` feature to `serde`
* Fix missing `Cargo.toml` update
2021-10-14 11:09:00 -07:00
daxpedda
5ac52388ff
Reduce allocations and some general code improvements ( #26 )
...
* Remove unnecessary paths
* Remove unnecessary conversion for `G::from_scalar_slice`
* Remove unnecessary allocations
* Return `GenericArray` from `get_context_string`
* Use `zip()` instead instead of indexing
* Changed `compute_composites` input to `Iterator`s
* Changed `generate_proof` input to `Iterator`s
* Changed `verify_proof` input to `Iterator`s
* Reduce allocations in `verifiable_unblind`
* Changed `verifiable_unblind` input to `Iterator`s
* Changed `batch_finalize` input to `Iterator`s
Removed `BatchFinalizeInput`
* Reduce allocations in `VerifiableClient::finalize`
* Changed `finalize_after_unblind` input to `Iterator`s
* Changed `batch_evaluate` input to `Iterator`s
* Reduce allocations in `evaluate`
* Changed `blind` input to `Into<Vec<u8>>`
* Remove note about `BatchFinalizeInput` from documentation
* Remove `Metadata`
* Changed `blind` input to `Vec<u8>`
* General improvements to test code
* Fix rustdoc
* Remove unnecessarily installed components
2021-10-12 15:07:47 -07:00
daxpedda and Kevin Lewi
fab7528a69
Improvements ( #24 )
...
* Remove manual `Debug` impl for `InternalError`
* Remove unnecessary `#[macro_use]`
* Remove unnecessary `tuple` handling in macro
* Improve serialization macro impl
* Improve `impl_traits_for` macro
* Re-direct `Drop` implementation
* Improve macro readability
* Fix rustdoc warnings
* Rust 1.51 has no support for `rustdoc` lints
* Change `i2osp` output to `GenericArray` from `Vec`
* Reduce calls to `to_vec()` and simplify conversion
* Adding zeroize tests
Co-authored-by: Kevin Lewi <[email protected] >
2021-10-10 17:51:12 -07:00
daxpedda
2d8780476a
Use Clippy on test code too ( #22 )
2021-10-05 15:19:20 -07:00
Kevin Lewi
1d6113f319
Publishing v0.1 ( #15 )
2021-09-29 18:19:32 -07:00
Kevin Lewi
0445a9461c
Adding crate-level documentation ( #9 )
2021-09-20 00:17:53 -07:00
Kevin Lewi
fe3222d148
Adding p256 support and no_std CI ( #2 )
2021-09-09 02:59:11 -07:00
Kevin Lewi
bb4b9d0909
Initial implementation ( #1 )
2021-09-09 01:56:54 -07:00