eclib


Nameeclib JSON
Version 1.5.4 PyPI version JSON
download
home_pagehttps://github.com/KaoruTeranishi/EncryptedControl
SummaryEncrypted Control Library
upload_time2023-09-22 00:59:16
maintainer
docs_urlNone
authorKaoru Teranishi
requires_python>=3.9
license
keywords encrypted control control theory homomorphic encryption cryptography cybersecurity
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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<sup> [1]</sup>
- Dynamic-key ElGamal<sup> [2]</sup>
- Paillier<sup> [3]</sup>
- Regev (LWE)<sup> [4]</sup>
- GSW<sup> [5]</sup>
- GSW-LWE<sup> [6]</sup>

# 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), [tutorial_slide_2.pdf](https://github.com/KaoruTeranishi/EncryptedControl/blob/master/doc/tutorial_slide_2.pdf), and [example codes](https://github.com/KaoruTeranishi/EncryptedControl/tree/master/examples).

# License

BSD License 2.0

# Author

Kaoru Teranishi
- E-mail: teranishi (at) uec.ac.jp
- Homepage: [https://kaoruteranishi.xyz](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, vol. 68, no. 2, pp. 660–672, 2023.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/KaoruTeranishi/EncryptedControl",
    "name": "eclib",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "encrypted control,control theory,homomorphic encryption,cryptography,cybersecurity",
    "author": "Kaoru Teranishi",
    "author_email": "teranishi@uec.ac.jp",
    "download_url": "https://files.pythonhosted.org/packages/1b/db/162522c45d5b6f43ce7dc820d24e9b326c56b2cf4957a660ed7e3f2c56be/eclib-1.5.4.tar.gz",
    "platform": null,
    "description": "<img src=\"https://github.com/KaoruTeranishi/EncryptedControl/blob/master/logo.png?raw=true\" align=\"center\" width=\"400\" alt=\"header pic\"/>\n\n# ECLib\n\nThis is a Python library for numerical simulation of encrypted control.\n\n# Encrypted control\n\nCybersecurity is a critical issue of networked control systems in a modern society.\nEncrypted control is a novel concept of control using cryptographic tools for secure computation, such as homomorphic encryption and secret sharing.\nECLib helps researchers and students to implement their new idea of encrypted control using homomorphic encryption.\n\n# Supported encryption schemes\n- ElGamal<sup> [1]</sup>\n- Dynamic-key ElGamal<sup> [2]</sup>\n- Paillier<sup> [3]</sup>\n- Regev (LWE)<sup> [4]</sup>\n- GSW<sup> [5]</sup>\n- GSW-LWE<sup> [6]</sup>\n\n# Installation\n\nRun pip command on your terminal.\n\n`pip install eclib`\n\n# Usage\n\nSee [tutorial_slide_1.pdf](https://github.com/KaoruTeranishi/EncryptedControl/blob/master/doc/tutorial_slide_1.pdf), [tutorial_slide_2.pdf](https://github.com/KaoruTeranishi/EncryptedControl/blob/master/doc/tutorial_slide_2.pdf), and [example codes](https://github.com/KaoruTeranishi/EncryptedControl/tree/master/examples).\n\n# License\n\nBSD License 2.0\n\n# Author\n\nKaoru Teranishi\n- E-mail: teranishi (at) uec.ac.jp\n- Homepage: [https://kaoruteranishi.xyz](https://kaoruteranishi.xyz)\n\n# References\n\n[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\u2013472, 1985.\n\n[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)\n\n[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\u2013238.\n\n[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.\n\n[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.\n\n[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, vol. 68, no. 2, pp. 660\u2013672, 2023.\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Encrypted Control Library",
    "version": "1.5.4",
    "project_urls": {
        "Bug Reports": "https://github.com/KaoruTeranishi/EncryptedControl/issues",
        "Homepage": "https://github.com/KaoruTeranishi/EncryptedControl",
        "Source": "https://github.com/KaoruTeranishi/EncryptedControl"
    },
    "split_keywords": [
        "encrypted control",
        "control theory",
        "homomorphic encryption",
        "cryptography",
        "cybersecurity"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "68c31277d08512fb810ec1cefad4888500f718a406610527bc9ed24bc27f258d",
                "md5": "650c52072b3122d25ac6a7fd500d33fe",
                "sha256": "76463bf2dc458a93a1aba0f5160b83a99b8f9880b75fb18530e13e2050f2b982"
            },
            "downloads": -1,
            "filename": "eclib-1.5.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "650c52072b3122d25ac6a7fd500d33fe",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 22684,
            "upload_time": "2023-09-22T00:59:14",
            "upload_time_iso_8601": "2023-09-22T00:59:14.888170Z",
            "url": "https://files.pythonhosted.org/packages/68/c3/1277d08512fb810ec1cefad4888500f718a406610527bc9ed24bc27f258d/eclib-1.5.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1bdb162522c45d5b6f43ce7dc820d24e9b326c56b2cf4957a660ed7e3f2c56be",
                "md5": "0af9eb742451186797da9ca156d5a79a",
                "sha256": "b8d2520e531db612da0b3b1332418b073702e6808ebfc8b166b82b374af024f6"
            },
            "downloads": -1,
            "filename": "eclib-1.5.4.tar.gz",
            "has_sig": false,
            "md5_digest": "0af9eb742451186797da9ca156d5a79a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 20316,
            "upload_time": "2023-09-22T00:59:16",
            "upload_time_iso_8601": "2023-09-22T00:59:16.386409Z",
            "url": "https://files.pythonhosted.org/packages/1b/db/162522c45d5b6f43ce7dc820d24e9b326c56b2cf4957a660ed7e3f2c56be/eclib-1.5.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-22 00:59:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "KaoruTeranishi",
    "github_project": "EncryptedControl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "eclib"
}
        
Elapsed time: 0.11548s