You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
arnaucube d60eb1dff1 add discretized torus & 𝕋_<N,q>[X]; organize a bit arith crate 2 weeks ago
arith add discretized torus & 𝕋_<N,q>[X]; organize a bit arith crate 2 weeks ago
bfv add discretized torus & 𝕋_<N,q>[X]; organize a bit arith crate 2 weeks ago
ckks add discretized torus & 𝕋_<N,q>[X]; organize a bit arith crate 2 weeks ago
gfhe implement GLWE key switching 3 weeks ago
.gitignore init repo 1 month ago
Cargo.toml add modulus switching to GLWE ciphertexts (and Zq,Rq) 3 weeks ago
LICENSE init repo 1 month ago
README.md add modulus switching to GLWE ciphertexts (and Zq,Rq) 3 weeks ago
rust-analyzer.toml init repo 1 month ago
rust-toolchain.toml init repo 1 month ago
rustfmt.toml init repo 1 month ago

README.md

fhe-study

Implementations from scratch done while studying some FHE papers; do not use in production.

  • arith: contains $\mathbb{Z}_q$, $R_q=\mathbb{Z}_q/(X^N+1)$ and $R=\mathbb{Z}/(X^N+1)$ arithmetic implementations, together with the NTT implementation.
  • gfhe: (gfhe=generalized-fhe) contains the structs and logic for RLWE, GLWE, GLev, GGSW, RGSW cryptosystems, and modulus switching and key switching methods, which can be used by concrete FHE schemes.
  • bfv: https://eprint.iacr.org/2012/144.pdf scheme implementation
  • ckks: https://eprint.iacr.org/2016/421.pdf scheme implementation

cargo test --release