tlslite.utils.chacha20_poly1305 module
Pure Python implementation of ChaCha20/Poly1305 AEAD cipher
Implementation that follows RFC 7539 and draft-ietf-tls-chacha20-poly1305-00
- class tlslite.utils.chacha20_poly1305.CHACHA20_POLY1305(key, implementation)
Bases:
object
Pure python implementation of ChaCha20/Poly1305 AEAD cipher
- __init__(key, implementation)
Set the initial state for the ChaCha20 AEAD
- open(nonce, ciphertext, data)
Decrypts and authenticates ciphertext using nonce and data. If the tag is valid, the plaintext is returned. If the tag is invalid, returns None.
- static pad16(data)
Return padding for the Associated Authenticated Data
- static poly1305_key_gen(key, nonce)
Generate the key for the Poly1305 authenticator
- seal(nonce, plaintext, data)
Encrypts and authenticates plaintext using nonce and data. Returns the ciphertext, consisting of the encrypted plaintext and tag concatenated.