confium_privacy/lib.rs
1//! Privacy-preserving cryptographic primitives.
2//!
3//! # Audit status
4//!
5//! **Unaudited.** Several modules are research-grade sketches; the
6//! experimental ones (`multi_sig`) compile only behind
7//! `unaudited-experimental`. No external cryptographic review.
8//!
9//! # Example
10//!
11//! ```
12//! use confium_privacy::privacy_and_dist_patterns::dp_query;
13//!
14//! // Apply differential privacy noise to a numeric value.
15//! // ε = 0.5 gives moderate privacy; lower ε = more noise = more privacy.
16//! let true_value = 1234.0;
17//! let perturbed = dp_query(true_value, /* sensitivity */ 1.0, /* epsilon */ 0.5);
18//! assert!(perturbed.is_finite());
19//! ```
20
21#![forbid(unsafe_code)]
22#![allow(missing_docs)] // TODO: document before 1.0
23#![allow(rustdoc::broken_intra_doc_links)]
24#![allow(rustdoc::bare_urls)]
25#![allow(rustdoc::redundant_explicit_links)]
26#![allow(rustdoc::private_intra_doc_links)]
27#![allow(rustdoc::invalid_html_tags)]
28
29pub mod adaptor_sig;
30pub mod blind_ecdsa;
31pub mod differential;
32pub mod distributed_prf;
33pub mod distributed_prg;
34pub mod jsonld_signing;
35/// Experimental demonstration primitive — NOT AUDITED.
36/// verify_aggregate checks only structural validity; it does not
37/// bind the signature to the message (the message parameter is
38/// ignored). Must never be used for real security.
39#[cfg(feature = "unaudited-experimental")]
40pub mod multi_sig;
41pub mod oblivious_transfer;
42pub mod privacy_and_dist_patterns;
43pub mod proxy_reencryption;
44pub mod secure_aggregation;
45pub mod side_channel;
46pub mod threshold_decryption;
47pub mod vdf;
48pub mod vrf;