https://github.com/rust-random/rand/blob/master/rand_core/CHANGELOG.md
This new version makes using rand_core on wasm seamless (thanks to the update of getrandom to v0.2)
The crate compiles well with this PR, but since some rand_core traits are publicly exposed in this crate's API, this is strictly speaking a breaking change.
This allows unifying dependencies with other crates using the `3.x` series of
the curve library. It is a semver patch-level change, because the x25519-dalek
API does not expose any details of the underlying curve implementation.
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
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.
`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.
The `crypto_box` crate provides a pure Rust implementation of the
public-key authenticated encryption primitive from NaCl which combines
X25519 + XSalsa20Poly1305 (a.k.a. "Curve25519XSalsa20Poly1305")
This commit adds a link to it case x25519-dalek users are interested in
using it as part of a hybrid cryptosystem.