Coder Social home page Coder Social logo

libfenc's Introduction

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. 

libfenc's People

Contributors

lfzkoala avatar

Watchers

James Cloos avatar

libfenc's Issues

Why I can't generate userCP.key

Hi, I installed libfenc on ARM platform successfully. In my experiment, 
'abe-setup' function works well. When I execute keygen function, e.g. 
'abe-keygen -m CP -a 'ONE,TWO,THREE,FOUR,FIVE' -o userCP.key' , I get nothing 
output information or hint messages. So, I'm curious about this question. Are 
there any matters should be attentioned?

Bo Liu
[email protected]

Original issue reported on code.google.com by [email protected] on 18 Jun 2013 at 4:11

Installation :: ./configure failed!

When I run  ./configure ABI=32 --enable-optimized
It occurs that:
.....(omission)
checking lex library... -lfl
checking whether yytext is a pointer... yes
building for 32-bit architecture ONLY!
checking for pow in -lm... no
************************
m library not found
add its path to LDFLAGS
see ./configure --help
************************

It said that m library not found.

I used command whereis to check the location:
root@loccs-ubuntuvm:~/workspace/fenc-0.2.0# whereis libm
libm: /usr/lib/libm.so /usr/lib/libm.a

Then I set LDFLAGS to add the lib path:
root@loccs-ubuntuvm:~/workspace/fenc-0.2.0# ./configure ABI=32 
--enable-optimized LDFLAGS=-L"/usr/lib"

But it still did not work, the same error appeared!

My OS is ubuntu10.10
Source code I used is fenc-0.2.0

Can anyone help? Thank you!



Original issue reported on code.google.com by [email protected] on 5 Sep 2012 at 1:31

abe-setup: error while loading shared libraries: libfenc.so.0: cannot open shared object file: No such file or directory

What steps will reproduce the problem?
1.
2.
3.

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.
When I run 
    ./configure ABI=32 --enable-optimized
It occurs that :
    m library not found

So, I just run
    1.  ./configure (without ABI=32 --enable-optimized)
    2.   make
    3.   sudo make install

It successed!

However, When I setup using:
   1. abe-setup -m CP
It occurs that:
abe-setup: error while loading shared libraries: libfenc.so.0: cannot open 
shared object file: No such file or directory

I run : locate libfenc.so.0
And get this information:
     installDir/fenc-0.2.0/.libs/libfenc.so.0
     installDir/.libs/libfenc.so.0.0.2
     /usr/local/lib/libfenc.so.0
    /usr/local/lib/libfenc.so.0.0.2

My OS is Linux Mint 16
source code is fenc-0.2.0

Can anybody help? Thank you!


Original issue reported on code.google.com by [email protected] on 7 Mar 2014 at 5:29

segmentation fault if attributes do not satisfy the policy

What steps will reproduce the problem?
1. Setup scheme: abe-setup -m CP
2. Generate user key: abe-keygen -m CP -a 'ONE' -o userCP.key
3. Encryption: abe-enc -m CP -i filename.txt -p "((ONE and TWO) or THREE)" -o 
outfile
4. Decryption: abe-dec -m CP -k userCP.key -f outfile.cpabe

What is the expected output? What do you see instead?
The expected output is any message. However, I see a 'segmentation fault'.

What version of the product are you using? On what operating system?
fenc-0.2.0 on Linux

Please provide any additional information below.
Regardless the return value of libfenc_decrypt(), abe_decrypt() in 
tools/mgabe-dec.c was extracting the AES key. In fact, abe_decrypt() should 
extract the AES key only if libfenc_decrypt() does not return any error.

I have developed a patch (please see the attachment) in which a check has been 
added to avoid the segmentation fault.

Regards,
Rizwan

Original issue reported on code.google.com by [email protected] on 6 Mar 2013 at 1:03

Attachments:

could not open d224.param

Hi, after the installation I've tried to run  the command: abe-setup -m CP but 
I get this error

Generating Waters CP scheme parameters...
Initializing library...
    No error (0)
Generating master ABE system parameters...
Could not open d224.param parameters file.
: No such file or directory
Destroying context...
    No error (0)
Shutting down library...
    No error (0)

If I try to locate it I got this:
locate d224.param
/home/ale/Downloads/pbc-0.5.14/param/d224.param
/home/ale/libpbc-code/param/d224.param

Can someone help me please? I've already tried successfully to use the John 
Bethencourt, Amit Sahai cpabe toolkit http://acsc.cs.utexas.edu/cpabe/

Original issue reported on code.google.com by [email protected] on 14 Jan 2015 at 2:58

Parsing code doesn't wrk

The parsing code in policy_lang.y doesn't work correctly.  It seems to be 
giving an invalid string 
when it calls policy_leaf().

Original issue reported on code.google.com by [email protected] on 4 Jan 2010 at 4:59

how to use this in windows and in ubuntu

What steps will reproduce the problem?
1.i have windows 8 in command propmt when i type ./configure its shows 
'.'command is not recognized. Do i want to go to the path where i kept my fenc 
file.
2. And in ubuntu in the terminal i used the command ./configure its also 
showing the error '.' is not recognized. And when i type sudo and configure its 
showing 0 installed like that
3.

What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?

i have downloaded the fenc-0.2.0 tar.gz file and used in windows 8 and in 
Ubuntu.
Please provide any additional information below.

please tell me where i have to use these command and how to install and use it 
please reply me as soon as possible

Thanks in advance.

Original issue reported on code.google.com by [email protected] on 17 Feb 2013 at 5:33

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.