This project is an interactive explorer for ChaCha20 Poly1305.
It explains authenticated encryption through visualization.
You learn how modern encryption works by watching it run.
What the project does
Explains ChaCha20 stream cipher
Explains Poly1305 message authentication
Shows how encryption and authentication combine
Follows RFC 8439 standard
Core idea
Encryption alone is not enough.
Authentication alone is not enough.
This project shows why both must work together.
Main sections
How it works
You follow the algorithm flow step by step
Visualization
You see state changes at each round
Python code
You inspect a clean reference implementation
Analysis
You understand security goals and design choices
References
You trace everything back to official specs
Key learning outcomes
How ChaCha20 generates keystream blocks
Why XOR is used for encryption
How Poly1305 builds the authentication tag
Where nonce misuse breaks security
Who this is for
Computer science students
Security learners
Competitive programmers
Anyone studying cryptography
Why this project matters
Most resources stay abstract.
This one shows the process.
You stop memorizing steps.
You start understanding guarantees.
If someone asked you
Why ChaCha20 Poly1305 replaced older constructions
Could you explain it without this tool?