<img src="https://github.com/KaoruTeranishi/EncryptedControl/blob/master/logo.png?raw=true" align="center" width="400" alt="header pic"/>

# ECLib

This is a Python library for numerical simulation of encrypted control.

# Encrypted control

Cybersecurity is a critical issue of networked control systems in a modern society.
Encrypted control is a novel concept of control using cryptographic tools for secure computation, such as homomorphic encryption and secret sharing.
ECLib helps researchers and students to implement their new idea of encrypted control using homomorphic encryption.

# Supported encryption schemes
- ElGamal
- Dynamic-key ElGamal
- Paillier
- Regev (LWE)

# Installation

Run pip command on your terminal.

`pip install eclib`

# Usage

See [tutorial_slide_1.pdf](https://github.com/KaoruTeranishi/EncryptedControl/blob/master/doc/tutorial_slide_1.pdf) and [tutorial_slide_2.pdf](https://github.com/KaoruTeranishi/EncryptedControl/blob/master/doc/tutorial_slide_2.pdf).

# License

BSD License 2.0

# Author

Kaoru Teranishi
- E-mail: teranishi (at) uec.ac.jp
- Homepage: [https://kaoruteranishi.xyz](https://kaoruteranishi.xyz)
