Chacha20poly1305
================
Simple pure-python chacha20-poly1305 implementation based on
`tlslite-ng <https://github.com/tomato42/tlslite-ng>`__ code. Designed
to be compatible with Cryptography API.
.. code:: python
import os
from chacha20poly1305 import ChaCha20Poly1305
key = os.urandom(32)
cip = ChaCha20Poly1305(key)
nonce = os.urandom(12)
ciphertext = cip.encrypt(nonce, b'test')
plaintext = cip.decrypt(nonce, ciphertext)
print(plaintext)
Pip
---
.. code:: bash
pip install chacha20poly1305
Note
----
Please note the pure python implementation probably suffers form
side-channels leakage (timing, memory access). For constant time
implementations use compiled versions:
- https://github.com/ph4r05/py-trezor-crypto
- https://github.com/AntonKueltz/rfc7539
Raw data
{
"_id": null,
"home_page": "https://github.com/ph4r05/py-chacha20poly1305",
"name": "chacha20poly1305",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "",
"author": "Dusan Klinec",
"author_email": "dusan.klinec@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/38/2c/5b4eb73c5cb30ded3082af025e76f529764971c57c02b101e842ff998f63/chacha20poly1305-0.0.3.tar.gz",
"platform": "",
"description": "Chacha20poly1305\n================\n\nSimple pure-python chacha20-poly1305 implementation based on\n`tlslite-ng <https://github.com/tomato42/tlslite-ng>`__ code. Designed\nto be compatible with Cryptography API.\n\n.. code:: python\n\n import os\n from chacha20poly1305 import ChaCha20Poly1305\n\n key = os.urandom(32)\n cip = ChaCha20Poly1305(key)\n\n nonce = os.urandom(12)\n ciphertext = cip.encrypt(nonce, b'test')\n\n plaintext = cip.decrypt(nonce, ciphertext)\n print(plaintext)\n\nPip\n---\n\n.. code:: bash\n\n pip install chacha20poly1305\n\nNote\n----\n\nPlease note the pure python implementation probably suffers form\nside-channels leakage (timing, memory access). For constant time\nimplementations use compiled versions:\n\n- https://github.com/ph4r05/py-trezor-crypto\n- https://github.com/AntonKueltz/rfc7539",
"bugtrack_url": null,
"license": "LGPL",
"summary": "Chacha20Poly1305",
"version": "0.0.3",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "382c5b4eb73c5cb30ded3082af025e76f529764971c57c02b101e842ff998f63",
"md5": "2ebc84cfa7aba98c291b6fa2680ec68c",
"sha256": "f2f005c7cf4638ffa4ff06c02c78748068b642916795c6d16c7cc5e355e70edf"
},
"downloads": -1,
"filename": "chacha20poly1305-0.0.3.tar.gz",
"has_sig": true,
"md5_digest": "2ebc84cfa7aba98c291b6fa2680ec68c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5139,
"upload_time": "2020-01-05T11:22:02",
"upload_time_iso_8601": "2020-01-05T11:22:02.737898Z",
"url": "https://files.pythonhosted.org/packages/38/2c/5b4eb73c5cb30ded3082af025e76f529764971c57c02b101e842ff998f63/chacha20poly1305-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2020-01-05 11:22:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "ph4r05",
"github_project": "py-chacha20poly1305",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "chacha20poly1305"
}