/ckks-noise-estimator

This is the code for the noise estimator of https://eprint.iacr.org/2024/853

Primary LanguageGoApache License 2.0Apache-2.0

Introduction

This repository contains the code for the noise estimator introduced in the paper Practical q-IND-CPA-D-Secure Approximate Homomorphic Encryption, a joint work by Jean-Philippe Bossuat, Anamaria Costache, Christian Mouchet, Lea Nürnberger, and Juan Ramón Troncoso-Pastoriza.

Compatibility

This estimator is compatible with Pro7ech's Lattigo v0.0.2, which is the closest public version to Lattigo v5.0.2 that supports all the features required by the estimator.

For a version supporting Lattigo v6 see https://github.com/tuneinsight.

Running the Experiments

Each experiment runs a fixed circuit using both the estimator and Lattigo on the same input, and prints statistics about the output precision.

To run an experiment:

  1. cd experiments

  2. (Optional): Open the desired experiment file (e.g., <file>.go) and configure the parameters and number of iterations.

  3. Run the experiment with:

    go run <file>.go

Citing

If you use this estimator in your work, please cite the corresponding paper using the following BibTeX entry:

@misc{cryptoeprint:2024/853,
  author = {Jean-Philippe Bossuat and Anamaria Costache and Christian Mouchet and Lea Nürnberger and Juan Ramón Troncoso-Pastoriza},
  title = {Practical q-{IND}-{CPA}-D-Secure Approximate Homomorphic Encryption},
  howpublished = {Cryptology {ePrint} Archive, Paper 2024/853},
  year = {2024},
  url = {https://eprint.iacr.org/2024/853}
}