cryptobiu / libscapi

Comprehensive Open Source Library for Secure Multiparty Computation
MIT License
180 stars 66 forks source link

Problem in making SCAPI #3

Closed fatemehajikarami closed 7 years ago

fatemehajikarami commented 7 years ago

Hi i am trying to install Scapi on Ubuntu, after installation of prerequisites, when i wanted to make Scapi, i got this error: make[1]: Entering directory '/home/hajikarami/libscapi/build/OTExtension' In file included from cbitvector.cpp:8:0: cbitvector.h:296:16: error: field ‘m_nKey’ has incomplete type ‘EVP_CIPHER_CTX {aka evp_cipher_ctx_st}’ AES_KEY_CTX m_nKey; ^ In file included from /usr/local/include/openssl/evp.h:14:0, from ../util/typedefs.h:15, from cbitvector.h:18, from cbitvector.cpp:8: /usr/local/include/openssl/ossl_typ.h:90:16: note: forward declaration of ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’ typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; ^ Makefile:55: recipe for target 'util/*.o' failed make[1]: * [util/.o] Error 1 make[1]: Leaving directory '/home/hajikarami/libscapi/build/OTExtension' makefile:110: recipe for target 'compile-otextension' failed make: [compile-otextension] Error 2

how can I solve this?

liorko87 commented 7 years ago

Which OpenSSL version do you use?

fatemehajikarami commented 7 years ago

OpenSSL 1.1.1-dev xx XXX xxxx

On Mon, Dec 26, 2016 at 1:25 PM, liorbiu notifications@github.com wrote:

Which OpenSSL version do you use?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cryptobiu/libscapi/issues/3#issuecomment-269193850, or mute the thread https://github.com/notifications/unsubscribe-auth/ASvWNETbZM6oCkfsGX0actFThU3Wd0KMks5rL48CgaJpZM4LVmjT .

-- Fateme Hajikarami, M.Sc. Department of Electrical & Computer Engineering Isfahan University of Technology

fatemehajikarami commented 7 years ago

Which version I should use?

liorko87 commented 7 years ago

We are using OpenSSL 1.0.2 version. Right now scapi doesn't support OpenSSL 1.1. OpenSSL changes his interface in version 1.1 (you can read more details here and that's the reason why you are getting this error.

fatemehajikarami commented 7 years ago

I tried to downgrade my openssl but I couldn't. when I tryied to install it by apt-get (telling the specific version), there were some errors because version 1.0 is not in repositories now, when I tried to install it from source, everything seems well, but when i check the version of my openssl, it's still 1.1.1 ! Would you please give me some help with this?

liorko87 commented 7 years ago

We are now working on convert scapi to OpenSSL version 1.1.0>.

fatemehajikarami commented 7 years ago

Good luck

On Wed, Dec 28, 2016 at 10:14 AM, liorbiu notifications@github.com wrote:

We are now working on convert scapi to OpenSSL version 1.1.0>.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cryptobiu/libscapi/issues/3#issuecomment-269434062, or mute the thread https://github.com/notifications/unsubscribe-auth/ASvWNBrfGPdE4O_2PcZCooC_q0kJzruPks5rMgVIgaJpZM4LVmjT .

-- Fateme Hajikarami, M.Sc. Department of Electrical & Computer Engineering Isfahan University of Technology

fatemehajikarami commented 7 years ago

Something is very confusing for me! when I want to see my openssl version and type command "openssl version", it tells me "OpenSSL 1.1.1-dev xx XXX xxx" but openssl doesn't have 1.1.1 version, the newest version of openssl is 1.1.0 !! I am really stuck! I think these problem is made after installing scapi in java, because in scapi/lib/openssl/readme I see this sentence : OpenSSL 1.1.1-dev exactly the same thing that i saw in my terminal.

So i have two questions: 1- Why openssl that i have in scapi libraries tell me that its version is 1.1.1, when there isn't such a version for openssl? 2- How can I remove java scapi completely, so I can install c++ version instead?

liorko87 commented 7 years ago

OpenSSL version 1.1.1 exists. You can found here the source code

fatemehajikarami commented 7 years ago

Yes you are right, this is under develop version! I should remove this and install 1.0.2 version. How can remove scapi (java version) completely?

fatemehajikarami commented 7 years ago

Hi I remove openssl 1.1.1, now my openssl is : OpenSSL 1.0.2g 1 Mar 2016

But i still get error in making scapi:

