Expand description
Reference (portable) CPU backend for the Poulpy lattice cryptography library.
This crate provides two reference implementations for poulpy_hal:
FFT64Ref: scalarf64FFT arithmetic — see thefft64module.NTT120Ref: scalar Q120 NTT arithmetic (CRT over four ~30-bit primes) — see thentt120module.
Both are canonical reference implementations: portable across all CPU architectures, prioritising correctness and debuggability over throughput.
§Platform support
Compiles and runs on any target supported by the Rust standard library. No platform-specific intrinsics or assembly are used.
Re-exports§
pub use fft64::FFT64Ref;pub use fft64::FFT64ReimTable;pub use ntt120::NTT120Ref;pub use ntt120::NTT120RefHandle;
Modules§
- api
- fft64
- Reference (scalar f64 FFT) backend for the Poulpy lattice cryptography library.
- hal_
defaults - layouts
- ntt120
- Reference NTT120 CPU backend for the Poulpy lattice cryptography library.
- reference
- Pure-Rust reference implementations of all polynomial operations.
- source
Macros§
- hal_
impl_ convolution - hal_
impl_ module - hal_
impl_ svp - hal_
impl_ vec_ znx - hal_
impl_ vec_ znx_ big - hal_
impl_ vec_ znx_ dft - hal_
impl_ vmp
Functions§
- cast_
mut - Reinterprets a
&mut [T]as a&mut [V].