Skip to content
/ gofe Public
forked from fentec-project/gofe

Functional encryption library in Go

License

Notifications You must be signed in to change notification settings

JasZal/gofe

 
 

Repository files navigation

GoFE - Functional Encryption library

This is a forked instance of the gofe library. GoFE is a cryptographic library offering different state-of-the-art implementations of functional encryption schemes, specifically FE schemes for linear (e.g. inner products) and quadratic polynomials. For details on how to use and which schemes are implemented, please check out the original github project.

We added several schemes: Fully-Sec Inner-Product schemes:

  • fh_mg_ipe: a mixed group full-hiding inner product scheme based on "Multi-input Quadratic Functional Encryption from Pairings" from Agrawal, Goyal, Tomida 2021
  • fh_tao20: a single input scheme
  • affine_multi_ipe: a multi-input scheme for affine functionalities, namely Dec(dkf, ct1, ... ctn) = f(x1,...,xn) + c

Before using the library

Please note that the library is a work in progress and has not yet reached a stable release. Code organization and APIs are not stable. You can expect them to change at any point.

The purpose of GoFE is to support research and proof-of-concept implementations. It should not be used in production.

Installing GoFE

First, clone the repository via git clone and build the library by running either go install github.com/JasZal/gofe/... or go get -u -t github.com/JasZal/gofe/... from the terminal inside the cloned repository (note that this also downloads and builds all the dependencies of the library). Please note that from Go version 1.18 on, go get will no longer build packages, and go install should be used instead.

About

Functional encryption library in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%