microsoft / PQCrypto-SIDH

SIDH Library is a fast and portable software library that implements state-of-the-art supersingular isogeny cryptographic schemes. The chosen parameters aim to provide security against attackers running a large-scale quantum computer, and security against classical algorithms.
MIT License
318 stars 101 forks source link

Too many global variables, functions etc in SIDH source modules #26

Open wernerd opened 4 years ago

wernerd commented 4 years ago

In my fork of SIDH to add Cmake, C++ wrapper, Android, Java support I build a shared library which includes the SIDH modules. To support Android applications a shared library is a pre-requisite.

When combining all SIDH modules (P434, P503, P610, P751) into one shared library there are a lot of multiple definitions due to global variables and functions. To solve the problems I did some small refactoring of the sources:

No changes to the actual implementation of the math-functions.

If this is of interest to the SIDH dev team please have a look at the fork mentioned above, branch develop.

christianpaquin commented 3 years ago

You might consider using the open quantum safe library, which contains an integration of all the SIDH/SIKE variants in one library.