-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Aloha!

I've taken a shot at implementing the ChaCha stream cipher for Nettle.
Nettle is a modified version of Salsa20 done by DJB in order to improve
both performance (esp on CPUs with support for data parallelism) and
somewhat improved performance. ChaCha has been suggested as replacement
for RC4 both by Adam Langley from Google and separately by Nikos and Me.

http://cr.yp.to/chacha.html


The code in this implementation is heavily based on the Salsa20
implementation in Nettle. The major changes beside name changes are the
quarterround schedules, the different state init and the quarterround.
This implementation also supports different number of rounds.

There is a pretty simple test program that verifies the functionality
for 128 and 256 keys as well as 8, 12 and 20 rounds using the testt
vectors in the chacha test vectors draft:

http://tools.ietf.org/html/draft-strombergson-chacha-test-vectors-00


The code for the chacha implementation is available at:

https://github.com/secworks/nettle

The following files comprises the implementation:
chacha-core-internal.c
chacha-crypt.c
chacha-init.c
chacha.h

And the test program
testsuite/chacha-test.c

(The other files are clones from Nettle to be able to build.)

ChaCha _should_ be a bit faster than Salsa20 and should esp be easier to
optimize in asm for modern CPUs. I have however not done any benchmarks
nor asm implementation (yet).

Since I'm new as a contributor I don't know how you Niels want to have
patches. Please let me know if this looks good and something you want to
integrate and if so how.

- -- 
Med vänlig hälsning, Yours

Joachim Strömbergson - Alltid i harmonisk svängning.
========================================================================
 Joachim Strömbergson          Secworks AB          [email protected]
========================================================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlKoxesACgkQZoPr8HT30QE6vACfTIV44gkDKJcsoxR9BjnElBfE
zGQAnjbRimEsTp8arbDPtsT/RLrkgw5K
=cz3W
-----END PGP SIGNATURE-----
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to