Python bindings for the relic toolkit
Project description
Python bindings for relic
python-relic
(pyrelic
for short) provides Python bindings for
relic. Note though, that the bindings are driven by my
personal needs and they do not cover the full relic
API.
Dependencies
pyrelic
requires the following dependencies to successfully build and install:
relic >= 0.5.0
with pairing support enabled.Cython >= 0.28
(optional, only for building). If Cython is not available, the C files are not regenerated from their source.pkgconfig
(optional, only for building). Ifpkgconfig
is not available, the build system assumes thatrelic
can be linked as-lrelic
.
Quick installation guide
If you are running Ubuntu 20.04, the easiest way to install pyrelic
is via my
PPA:
sudo add-apt-repository -u ppa:s-ramacher/ait
sudo apt install python3-pyrelic
It comes with a prebuilt version of relic
configured for the pairing-friendly BLS12-381 curve.
Otherwise, pyrelic
can be installed via pip
:
pip install python-relic
or by running:
python3 setup.py install
Note though that these two approaches require a pairing-enabled build of relic
to be available.
Examples
pyrelic
includes some examples that demonstrate the use of the module and also showcases some
pairing-based schemes:
examples/bls.py
: Implements the Boneh-Lynn-Shacham signature scheme.examples/bfibe.py
: Implements the Boneh-Franklin identity-based encryption scheme (BasicIdent).examples/hpra.py
: Implements homomorphic proxy re-authenticators for linear functions.examples/bfe.py
: Imeplemnts Bloom Filter KEM based on the BF IBE.
License
The code is licensed under the MIT license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file python-relic-0.2.1.tar.gz
.
File metadata
- Download URL: python-relic-0.2.1.tar.gz
- Upload date:
- Size: 12.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5799f6e48b479bc0715e74e0d3c464f6ad3f4e00dee4b148e9490a7aef98e302 |
|
MD5 | 3b3f007dcfbff067823d1f89561bb77d |
|
BLAKE2b-256 | 5adf17fd5671bca4335bdd7812840f7e5af5378ec8c3c4b5aa5306a7a285b96f |