Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

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

CFE

The repository contains code for the superfast Controlled Functional Encryption (CFE) construction that allows to compute the actual value of inner product of two vectors (and not the orthogonality testing). Currently, the repository do not have the code for our general construction. Both superfast and general CFE constructions were proposed in the following paper:

Controlled Functional Encryption. Muhammad Naveed, Shashank Agrawal, Manoj Prabhakaran, Xiaofeng Wang, Erman Ayday, Jean-Pierre Hubaux and Carl A. Gunter. In ACM Conference on Computer and Communications Security (CCS), 2014.

Compilation

To compile the code, run following command from the main repository directory (i.e. CFE):

javac -cp "src:lib/bcprov-jdk15on-151.jar" src/Test.java

Execution

To run the code use the following command (note that command line arguments are needed):

java -cp "src:lib/bcprov-jdk15on-151.jar" Test <dataVectorSize> <functionVectorSize> <keysize>

Command Line Arguments
dataVectorSize: Size of the data vector. Data vector is the one on which computation needs to be done.
functionVectorSize: Size of the function vector. Function vector is used by the party who wants to compute the function. Size of function vector should be less than or equal to the dataVectorSize.
keysize: This is the keysize for the underlying public key encryption. Choose one of the following as key size 1024, 2048, 3072, or 4096.
iterations: Number of times code should be exectued

Please read the paper for more details about these parameters.

Example:

java -cp "src:lib/bcprov-jdk15on-151.jar" Test 20000 100 2048

Questions?

If you have any questions about the code or the paper, please email at naveed2 at illinois dot edu.

About

Code for superfast Controlled Functional Encryption (CFE) construction.

Resources

License

Releases

No releases published

Packages

No packages published

Languages