Commit graph

27 commits

Author SHA1 Message Date
Isis Lovecruft
47c1d869ec
Make key generation work with no_std. 2018-05-16 22:09:31 +00:00
Isis Lovecruft
f6a631c229
WIP Update curve25519-dalek dependency to 0.17. 2018-05-15 23:34:01 +00:00
Isis Lovecruft
c7b69c6562
Expand boats' error types to give more detailed reasons for failures.
This code was significantly based off without boats' error types in
commit 6c1acaca7c, and also upon
conversation with them.  Please target them with praise, and blame me
for whatever mistakes I might have made.
2017-12-24 00:16:52 +00:00
Isis Lovecruft
510a1f89c0
Merge remote-tracking branch 'withoutboats/custom-error-type' into develop 2017-12-09 02:12:39 +00:00
Without Boats
6c1acaca7c
Use failure instead of std::error::Error.
failure is no_std compatible, whereas std::error::Error is not.
2017-12-06 15:25:12 -08:00
Without Boats
b5b295e414
Use a custom error type instead of &'static str.
Advantages of a custom error type:

- It can be more easily integrated into other error types by clients;
  they can implement From<FromBytesError> for their error types, or
  they can use a library like failure.
- It is a zero-sized type, which can enable some representational
  optimizations.
- It can be easier and more stable to test for.
2017-12-05 18:13:43 -08:00
Isis Lovecruft
9d89e2f660
Upgrade to using curve25519-dalek-0.14.0. 2017-12-04 17:47:06 +00:00
Isis Lovecruft
8d0dda0847
Implement serde serialisation support and pre-expanded secret keys.
* ADD support for serialisation with serde.
 * ADD a new pre-expanded secret key type, `ExpandedSecretKey`.
 * FIXES Issue #13:
   https://github.com/isislovecruft/ed25519-dalek/issues/13
2017-11-06 03:51:07 +00:00
Isis Lovecruft
3596e5ec87
Add licence. 2017-10-05 06:19:55 +00:00
Isis Lovecruft
e706b35d92
Merge remote-tracking branch 'greyspectrum/license-typo' into develop 2017-10-05 06:12:03 +00:00
Zaki Manian
8accff36b3
Replaces the depracted rustc_serialize with hex 2017-10-05 05:20:24 +00:00
greyspectrum
52ecf1669e Fix a small typo in the license url. 2017-09-06 13:31:52 -04: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
0e535a9318
The sha2 dependency is only for tests. 2017-03-15 22:34:46 +00:00
Isis Lovecruft
054e9ce6b8
Remove blake2b benchmarks. 2017-03-15 19:09:15 +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
5e84eedfbb
Add benchmarks with blake2b. 2017-03-15 18:44:59 +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
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
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
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
Isis Lovecruft
50f53841bf
Ensure signatures match bytewise with reference and Go implementations. 2016-12-09 01:18:46 +00:00
Isis Lovecruft
27ee13b6ef
Initial commit 2016-12-01 22:03:46 +00:00