Skip to content

Python implementation of a Linear Quadratic Gaussian Controller on encrypted data using Labeled Homomorphic Encryption.

Notifications You must be signed in to change notification settings

andreea-alexandru/LQG-with-LabHE

Repository files navigation

LQG-with-LabHE

This repository contains Python sample code for the protocols described in the paper “Encrypted LQG using Labeled Homomorphic Encryption”.

The main function is in runLQG.py where different parameters can be set. The architecture contains clients, which are sub-systems of a plant, that collect private measurements, a setup, which has the model of a plant, a cloud server, which performs the estimation and control action computation on the encrypted model and measurements, and an actuator, which has the master key and receives the control actions after helping the cloud with the encrypted computations. Data for a temperature control application and random instances can be found in the Data folder.

The exact description, architecture and more details can be found in the paper “Encrypted LQG using Labeled Homomorphic Encryption”. The labeled homomorphic encryption scheme is described in the paper “Labeled Homomorphic Encryption: Scalable and Privacy-Preserving Processing of Outsourced Data” by Manuel Barbosa, Dario Catalano, and Dario Fiore https://eprint.iacr.org/2017/326. The underlying additively homomorphic encryption scheme we use is the Paillier cryptosystem.

About

Python implementation of a Linear Quadratic Gaussian Controller on encrypted data using Labeled Homomorphic Encryption.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages