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

7 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).

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