ālĕa: Latin noun meaning a die, as in
ālea iacta est ("The die has been cast") --- Julius Caesar
ALEA is a lightweight, pure C library that provides CSPRNG functionalties. It is primarily designed for use in cryptographic primitives within lattice-based cryptographic algorithms, including the fully homomorphic encryption (FHE) and the post-quantum cryptography (PQC).
ALEA is a CMake project. You can build the entire project with
cmake -S . -B $ALEA_BUILD_DIR && cmake --build $ALEA_BUILD_DIRYou should supply $ALEA_BUILD_DIR for your preference.
| Build Options | What it is | Default |
|---|---|---|
BUILD_SHARED_LIBS |
Build a shared library instead of a static one | OFF |
ALEA_BUILD_TEST |
Build and enable the CTest-based unit tests | ON |
ALEA_BUILD_DOXYGEN |
Generate API documentation via Doxygen | OFF |
ALEA_INSTALL |
Install the Alea library, headers, and CMake package configuration files | ON |
You can use ctest to do test runs for the compiled projects. Please use the following command.
ctest --test-dir $ALEA_BUILD_DIRalea 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.
