Ursa

screenshot of Ursa

Ursa

Hyperledger Ursa (a shared cryptographic library) has moved to end-of-life status, with the components of Ursa still in use moved to their relevant Hyperledger projects (AnonCreds, Indy, Aries and Iroha).

Overview:

Hyperledger Ursa is an open-source project that aims to provide reliable, secure, and pluggable cryptographic implementations for blockchain developers. By collaborating on cryptographic code, the project aims to save time and effort while improving security. The project includes two sub libraries, libursa and libzmix, which offer various cryptographic primitives, signature algorithms, key exchange mechanisms, and zero-knowledge proof capabilities. Ursa uses external dependencies like OpenSSL and libsecp256k1, but also offers a portable mode for compatibility reasons.

Features:

  • C-callable library interface: Provides a C-callable library interface for Ursa, allowing developers to easily integrate cryptographic functionality into their projects.
  • Libursa: Offers cryptographic primitives such as simple digital signatures, encryption schemes, and key exchange mechanisms, supporting various signature algorithms and curves.
  • Libzmix: Provides a generic way to create zero-knowledge proofs, proving statements about multiple cryptographic building blocks, including signatures, commitments, and verifiable encryption.
  • Dependencies: Ursa uses external dependencies like OpenSSL and libsecp256k1 for building in the default secure mode, but also offers a portable mode where external dependencies are replaced with Rust-compatible code.
  • Building from Source: Ursa can be built from source using the rustc compiler with cargo, ensuring platform-specific installations.