Installation of Blindstore

17 views
Skip to first unread message

hardik gajera

unread,
May 25, 2015, 5:44:20 AM5/25/15
to blind...@googlegroups.com
Hello everyone,

I am a doctoral student at DA-IICT, Gandhinagar, India. I am studying and analysing Private Information Retrieval (PIR) systems based on different homomorphic encryptions. Few days back I came across the Blindstore and I noticed that it uses PIR based on V-DGHV. I am analysing this scheme and I want to know how the actual implementation of this PIR scheme works. So I started implementing Blindstore in ubuntu 13.10. I have successfully installed event monitor, libScarab, pyscarab and blindstore-demo. While installing Blindstore, I got stuck in HElib. Here is the error message:

>hardik@zext-VGN-CS22GH-B:~/Desktop/Blindstore/blindstore/lib/libshe/lib/HElib/src$ make

 HElib requires NTL version 6.1.0 or higher, see http://shoup.net/ntl <http://shoup.net/ntl
 If you get compilation errors, try to add/remove -std=c++11 in Makefile*

 g++ -g -O2 -Wfatal-errors -Wshadow -Wall -I/usr/local/include -fPIC -c polyEval.cpp
 polyEval.cpp: In function 'void polyEval(Ctxt&, const NTL::Vec<Ctxt>&,const Ctxt&)':
 polyEval.cpp:59:40: error: no matching function for call to 'NTL::Vec<Ctxt>::Vec(const NTL::INIT_SIZE_STRUCT&, long int, const Ctxt&)'
    Vec<Ctxt> powers(INIT_SIZE, logD+1, x);
                                         ^ 
 compilation terminated due to -Wfatal-errors. 
 make: *** [polyEval.o] Error 1 


Please help me in resolving this problem.

Thanks.

Regards
Hardik Gajera

P.S: I have installed ntl-6.1.0.

Bogdan Kulynych

unread,
May 25, 2015, 7:06:26 AM5/25/15
to kidr...@gmail.com, blind...@googlegroups.com
Hello Hardik,

It looks you need to get the latest version of HElib and the latest version of NTL as per this issue: https://github.com/shaih/HElib/issues/59 .

Anyway, the code from the _blindstore_ repository you're trying to install doesn't use HElib even though there's HElib in the lib directory; it uses libscarab, the experimental C implementation of SV2011 FHE. Sorry, the codebase is a bit of mess. Please see github.com/bogdan-kulynych/libshe for implementation of V-DGHV.

Regards,
Bogdan

--
You received this message because you are subscribed to the Google Groups "Blindstore" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blindstore+...@googlegroups.com.
To post to this group, send email to blind...@googlegroups.com.
Visit this group at http://groups.google.com/group/blindstore.
For more options, visit https://groups.google.com/d/optout.

hardik gajera

unread,
May 26, 2015, 5:00:00 AM5/26/15
to blind...@googlegroups.com
Hello Bogdan,

Thanks for the info. We have ignored the HElib for now. We have implemented blindstore-demo and blindstore successfully. As described in the directory of blindstore-demo, we started meteor (localhost:3000) but in next step, it says we need to run server_script.py and client_script.py from blindstore directory. There are no such script files in blindstore. We then checked blindtore-old-scarab directory. It has client.py and server.py files. So we have implemented this directory alongside of blindstore and tried to run server.py file but it runs on 127.0.0.1:5000. It is not able to communicate with meteor. Please help us in resolving this issue.

Thanks.

Regards,
Hardik

Bogdan Kulynych

unread,
May 26, 2015, 6:21:44 AM5/26/15
to hardik gajera, blind...@googlegroups.com
Hi Hardik,

Sorry, last time I was wrong. I was talking about the old working blindstore prototype blindstore-old-scarab. The 'blindstore' repo is a stub. From the README:

Currently this repo is a stub.
  • For the core cryptography implementation, see libshe.
  • For a working proof of concept of the Blindstore concept, please see the blindstore-old-scarab repository. The implementation there is based on another encryption scheme.

This repo will contain an implementation of Blindstore in C++ based on the V-DGHV scheme of somewhat homomorphic encryption (libshe) presented in [1].


Blindstore-demo was just a demo for the audience for the sake of presentation. It was supposed to work with old prototype: https://github.com/blindstore/blindstore-old-scarab/tree/demo at demo branch. It looked nice, but you probably wanted to check the timings, etc. Then you could look at https://github.com/blindstore/blindstore-old-scarab/blob/master/pir.py . Or follow the README here: https://github.com/blindstore/blindstore-old-scarab/ .

If you look for practicality, it's not there yet. If you're interested in timing, I'll hint you the SV-FHE-based prototype using libscarab was insanely slow, like couple of seconds to retrieve a record from an 3-record database. The V-DGHV takes seconds for database of 1000 records.

Again, the main work was being done recently in https://github.com/bogdan-kulynych/libshe

Thanks, we probably need to clean up the organization repos.

Regards
Bogdan

Ainish Dave

unread,
May 26, 2015, 7:42:12 AM5/26/15
to blind...@googlegroups.com
Hi Bogdan,

I am currently working with Hardik on PIR schemes. We setup the Blindstore on our system. As you mentioned, 'pir.py' file is taking too long to retrieve the result (much more than 2 seconds on our system as a matter of fact). Now as you mentioned that currently the work is being done in 'libshe', which contains the code in 'C'. So, we were thinking if we could write a file in C, analogous to the one in python (i.e. pir.py). Will it be helpful in improving the retrieval time?

Regards,
Ainish

Bogdan Kulynych

unread,
May 26, 2015, 10:36:28 AM5/26/15
to blind...@googlegroups.com
Yes, sure.

I actually have a draft of a benchmark similar to 'pir.py' on my local computer for libshe. I can push it within a week. Yes, it would be faster, because 'pir.py' uses SV-FHE.

Regards,
Bogdan

--

Bogdan Kulynych

unread,
May 30, 2015, 7:06:14 AM5/30/15
to hardik gajera, Ainish Dave, blind...@googlegroups.com
Hi Hardik, Ainish,

I have added PIR benchmark to libshe: https://github.com/bogdan-kulynych/libshe/blob/master/benchmarks/pir.cpp
Please follow the README to install and build properly. Feel free to tweak benchmark parameters. VDGHV is very slow, I'm working on adding HElib backend right now.

Regards,
Bogdan
Reply all
Reply to author
Forward
0 new messages