Description
Cryptography for the casual user.
Description
The high-level library aimed at casual users of cryptography, by the Haskell Cryptography Group
README.md
sel
Sel is the library for casual users by the Haskell Cryptography Group. It builds on Libsodium, a reliable and audited library for common operations.
Hashing
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. |