Skip to content

Commit bc75c66

Browse files
authored
Merge pull request #519 from qfall/finalise
Minor updates
2 parents 86af22b + 046c12a commit bc75c66

File tree

4 files changed

+27
-41
lines changed

4 files changed

+27
-41
lines changed

CITATION.cff

Lines changed: 0 additions & 19 deletions
This file was deleted.

Cargo.toml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "qfall-math"
33
version = "0.1.0"
44
edition = "2024"
55
rust-version = "1.85" # due to rand and rand_distr dependency
6-
description = "Prototyping Library for Lattice-Based Cryptography"
6+
description = "Mathematical foundations for rapid prototyping of lattice-based cryptography"
77
readme = "README.md"
88
homepage = "https://qfall.github.io"
99
repository = "https://github.com/qfall/math"
@@ -14,19 +14,19 @@ autobenches = false
1414

1515
[dependencies]
1616
criterion = { version = "0.8", features = ["html_reports"] }
17-
flint-sys = "0.7.3"
18-
libc = "0.2"
19-
paste = "1.0"
20-
rand = "0.9"
21-
rand_distr = "0.5"
17+
flint-sys = "0.7"
18+
libc = "0"
19+
paste = "1"
20+
rand = "0"
21+
rand_distr = "0"
2222
regex = "1"
23-
serde = {version="1.0", features=["derive"]}
24-
serde_json = "1.0"
23+
serde = {version="1", features=["derive"]}
24+
serde_json = "1"
2525
string-builder = "0.2"
26-
thiserror = "2.0"
27-
lazy_static = "1.4"
28-
probability = "0.20.3"
29-
derive_more = { version = "2.0.1", features = ["display"] }
26+
thiserror = "2"
27+
lazy_static = "1"
28+
probability = "0.20"
29+
derive_more = { version = "2.1", features = ["display"] }
3030

3131
[profile.bench]
3232
debug = true

README.md

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[<img alt="build" src="https://img.shields.io/github/actions/workflow/status/qfall/math/push.yml?branch=main&style=for-the-badge" height="20">](https://github.com/qfall/math/actions/workflows/push.yml)
77
[<img alt="license" src="https://img.shields.io/badge/License-MPL_2.0-blue.svg?style=for-the-badge" height="20">](https://github.com/qfall/math/blob/dev/LICENSE)
88

9-
`qFALL` is a prototyping library for lattice-based constructions.
9+
`qFALL` is a prototyping library for lattice-based cryptography.
1010
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.
1111

1212
## Quick-Start
@@ -21,7 +21,7 @@ Then, add you can add this crate to your project by executing the following comm
2121
```bash
2222
cargo add qfall-math
2323
```
24-
- 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).
24+
- 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).
2525
- Read the [documentation of this crate](https://docs.rs/qfall-math).
2626
- We recommend [our tutorial](https://qfall.github.io/book) to start working with qFALL.
2727

@@ -90,15 +90,21 @@ See [Contributing](https://github.com/qfall/math/blob/dev/CONTRIBUTING.md) for d
9090

9191
Please use the following bibtex entry to cite [qFALL](https://qfall.github.io).
9292

93-
```text
94-
TODO: Update to eprint
93+
```bibtex
94+
@misc{qfall,
95+
author = {Marvin Beckmann and Phil Milewski and Laurens Porzenheim and Marcel Luca Schmidt and Jan Niklas Siemer},
96+
title = {{qFALL} – {Rapid Prototyping of Lattice-based Cryptography}},
97+
howpublished = {Cryptology {ePrint} Archive, Paper 2026/069},
98+
year = {2026},
99+
url = {https://eprint.iacr.org/2026/069}
100+
}
95101
```
96102

97103
## Dependencies
98-
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.
99-
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.
104+
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.
105+
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.
100106

101-
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.
107+
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.
102108

103109
## License
104110

src/lib.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright © 2023 Marcel Luca Schmidt
1+
// Copyright © 2023 Marcel Luca Schmidt, Niklas Siemer
22
//
33
// This file is part of qFALL-math.
44
//
@@ -15,11 +15,10 @@
1515
//! - Rationals such as [Q](rational::Q), [`MatQ`](rational::MatQ), [`PolyOverQ`](rational::PolyOverQ).
1616
//!
1717
//! The `qFALL` project contains two more crates called [`qFALL-tools`](https://crates.io/crates/qfall-tools)
18-
//! and [`qFALL-schemes`](https://github.com/qfall/schemes) to support prototyping.
18+
//! and [`qFALL-schemes`](https://crates.io/crates/qfall-schemes) to support prototyping.
1919
//! - Find further information on [our website](https://qfall.github.io/).
2020
//! - We recommend [our tutorial](https://qfall.github.io/book) to start working with qFALL.
2121
//!
22-
//!
2322
//! ## Quick Example
2423
//! ```
2524
//! use qfall_math::{integer_mod_q::MatZq, integer::MatZ};

0 commit comments

Comments
 (0)