Commit graph

37 commits

Author SHA1 Message Date
Isis Lovecruft
039533d349
Add additional benchmark for further comparison with ed25519-donna.
ed25519-donna includes a "curved25519_scalarmult_basepoint" [sic]
function. See https://github.com/isislovecruft/dalek-benchmarks.
2017-08-16 04:19:04 +00:00
Isis Lovecruft
07dc9f4ba7
Bump curve25519-dalek dependency to 0.11.0. 2017-08-15 05:30:53 +00:00
Isis Lovecruft
27753235ae
Upgrade curve25519-dalek, generic-array, and digest dependencies.
As well as adding a dependency on subtle and upgrading dev-dependency sha2.
2017-08-01 18:05:58 +00:00
Isis Lovecruft
df3834c03d
Change SecretKey bytes to only include the secret, not also public, key. 2017-08-01 06:23:46 +00:00
Isis Lovecruft
99d3426569
Refactor to use new curve25519-dalek APIs. 2017-05-14 10:57:59 +00:00
Isis Lovecruft
a195249468
Switch to using new digest v0.5 API. 2017-05-08 07:54:56 +00:00
Isis Lovecruft
0e535a9318
The sha2 dependency is only for tests. 2017-03-15 22:34:46 +00:00
Isis Lovecruft
a6e74ba608
Use b"" instead of "".as_bytes(). 2017-03-15 22:34:06 +00:00
Isis Lovecruft
054e9ce6b8
Remove blake2b benchmarks. 2017-03-15 19:09:15 +00:00
Isis Lovecruft
b188516b22
Remove unused import digest::Digest from bench module. 2017-03-15 19:07:21 +00:00
Isis Lovecruft
645d4e0d8c
The sha2 crate is no longer a required dependency. 2017-03-15 19:01:03 +00:00
Isis Lovecruft
89d246ec15
Rearrange extern crates. 2017-03-15 18:57:03 +00:00
Isis Lovecruft
e869d14387
Fix doctests to specify hash function choice. 2017-03-15 18:56:24 +00:00
Isis Lovecruft
394d1face2
Remove the ZeroDigest from the benchmark suite.
It turns out that testing scalar_mult_vartime() on all zeroes is fast.
2017-03-15 18:53:48 +00:00
Isis Lovecruft
5e84eedfbb
Add benchmarks with blake2b. 2017-03-15 18:44:59 +00:00
Isis Lovecruft
f1dd165208
Use array_ref! for getting digest during signing. 2017-03-15 18:42:58 +00:00
Isis Lovecruft
e4c085706c
Make signing generic to hash function choice. 2017-03-14 23:54:43 +00:00
Isis Lovecruft
aa6e0a4324
Benchmark signing/verifying blank messages. 2017-03-14 23:53:53 +00:00
Isis Lovecruft
1e2fa1025e
Implement a ZeroDigest for use in benchmarks. 2017-03-14 23:53:53 +00:00
Isis Lovecruft
03f20fdae3
ZeroRng in benchmarks doesn't need to be public. 2017-03-14 23:43:50 +00:00
Isis Lovecruft
b1105618e7
Make verification dependent on hash function. 2017-03-14 23:43:02 +00:00
Isis Lovecruft
b5531c1257
Remove test_ prefix from test functions. 2017-03-14 23:19:38 +00:00
Isis Lovecruft
4eaa1321ee
Feature gate rand on nightly.
We can't use features on non-nightly channels.
2017-03-14 23:15:59 +00:00
Isis Lovecruft
d00c3f9f3c
Make all the doctests actually run. 2017-03-14 21:50:17 +00:00
Isis Lovecruft
5a30f4eb0f
Make from_bytes() for keys public. 2017-03-14 21:49:07 +00:00
Isis Lovecruft
807d52f655
Refuse to compile if documentation is missing. 2017-03-14 21:39:28 +00:00
Isis Lovecruft
85b0cd933c
Split off benchmarks into separate module and require --features=bench.
This allows us to compile (and test) on the rustc stable and beta channels.
Benchmarking is only available on nightly, with the --features=bench flag.
2017-03-14 21:37:46 +00:00
Isis Lovecruft
304d591756
Make key generation generic to hash function choice. 2017-03-14 21:36:35 +00:00
Isis Lovecruft
4f1447314f
Bump curve25519-dalek version to ^0.6. 2017-03-14 20:16:20 +00:00
Isis Lovecruft
e2a649eddb
Add a missing use ed25519::Signature in a docstring example.
* THANKS to Tony Arcieri (@tarcieri) for pointing out the mistake.
2017-03-09 01:12:31 +00:00
Isis Lovecruft
d87930e7b7
Bump curve25519-dalek version to use 0.4.0. 2017-02-21 21:19:00 +00:00
Tony Arcieri
4f81231dc2 Add #![no_std]
Use ::core in lieu of ::std, allowing this crate to be usable in #![no_std]
environments.

Gates features that presently depend on ::std (presently just rand) behind a
"std" cargo feature, which is enabled by default.

Switches from the "rust-crypto" crate (which is not #![no_std] compatible) to
the sha2 crate, which is factored out of the original "rust-crypto" project
and being actively maintained.
2017-02-06 13:48:35 -08:00
Tony Arcieri
6269edb266 Update to curve25519-dalek v0.3.0
Changes `curve25519_dalek::curve::CompressedPoint` -> `CompressedEdwardsY`
2017-02-06 13:43:37 -08:00
Isis Lovecruft
50f53841bf
Ensure signatures match bytewise with reference and Go implementations. 2016-12-09 01:18:46 +00:00
Isis Lovecruft
b4bcc5e3b5
Remove an unused import. 2016-12-08 10:20:52 +00:00
Isis Lovecruft
d9ec8386da
Remove conversion to/from X25519 keys. 2016-12-08 10:19:34 +00:00
Isis Lovecruft
27ee13b6ef
Initial commit 2016-12-01 22:03:46 +00:00