/libfenc

Automatically exported from code.google.com/p/libfenc

Primary LanguageCOtherNOASSERTION

LIBFENC -- The Functional Encryption Library

-------------------------------------------------------------------------------------------

The functional encryption library is an extensible library implementing several 
functional encryption schemes. Functional encryption is a new class of encryption 
that includes Attribute-Based (ABE) and Identity-Based encryption (IBE).

The library known as libfenc has a few dependencies: the Pairing-based Crypto (PBC)
library which you can download at http://crypto.stanford.edu/pbc/download.html, and
the GNU Multi-Precision (GMP) library which you can download at http://gmplib.org/.
Your operating system may have packages for installing these automatically.  If not,
Follow the README documents found within the libraries to install on your system.

Within the sub-directories you will find very useful tools and documentation to 
help you get acclimated with the libfenc source code. The following describes what is 
contained in each directory:

 - ./           : the libfenc source code that implements a few cryptosystems based on 
		  ABE. This code is research quality and is currently in pre-release 
		  stage.
		
 - doc          : this directory provides documentation for the libfenc design as 
	          well as the libfenc API and a useful tutorial for how to use the
                  API under various ABE schemes. 

 - doc/research : this directory provides the research papers of the ABE cryptosystems
                  that the library implements.

 - misc         : sample scripts to build the PBC and GMP in Mac OS X environments for 
                  standard (Intel) and mobile platforms (ARM). 
	
 - tools        : a tool chain that uses the CP- and KP-ABE schemes implemented 
                  by libfenc. This directory contains abe-setup (initializes the scheme 
		  parameters - master public and private parameters), abe-keygen (generates 
		  ABE private-keys for users), abe-enc (performs encryption on files under 
		  various policies), and abe-dec (performs corresponding decryption).

Currently, the library works well on 32-bit systems but we have a few notable bugs on 
64-bit systems. 

-------------------------------------------------------------------------------------------

This is a hybrid library implementing functional encryption and its many other special cases 
such as attribute-based encryption and identity-based encryption. The implementation of broadcast
encryption will be coming soon.