Skip to main content

confium_privacy/
lib.rs

1//! Privacy-preserving cryptographic primitives.
2//!
3//! # Example
4//!
5//! ```
6//! use confium_privacy::privacy_and_dist_patterns::dp_query;
7//!
8//! // Apply differential privacy noise to a numeric value.
9//! // ε = 0.5 gives moderate privacy; lower ε = more noise = more privacy.
10//! let true_value = 1234.0;
11//! let perturbed = dp_query(true_value, /* sensitivity */ 1.0, /* epsilon */ 0.5);
12//! assert!(perturbed.is_finite());
13//! ```
14
15#![forbid(unsafe_code)]
16#![allow(missing_docs)] // TODO: document before 1.0
17#![allow(rustdoc::broken_intra_doc_links)]
18#![allow(rustdoc::bare_urls)]
19#![allow(rustdoc::redundant_explicit_links)]
20#![allow(rustdoc::private_intra_doc_links)]
21#![allow(rustdoc::invalid_html_tags)]
22
23pub mod adaptor_sig;
24pub mod blind_ecdsa;
25pub mod differential;
26pub mod distributed_prf;
27pub mod distributed_prg;
28pub mod jsonld_signing;
29pub mod multi_sig;
30pub mod oblivious_transfer;
31pub mod privacy_and_dist_patterns;
32pub mod proxy_reencryption;
33pub mod secure_aggregation;
34pub mod side_channel;
35pub mod threshold_decryption;
36pub mod vdf;
37pub mod vrf;