Commit graph

2285 commits

Author SHA1 Message Date
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
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 Lovecruft
15d0a6596f
Document batch verification on docs.rs and fix false autolinking. 2019-11-14 22:01:34 +00:00
J Haigh
e2537185ac
Merge pull request #48 from DebugSteven/serde-support
support for serde serialize and deserialize
2019-11-11 17:33:59 -05:00
DebugSteven
0c3981d87a support for serde serialize and deserialize 2019-11-11 10:46:28 -05: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