Metadata-Version: 2.1
Name: tp-chaos-generator
Version: 0.4.0
Home-page: https://github.com/souradipp76/tp_chaos_generator
Author: souradipp76
Author-email: souradip.iitg@gmail.com
License: MIT
Classifier: Intended Audience :: Science/Research
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib (>=1.4.2)
Requires-Dist: numpy (>=1.1)
Requires-Dist: scipy (>=1.7.3)
Provides-Extra: dev
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: mypy (==1.4.1) ; extra == 'dev'
Requires-Dist: black (==23.3.0) ; extra == 'dev'
Requires-Dist: isort (==5.12.0) ; extra == 'dev'
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: pytest-sphinx ; extra == 'dev'
Requires-Dist: pytest-cov ; extra == 'dev'
Requires-Dist: twine (>=1.11.0) ; extra == 'dev'
Requires-Dist: setuptools ; extra == 'dev'
Requires-Dist: wheel ; extra == 'dev'
Requires-Dist: Sphinx (<7.1.0,>=4.3.0) ; extra == 'dev'
Requires-Dist: furo (==2023.5.20) ; extra == 'dev'
Requires-Dist: myst-parser (<2.1.0,>=0.15.2) ; extra == 'dev'
Requires-Dist: sphinx-copybutton (==0.5.2) ; extra == 'dev'
Requires-Dist: sphinx-autobuild (==2021.3.14) ; extra == 'dev'
Requires-Dist: sphinx-autodoc-typehints ; extra == 'dev'
Requires-Dist: packaging ; extra == 'dev'

![CI Build](https://github.com/souradipp76/tp_chaos_generator/actions/workflows/main.yml/badge.svg)

# Triple Pendulum based Chaos Generator

``tp_chaos_generator`` is a package which provides a library for encrypting and decrypting data using a 
triple-pendulum based chaos generator.
## Requirements

- Python (>= 3.8)

## Installation

You can install ``tp_chaos_generator`` with:

```
    $ pip install -e .
```

## Usage

```python
    >>> from tp_chaos_generator import chaos_generator, utils
    >>> cg = chaos_generator.ChaosGenerator()
    >>> key = cg.generate_key()
    >>> text = utils.convert_to_bytes("A really secret message. Not for prying eyes.")
    >>> tokens = cg.encrypt(text, key)
    >>> tokens
    '...'
    >>> data = cg.decrypt(tokens, key)
    >>> utils.convert_to_string(data)
    'A really secret message. Not for prying eyes.'
```

## Citation
If you find the code useful in your research, please consider citing:
```
@ARTICLE{9969592,
  author = {Paul, Bikram and Pal, Souradip and Agrawal, Abhishek and Trivedi, Gaurav},
  journal = {IEEE Access}, 
  title = {Triple Pendulum Based Nonlinear Chaos Generator and its Applications in Cryptography}, 
  year = {2022},
  volume = {10},
  pages = {127073-127093},
  doi = {10.1109/ACCESS.2022.3226515}
}
```

## FAQ
Please create a [new issue](https://github.com/souradipp76/tp_chaos_generator/issues/new/choose).

