Skip to content

acarreo/kpabe-content-filtering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

367 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KP-ABE Scheme for Content Filtering Use Case

This project implements the KP-ABE (Key-Policy Attribute-Based Encryption) using the DPVS (Dual Pairing Vector Spaces) scheme for the Content Filtering Use Case.

Prerequisites

The project utilizes the RELIC library for cryptographic operations, the GMP library for arbitrary precision arithmetic, and the ABE-LSSS library, which is a part of the OpenABE project.

Installation

To install and run this project, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/acarreo/kpabe-content-filtering.git
    cd kpabe-content-filtering
  2. Install Dependencies: Two ways to install dependencies locally (for the host machine) or in a Docker environment, follow one of the following instructions:

    cd scripts
    
    # Install dependencies in a Docker environment
    make docker
    
    # Or Install dependencies on the host machine
    # Clone ABE-LSSS submodule - only need if you want to compile the project on your host machine
    git submodule update --init --remote abe-lsss
    make

Build and Run the Project

Go to the kpabe-content-filtering directory and follow one of the following instructions to build and run the project:

  1. Build on the Host Machine

    mkdir build && cd build
    cmake ..
    make
    
    # If you want to install the project as library, you need root privelege
    sudo make install
  2. Build in a Docker Environment

    cd .. # go back to the root directory
    docker run -ti --rm -v $PWD:/content-filtering cryptolib/abe-lsss:relic-0.6.0--bls12-381--v0.1.0
    mkdir -p /tmp/build-kpabe
    cd /tmp/build-kpabe
    cmake /content-filtering
    make
    
    # If you want to install the project as library
    make install
  • Run the ./kpabe_test executable to perform a simple encryption and decryption.
  • Run the ./kpabe_bench executable to perform a simplist benchmark
  • Run the ./kpabe_example executable to see an example of how to use the KP-ABE scheme.

Troubleshooting

If need, add the library path /usr/local/lib to the environment variable or add it to the ~/.bashrc file and run source ~/.bashrc.

echo 'export LD_LIBRARY_PATH=/usr/local/lib' >> ~/.bashrc
source ~/.bashrc

About

This project implements a Key-Policy Attribute-Based Encryption (KP-ABE) scheme based Dual Pairing Vector Spaces (DPVS).

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors