Hi Everyone,

I added initial support for NaCl library functions on my GitHub clone. The 
commit of interest is 
https://github.com/noloader/cryptopp/commit/4edc9b5f3d4a988d .

The NaCl port include the 25 most popular functions and primitives as 
detailed at https://tweetnacl.cr.yp.to/tweetnacl-20140917.pdf (Table 1 page 
5). It includes x25519 for key exchange, ed25519 for signatures and the 
supporting functions, like crypto_box, crypto_box_open, crypto_secretbox, 
crypto_secretbox_open,crypto_sign, crypto_sign_open and friends.

We used the TweetNacl library for several reasons. First, it was easy to 
work with and port. If you have had the pleasure of working with 
Bernstein's code an porting, you know some of the pain points. Second, it 
was small. The library gets its name because it fits into 100 tweets. 
Third, it promotes a heck of a lot of interoperability.

The port is handled by a script in TestScripts/tweetnacl.sh . The script 
downloads the files from https://tweetnacl.cr.yp.to and then fixes them up 
using sed for inclusion with Crypto++ . It should be reproducible for 
everyone.

On the TODO list are:

* Add self tests
* Improve documentation

I have not had time to hunt down the self tests and port them (yet). The 
tests will be added before a merge with Wei's Master. We also need to 
improve the documentation.

NaCl is a collection of freestanding functions in the CryptoPP::NaCl 
namespace. We still lack the formal integration of curve25519 so that we 
can use it with classes like X25519 and ED25519 based on library 
interfaces. That is also on the TODO list.

Jeff

-- 
You received this message because you are subscribed to "Crypto++ Users". More 
information about Crypto++ and this group is available at 
http://www.cryptopp.com and 
http://groups.google.com/forum/#!forum/cryptopp-users.
--- 
You received this message because you are subscribed to the Google Groups 
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to