/libfss

Library for performing Function Secret Sharing (FSS)

Primary LanguageC++MIT LicenseMIT

Function Secret Sharing (FSS) Library

This is a function secret sharing (FSS) library for Go and C++. To get a sense on how to use the library for Go, look in the test_fss/ folder. For C++, look at the fss-test.cpp file.

For the Go and C++ libraries, the code is split into server, client, and common code.

This library is based the following papers:

  • Boyle, Elette, Niv Gilboa, and Yuval Ishai. "Function Secret Sharing: Improvements and Extensions." Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016.

  • Boyle, Elette, Niv Gilboa, and Yuval Ishai. "Function secret sharing." Annual International Conference on the Theory and Applications of Cryptographic Techniques. Springer Berlin Heidelberg, 2015.

This implementation uses the techniques described in:

For Go, doing a go install on the test_fss/ folder will create the test program.
For C++, do the following:

./configure
make

If you want to install the libfss.a library, you can perform a

make install

For any questions, feel free to create an issue, submit a pull request, or email Frank Wang at frankw@mit.edu.