{"id":23652,"library":"ed25519-blake2b-fork","title":"ed25519-blake2b-fork","description":"A fork of the ed25519 library that uses BLAKE2b instead of SHA-512 hashing for public-key signatures. Version 1.4.2 adds automatic wheel builds via cibuildwheel. The library provides Ed25519 signing and verification with a pure Python implementation. Release cadence is irregular.","status":"active","version":"1.4.2","language":"python","source_language":"en","source_url":"https://github.com/ebellocchia/python-ed25519-blake2b","tags":["ed25519","signatures","cryptography","blake2b"],"install":[{"cmd":"pip install ed25519-blake2b-fork","lang":"bash","label":"pip install"}],"dependencies":[],"imports":[{"note":"Standard import for the fork.","symbol":"SigningKey","correct":"from ed25519_blake2b import SigningKey"},{"note":"Standard import for the fork.","symbol":"VerifyingKey","correct":"from ed25519_blake2b import VerifyingKey"}],"quickstart":{"code":"from ed25519_blake2b import SigningKey, VerifyingKey\n\nsk = SigningKey()\nvk = sk.get_verifying_key()\nmessage = b\"Hello, world!\"\nsignature = sk.sign(message)\nprint(\"Signature:\", signature.hex())\nassert vk.verify(signature, message)\nprint(\"Verification passed!\")","lang":"python","description":"Generate a key pair, sign a message, and verify the signature."},"warnings":[{"fix":"Ensure you use this library only where BLAKE2b-based Ed25519 is expected.","message":"This library is a fork that uses BLAKE2b instead of SHA-512. Do not use it interchangeably with the standard ed25519 library; signatures are incompatible.","severity":"gotcha","affected_versions":"all"},{"fix":"Monitor the repository for updates or consider using the original ed25519 library with SHA-512 if compatibility is needed.","message":"The package name 'ed25519-blake2b-fork' may be renamed or superseded. Check for newer versions or official replacements.","severity":"deprecated","affected_versions":"<=1.4.2"},{"fix":"Pass a 32-byte seed to SigningKey(seed=your_seed) for reproducible keys.","message":"The private key seed generation uses system random. For deterministic keys, you must provide your own seed.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Ensure you installed the package: pip install ed25519-blake2b-fork\nThen import: from ed25519_blake2b import SigningKey","cause":"The package is installed as ed25519-blake2b-fork but the import uses underscores.","error":"ImportError: No module named 'ed25519_blake2b'"},{"fix":"Use from ed25519_blake2b import SigningKey. If still fails, reinstall package: pip install --upgrade ed25519-blake2b-fork","cause":"Possibly an older version or incorrect import path.","error":"AttributeError: module 'ed25519_blake2b' has no attribute 'SigningKey'"},{"fix":"Ensure you are using the same key and that the message hashing uses BLAKE2b. This fork is not compatible with standard Ed25519.","cause":"Signature was created with a different key or algorithm (e.g., SHA-512 ed25519).","error":"ed25519_blake2b.BadSignatureError: Invalid signature"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}