Installation

To use this project, you need to have an installation of Rust. Since we are using flint-sys which itself uses gmp, we are currently restricted to usage on Mac, Linux and Linux subsystems under Windows. For a subsystem under Windows, you are additionally required to have installed m4 and a C-compiler like gcc. Furthermore, make sure to have make installed.

Command for installing m4, gcc, and make:

sudo apt-get install m4 gcc make

Documentation

Since our projects documentation isn't yet published, there is no option to find it on Rust's library collection on crates.io. But you can see our documentation of the libraries if you have installed them. and run the following command in your command line:

To install one of our libraries, clone qfall/math and/or qfall/crypto from GitHub. To build the library, run the following command:

cargo build

To generate and open the documentation of the installed library, run this command:

cargo doc --open

If you're using WSL and your browser does not open, retry after installing wslu.

Integration

If you want to include the math library in your own Rust project, you can include a link to our version on the dev branch in your Cargo.toml.

qfall-math = { git = "https://github.com/qfall/math", branch="dev" }

Be aware that the external libraries in our projects have to be compiled at the first installation, which may take about 10-30 minutes (depending on the used hardware and operating system). After the first installation, it should be working fine.

Furthermore, we provide several lattice-based constructions and mathematical primitives for convenient usage in our crypto library. These can be used in your project after adding the following text in your Cargo.toml.

qfall-crypto = { git = "https://github.com/qfall/crypto", branch="dev" }

A description and short list of features can be found in chapter 6.