Encrypted Control Library
Project description
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 [1]
- Dynamic-key ElGamal [2]
- Paillier [3]
- Regev (LWE) [4]
- GSW [5]
- GSW-LWE [6]
Installation
Run pip command on your terminal.
pip install eclib
Usage
See tutorial_slide_1.pdf and tutorial_slide_2.pdf.
License
BSD License 2.0
Author
Kaoru Teranishi
- E-mail: teranishi (at) uec.ac.jp
- Homepage: https://kaoruteranishi.xyz
References
[1] T. Elgamal, "A public key cryptosystem and a signature scheme based on discrete logarithms," IEEE Transactions on Information Theory, vol. 31, no. 4, pp. 469–472, 1985.
[2] K. Teranishi, T. Sadamoto, A. Chakrabortty, and K. Kogiso, "Designing optimal key lengths and control laws for encrypted control systems based on sample identifying complexity and deciphering time," IEEE Transactions on Automatic Control (Early access)
[3] P. Paillier, "Public-key cryptosystems based on composite degree residuosity classes," in International Conference on Theory and Application of Cryptographic Techniques, 1999, pp. 223–238.
[4] O. Regev, "On lattices, learning with errors, random linear codes, and cryptography," Journal of the ACM, vol. 56, no. 6, pp. 1-40, 2009.
[5] C. Gentry, A. Sahai, and B. Waters, "Homomorphic encryption from learning with errors: Conceptually-simpler, asymptotically-faster, attribute-based," Cryptology ePrint Archive, Paper 2013/340, 2013.
[6] J. Kim, H. Shim, and K. Han, "Dynamic controller that operates over homomorphically encrypted data for infinite time horizon," IEEE Transactions on Automatic Control (Early access)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eclib-1.5.2.tar.gz.
File metadata
- Download URL: eclib-1.5.2.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc34df6e7d8cb8b97088d2978ab4eade4dbb9aa86604fc88e51f6f62834af293
|
|
| MD5 |
9813c697458bba9de9e4a542fadc4ca0
|
|
| BLAKE2b-256 |
5ff8484f898aaa9bb03002f97a60e926f47e2cdeb5cbc0f422be1c8ee3d58078
|
File details
Details for the file eclib-1.5.2-py3-none-any.whl.
File metadata
- Download URL: eclib-1.5.2-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1945d6a5c842fed85bcfb8495fb32c4138ce0315147aa02238ca5b6b9a240c65
|
|
| MD5 |
9df98cea886c4e41c1f53a1c9ab943c8
|
|
| BLAKE2b-256 |
144dc2c088af4ffbbdc8e40acb3014bfaf23de3dd05216453984d4b9b13f2205
|