encryptogroup / MOTION

An efficient, user-friendly, modular, and extensible framework for mixed-protocol secure multi-party computation with two or more parties
MIT License
85 stars 40 forks source link

Remove OpenSSL dependency #8

Open robinhundt opened 2 years ago

robinhundt commented 2 years ago

OpenSSL is included in the following places:

./src/test/test_helpers.h 25:#include <openssl/rand.h>

./src/motioncore/primitives/blake2b.h 30:#include <openssl/evp.h>

./src/motioncore/primitives/sharing_randomness_generator.h

32:#include <openssl/aes.h>
33:#include <openssl/conf.h>
34:#include <openssl/err.h>
35:#include <openssl/evp.h>
36:#include <openssl/opensslv.h>

./src/motioncore/primitives/curve25519/mycurve25519.cpp 5226:#include <openssl/rand.h>

./src/motioncore/primitives/random/aes128_ctr_rng.cpp 24:#include <openssl/rand.h>

./src/motioncore/primitives/random/openssl_rng.cpp 25:#include <openssl/rand.h>

./src/motioncore/primitives/pseudo_random_generator.h

31:#include <openssl/aes.h>
32:#include <openssl/evp.h>

it seems that openssl is not only used for its blake2b implementation, but also in the implementation of different RNG's. Those seem to make use of the AES implementation of OpenSSL.
Considering this, rather than removing OpenSSL as a dependency, it might be more sensible to cross compile it for Android support (this project could help here).

lenerd commented 2 years ago

openssl-cmake looks like they just copy the OpenSSL sources into their repository and its also not up to date.