[tahoe-lafs-trac-stream] [pycryptopp] #94: add ChaCha

pycryptopp trac at tahoe-lafs.org
Mon Sep 30 14:44:19 UTC 2013


#94: add ChaCha
------------------------+---------------------
Reporter:  zooko        |          Owner:
    Type:  enhancement  |         Status:  new
Priority:  major        |      Milestone:
 Version:  0.5.29       |     Resolution:
Keywords:               |  Launchpad Bug:
------------------------+---------------------

Comment (by nickm):

 You can also use the XSalsa20 construction (the nonce extender that makes
 Salsa into XSalsa) with !ChaCha.

 As for implementation choice, I had occasion to look around for one
 recently.  For a simple obvious C implementation, the "merged"
 implementation from [http://bench.cr.yp.to/supercop.html SUPERCOP] is a
 good choice.  The "krovetz" implementation from SUPERCOP is a good C+SIMD
 implementation; it gives good performance on Intel, ARM, and PowerPC chips
 with vector instructions. (It's [http://bench.cr.yp.to/impl-
 stream/chacha20.html competitive with the assembly implementations] on
 those systems where it runs.)  These both need a little glue code to work,
 but only a little.  Both are public domain.

 In [https://github.com/nmathewson/libottery libottery], I wrote a  minimal
 pure-Python !ChaCha implementation as part of the tests; you might want to
 grab that for testing, though I wouldn't recommend it for real
 cryptography.

-- 
Ticket URL: <https://tahoe-lafs.org/trac/pycryptopp/ticket/94#comment:2>
pycryptopp <https://tahoe-lafs.org/trac/pycryptopp>



More information about the tahoe-lafs-trac-stream mailing list