ChaCha20 is a symmetric stream cipher.
DOWNLOADS
ChaCha20.exe - Desktop Application
ChaCha20.py - Python Source Code
Password: password
INSTRUCTIONS
Select “Next”
Select “Open” and choose file.
Enter password
Select “Next”
Select “Encrypt” or “Decrypt”
Select “Delete Original File” to encrypt, overwrite, and delete the source file.
Select “Save As”
Encrypted or Decrypted file has been saved.
Select “Exit”
The source file extension will be added to data before encryption. Upon decryption the file extension will automatically be attached to the end of the saved filename.
BACKGROUND
ChaCha20 was developed by Daniel J. Bernstein in 2008 as an alternative to the aging and increasingly complex AES cipher. It was designed to be simple, efficient, and secure.
The algorithm operates on 64-byte blocks and uses a 256-bit key and a 64-bit nonce. It consists of a series of quarter-round operations, which involve addition, bitwise XOR, and bit rotations. These operations are performed on a 4x4 matrix of 32-bit words called the state.
During encryption, the state is initialized with constants and the key, and then undergoes a series of 20 rounds of operations. Each round consists of four quarter-rounds followed by a diagonalization step, where rows and columns of the state are shuffled. The output of these operations is a keystream, which is XORed with the plaintext to produce the ciphertext.
ChaCha20 is designed to be highly parallelizable and resistant to timing attacks and side-channel attacks. It is also known for its speed, especially on devices without hardware support for AES.