Commit graph

2404 commits

Author SHA1 Message Date
Henry de Valence
1b01d597ca Bump version to 1.0.0 and update CHANGELOG.md 2020-08-17 19:43:22 -07:00
Henry de Valence
122d4bb114
Merge pull request #61 from dalek-cryptography/clarify-ephemeral-static
Clarify Ephemeral/StaticSecret docs.
2020-08-17 19:33:45 -07:00
Henry de Valence
fb92cd82da Clarify Ephemeral/StaticSecret docs.
Also does a pass through the docs converting `TypeNames` to Rustdoc links, and
making sure that all the items have consistent summaries.

Closes #58
Closes $56
2020-08-17 19:25:12 -07:00
Henry de Valence
736f8dd313
Merge pull request #60 from dalek-cryptography/remove-rand-os-example
Remove rand os example
2020-08-17 19:22:21 -07:00
Henry de Valence
5d245dcefa
Merge pull request #43 from peat/master
Add .to_bytes() to PublicKey, SharedSecret
2020-08-17 18:55:18 -07:00
Henry de Valence
8287798aa1 Update doc examples to remove deprecated code and restore testing.
Closes #59.

The doc examples have code interspersed with text explaining the API.  Because
each doctest executes independently, when these code examples are run as
doctests, they have to include parts of the previous examples with # lines.
These lines are hidden from Rustdoc output and do not appear in the rendered
docs, but they do appear when viewing the README.md on Github.

In order to hide these on Github, the code blocks were made non-executable,
with their content moved to a unit test.  However, this meant that the example
API usage was not tested, and so when the unit test was updated to remove the
deprecated `rand_os`, there was no check that the examples stayed in sync with
the test, causing #59.  To prevent this from reocurring in the future, go back
to executable tests of the API examples.
2020-08-17 18:47:31 -07:00
Henry de Valence
5d91bd8f22 Make bound on csprng more general.
`rand_core` defines a blanket impl of `RngCore + CryptoRng` for `&mut T` where
`T: RngCore + CryptoRng`, so rather than requiring a borrowed RNG, it's better
to require an owned RNG, as this allows passing either owned or borrowed
values.  In particular, this makes `OsRng` usage much more ergonomic, because
the caller is not forced to do `&mut OsRng` on the zero-sized struct.
2020-08-17 18:44:48 -07:00
Henry de Valence
fb01f65761 Merge branch 'master' into develop 2020-08-17 18:22:21 -07:00
Henry de Valence
b307c155c9 Merge branch 'release/3.0.0' 2020-08-17 18:21:42 -07:00
Henry de Valence
6d96eb7796 Bump version to 3.0.0. 2020-08-17 18:20:26 -07:00
Henry de Valence
c68b30fe13
Merge pull request #330 from isislovecruft/fix/move-coc
Move CoC section from CONTRIBUTING.md to new file.
2020-08-17 18:12:00 -07:00
Henry de Valence
2ee61938ee
Merge pull request #327 from huitseeker/digests-0.9
Update sha2, digest to 0.9
2020-08-17 18:11:32 -07:00
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
Chris Beck
bb82d616de Make use rand::... gated on cfg(feature = "rand")
This is no longer actively breaking our no_std build, but I think
it's still technically a minor bug, and further case of issue #108
2020-08-04 11:58:07 -07:00
Isis Lovecruft
04116902cd
Merge branch 'master' into develop 2020-07-16 23:31:18 +00:00
Isis Lovecruft
ae0b48b0cd
Merge branch 'release/1.0.0-pre.4' 2020-07-16 23:31:08 +00:00
Isis Lovecruft
5f22d899a0
Bump ed25519-dalek version to 1.0.0-pre.4. 2020-07-16 23:25:09 +00:00
Isis Lovecruft
5458ebef88
Fix no_std issue with new error types. 2020-07-16 23:18:00 +00:00
Isis Lovecruft
d3a5b3bd81
Remove unsafe trait impls. 2020-07-16 23:02:27 +00:00
Isis Lovecruft
7243d7151d
Fix handling of external error types. 2020-07-16 22:19:40 +00:00
Isis Lovecruft
69004599c5
Fix misnamed error type. 2020-07-16 21:49:14 +00:00
Isis Lovecruft
b84f1df47b
Merge branch 'fix/ed25519ph-context' into develop 2020-07-15 17:44:54 +00:00
Isis Lovecruft
b8f36d48d8
Fix proc_macro crate name resolution for serde integration tests. 2020-07-15 17:39:23 +00:00
Isis Lovecruft
e7a88c2c7f
Try compiling tests using serde_crate instead. 2020-07-14 23:58:35 +00:00
Isis Lovecruft
980ed6445f
Add missing toml dev-dependency. 2020-07-14 22:23:31 +00:00
Isis Lovecruft
97787d3716
Remove impl of std::error::Error for SignatureError.
We're now aliasing SignatureError to the error type from the signature
crate.
2020-07-14 00:37:56 +00:00
Isis Lovecruft
989c5e4c18
Fix ed25519ph context length error handling in sign_prehashed().
RFC8032 specifies that the context cannot be greater than 255 octets,
but in the previous implementation in ed25519-dalek, this error would
only be caught by a debug_assert.  This changes the sign_prehashed()
function to return a Result so that the error can be handled at
runtime and the library no longer allows misuse by creating signatures
that other libraries cannot handle.
2020-07-14 00:25:40 +00:00
isis agora lovecruft
33bb760ea8
Merge pull request #134 from isislovecruft/fix/signature-error
Impl std::error::Error for SignatureError.
2020-07-13 23:40:12 +00:00
Isis Lovecruft
f1d8576f12
Impl std::error::Error for SignatureError. 2020-07-13 23:19:55 +00:00
Isis Lovecruft
3a9435df94
Fixup serde and ed25519 trait errors in tests/benches. 2020-07-13 23:16:30 +00:00
Isis Lovecruft
84047448da
Merge remote-tracking branch 'tarcieri/ed25519-crate' into develop 2020-07-13 23:00:23 +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
isis agora lovecruft
8ebbbe5f5b
Merge pull request #127 from huitseeker/update-merlin
Updates the merlin dependency to ^2 and the correct repo
2020-06-30 22:58:39 +00:00
isis agora lovecruft
005fc35f52
Merge pull request #116 from NikVolf/nv-fix-alloc
Fix alloc feature compilation
2020-06-30 22:51:07 +00:00
Isis Lovecruft
c5386c0df9
Merge branch 'master' into develop 2020-06-30 22:44:29 +00:00
Isis Lovecruft
3ffa9ff530
Merge remote-tracking branch 'dalek/master' 2020-06-30 22:43:56 +00:00
isis agora lovecruft
db004cbd41
Merge pull request #119 from phayes/master
Removing double 'does'
2020-06-30 22:43:28 +00:00
Isis Lovecruft
9e247c493c
Add additional tests for keypair (de)serialisation. 2020-06-30 22:40:24 +00:00
isis agora lovecruft
6dfcc4ba27
Merge pull request #112 from jamesmunns/improve-deserialize
Add additional visitor methods for deserialization
2020-06-30 22:05:16 +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
Tony Arcieri
6e0667d429 Use ed25519 + signature interop crates
The `signature` crate provides `Signer` and `Verifier` traits generic
over signature types:

