gofe

package module
v0.0.0-...-a536860 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 10, 2024 License: Apache-2.0 Imports: 0 Imported by: 0

README

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 two schemes, that are secure noisy FE schemes.

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.

Documentation

Overview

Package gofe provides implementations of functional encryption schemes for linear and quadratic polynomials.

Directories

Path Synopsis
Package abe includes schemes allowing attribute based encryption.
Package abe includes schemes allowing attribute based encryption.
Package data defines basic mathematical structures used throughout the library.
Package data defines basic mathematical structures used throughout the library.
Package innerprod includes functional encryption schemes for inner products.
Package innerprod includes functional encryption schemes for inner products.
fullysec
Package fullysec includes fully secure schemes for functional encryption of inner products.
Package fullysec includes fully secure schemes for functional encryption of inner products.
simple
Package simple includes simple schemes for functional encryption of inner products.
Package simple includes simple schemes for functional encryption of inner products.
dlog
Package dlog includes algorithms for computing discrete logarithms.
Package dlog includes algorithms for computing discrete logarithms.
Package quadratic includes functional encryption schemes for quadratic multi-variate polynomials.
Package quadratic includes functional encryption schemes for quadratic multi-variate polynomials.
Package sample includes samplers for sampling random values from different probability distributions.
Package sample includes samplers for sampling random values from different probability distributions.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL