A Visual Basic (VB6) implementation of the Salsa20 or ChaCha stream cipher

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.

Just to be specific, I need you to make two programs ... one Visual Basic app (it must be VB6), and one C or C++ app which uses Bernstein's original code. The programs are extremely simple, as all they need to do is demonstrate encryption and decryption.

Preferably I'd like you to use ChaCha rather than Salsa20 ... from a programming point-of-view they're both almost the same, but ChaCha is the more efficient variant of the two.

Both programs do the same thing (the following filenames can be hard-coded in the source code):
1) Read C:\ChaCha\KEY.DAT to read the key to use for both encryption/decryption
2) Read C:\ChaCha\IV.DAT to read the IV to use
3) Read C:\ChaCha\INPUT.DAT to read the input data to encrypt
4) Encrypt the data, and save it to C:\ChaCha\ENCRYPTED.DAT
5) Decrypt the encrypted data, and save it to C:\ChaCha\DECRYPTED.DAT

Both programs should be compatible with each other, to confirm correct implementation. (For example, you should be able to encrypt with the VB6 app, then decrypt using the C/C++ app, and vice versa)

Habilidades: Programação C, Programação C++ , Criptografia, Matemática, Visual Basic

Ver mais: yp, visual basic programming code, visual basic in programming, vb6 stream, stream programming, programming wiki, programming in visual basic, programming in basic, make a wikipedia page, i need a wikipedia page, how to write vb, c programming wiki, code org 6 a, basic html programming, xor, visual basic vb6, vb or c#, simply pure, salsa, pure basic, port a c, cipher, decrypt source, visual basic compile, code using vb6

Acerca do Empregador:
( 31 comentários ) Perth, Australia

ID do Projeto: #6778582

Premiar a:


A proposal has not yet been provided

$66 USD em 5 dias
(898 Avaliações)

3 freelancers are bidding on average $124 for this job


I can do the project for you in vb6. I have already done decryption encryption software in aes 256 in java. I have developed several application before in vb6. Feel free to contact me if you like me to work on this pro Mais

$166 USD in 7 dias
(5 Comentários)

If you're looking for someone trained in client satisfaction, I'm here for you. I believe that working on finishing a project doesn't just satisfy the client, but communication, a good relationship with the client, and Mais

$139 USD in 3 dias
(0 Comentários)