@hackage NaCl0.0.5.0

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