Commit graph

1322 commits

Author SHA1 Message Date
Isis Lovecruft
91a0faea35
Move CoC section from CONTRIBUTING.md to new file.
This helps Github's UI show that we have one and autolink to it.
2020-08-18 00:44:52 +00:00
isis agora lovecruft
5038fcf50a
Merge pull request #308 from isislovecruft/fix/pippenger-typo
Fix typo of Pippenger's name.
2020-07-01 01:14:10 +00:00
François Garillot
6afd8ff212
Update sha2, digest to 0.9 2020-06-15 07:16:04 -04:00
Henry de Valence
3cc13a7bec Merge branch 'master' into develop 2020-05-29 12:42:49 -07:00
Henry de Valence
c4824e1384 Merge branch 'release/2.1.0' 2020-05-29 12:40:24 -07:00
Henry de Valence
3fc47ef867 Bump version to 2.1.0 2020-05-29 12:39:39 -07:00
Henry de Valence
f04b83055c Merge branch 'master' into develop 2020-05-29 12:36:16 -07:00
Henry de Valence
e342f25c4e
Merge pull request #325 from rubdos/const_fn_for_scalar_from_bits
Make Scalar::from_bits a const fn.
2020-05-29 12:26:31 -07:00
Ruben De Smet
3a61a0b70c Make Scalar::from_bits a const fn.
const_fn is stable since Rust 1.31
(https://github.com/rust-lang/rust/pull/54835) and enables calling
`Scalar::from_bits(..)` from other const fn contexts, potentially
saving some overhead here and there.

Especially useful in contexts where constants are being built from a bit
pattern.
2020-05-28 10:28:28 +02:00
gedigi
c9fe6c5533 implemented Zeroize for CompressedRistretto and RistrettoPoint 2020-03-19 14:16:06 -07:00
Henry de Valence
9753fe4528
Merge pull request #316 from huitseeker/bump-criterion
Bump criterion version
2020-03-02 09:50:11 -08:00
Henry de Valence
59b1a42bed
Merge pull request #318 from Fiono11/new_branch
Derive of Hash trait to CompressedRistretto, CompressedEdwardsY, MontgomeryPoint, and Scalar
2020-03-02 09:39:51 -08:00
Rui Morais
6a8e466063 add derive Hash to Scalar, MontgomeryPoint and CompressedEdwardsY 2020-02-25 22:39:19 +00:00
Rui Morais
d57fb6caeb Derive of Hash trait to CompressedRistretto 2020-02-25 18:16:06 +00:00
François Garillot
7b1363a964
Bump criterion version 2020-02-24 14:24:49 -05:00
Isis Lovecruft
e82910d215
Add test for basepoint table multiplication by unreduced scalar. 2020-01-07 08:06:27 +00:00
Isis Lovecruft
1f8a19a753
Fix an attempted overflow on absolute value computation for radix-256 tables.
Found by the fuzzer in 4f5d2d4.
2020-01-07 08:04:46 +00:00
Isis Lovecruft
ca1f730790
Fix debug_assert! range in Scalar::to_radix_2w_size_hint(). 2020-01-03 23:56:30 +00:00
Isis Lovecruft
c01bd780dc
Implement radix-32 precomputed scalar multiplication tables. 2019-12-31 02:26:03 +00:00
Isis Lovecruft
cfbcb6ca61
Implement conversions between basepoint table sizes.
This is useful for programs/protocol which can do some heuristics or
learning-based approach towards optimising the table size based on the number of
uses of e.g. a public key, the second basepoint in a Pedersen commitment, etc.,
i.e. the first time a public key is used to verify a signature, the usual
variable-time basepoint multiscalar multiplication is used, however after 1000
verifications, the table size is upgraded, and again after 10000 verifications,
etc.
2019-12-31 02:26:03 +00:00
Isis Lovecruft
8a9e09ba34
Implement larger sizes of basepoint tables.
This implements a macro for implementing the BasepointTable trait, and
uses the macro to create basepoint table types. The default table
still uses radix-16 representation and is ~30KB in size.  The new
table types, and their memory usage and additions required per
basepoint multiplication are:

 * `EdwardsBasepointTableRadix64`: ~120KB, 43 additions
 * `EdwardsBasepointTableRadix128`: ~240KB, 37 additions
 * `EdwardsBasepointTableRadix256`: ~480KB, 32 additions
2019-12-31 02:26:03 +00:00
Isis Lovecruft
383e65f6bd
Add a trait for implementing a basepoint table. 2019-12-27 12:54:52 +00:00
Isis Lovecruft
4f29935c2c
Create macro for generating different sized LookupTable<T>s. 2019-12-27 12:49:32 +00:00
Henry de Valence
6a44f31702 Revert "Merge pull request #296 from isislovecruft/feature/compressed-try-from"
This reverts commit 46f56f91ee, reversing
changes made to a9b1d50c5a.

These changes are not semver-compatible with the 2.0.0 release.
2019-12-10 14:16:24 -08:00
Isis Lovecruft
7e2aed3943
Fix typo of Pippenger's name. 2019-12-10 20:33:53 +00:00
isis agora lovecruft
46f56f91ee
Merge pull request #296 from isislovecruft/feature/compressed-try-from
Impl TryFrom<&[u8]> for all compressed point types.
2019-11-26 21:43:29 +00:00
isis agora lovecruft
d52ab8bb6f
Merge branch 'develop' into feature/compressed-try-from 2019-11-26 21:21:14 +00:00
Henry de Valence
a9b1d50c5a Merge branch 'master' into develop 2019-11-22 13:18:56 -08:00
Henry de Valence
805cdbfd3c Merge branch 'release/2.0.0' 2019-11-22 13:18:44 -08:00
Henry de Valence
d889ac8a15 Finalize 2.0.0
This collapses the CHANGELOG entries for the intermediate alpha releases (to be
yanked) into a list of changes from 1.x to 2.0.0.
2019-11-22 13:14:14 -08:00
Henry de Valence
db6a0b1187 Merge branch 'master' into develop 2019-11-15 15:02:48 -08:00
Henry de Valence
58d32ea27f Merge branch 'release/2.0.0-alpha.2' 2019-11-15 15:02:37 -08:00
Henry de Valence
69d72f92d6 Bump version to 2.0.0-alpha.2 and update changelog. 2019-11-15 15:00:15 -08:00
Henry de Valence
0168816f04
Merge pull request #307 from dalek-cryptography/update-nightly-note-subtle
Remove nightly recommendation now that subtle has stable optimization barriers.
2019-11-15 14:54:28 -08:00
Henry de Valence
2b51978553 Remove nightly recommendation now that subtle has stable opt barriers.
This bumps the required `subtle` version to `2.2.1`, which contains those changes.
2019-11-15 14:29:14 -08:00
isis agora lovecruft
77203aa1cb
Merge pull request #306 from isislovecruft/feature/236-merge-rebase
Implement Zeroize for Scalar and MontgomeryPoint
2019-10-28 20:28:34 +00:00
isis agora lovecruft
4d1dfbaf03
Merge pull request #305 from isislovecruft/fix/unused-tmp2-warning
Fix a warning that a temporary value isn't used.
2019-10-28 20:20:06 +00:00
Isis Lovecruft
4423394ed8
Fix warning that a temporary value isn't used. 2019-10-28 19:12:00 +00:00
Isis Lovecruft
57f19e018f
Merge remote-tracking branch 'DebugSteven/zeroize' into feature/236-merge-rebase 2019-10-28 19:09:39 +00:00
isis agora lovecruft
b3add72bcd
Merge pull request #304 from isislovecruft/fix/remove-rand_os
Remove dev-dependency on deprecated rand_os crate.
2019-10-28 18:38:29 +00:00
Isis Lovecruft
409ebd94c0
Remove dev-dependency on deprecated rand_os crate.
The functionality we were using is now contained in the `rand_core` crate, which
we already depend upon.  As far as testing code goes, only benchmarks still
depend upon `rand`, as they use `thread_rng`.
2019-10-28 18:06:29 +00:00
Isis Lovecruft
9ae2e3b482
Change all from_slice() constructors to return Option<T>s.
We due this in lieu of implementing `TryFrom` to allow for API
consumers to use the `?` operator to convert potential `None`s into
their own `Result<T, CustomError>` types for better error handling
with less boilerplate.

Note that this is a breaking API change.
2019-10-28 17:29:15 +00:00
Henry de Valence
4cc0afdcfc
Merge pull request #302 from isislovecruft/fix/228-remove-ristretto-random-test
Remove test for validity of randomly generated RistrettoPoints.
2019-10-28 10:29:11 -07:00
Isis Lovecruft
c21224170a
Remove optional failure dependency and impl std::error::Error. 2019-10-28 17:29:04 +00:00
Isis Lovecruft
1d8b3995c9
Add custom error types, currently only used in TryFrom impls. 2019-10-28 17:28:40 +00:00
Isis Lovecruft
1fa0048262
Implement TryFrom<&[u8]> and ValidityCheck for MontgomeryPoint. 2019-10-28 17:26:23 +00:00
Isis Lovecruft
db3d26f4b9
Fix typo in TryFrom docstring. 2019-10-28 17:26:23 +00:00
Isis Lovecruft
a7f317a2b8
Impl TryFrom<&[u8]> for all compressed point types.
This reduces copy-pasta in downstream users to check the length of the
slice beforehand.
2019-10-28 17:26:23 +00:00
isis agora lovecruft
4023b9143f
Merge pull request #301 from VictorKoenders/develop
Added constants to reduce recalculations in elligator_risteretto_flavor
2019-10-28 17:08:50 +00:00
Trangar
ae4bf40e28 Added constants to reduce recalculations in elligator_risteretto_flavor 2019-10-28 11:48:33 +01:00