Skip to content

Proof-of-concept implementation and benchmarks of efficient registration-based encryption (RBE) [GKMR]

License

Notifications You must be signed in to change notification settings

ahmadrezarahimi/efficientRBE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Efficient RBE

Implementation and benchmarking of our paper1 describing the first efficient construction of registration-based encryption (RBE).

THIS IS A PROTOTYPE IMPLEMENTATION, DO NOT USE IN PRODUCTION.

Dependencies

We use petrelic, a Python wrapper around RELIC, to implement the scheme. For installation (Linux only) simply run pip install petrelic (full details here). For installation of petrelic on MacOS with Apple Silicon, please follow here.

Setup

Our RBE construction is implemented as a package in the rbe directory. We use the BLS12-381 elliptic curve with asymmetric pairings. Add the package to your path in order to use it:

# in the root directory (efficientRBE)
export PYTHONPATH=$(pwd)/rbe:$PYTHONPATH

Documentation

Generate documentation for rbe with pdoc:

cd rbe
rm -r docs # may not be necessary
pdoc -o docs -d numpy rbe

This creates HTML files with the documentation in the rbe/docs directory.

Note that the docstrings are written using the numpy format (general tips here).

Usage

Benchmarks for algorithm runtimes can be taken via bench/bench.sh or for individual settings of N and scheme variant (base or efficient) with

python3 bench/bench.py [-h] [-N max_parties] [-i iters] [-e]

The parameter sizes (of aux and pp; crs size is printed with the benchmarks) for a full system, where all N parties are registered for N = 10k...10M, can be obtained with

python3 bench/param_sizes.py

The time per operation (group exponentiation, pairing, (de)serialization) and group element bytesizes can be benchmarked with

python3 bench-ops/ops-petrelic.py

Footnotes

  1. N. Glaeser, D. Kolonelos, G. Malavolta, A. Rahimi. Efficient Registration-Based Encryption. Cryptology ePrint Archive paper 2022/1505.

About

Proof-of-concept implementation and benchmarks of efficient registration-based encryption (RBE) [GKMR]

Resources

License

Stars

Watchers

Forks

Packages

No packages published