Skip to content

Commit 3415ac2

Browse files
committed
Initial import
0 parents  commit 3415ac2

File tree

77 files changed

+14643
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+14643
-0
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
**/*.pdf

.zenodo.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"license": "MIT",
3+
"title": "Reproducibility repository for Secure numerical simulations using fully homomorphic encryption",
4+
"upload_type": "software",
5+
"creators": [
6+
{
7+
"affiliation": "High-Performance Scientific Computing, University of Augsburg, Germany",
8+
"name": "Kholod, Arseniy",
9+
"orcid": "0009-0002-9457-4867"
10+
},
11+
{
12+
"affiliation": "Duality Technologies, Inc., United States",
13+
"name": "Polyakov, Yuriy",
14+
"orcid": "0000-0002-5566-3763"
15+
},
16+
{
17+
"affiliation": "High-Performance Scientific Computing, University of Augsburg, Germany",
18+
"name": "Schlottke-Lakemper, Michael",
19+
"orcid": "0000-0002-3195-2536"
20+
}
21+
],
22+
"access_right": "open"
23+
}
24+

LICENSE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Arseniy Kholod, Yuriy Polyakov, Michael Schlottke-Lakemper
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# Secure numerical simulations using fully homomorphic encryption
2+
3+
[![License: MIT](https://img.shields.io/badge/License-MIT-success.svg)](https://opensource.org/licenses/MIT)
4+
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.TODO.svg)](https://doi.org/10.5281/zenodo.TODO)
5+
6+
This repository contains information and code to reproduce the results presented in the
7+
article
8+
```bibtex
9+
@online{kholod2024secure,
10+
title={{S}ecure numerical simulations using fully homomorphic encryption},
11+
author={Kholod, Arseniy and Polyakov, Yuriy and Schlottke-Lakemper, Michael},
12+
year={2023},
13+
month={11},
14+
doi={10.48550/arXiv.TODO},
15+
eprint={TODO},
16+
eprinttype={arxiv},
17+
eprintclass={math.NA}
18+
}
19+
```
20+
21+
If you find these results useful, please cite the article mentioned above. If you
22+
use the implementations provided here, please **also** cite this repository as
23+
```bibtex
24+
@misc{kholod2024secureRepro,
25+
title={Reproducibility repository for
26+
"{S}ecure numerical simulations using fully homomorphic encryption"},
27+
author={Kholod, Arseniy and Polyakov, Yuriy and Schlottke-Lakemper, Michael},
28+
year= {2024},
29+
howpublished={\url{https://github.com/hpsc-lab/paper-2024-secure_numerical_simulations}},
30+
doi={10.5281/zenodo.TODO}
31+
}
32+
```
33+
34+
35+
## Abstract
36+
37+
Data privacy is a significant concern in many environments today.
38+
This is particularly true if sensitive information, e.g., engineering, medical, or
39+
financial data, is to be processed on potentially insecure systems, as it is often the
40+
case in cloud computing. Fully homomorphic encryption (FHE) offers a potential solution
41+
to this problem, as it allows for secure computations on encrypted data. In this paper,
42+
we investigate the viability of using FHE for privacy-preserving numerical simulations of partial
43+
differential equations. We first give an overview of the CKKS scheme, a popular FHE
44+
method for computations with real numbers. This is followed by an introduction of our
45+
Julia packages OpenFHE.jl and SecureArithmetic.jl, which provide a Julia wrapper for the
46+
C++ library OpenFHE and offer a user-friendly interface for secure arithmetic
47+
operations. We then present a performance analysis of the CKKS scheme within OpenFHE,
48+
focusing on the error and efficiency of different FHE operations. Finally, we
49+
demonstrate the application of FHE to secure numerical simulations by implementing two
50+
finite difference schemes for the linear advection equation using the
51+
SecureArithmetic.jl package. Our results show that FHE can be used to perform
52+
cryptographically secure numerical simulations, but that the error and efficiency of FHE
53+
operations must be carefully considered when designing applications.
54+
55+
56+
## Numerical experiments
57+
58+
The numerical experiments presented in the paper use
59+
[SecureArithmetic.jl](https://github.com/hpsc-lab/SecureArithmetic.jl).
60+
To reproduce the numerical experiments using SecureArithmetic.jl, you need to install
61+
[Julia](https://julialang.org/).
62+
63+
The subfolder `code` of this repository contains a `README.md` file with
64+
instructions to reproduce the numerical experiments.
65+
Both subfolders also include the result data and scripts for postprocessing.
66+
67+
All numerical experiments were carried out using Julia v1.10.4.
68+
69+
70+
## Authors
71+
72+
- Arseniy Kholod (University of Augsburg, Germany)
73+
- [Yuriy Polyakov](https://ypolyakov.gitlab.io/) (Duality Technologies, Inc., United States)
74+
- [Michael Schlottke-Lakemper](https://lakemper.eu) (University of Augsburg, Germany)
75+
76+
77+
## License
78+
The contents of this repository are available under the [MIT license](LICENSE.md). If you reuse our
79+
code or data, please also cite us (see above).
80+
81+
82+
## Disclaimer
83+
84+
Everything is provided as is and without warranty. Use at your own risk!

0 commit comments

Comments
 (0)