[package]
edition = "2024"
rust-version = "1.89.0"
name = "twenty-first"
version = "2.0.0"
authors = ["Triton Software AG"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Collection of mathematics routines and cryptography for the twenty-first century."
homepage = "https://github.com/Neptune-Crypto/twenty-first"
documentation = "https://github.com/Neptune-Crypto/twenty-first"
readme = "README.md"
keywords = [
"polynomial",
"merkle-tree",
"post-quantum",
"algebra",
"tip5",
]
categories = [
"cryptography",
"mathematics",
]
license = "GPL-2.0"
repository = "https://github.com/Neptune-Crypto/twenty-first"
resolver = "2"
[package.metadata.wasm-pack.profile.release]
wasm-opt = [
"-O4",
"--enable-bulk-memory",
]
[lib]
name = "twenty_first"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[test]]
name = "bfield_codec_derive"
path = "tests/bfield_codec_derive.rs"
[[bench]]
name = "coset_extrapolation"
path = "benches/coset_extrapolation.rs"
harness = false
[[bench]]
name = "evaluation"
path = "benches/evaluation.rs"
harness = false
[[bench]]
name = "extrapolation"
path = "benches/extrapolation.rs"
harness = false
[[bench]]
name = "formal_power_series_inverse"
path = "benches/formal_power_series_inverse.rs"
harness = false
[[bench]]
name = "interpolation"
path = "benches/interpolation.rs"
harness = false
[[bench]]
name = "inverses"
path = "benches/inverses.rs"
harness = false
[[bench]]
name = "merkle_tree"
path = "benches/merkle_tree.rs"
harness = false
[[bench]]
name = "merkle_tree_auth_structure_size"
path = "benches/merkle_tree_auth_structure_size.rs"
harness = false
[[bench]]
name = "merkle_tree_authenticate"
path = "benches/merkle_tree_authenticate.rs"
harness = false
[[bench]]
name = "ntt"
path = "benches/ntt.rs"
harness = false
[[bench]]
name = "poly_clean_div"
path = "benches/poly_clean_div.rs"
harness = false
[[bench]]
name = "poly_mod_reduce"
path = "benches/poly_mod_reduce.rs"
harness = false
[[bench]]
name = "poly_mul"
path = "benches/poly_mul.rs"
harness = false
[[bench]]
name = "poly_scalar_mul"
path = "benches/poly_scalar_mul.rs"
harness = false
[[bench]]
name = "poly_scale"
path = "benches/poly_scale.rs"
harness = false
[[bench]]
name = "polynomial_coset"
path = "benches/polynomial_coset.rs"
harness = false
[[bench]]
name = "tip5"
path = "benches/tip5.rs"
harness = false
[[bench]]
name = "various_muls"
path = "benches/various_muls.rs"
harness = false
[[bench]]
name = "zerofier"
path = "benches/zerofier.rs"
harness = false
[dependencies.arbitrary]
version = "1"
features = ["derive"]
[dependencies.bfieldcodec_derive]
version = "0.7"
[dependencies.get-size2]
version = "0.9"
features = ["derive"]
[dependencies.hex]
version = "0.4.3"
[dependencies.itertools]
version = "0.14"
[dependencies.num-bigint]
version = "0.4"
features = ["serde"]
[dependencies.num-traits]
version = "0.2"
[dependencies.phf]
version = "0.13"
features = ["macros"]
[dependencies.rand]
version = "0.10"
[dependencies.rayon]
version = "1.10"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde-big-array]
version = "0.5"
[dependencies.serde_derive]
version = "1"
[dependencies.serde_json]
version = "1.0"
[dependencies.sha3]
version = "0.12.0"
[dependencies.shake]
version = "0.1.0"
[dependencies.thiserror]
version = "2.0"
[dependencies.zeroize]
version = "1.8.1"
features = ["derive"]
[dev-dependencies.bincode]
version = "1.3.3"
[dev-dependencies.blake3]
version = "1.5.5"
[dev-dependencies.macro_rules_attr]
version = "0.1.3"
[dev-dependencies.proptest]
version = "1.7.0"
features = ["std"]
default-features = false
[dev-dependencies.proptest-arbitrary-adapter]
version = "0.1.0"
[dev-dependencies.test-strategy]
version = "=0.4.3"
[dev-dependencies.trybuild]
version = "1.0"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "4.0"
features = ["html_reports"]
package = "codspeed-criterion-compat"
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.4"
features = ["wasm_js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.104"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.criterion]
version = "0.8.1"
default-features = false
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3.42"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage_nightly)"]