diff --git a/Cargo.toml b/Cargo.toml index 1e78c1b7..e091f86c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ name = "qfall-math" version = "0.1.0" edition = "2024" rust-version = "1.85" # due to rand and rand_distr dependency -description = "Prototyping Library for Lattice-Based Cryptography" +description = "Mathematical foundations for rapid prototyping of lattice-based cryptography" readme = "README.md" homepage = "https://qfall.github.io" repository = "https://github.com/qfall/math" diff --git a/README.md b/README.md index b6d71948..2507f421 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [build](https://github.com/qfall/math/actions/workflows/push.yml) [license](https://github.com/qfall/math/blob/dev/LICENSE) -`qFALL` is a prototyping library for lattice-based constructions. +`qFALL` is a prototyping library for lattice-based cryptography. This `math`-crate is a memory-safe wrapper of [FLINT](https://flintlib.org/) in Rust, which provides several additional features often used in lattice-based cryptography. This crate is the foundation of the [qFALL project](https://qfall.github.io) containing further crates for prototyping of lattice-based cryptography. ## Quick-Start @@ -21,7 +21,7 @@ Then, add you can add this crate to your project by executing the following comm ```bash cargo add qfall-math ``` -- Find further information on [our website](https://qfall.github.io/). Also check out [`qfall-tools`](https://github.com/qfall/tools) and [`qfall-schemes`](https://github.com/qfall/schemes). +- Find further information on [our website](https://qfall.github.io/). Also check out [`qfall-tools`](https://crates.io/crates/qfall-tools) and [`qfall-schemes`](https://crates.io/crates/qfall-schemes). - Read the [documentation of this crate](https://docs.rs/qfall-math). - We recommend [our tutorial](https://qfall.github.io/book) to start working with qFALL. @@ -95,10 +95,10 @@ TODO: Update to eprint ``` ## Dependencies -This project uses the C-based, optimized math-library [FLINT](https://flintlib.org/). We tested our use of FLINT extensively to ensure that you can not introduce memory-leaks by using our library. -If you need a function supported by FLINT that is not supported by this crate, we have created an `unsafe` passthrough to access and operate on FLINT's structs directly. +This project uses the C-based, optimised math-library [FLINT](https://flintlib.org/). We tested our use of FLINT extensively to ensure that you can not introduce memory-leaks by using our crate. +If you need a function supported by FLINT that is not supported by this crate, this crate offers an `unsafe` passthrough to access and operate on FLINT's structs directly. -Furthermore, we utilized [serde](https://crates.io/crates/serde) and [serde_json](https://crates.io/crates/serde_json) to (de-)serialize objects to and from JSON. Last, but not least, our sampling algorithms use the [rand](https://crates.io/crates/rand)-crate to generate uniformly random bits. An extensive list can be found in our `Cargo.toml` file. +Furthermore, we utilise [serde](https://crates.io/crates/serde) and [serde_json](https://crates.io/crates/serde_json) to (de-)serialize objects to and from JSON. This crate relies on [criterion](https://crates.io/crates/criterion) for benchmarking purposes. Last, but not least, our sampling algorithms use the [rand](https://crates.io/crates/rand)-crate to generate uniformly random bits. An extensive list can be found in our `Cargo.toml` file. ## License diff --git a/src/lib.rs b/src/lib.rs index 167f837b..f6088502 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,4 @@ -// Copyright © 2023 Marcel Luca Schmidt +// Copyright © 2023 Marcel Luca Schmidt, Niklas Siemer // // This file is part of qFALL-math. // @@ -15,11 +15,10 @@ //! - Rationals such as [Q](rational::Q), [`MatQ`](rational::MatQ), [`PolyOverQ`](rational::PolyOverQ). //! //! The `qFALL` project contains two more crates called [`qFALL-tools`](https://crates.io/crates/qfall-tools) -//! and [`qFALL-schemes`](https://github.com/qfall/schemes) to support prototyping. +//! and [`qFALL-schemes`](https://crates.io/crates/qfall-schemes) to support prototyping. //! - Find further information on [our website](https://qfall.github.io/). //! - We recommend [our tutorial](https://qfall.github.io/book) to start working with qFALL. //! -//! //! ## Quick Example //! ``` //! use qfall_math::{integer_mod_q::MatZq, integer::MatZ};