diff --git a/CITATION.cff b/CITATION.cff
deleted file mode 100644
index 28685b00..00000000
--- a/CITATION.cff
+++ /dev/null
@@ -1,19 +0,0 @@
-# This CITATION.cff file was generated with cffinit.
-# Visit https://bit.ly/cffinit to generate yours today!
-
-cff-version: 1.2.0
-title: qFALL
-type: software
-authors:
- - given-names: Laurens
- family-names: Porzenheim
- - given-names: Marvin
- family-names: Beckmann
- - given-names: Phil
- family-names: Milewski
- - given-names: Marcel Luca
- family-names: Schmidt
- - given-names: Jan Niklas
- family-names: Siemer
-repository-code: 'https://github.com/qfall'
-license: MPL-2.0
diff --git a/Cargo.toml b/Cargo.toml
index 1e78c1b7..95542a68 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"
@@ -14,19 +14,19 @@ autobenches = false
[dependencies]
criterion = { version = "0.8", features = ["html_reports"] }
-flint-sys = "0.7.3"
-libc = "0.2"
-paste = "1.0"
-rand = "0.9"
-rand_distr = "0.5"
+flint-sys = "0.7"
+libc = "0"
+paste = "1"
+rand = "0"
+rand_distr = "0"
regex = "1"
-serde = {version="1.0", features=["derive"]}
-serde_json = "1.0"
+serde = {version="1", features=["derive"]}
+serde_json = "1"
string-builder = "0.2"
-thiserror = "2.0"
-lazy_static = "1.4"
-probability = "0.20.3"
-derive_more = { version = "2.0.1", features = ["display"] }
+thiserror = "2"
+lazy_static = "1"
+probability = "0.20"
+derive_more = { version = "2.1", features = ["display"] }
[profile.bench]
debug = true
diff --git a/README.md b/README.md
index b6d71948..7f267c61 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
[
](https://github.com/qfall/math/actions/workflows/push.yml)
[
](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.
@@ -90,15 +90,21 @@ See [Contributing](https://github.com/qfall/math/blob/dev/CONTRIBUTING.md) for d
Please use the following bibtex entry to cite [qFALL](https://qfall.github.io).
-```text
-TODO: Update to eprint
+```bibtex
+@misc{qfall,
+ author = {Marvin Beckmann and Phil Milewski and Laurens Porzenheim and Marcel Luca Schmidt and Jan Niklas Siemer},
+ title = {{qFALL} – {Rapid Prototyping of Lattice-based Cryptography}},
+ howpublished = {Cryptology {ePrint} Archive, Paper 2026/069},
+ year = {2026},
+ url = {https://eprint.iacr.org/2026/069}
+}
```
## 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};