Ed25519

Latest version: v1.5

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

0.9

This release adds compatibility with python2.4, making this library
compatible with py2.4, 2.5, 2.6, and 2.7 . In the long run, our compatibility
target is probably 2.6 through 3.2, but py3 requires some deeper changes. In
the meantime, it'd be nice to have at least one version which can be used by
2.4 (this might be the last, though).

0.8

This release probably adds Windows compatibility. To enable this, the
upstream C code which calls sleep() was removed: crypto_sign_keypair() was
removed from ed25519.c, and randombytes.c and randombytes.h were deleted
entirely. The Python code (in ed25519.create_keypair) wasn't using
crypto_sign_keypair() anyways: it switched to using os.urandom() and
crypto_sign_publickey() in 0.5 .

0.7

The SigningKey.to_ascii() method was modified to return an encoded seed (32
bytes) rather than the full private key (64 bytes). The SigningKey()
constructor will accept either.

Unit tests, known-answer tests, and speed benchmarks can now be run through
setup.py (after building):

python setup.py build
python setup.py test
python setup.py test_kat
python setup.py speed

A power-on self test (which takes about 10ms) was added, to throw an
AssertionError during import if any of the basic keygen/sign/verify
operations are broken.

0.6

This release fixes execution of unit tests and import errors when run from
inside the source tree: the 0.5 release was quite broken (having a directory
named 'ed25519' in the source tree's root interfered with imports from the
expected build/... subdirectory), and manual testing failed to catch the
problem (because import found a locally-installed copy in /usr/local). The
source tree has been rearranged to keep this from happening.

The (small) unit tests are now installed along with the code. The large
Known-Answer-Tests (about 2.5MB) are not, to keep the installed size low
(about 600kB, most of which is the binary .so).

The 0.6 release also improves the version-string generation code, using
python-versioneer-0.1 .

0.5

In this release, the .to_string() method was renamed to .to_bytes(), since
the output is a non-printable binary bytestring.

It also adds prefix= and encoding= arguments to most data-handling methods
(key-object constructors, key-serialization, sign, and verify). These can
help with version-checking and JSON encoding.

The create_keypair() function now takes an entropy= argument, which is called
just like os.urandom, and can be used to deterministically generate keys.
This is most useful for unit tests.

Page 2 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.