Package Exports
- chloride
- chloride/browser
- chloride/build/Release/sodium
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (chloride) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
chloride
Chloride is a Cryptography Library (Cl) for javascript enviroments.
about
Chloride decends from Dan J. Bernstein's NaCl library ("Networking And Cryptography Library", not to be confused with the other NaCl, google's Native Client) djb wrote nacl, but did not maintain it, some ideas in the library (in particular the networking part) wasn't really fully baked, and the best parts where taken and maintained as libsodium (although "Na" represents the element sodium, so they took the wrong part of the acronym)
Currently, chloride is a compatibility layer between the node bindings to libsodium, and libsodium-wrappers which is libsodium compiled to javascript via emscripten
support
I have wrapped and tested enough functions for my crypto modules to work.
- private-box write a shortish message to multiple recipients.
- pull-box-stream encrypt (every byte in) a one-way stream.
- secret-handshake create an authenticated private channel to a public key.
This is probably everything you need, nacl doesn't have a very large api, so this is probably everything.
performance
nacl was written with performance in mind, unfortunately a lot of that is lost when you compile it to javascript. However, chloride still has the fastest javascript elliptic curve signature that I am aware of. (and asymmetric crypto is much slower than symmetric, so this is always the weak point)
See sodiumperf performance comparisons.
License
MIT