Skip to content

kevinlewi/fhipe

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

An Implementation of Function-Hiding Inner Product Encryption (FHIPE)

This is an implementation of the function-hiding inner product encryption scheme described here: (link to be posted)

This implementation is a research prototype built for micro-benchmarking purposes, and is not intended to be used in production-level code as it has not been carefully analyzed for potential security flaws.

Authors:

  • Kevin Lewi, Stanford University
  • Sam Kim, Stanford University
  • Avradip Mandal, Fujitsu Laboratories of America
  • Hart Montgomery, Fujitsu Laboratories of America
  • Arnab Roy, Fujitsu Laboratories of America
  • David J. Wu, Stanford University

Contact Kevin Lewi for questions about the code: klewi@cs.stanford.edu

Prerequisites

Make sure you have the following installed:

Installation

git clone --recursive https://github.com/kevinlewi/fhipe.git
cd fhipe
sudo make install (use `make install-mac` if running on MAC OS X)

Running a Test

python3 tests/test_ipe.py

Modules

This library ships with the following modules:

  • Inner Product Encryption: In fhipe/ipe.py, implements function-hiding inner product encryption
  • Two-input Functional Encryption. In fhipe/mife.py, implements secret-key small-domain two-input functional encryption for arbitrary functions

Submodules

We rely on the following two submodules:

  • FLINT for the C backend
  • Charm for the pairings implementation

About

An implementation of Function-Hiding Inner Product Encryption

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published