[package] name = "prio" version = "0.16.7" authors = ["Josh Aas ", "Tim Geoghegan ", "Christopher Patton "] edition = "2021" exclude = ["/supply-chain"] description = "Implementation of the Prio aggregation system core: https://crypto.stanford.edu/prio/" license = "MPL-2.0" repository = "https://github.com/divviup/libprio-rs" rust-version = "1.71" resolver = "2" [dependencies] aes = { version = "0.8.4", optional = true } bitvec = { version = "1.0.1", optional = true } byteorder = "1.5.0" ctr = { version = "0.9.2", optional = true } fiat-crypto = { version = "0.2.9", optional = true } fixed = { version = "1.27", optional = true } getrandom = { version = "0.2.14", features = ["std"] } hex = { version = "0.4.3", features = ["serde"], optional = true } hmac = { version = "0.12.1", optional = true } num-bigint = { version = "0.4.6", optional = true, features = ["rand", "serde"] } num-integer = { version = "0.1.46", optional = true } num-iter = { version = "0.1.45", optional = true } num-rational = { version = "0.4.2", optional = true, features = ["serde"] } num-traits = "0.2.19" rand = "0.8" rand_core = "0.6.4" rayon = { version = "1.10.0", optional = true } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", optional = true } sha2 = { version = "0.10.8", optional = true } sha3 = "0.10.8" subtle = "2.6.1" thiserror = "1.0" zipf = { version = "7.0.1", optional = true } [dev-dependencies] assert_matches = "1.5.0" base64 = "0.22.1" cfg-if = "1.0.0" criterion = "0.5" fixed-macro = "1.2.0" hex-literal = "0.4.1" iai = "0.1" modinverse = "0.1.0" num-bigint = "0.4.6" once_cell = "1.19.0" prio = { path = ".", features = ["crypto-dependencies", "test-util"] } statrs = "0.17.1" [features] default = ["crypto-dependencies"] experimental = ["bitvec", "fiat-crypto", "fixed", "num-bigint", "num-rational", "num-integer", "num-iter"] multithreaded = ["rayon"] crypto-dependencies = ["aes", "ctr", "hmac", "sha2"] test-util = ["hex", "serde_json", "zipf"] wasm-compat = ["getrandom/js"] [workspace] members = [".", "binaries"] [lib] bench = false [[bench]] name = "speed_tests" harness = false [[bench]] name = "cycle_counts" harness = false [[test]] name = "discrete_gauss" path = "tests/discrete_gauss.rs" required-features = ["experimental"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [package.metadata.cargo-all-features] skip_optional_dependencies = true