tycho-crypto

Crates.iotycho-crypto
lib.rstycho-crypto
version0.4.0
created_at2025-06-26 11:35:01.390621+00
updated_at2025-06-26 11:35:01.390621+00
descriptionCryptography primitives for Tycho node
homepage
repositoryhttps://github.com/broxus/tycho-crypto
max_upload_size
id1727181
size47,106
Ivan Kalinin (Rexagon)

documentation

README

tycho-crypto   Latest Version tycho-crypto: rustc 1.56+ Workflow badge License MIT badge

Cryptography primitives for Tycho

Examples

use tycho_crypto::ed25519;

fn main() {
    let data: &[u8] = b"hello world";

    let keys = rand::random::<ed25519::KeyPair>();

    // Simple bytes signature
    let signature = keys.sign_raw(data);
    assert!(keys.public_key.verify_raw(&data, &signature));

    // Sign TL data without intermediate serialization
    let signature = keys.sign_tl(keys.public_key.as_tl());
    assert!(keys.public_key.verify_tl(keys.public_key.as_tl(), &signature));

    // Shared secret
    let other_keys = rand::random::<ed25519::KeyPair>();
    let secret1 = keys.compute_shared_secret(&other_keys.public_key);
    let secret2 = other_keys.compute_shared_secret(&keys.public_key);
    assert_eq!(secret1, secret2);
}

Contributing

We welcome contributions to the project! If you notice any issues or errors, feel free to open an issue or submit a pull request.

License

Licensed under either of

at your option.

Commit count: 0

cargo fmt