Simon Josefsson <[email protected]> writes:

> Please find attached a port of DJB's public domain code for Salsa20
> to nettle.  The patch is not meant to be applied as-is but to start a
> discussion.

Nevertheless, I have now commited salsa20.[ch] and the testcase,
postponing remaining work for later. ;-)

Needed:

* Support in nettle-benchmark in some way (can probably get away with a
  stupid nettle_cipher setting the iv to some fixed value).

* A bit of cleanup of the code.

* Try optimization of the C code for 64-bit machines. One ought to be
  able to do two column or row operations in parallel by putting two
  salsa20 words into a uint64_t variable. May need some tricks to avoid
  carry propagation between the words, but I suspect it may be a win due
  to lower register pressure. A bit similar to the HAVE_NATIVE_64_BIT in
  camellia-crypt-internal.c.

* Try an sse2 assembly implementation (the djb:s papers outline how to
  do that). Or copy some existing implementation.

* Documentation.

As for the salsa20_* interface:

* It would be possible to change the interface to not expose the block
  size, doing a little buffering instead. But I think it's better to not
  do that, and follow what the ctr code and gcm code does.

* One advertised feature of the cipher is random access. I think we
  should have something like a salsa20_set_pos, taking a block count as
  argument.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to