A low-level cffi wrapper for Ed25519 digital signatures.
Project description
About Ed25519
Ed25519 is a public-key signature system with several attractive features including:
Fast single-signature verification.
Very fast signing.
Fast key generation.
High security level.
Small signatures. Signatures fit into 64 bytes.
Small keys. Public keys consume only 32 bytes.
This text abridged from http://ed25519.cr.yp.to/.
About ed25519ll
ed25519ll is a low-level cffi wrapper for the Ed25519 public key signature system. It uses Extension() to compile a shared library that is not a Python extension module, and then uses cffi to talk to the library.
This wrapper currently exposes the supercop-ref10 implementation of Ed25519, on my 2.6GHz Athlon achieving about 7200 signatures/second/core and 2900 verifications/second/core including the wrapper overhead.
Example:
import ed25519ll msg = b"The rain in Spain stays mainly on the plain" kp = ed25519ll.crypto_sign_keypair() signed = ed25519ll.crypto_sign(msg, kp.sk) verified = ed25519ll.crypto_sign_open(signed, kp.vk) assert verified == msg # but ValueError is raised for bad signatures
0.3
Switch to supercop-ref10
Switch to ffi.verify()
Update to work with (patched) cffi 0.3
Update to work with Python 3.3
0.2
100% test coverage
Basic documentation
0.1
Initial release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.