homenc / HElib

HElib is an open-source software library that implements homomorphic encryption. It supports the BGV scheme with bootstrapping and the Approximate Number CKKS scheme. HElib also includes optimizations for efficient homomorphic evaluation, focusing on effective use of ciphertext packing techniques and on the Gentry-Halevi-Smart optimizations.
https://homenc.github.io/HElib
Other
3.11k stars 761 forks source link

AES build errors #352

Open imtiyazuddin opened 4 years ago

imtiyazuddin commented 4 years ago

Your Contact: imtiyazuddin.shaik@gmail.com Your environment (OS/HW): Ubuntu 18.04, amd64 Detailed Description: make in aes folder is failing with following error

error: ‘helib’ has not been declared throw helib::InvalidArgument("Invalid key size: " + std::to_string(NN)); ^~~~~ /home/imtiyazuddin/Ubuntu/HElib/src/aes/simpleAES.cpp:133:62: error: ‘to_string’ is not a member of ‘std’ throw helib::InvalidArgument("Invalid key size: " + std::to_string(NN)); ^~~~~ src/aes/CMakeFiles/TEST_AES.dir/build.make:65: recipe for target 'src/aes/CMakeFiles/TEST_AES.dir/simpleAES.cpp.o' failed make[2]: [src/aes/CMakeFiles/TEST_AES.dir/simpleAES.cpp.o] Error 1 CMakeFiles/Makefile2:143: recipe for target 'src/aes/CMakeFiles/TEST_AES.dir/all' failed make[1]: [src/aes/CMakeFiles/TEST_AES.dir/all] Error 2 Makefile:132: recipe for target 'all' failed make: *** [all] Error 2

imtiyazuddin commented 4 years ago

somebody? anybody?

boev commented 4 years ago

Hello,

my guess would be to simply look at /usr/local/lib and /usr/lib and see if the library is there.

Also use ldconfig command in linux. It can be used to see if and where a library is found and a good start would be to purge its cache and let it rebuild.

Open /etc/ld.so.conf and see if the directory (probably /usr/local/lib) is added. You can add it yourself and then run ldconfig in the console, or you can remove /etc/ld.so.conf and run ldconfig to rebuild it.

Hope this helps.

imtiyazuddin commented 4 years ago

ok thanks

imtiyazuddin commented 4 years ago

I feel the AES implementation APIs are not updated to reflect latest changes in the recent versions of library which include CKKS scheme as well. Will the AES implementation work for CKKS ciphertext as well??

WeiBenqiang commented 4 years ago

I have found aes_compatible vertion:https://github.com/homenc/HElib/pull/343 .It does work. I think CKKS could not work,because it's an approximate homomorphic encrytion scheme,it will cause some small errors.