Skip to content
/ ed25519 Public

Optimized version of the reference implementation of Ed25519

License

Notifications You must be signed in to change notification settings

pyca/ed25519

Repository files navigation

ed25519

Ed25519 is a high-speed public-key signature system. ed25519.py is based on the original Python implementation published on the Ed25519 website, with major optimizations to make it run reasonably fast.

Warning

This code is not safe for use with secret data. Even operating on public data (i.e., verifying public signatures on public messages), it is slower than alternatives.

The issue is that our computations may behave differently depending on their inputs in ways that could reveal those inputs to an attacker; they may take different amounts of time, and may have different memory access patterns. These side-channel attacks are difficult to avoid in Python, except perhaps with major sacrifice of efficiency.

This code may be useful in cases where you absolutely cannot have any C code dependencies. Otherwise, PyNaCl provides a version of the original author's C implementation, which runs faster and is carefully engineered to avoid side-channel attacks.

Running the tests

ed25519.py uses tox to run the test suite. You can run all the tests by using:

$ tox

Resources

  • IRC (#cryptography-dev - irc.freenode.net)

About

Optimized version of the reference implementation of Ed25519

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages