Skip to content
ThomasSauvagePublic

About

A Rust implemention of the cryptographic signature algorithm called ed25519.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ed25519 Signature

⚠️ DO NOT USE IN PRODUCTION. I made this project to learn the cryptographic principles behind this algorithm, with few considerations for side-channel attacks.

Made as part of the Advanced Cryptography course at École polytechnique, by Prof. Benjamin Smith.

Author: Thomas Sauvage.

Extension

  • I implemented Multiexponentiation with Straus’ algorithm. See the straus_multiexponentiation function in src/ed25519/points.rs.

Installation

Usage

  • See the doc :
cargo run --bin keygen -- --help
cargo run --bin sign   -- --help
cargo run --bin verify -- --help
  • You can also build the app with the following command, the executable will be at target/release
cargo build --release
cd target/release

Examples

cargo run --bin keygen examples/key
cargo run --bin sign examples/key.sk README.md examples/README_sig
cargo run --bin verify examples/key.pk README.md examples/README_sig

Tests

  • Launch automated tests:
cargo test --release

Note: This test runs more than a 4000 signatures and verifications so it may take some time (5.5s on my machine).

About

A Rust implemention of the cryptographic signature algorithm called ed25519.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages