hs-nacl
hs-nacl copied to clipboard
Tests to ensure compatibility with C API
It would be great if somehow the test harness could ensure that all the APIs are one-to-one compatible with the C APIs like in sodium
or nacl
itself, for example by round-tripping encryption/decryption between the two.
NB: In particular, the encryption APIs do not strip the zero-box in the front. Most bindings for other languages seem to do this (including the C++ APIs); in particular I'm holding out because of compatibility. Also, I want to try my hand at a CurveCP implementation (an exact implementation of the protocol,) and part of the layout for packets includes the zero-boxes. I could be swayed on this point though, since it's mostly just a minor API change.