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: