Secure numerical computations using fully homomorphic encryption | Schlottke-Lakemper, Kholod

Описание к видео Secure numerical computations using fully homomorphic encryption | Schlottke-Lakemper, Kholod

Secure numerical computations using fully homomorphic encryption by Michael Schlottke-Lakemper, Arseniy Kholod
PreTalx: https://pretalx.com/juliacon2024/talk...

Today's widespread availability of commercial cloud providers makes it possible for many researchers and companies to offload compute-intensive tasks to machines in the cloud. However, processing sensitive information such as engineering, financial, or medical data on cloud systems comes with an inherent risk of data exposure or theft in case the systems are compromised. Homomorphic encryption can mitigate this risk by not requiring any trust in the compute environment: Since the data is encrypted before being transferred to the cloud, the underlying raw information cannot be obtained by a malicious party as long as the decryption key is stored securely on premises.

There exist several open-source libraries for performing homomorphic encryption, most of which are implemented in compiled languages such as C/C++. They are often nontrivial to use and require a compiler (and frequent recompilation) during development. Our goal is therefore to lower the threshold for using modern, high-performance homomorphic encryption implementations and to facilitate rapid prototyping for experimentation with new applications. For this purpose, we have created two Julia packages, [OpenFHE.jl](https://github.com/sloede/OpenFHE.jl) and [SecureArithmetic.jl](https://github.com/sloede/SecureArith.... OpenFHE.jl wraps the state-of-the-art C++ library [OpenFHE](https://github.com/openfheorg/openfhe...) and provides Julia bindings via [CxxWrap.jl](https://github.com/JuliaInterop/CxxWr.... All required binaries are available as precompiled JLL packages and are downloaded automatically upon installation. SecureArithmetic.jl is a convenience layer on top of OpenFHE.jl, allowing one to express homomorphic encryption algorithms in a more succinct and easier-to-understand manner. The idea is that one can use SecureArithmetic.jl for initial prototyping of new ideas, and to then switch to OpenFHE.jl primitives only where more detailed control is necessary.

We will begin this talk with a brief introduction to the fundamental concepts of homomorphic encryption in general and the CKKS scheme for approximate computations with real numbers in particular. This is followed by a demonstration of how to use homomorphic encryption in Julia using OpenFHE.jl and SecureArithmetic.jl. We will present some examples for secure algorithms building upon these packages, such as the numerical simulation of partial differential equations. Finally, we will discuss some of the challenges experienced when working with homomorphic encryption and analyze practical limitations such as performance or algorithmic complexity.

The target audience for this talk is computational scientists and research software engineers interested in secure numerical computations with Julia. No prior knowledge of homomorphic encryption is required. Some familiarity with numerical methods for partial differential equations is helpful but not strictly necessary.

Repository with presentation slides and reproducibility code:
https://github.com/hpsc-lab/talk-2024...

Комментарии

Информация по комментариям в разработке