dcrypt_algorithms/poly/
mod.rs

1//! Generic Polynomial Engine
2//!
3//! This module provides foundational elements for polynomial arithmetic over rings,
4//! designed to be reusable by various lattice-based cryptographic schemes.
5
6#![cfg_attr(not(feature = "std"), no_std)]
7
8#[cfg(feature = "alloc")]
9extern crate alloc;
10
11pub mod ntt;
12pub mod params;
13pub mod polynomial;
14pub mod sampling;
15pub mod serialize;
16
17/// Prelude for easy importing of common polynomial types and traits.
18pub mod prelude {
19    pub use super::ntt::{montgomery_reduce, InverseNttOperator, NttOperator}; // FIXED: No NttModulus from ntt
20    pub use super::params::{Modulus, NttModulus}; // FIXED: Export NttModulus only from params
21    pub use super::polynomial::{Polynomial, PolynomialNttExt};
22    pub use super::sampling::{CbdSampler, GaussianSampler, UniformSampler};
23    pub use super::serialize::{CoefficientPacker, CoefficientUnpacker};
24}
25
26// Helper functions or common constants might be added here later.