This repository contains information and code to reproduce the results presented in the article
@online{kholod2024secure,
title={{S}ecure numerical simulations using fully homomorphic encryption},
author={Kholod, Arseniy and Polyakov, Yuriy and Schlottke-Lakemper, Michael},
year={2023},
month={11},
doi={10.48550/arXiv.TODO},
eprint={TODO},
eprinttype={arxiv},
eprintclass={math.NA}
}
If you find these results useful, please cite the article mentioned above. If you use the implementations provided here, please also cite this repository as
@misc{kholod2024secureRepro,
title={Reproducibility repository for
"{S}ecure numerical simulations using fully homomorphic encryption"},
author={Kholod, Arseniy and Polyakov, Yuriy and Schlottke-Lakemper, Michael},
year= {2024},
howpublished={\url{https://github.com/hpsc-lab/paper-2024-secure_numerical_simulations}},
doi={10.5281/zenodo.14003844}
}
Data privacy is a significant concern when using numerical simulations for sensitive information such as medical, financial, or engineering data. This issue becomes especially relevant in untrusted environments like public cloud infrastructures. Fully homomorphic encryption (FHE) offers a promising solution for achieving data privacy by enabling secure computations directly on encrypted data. In this paper, aimed at computational scientists, we explore the viability of FHE-based, privacy-preserving numerical simulations of partial differential equations. We begin with an overview of the CKKS scheme, a widely used FHE method for computations with real numbers. Next, we introduce our Julia-based packages OpenFHE.jl and SecureArithmetic.jl, which wrap the OpenFHE C++ library and provide a convenient interface for secure arithmetic operations. We then evaluate the accuracy and performance of key FHE operations in OpenFHE as a baseline for more complex numerical algorithms. Following that, we demonstrate the application of FHE to scientific computing by implementing two finite difference schemes for the linear advection equation. Finally, we discuss potential challenges and solutions for extending secure numerical simulations to other models and methods. Our results show that cryptographically secure numerical simulations are possible, but that careful consideration must be given to the computational overhead and the numerical errors introduced by using FHE.
The numerical experiments presented in the paper use SecureArithmetic.jl. To reproduce the numerical experiments using SecureArithmetic.jl, you need to install Julia.
The subfolder code
of this repository contains a README.md
file with
instructions to reproduce the numerical experiments.
Both subfolders also include the result data and scripts for postprocessing.
All numerical experiments were carried out using Julia v1.10.4.
- Arseniy Kholod (University of Augsburg, Germany)
- Yuriy Polyakov (Duality Technologies, Inc., United States)
- Michael Schlottke-Lakemper (University of Augsburg, Germany)
The contents of this repository are available under the MIT license. If you reuse our code or data, please also cite us (see above).
Everything is provided as is and without warranty. Use at your own risk!