Skip to content

Latest commit

 

History

History
83 lines (67 loc) · 2.83 KB

Readme.md

File metadata and controls

83 lines (67 loc) · 2.83 KB

Boneh-Boyen Identity-Based Encryption (IBE) Implementation

This repository contains an implementation of the Boneh-Boyen Identity-Based Encryption (IBE) scheme in Python using the Charm-Crypto library. Charm does not work with Python 3.8+ versions, try Python 3.7 or lower

Installation

Tested Environment

  • Ubuntu 18.04
  • Python 3.6.9
  • Charm-Crypto

Installation Steps

  1. Install VirtualBox
  2. Install Ubuntu 18.04 ISO disk
  3. In terminal, run the following commands:
# Make sure you are root user
# If not, then run:
su -
visudo
# Add "vboxuser ALL=(ALL) NOPASSWD: ALL" to the last line

# Prerequisite Packages
sudo apt update
sudo apt install build-essential
sudo apt install subversion
sudo apt install m4
sudo apt install flex
sudo apt install bison
sudo apt install python3
sudo apt install python3-setuptools python3-dev
sudo apt install libssl-dev
sudo apt install libgmp-dev
sudo apt install git
sudo apt install wget
pip install "pyparsing<2.4.1,>=2.1.5"

# Install the Stanford PBC Library
wget http://crypto.stanford.edu/pbc/files/pbc-0.5.14.tar.gz
tar xf pbc-0.5.14.tar.gz
cd pbc-0.5.14
./configure LDFLAGS="-lgmp"
make
sudo make install
sudo ldconfig

# Install Charm
git clone https://github.com/JHUISI/charm
cd charm
sudo ./configure.sh
sudo make
sudo make install
sudo ldconfig

References

Charm-Crypto Installation:

Boneh-Boyen Identity-Based Encryption (IBE) Scheme:

Other Resources on Identity-Based Encryption (IBE):

Boneh-Franklin Scheme:

Charm-Crypto Resources: