MyNixOS website logo
Description

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.

Metadata

Version

0.0.5.0

License

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows