Skip to content

CryptoLabInc/evi-crypto

Repository files navigation

evi-crypto

evi-crypto is a homomorphic encryption module designed to execute vector search queries securely over encrypted data.

Build

cmake -S . -B build
cmake --build build

CMake Options

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). See CMakeLists.txt for details.
  • The project fetches externals using CPM; if your environment requires credentials, set GITHUB_TOKEN in the environment for private dependencies.

Release using pybind

$ 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

Documentation

You can generate the documentation using the command below, and then open ./docs/html/index.html.

$ doxygen Doxyfile

License

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published