Easy-and-safe-to-use high-level Haskell bindings to NaCl.
This library uses Sodium under the hood, but only exposes the primitives that are part of the “classic” NaCl interface. We believe, it is better to be paranoid than sorry.
Note: this package is experimental and WIP.
Sodium is more portable, but some people prefer to stick to NaCl. We agree that it is better to be paranoid than sorry. That is why, even though this library uses Sodium under the hood, it only exposes the primitives that are part of the “classic” NaCl interface.
Sodium provides useful algorithms, that are not part of NaCl, for example key derivation or random number generation. If you need them too (you probably do), you should use crypto-sodium instead.
Public-key cryptography
Authenticated encryption:
NaCl.Box
Scalar multiplication:
NaCl.Scalarmult
Public-key signatures:
NaCl.Sign
Secret-key cryptography
Authenticated encryption:
NaCl.Secretbox
Unauthenticated streaming encryption:
NaCl.Stream
Authentication:
NaCl.Auth
Low-level functions
Hashing:
NaCl.Hash
String comparison:
NaCl.Verify
NaCl
Easy-and-safe-to-use high-level Haskell bindings to NaCl.
Note: this package is experimental and WIP.
Use
Get it
Add NaCl
to the dependencies of your package.
Documentation
All documentation exists is in the form of Haddock comments, you can find them in the source code or browse on Hackage.