evi-crypto is a homomorphic encryption module designed to execute vector search queries securely over encrypted data.
cmake -S . -B build
cmake --build build| Option | Default | Description |
|---|---|---|
BUILD_TEST |
ON |
Build unit tests under test/ and add them to ctest. |
BUILD_EXAMPLE |
ON |
Build examples under examples/ (e.g., keygen). |
BUILD_YUBIHSM |
OFF |
Enable YubiHSM integration for secret key protection (only effective when HEaaN is enabled). |
BUILD_WITH_VALGRIND |
ON |
Enable constant-time sampler checks with Valgrind instrumentation. |
BUILD_AS_STATIC |
ON |
Build EVI as a static library; set OFF for a shared library. |
USE_PROFILE |
OFF |
Enable Perfetto-based profiling and link the perfetto SDK. |
BUILD_PYTHON |
OFF |
Build Python wheels/bindings. |
BUILD_C_API |
OFF |
Build C wrapper API. |
| Note: The main EVI library includes key generation and encryption/decryption modules; separate component libraries are not emitted. |
Notes
- When
BUILD_PYTHON=ON, several options are forced to packaging-safe values (e.g.,BUILD_TEST=OFF,BUILD_EXAMPLE=OFF,BUILD_AS_STATIC=OFF). SeeCMakeLists.txtfor details. - The project fetches externals using CPM; if your environment requires credentials, set
GITHUB_TOKENin the environment for private dependencies.
$ pip wheel . --no-deps -w dist -Cbuild-dir=build
$ pip install dist/evi-0.1.0-cp312-cp312-linux_x86_64.whl
$ pytest pybind/test/ ## for test
You can generate the documentation using the command below, and then open ./docs/html/index.html.
$ doxygen Doxyfile
deb is licensed under the Apache License 2.0, which means that you are free to get and use it for commercial and non-commercial purposes as long as you fulfill its conditions.
See the LICENSE file for more details.