WORK IN PROGRESS
Behavioral VHDL Implementation of the Salsa20 Stream Cipher
Compilation/Simulation test suite using GHDL can be run:
sh ./simulate.sh
In addition to reporting success/failure, a VCD file is output which can be rendered with tools such as Scansion and GTKWave
Test vectors taken from the official paper and generated with Python Salsa20 NaCl bindings
From the official paper:
- quarterround function
- rowround function
- columnround function
- doubleround function
- Salsa20 Hash Function
- Salsa20 Expansion Function
- Salsa20 Encryption Function
- Setup logic
- Count Increment
- Input/Output
- Message XOR