Zk proving the correct execution of encryption operation under BFV Fully Homomorphic Encryption scheme
Implementation based on Revisiting Homomorphic Encryption Schemes for Finite Fields
The application is not production ready and is only meant to be used for educational purposes.
LOOKUP_BITS=8 cargo run --example bfv -- --name bfv -k 14 mock
The input data is located in the data
folder. This test vector file can be generated using bfv-py
check_poly_from_distribution_chi_error
- Enforces polynomial to be sampled from the chi distribution \check_poly_from_distribution_chi_key
- Enforces polynomial to be sampled from the chi keypoly_add
- Enforces polynomial additionpoly_mul_equal_deg
- Enforces polynomial multiplication between polynomials of equal degreepoly_mul_diff_deg
- Enforces polynomial multiplication between polynomials of different degreepoly_scalar_mul
- Enforces scalar multiplication of a polynomialpoly_reduce
- Enforces reduction of polynomial coefficients by a moduluspoly_divide_by_cyclo
- Enforces the reduction of a polynomial by a cyclotomic polynomial