Commit graph

2346 commits

Author SHA1 Message Date
phayes
2dad99a60e
Removing double 2020-02-23 07:32:45 -08:00
NikVolf
dedbb9b96a fix alloc feature 2020-02-22 15:10:21 +03:00
Isis Lovecruft
dc7e411d9a
Merge branch 'main' into develop 2020-02-07 11:33:45 +00:00
Isis Lovecruft
eb827d5779
Pin zeroize dependency to =1.3.0 to maintain MSRV 1.41. 2020-02-07 11:31:41 +00:00
Isis Lovecruft
4d0af53ccf
Merge branch 'feature/github-ci-nightlies' into main 2020-02-07 11:28:00 +00:00
Isis Lovecruft
ee0c6baa45
Add Github action to test with nightly compilers. 2021-09-23 21:13:26 +00:00
James Munns
3d9d11dcdf Add additional visitor methods for deserialization 2020-01-13 00:59:08 +01: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
Isis Lovecruft
3a9101933b
Enable serde/std if std is enabled.
* FIXES part of https://github.com/dalek-cryptography/ed25519-dalek/pull/107
2019-12-11 23:14:29 +00:00
isis agora lovecruft
2ed9fa932d
Merge pull request #107 from cbeck88/serde_no_std
Use `default-features = false` with `serde`
2019-12-11 23:11:24 +00:00
Isis Lovecruft
8a2e9af9d6
Fix breakage on builds with the rand crate disabled.
* CLOSES https://github.com/dalek-cryptography/ed25519-dalek/issues/108
 * THANKS TO @tarcieri
2019-12-11 23:02:44 +00:00
Isis Lovecruft
af15a0e553
Merge remote-tracking branch 'dalek/develop' into develop 2019-12-11 22:49:06 +00:00
Isis Lovecruft
9363690191
Fix outdated docstring for verify_batch(). 2019-12-11 22:48:33 +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
Chris Beck
0a191a86f6 Use default-features = false with serde
It doesn't appear to me that ed25519-dalek crate needs any of the std-related
features of serde. But it turns them on anyways because it doesn't put
`default-features = false`.

This breaks no_std builds. Otherwise I think we could use 1.0.0-pre3 in mobilecoin.
I'm going to test this revision in our build and see if I'm right. I don't think
this is a breaking change from dalek's point of view.
2019-12-10 13:30:56 -08:00
isis agora lovecruft
7c38546f97
Merge pull request #106 from isislovecruft/feature/zeroize
Switch to using zeroize rather than clear_on_drop.
2019-12-10 20:37:30 +00:00
Isis Lovecruft
7e2aed3943
Fix typo of Pippenger's name. 2019-12-10 20:33:53 +00:00
Isis Lovecruft
8ca3be99e9
Switch to using zeroize rather than clear_on_drop. 2019-12-09 22:39:57 +00:00
Isis Lovecruft
7db743bd43
Merge branch 'master' into develop 2019-12-07 01:25:10 +00:00
Isis Lovecruft
36a51acbf0
Merge branch 'release/1.0.0-pre.3' 2019-12-07 01:24:30 +00:00
Isis Lovecruft
29a06e494d
Bump ed25519-dalek version to 1.0.0-pre.3. 2019-12-06 23:42:52 +00:00
Isis Lovecruft
52a7fc88b6
Update README w.r.t. new features, malleability, synthethic randomness. 2019-11-27 22:26:58 +00:00
Isis Lovecruft
b5ffcdf3ac
Merge branch 'feature/batch_deterministic' into develop 2019-11-26 23:06:14 +00:00
Isis Lovecruft
1be2a65777
Maybe I should try compiling my code before showing other cryptographers?
lol
2019-11-26 22:57:24 +00:00
Isis Lovecruft
8938069053
Update curve25519-dalek dependency to 2.0.0. 2019-11-26 22:54:53 +00:00
Henry de Valence
52050e4e10 Merge branch 'master' into develop 2019-11-26 14:05:18 -08:00
Henry de Valence
ecd6be6748 Merge branch 'release/0.6' 2019-11-26 14:05:10 -08:00
Henry de Valence
d9c7f2814e Bump version to 0.6.0 and update CHANGELOG. 2019-11-26 14:03:08 -08:00
Henry de Valence
d588e2fd18
Merge pull request #52 from DebugSteven/bump-rand
Bump rand_core Version
2019-11-26 13:56:19 -08: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
DebugSteven
be82bcb15b update rand_core version
Co-authored-by: Greg <gregory.mkv@gmail.com>
2019-11-26 14:28:34 -07:00
isis agora lovecruft
d52ab8bb6f
Merge branch 'develop' into feature/compressed-try-from 2019-11-26 21:21:14 +00:00
Henry de Valence
b651a5e7ca
Merge pull request #39 from DebugSteven/zeroize
Use zeroize crate
2019-11-26 12:52:36 -08:00
DebugSteven
de5d79388b use zeroize instead of clear_on_drop 2019-11-26 13:44:50 -07:00
Isis Lovecruft
ec551145e9
Add message lengths into nonce generator protocol transcript. 2019-11-22 23:21:01 +00:00
Isis Lovecruft
bd6a897729
Actually use the transcript PRNG. 2019-11-22 23:40:46 +00:00
Isis Lovecruft
85a218ac40
Implement deterministic batch verification and synthetic nonce generation. 2019-11-22 23:29: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
Isis Lovecruft
ee67f36ba9
Move verify_batch() to new batch module. 2019-11-21 00:31:10 +00:00
Isis Lovecruft
8f848793f3
Merge branch 'feature/no-panics' into develop 2019-11-21 00:09:32 +00:00
Henry de Valence
db6a0b1187 Merge branch 'master' into develop 2019-11-15 15:02:48 -08:00