tlslite.utils.chacha module
Pure Python implementation of ChaCha cipher
Implementation that follows RFC 7539 closely.
- class tlslite.utils.chacha.ChaCha(key, nonce, counter=0, rounds=20)
Bases:
object
Pure python implementation of ChaCha cipher
- __init__(key, nonce, counter=0, rounds=20)
Set the initial state for the ChaCha cipher
- static chacha_block(key, counter, nonce, rounds)
Generate a state of a single block
- constants = [1634760805, 857760878, 2036477234, 1797285236]
- decrypt(ciphertext)
Decrypt the data
- classmethod double_round(x)
Perform two rounds of ChaCha cipher
- encrypt(plaintext)
Encrypt the data
- static quarter_round(x, a, b, c, d)
Perform a ChaCha quarter round
- static rotl32(v, c)
Rotate left a 32 bit integer v by c bits
- static word_to_bytearray(state)
Convert state to little endian bytestream