Giter Site home page Giter Site logo

gofe's People

Contributors

b-rohit avatar bbencina avatar janhartman avatar mancabizjak avatar miha-stopar avatar remiphilippe avatar tilenmarc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gofe's Issues

FE with authenticated encryption

Hi, sorry for open a issue to ask this, but I couldn't find other way to send a message to you. I would like to know if there is any construction in gofe that allows the use of FE with authenticated encryption capabilities? For instance, one could use something like DDH-MAC in a similar way that is done with AES?

Could we implement the paillier-based DMCFE?

cause, I find it hard to implement the KeyGen algorithm for paillier-based DMCFE described in ACK+19(Abdalla, Benhamouda, Kohlweiss, Waldner).

To implement it, we have to find a way to generate n random vectors v_i such that the sum of v_i is 0. And the v_i should be in Z_n^M. I suppose that we could use the DH key exchange just like in DDH-based DMCFE, and then hash Z_q^M to the Z_n^M, which may not be secure; otherwise, I don't know how to resolve it.

So, my question is: could we do it? And if you think about implementing the paillier-based DMCFE?

Key serialization

Thanks for this awesome library!

Is it possible to serialize keys to a file? I didn't find any info about serialization.

Thanks in advance!

Algorithm implementation

Is there any implementation of CP-ABE encryption algorithm with MA‑CPABE with elliptic curve cryptography ? thanks

dependencies

Hi,

I'm very familiar with go, but I had in to install the following dependencies to avoid errors:

bn256
pkg/errors
stretchr/testify/assert

[FAME] Support for string instead of int in key attributes

The key attributes are ints today (gamma - https://github.com/fentec-project/gofe/blob/master/abe/fame.go#L231). This is a bit of a compatibility problem with existing data formats in software and is pretty restrictive :)

In my scenario, I want to pass UUID (a user can access multiple projects, each project already has a UUID, converting a 128 bit UUID to a 64-bit int would risk collision). It would seem useful to support a more generic data type such as a string (interface{} would force quite some work on reflection).

I've modified the code in my branch (which works all tests passes), but there are a few caveats.

All this means introducing a breaking change due to the package change.

I have the working changes here: https://github.com/remiphilippe/gofe/tree/attrib-key-string/abe let me know what you think and if that's something we could look at merging (in some shape or form)?

Sans => Dufour Sans

Hi everyone,

I'm one of the authors of the quadratic FE and the IP DMCFE papers you implement; glad to see they have attracted interest. My family name is actually Dufour Sans, not Sans, but most academic software has a hard time figuring it out. Could you please correct the citations and the acronyms? That'd be very much appreciated.

Cheers,
Edouard

How to calculate intermediate values in multi input scheme?

I followed the example given in the README file. I understood the Decrypt function returns the mod after executing decryption for number of Slots times. I am interested in how can I calculate intermediate values (c, OTPKey) defined in the Decrypt function. I put some debug logs in the function and checked the research paper but could not come up with formula.
Use following sample values.

X :  [ 3 3 4  2 3 2]
Y :  [ 1 2 1  1 0 1]
opt key:  [ 2 3 1  4 2 3]
c0:  2
c1:  1
OTPKey  1

Could someone explain how c0, c1 and OTPKey can be calculated ?

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.