Salsa20 (and its improved variant ChaCha) are relatively new stream ciphers developed by Professor Daniel J. Bernstein. Both are built on pseudorandom functions that only use three operations: 32-bit addition, bitwise addition (XOR) and rotation. (See Salsa20's Wiki page - [url removed, login to view])
I need you to write a VB6 project that shows a simple encrypt & decrypt demo (ie. just a couple of textboxes and buttons), using either Salsa20 (or preferably ChaCha, as it's a slightly improved variant), with all of the code in VB6. (ie. no calls to 3rd-party libraries or APIs etc... just pure VB6 code)
You'll need to port/translate Bernstein's original C sources for this:
Salsa20: [url removed, login to view]
ChaCha: [url removed, login to view]
As you can see it's a fairly small and simple cipher, but I'm not good at reading C! ...
[url removed, login to view]
As a part of this project I'll also need you to make and compile a C or C++ version which uses Bernstein's original source code so that I can use it to test and compare that your VB6 version is encrypting and decrypting the same as Bernstein's.
The demos (both the VB6 and C or C++ ones) simply need to demonstrate how to accept a line of text (whether its a VB Textbox or simply a commandline parameter), and encrypt and decrypt it. A simple demo of the stream cipher.