149da3a4ad
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.3.2 to v1.4.1. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v1.3.2...967e2b38a85a62bd61be5529ada27ebc109948c2) Signed-off-by: dependabot[bot] <support@github.com> |
||
---|---|---|
.github | ||
src | ||
.gitignore | ||
Cargo.toml | ||
README.md |
README.md
ristretto255-dh
Diffie-Hellman key exchange using the Ristretto255 group, in pure Rust.
This crate provides a high-level API for static and ephemeral Diffie-Hellman in the Ristretto255 prime order group, as specified the IETF draft, implemented internally over Curve25519 using curve25519-dalek.
Example
use rand_core::OsRng;
use ristretto255_dh::EphemeralSecret;
use ristretto255_dh::PublicKey;
// Alice's side
let alice_secret = EphemeralSecret::new(&mut OsRng);
let alice_public = PublicKey::from(&alice_secret);
// Bob's side
let bob_secret = EphemeralSecret::new(&mut OsRng);
let bob_public = PublicKey::from(&bob_secret);
// Alice again
let alice_shared_secret = alice_secret.diffie_hellman(&bob_public);
// Bob again
let bob_shared_secret = bob_secret.diffie_hellman(&alice_public);
// Each peer's computed shared secret should be the same.
assert_eq!(<[u8; 32]>::from(alice_shared_secret), <[u8; 32]>::from(bob_shared_secret));
About
The high-level Diffie-Hellman API is inspired by x25519-dalek.