From 02875e2a7798ec93b0343b862180829f84808cfc Mon Sep 17 00:00:00 2001 From: jnsiemer Date: Fri, 12 Dec 2025 13:09:06 +0000 Subject: [PATCH 1/6] Minor updates of readme and Cargo.toml --- Cargo.toml | 2 +- README.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) 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..b16c916f 100644 --- a/README.md +++ b/README.md @@ -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 From bdc16fdd4e4be6b2658f862d48e77b8e10fe1688 Mon Sep 17 00:00:00 2001 From: jnsiemer Date: Fri, 12 Dec 2025 19:31:30 +0000 Subject: [PATCH 2/6] Further minor adaptions to unify documentation --- README.md | 2 +- src/lib.rs | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b16c916f..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 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}; From 54aeedb692bdf604ab9952a10771217d0916f9e3 Mon Sep 17 00:00:00 2001 From: jnsiemer Date: Tue, 20 Jan 2026 12:53:52 +0000 Subject: [PATCH 3/6] Small updates --- CITATION.cff | 21 ++++++++++++--------- Cargo.toml | 24 ++++++++++++------------ README.md | 8 +++++++- 3 files changed, 31 insertions(+), 22 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 28685b00..27ef3c8e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,19 +1,22 @@ -# 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 +title: qFALL - Rapid Prototyping of Lattice-based Cryptography +type: misc authors: - - given-names: Laurens - family-names: Porzenheim - given-names: Marvin family-names: Beckmann + orcid: 'https://orcid.org/0009-0008-0178-1423' - given-names: Phil family-names: Milewski + orcid: 'https://orcid.org/0009-0000-9588-1629' + - given-names: Laurens + family-names: Porzenheim + orcid: 'https://orcid.org/0009-0000-7576-0088' - given-names: Marcel Luca family-names: Schmidt + orcid: 'https://orcid.org/0009-0004-3035-8529' - given-names: Jan Niklas family-names: Siemer -repository-code: 'https://github.com/qfall' -license: MPL-2.0 + orcid: 'https://orcid.org/0009-0004-6525-6362' +url: 'https://eprint.iacr.org/2026/069' +year: '2026' +howpublished: 'Cryptology ePrint Archive, Paper 2026/069' diff --git a/Cargo.toml b/Cargo.toml index e091f86c..48f8411d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,20 +13,20 @@ categories = ["cryptography", "mathematics", "development-tools::build-utils", " 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" +criterion = { version = "0", features = ["html_reports"] } +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 2507f421..0bdd544e 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,13 @@ 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 +@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 From d5371f32f4f47796a8b0d589fe1ab1daa3f15b6d Mon Sep 17 00:00:00 2001 From: jnsiemer Date: Tue, 20 Jan 2026 12:59:55 +0000 Subject: [PATCH 4/6] Remove citation.cff file --- CITATION.cff | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 CITATION.cff diff --git a/CITATION.cff b/CITATION.cff deleted file mode 100644 index 27ef3c8e..00000000 --- a/CITATION.cff +++ /dev/null @@ -1,22 +0,0 @@ -cff-version: 1.2.0 -title: qFALL - Rapid Prototyping of Lattice-based Cryptography -type: misc -authors: - - given-names: Marvin - family-names: Beckmann - orcid: 'https://orcid.org/0009-0008-0178-1423' - - given-names: Phil - family-names: Milewski - orcid: 'https://orcid.org/0009-0000-9588-1629' - - given-names: Laurens - family-names: Porzenheim - orcid: 'https://orcid.org/0009-0000-7576-0088' - - given-names: Marcel Luca - family-names: Schmidt - orcid: 'https://orcid.org/0009-0004-3035-8529' - - given-names: Jan Niklas - family-names: Siemer - orcid: 'https://orcid.org/0009-0004-6525-6362' -url: 'https://eprint.iacr.org/2026/069' -year: '2026' -howpublished: 'Cryptology ePrint Archive, Paper 2026/069' From 8594827905238bdce0082c56f2befb18f45a6f66 Mon Sep 17 00:00:00 2001 From: jnsiemer Date: Tue, 20 Jan 2026 13:42:17 +0000 Subject: [PATCH 5/6] fixing one version --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 48f8411d..95542a68 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ categories = ["cryptography", "mathematics", "development-tools::build-utils", " autobenches = false [dependencies] -criterion = { version = "0", features = ["html_reports"] } +criterion = { version = "0.8", features = ["html_reports"] } flint-sys = "0.7" libc = "0" paste = "1" From 046c12ae0cb8f2ee3994cb76677365ffb6e4ff3a Mon Sep 17 00:00:00 2001 From: jnsiemer Date: Tue, 20 Jan 2026 14:09:07 +0000 Subject: [PATCH 6/6] minor readme update --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0bdd544e..7f267c61 100644 --- a/README.md +++ b/README.md @@ -90,10 +90,10 @@ 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 +```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}, + title = {{qFALL} – {Rapid Prototyping of Lattice-based Cryptography}}, howpublished = {Cryptology {ePrint} Archive, Paper 2026/069}, year = {2026}, url = {https://eprint.iacr.org/2026/069}