AnonCreds: Anonymous credentials protocol implementation in python
This is a python implementation of the anonymous credentials ideas developed by IBM Research (see https://idemix.wordpress.com/ and http://www.research.ibm.com/labs/zurich/idemix/). We have built some additional features for revocation.
Anonymous credential technology is used to exchange claims and proofs, increasing trust between parties in a self-sovereign identity ecosystem. These claims and proofs are not recorded on a distributed ledger like the one provided by Indy--but they rely on public keys, accumulators, and revocation registries published on the ledger, and they dramatically increase privacy for participants. Hence their inclusion with the Indy family of projects.
This particular codebase will soon be superseded by an implentation that is easier to call (has cleaner interfaces) in Indy SDK. Both implementations use the same underlying primitives, and implement the same algorithms.
If you want to log bugs or examine the backlog for anoncreds, we recommend that you use Hyperledger's Jira and use the INDY-SDK project.
Anonymous Credentials requires a cryptographic framework. We have tested it with charm-crypto.
Installation on Linux
Prerequisites for RedHat-based Systems
- epel-release
- python-setuptools
- unzip
- wget
Prerequisites for Debian-based Systems
Command-line Install
git clone https://github.com/evernym/anoncreds.git
cd anoncreds
sh setup-charm.sh
Installation on Mac
Prerequisites
Command-line Install
git clone https://github.com/evernym/anoncreds.git
cd anoncreds
sh setup-charm-homebrew.sh
Installation on Windows
Please refer to the following guide on how to install charm-crypto on Windows x64: Windows Installation