https://github.com/RustCrypto/traits/tree/master/signature

There's presently an open call to stabilize the parts of its API needed
by Ed25519 signatures and release a 1.0 version:

https://github.com/RustCrypto/traits/issues/78

The `ed25519` crate, based on the `signature` crate, provides an
`ed25519::Signature` type which can be shared across multiple Ed25519
crates (e.g. it is also used by the `yubihsm` crate):

https://github.com/RustCrypto/signatures/tree/master/ed25519

This commit integrates the `ed25519::Signature` type, and changes the
existing `sign` and `verify` methods (where applicable) to use the
`Signer` and `Verifier` traits from the `signature` crate. Additionally,
it replaces `SignatureError` with the `signature` crate's error type.

This has the drawback of requiring the `Signer` and/or `Verifier` traits
are in scope in order to create and/or verify signatures, but with the
benefit of supporting interoperability with other Ed25519 crates which
also make use of these traits.
2020-04-20 09:15:10 -07:00
François Garillot
aa38c6419d
Updates the merlin dependency to ^2 and the correct repo
This fixes the "batch" feature, see #126.
2020-04-16 20:48:49 -07:00
gedigi
c9fe6c5533 implemented Zeroize for CompressedRistretto and RistrettoPoint 2020-03-19 14:16:06 -07:00
Henry de Valence
5115951681
Merge pull request #55 from huitseeker/bump-criterion
Bump criterion version
2020-03-06 09:10:35 -08:00