Compiling the OtExtension library... make[1]: Entering directory '/home/hajikarami/libscapi/build/OTExtension' In file included from cbitvector.cpp:8:0: cbitvector.h:296:16: error: field ‘m_nKey’ has incomplete type ‘EVP_CIPHER_CTX {aka evp_cipher_ctx_st}’ AES_KEY_CTX m_nKey; ^ In file included from /usr/local/include/openssl/evp.h:14:0, from ../util/typedefs.h:15, from cbitvector.h:18, from cbitvector.cpp:8: /usr/local/include/openssl/ossl_typ.h:90:16: note: forward declaration of ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’ typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; ^ Makefile:55: recipe for target 'util/*.o' failed make[1]: * [util/.o] Error 1 make[1]: Leaving directory '/home/hajikarami/libscapi/build/OTExtension' makefile:110: recipe for target 'compile-otextension' failed make: [compile-otextension] Error 2

liorko87 commented 7 years ago

It seems that It doesn't recognize the OpenSSL version that you installed manually. Yo can look here to see how to link the new OpenSSL.

We are currently working on converting libscapi to the new version of OpenSSL.

fatemehajikarami commented 7 years ago

I've installed Scapi on ubuntu 14, but when I want to install it on ubuntu 16.0.4, I get some errors: /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h:45:20: fatal error: jni_md.h: No such file or directory compilation terminated. makefile:49: recipe for target 'OTExtensionMaliciousReceiver.o' failed make[1]: [OTExtensionMaliciousReceiver.o] Error 1 make[1]: Leaving directory '/home/serveradmin/scapi/src/jni/MaliciousOtExtensionJavaInterface' makefile:236: recipe for target 'src/jni/MaliciousOtExtensionJavaInterface/libMaliciousOtExtensionJavaInterface.so' failed make: [src/jni/MaliciousOtExtensionJavaInterface/libMaliciousOtExtensionJavaInterface.so] Error 2

Is there any problem with installation on ubuntu 16.0.4?

liorko87 commented 7 years ago

I assume that you are dealing with scapi java version. I installed it today on clean Ubuntu 16.04 machine. There is a problem with the new jdk 1.8. It seems that the location of jni_md.h has changed. please run the following code before make:

sudo cp /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h /usr/lib/jvm/java-8-openjdk-amd64/include/

fatemehajikarami commented 7 years ago

thank you so much, I installed it successfully. Now when I create DlogExample.java and try to run "scapic DlogExample.java", I get these errors? I dont know why!

DlogExample.java:7: error: package edu.biu.scapi.primitives.dlog does not exist import edu.biu.scapi.primitives.dlog.DlogGroup; ^ DlogExample.java:8: error: package edu.biu.scapi.primitives.dlog does not exist import edu.biu.scapi.primitives.dlog.GroupElement; ^ DlogExample.java:9: error: package edu.biu.scapi.primitives.dlog.openSSL does not exist import edu.biu.scapi.primitives.dlog.openSSL.OpenSSLDlogECF2m; ^ DlogExample.java:16: error: cannot find symbol DlogGroup dlog = new OpenSSLDlogECF2m("K-233"); ^ symbol: class DlogGroup location: class DlogExample DlogExample.java:16: error: cannot find symbol DlogGroup dlog = new OpenSSLDlogECF2m("K-233"); ^ symbol: class OpenSSLDlogECF2m location: class DlogExample DlogExample.java:20: error: cannot find symbol GroupElement g = dlog.getGenerator(); ^ symbol: class GroupElement location: class DlogExample DlogExample.java:28: error: cannot find symbol GroupElement g1 = dlog.exponentiate(g, r); ^ symbol: class GroupElement location: class DlogExample DlogExample.java:30: error: cannot find symbol GroupElement h = dlog.createRandomElement(); ^ symbol: class GroupElement location: class DlogExample DlogExample.java:32: error: cannot find symbol GroupElement gMult = dlog.multiplyGroupElements(g1, h); ^ symbol: class GroupElement location: class DlogExample 9 errors

liorko87 commented 7 years ago

Hi,

After long time of work, libscapi support OpenSSL 1.1.0. Please work on this branch and install boost 1_62_0.

fatemehajikarami commented 7 years ago

wow! Thanks for your announcement.

On Mon, Apr 24, 2017 at 5:14 PM, liorbiu notifications@github.com wrote:

Hi,

After long time of work, libscapi support OpenSSL 1.1.0. Please work on this branch https://github.com/cryptobiu/libscapi/tree/OpenSSL-V1.1.0 and install boost 1_62_0 http://www.boost.org/users/history/version_1_62_0.html.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cryptobiu/libscapi/issues/3#issuecomment-296654090, or mute the thread https://github.com/notifications/unsubscribe-auth/ASvWNLmCokrRDt8Zn3zN6SW442M5D3Nnks5rzJk1gaJpZM4LVmjT .

-- Fateme Hajikarami, M.Sc. Department of Electrical & Computer Engineering Isfahan University of Technology