No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 49a6a74 Dec 6, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
libindy-crypto Rebase fix Nov 30, 2018
samples/python Renamed python wrapper Nov 30, 2018
wrappers Add example of using JS wrapper in the browser Nov 30, 2018
.gitignore Add missing newline to gitignore Nov 30, 2018 Added more inequality predicates Nov 30, 2018 Rebase fix Nov 30, 2018 * Simplify build Nov 30, 2018
LICENSE - Added license for Indy Crypto Nov 30, 2018 * Simplify build Nov 30, 2018

Before you Continue

If you haven't done so already, please visit the main resource for all things "Indy" to get acquainted with the code base, helpful resources, and up-to-date information: Hyperledger Wiki-Indy.

Indy Crypto

This is the shared crypto library for Hyperledger Indy components.

Hyperledger Indy provides a distributed-ledger-based foundation for self-sovereign identity.

The major artifacts of the Indy Crypto are:

  • С-callable library interface
  • Rust сrate
  • Python wrapper

All bugs, stories, and backlog for this project are managed through Hyperledger's Jira in project IS (note that regular Indy tickets are in the INDY project instead...). Also, join us on Jira's Rocket.Chat at #indy-sdk to discuss.

Building Indy Crypto

Ubuntu 16.04

  1. Install Rust and rustup (

  2. Install pre-requirements:

    For Ubuntu 16.04

    apt-get update && \
    apt-get install -y \
    build-essential \
    pkg-config \
    cmake \

    For Windows

    • Download the prebuilt dependencies here
    • Extract them into the folder C:\BIN\x64. Note it really doesn't matter where you put these as long as you remember where so you can set the environment variables to this path
    • Point path to this directory using environment variables:
      • set OPENSSL_DIR=C:\BIN\x64
      • set PATH=C:\BIN\x64\lib;%PATH%
  3. Checkout and build the library:

    git clone
    cd ./indy-crypto/libindy-crypto
    cargo build
    cd ..
  4. Run tests

    cd libindy-crypto
    cargo test

Note: By default cargo build produce debug artifacts with a large amount of run-time checks. It's good for development, but this build can be in 100+ times slower for some math calculation. If you would like to analyse CPU performance of libindy-crypto for your use case, you have to use release artifacts (cargo build --release).

API Documentation

API documentation is now available as rust doc in code. See:

Wrappers documentation


Note: Binaries creation is in progress now!!!

Builded binaries can be downloaded from

  • sdk/lib/apt/xenial/{master,stable,rc} - Ubuntu deb packages
  • windows/libindy_crypto/{master,stable,rc} - Windows zip-archive with all required DLLs (include libindy itself) and headers
  • ios/libindy_crypto/stable/ - Pods for iOS
  • rhel/libindy_crypto/{master,stable,rc} - RHEL rpms

Also Ubundu deb packages can be installed from APT repository:

apt-key adv --keyserver --recv-keys 68DB5E88
sudo add-apt-repository "deb xenial stable"
sudo apt-get update
sudo apt-get install -y libindy-crypto