sel: Cryptography for the casual user

[ cryptography, libsodium ] [ Propose Tags ]
Versions [RSS]
Change log
Dependencies base (>=4.14 && <5), base16 (>=1.0 && <1.1), bytestring (>=0.10 && <0.13), libsodium-bindings (>= && <0.1), text (>=1.2 && <2.2), text-display (>=0.0 && <0.1) [details]
License BSD-3-Clause
Author Hécate Moonlight, Koz Ross
Maintainer The Haskell Cryptography contributors
Category Cryptography
Home page
Bug tracker
Source repo head: git clone
Uploaded by hecate at 2024-04-04T13:39:12Z
Reverse Dependencies 1 direct, 2 indirect [details]
Downloads 46 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for sel-

[back to package description]

sel CI made with Haskell

Sel is the library for casual users by the Haskell Cryptography Group. It builds on Libsodium, a reliable and audited library for common operations.


Purpose Module
Hash passwords Sel.Hashing.Password
Verify the integrity of files and hash large data Sel.Hashing
Hash tables, bloom filters, fast integrity checking of short input Sel.Hashing.Short

Secret key / Symmetric cryptography

Purpose Module
Authenticate a message with a secret key Sel.SecretKey.Authentication
Encrypt and sign data with a secret key Sel.SecretKey.Cipher
Encrypt a stream of messages Sel.SecretKey.Stream

Public and Secret key / Asymmetric cryptography

Purpose Module
Sign and encrypt with my secret key and my recipient's public key Sel.PublicKey.Cipher
Sign and encrypt an anonymous message with my recipient's public key Sel.PublicKey.Seal
Sign with a secret key and distribute my public key Sel.PublicKey.Signature

HMAC message authentication

Purpose Module
HMAC-256 Sel.HMAC.SHA256
HMAC-512 Sel.HMAC.SHA512
HMAC-512-256 Sel.HMAC.SHA512_256

Legacy SHA2 constructs

Purpose Module
SHA-256 Sel.Hashing.SHA256
SHA-512 Sel.Hashing.SHA512
Scrypt Sel.Scrypt