crypto-sodium: Easy-and-safe-to-use high-level cryptography based on Sodium
This is a collection of high-level cryptographic primitives based on Sodium, spiced up with extra type-safety of the Haskell type system.
Note: this package is experimental and WIP.
Why
Cryptography is hard to do right and you should never try to implement it on your own, even if you have access to safe and secure cryptographic primitives. Luckily, D. J. Bernstein created NaCl.
NaCl was designed specifically to make it hard to use it incorrectly and thus save you from a disaster. It exposes high-level cryptographic algorithms with underlying implementations chosen for you, so you do not get flexibility, but you get security, which is more important.
What
Sodium is a reimplementation of NaCl with the goal to make it more portable across different platforms. With time, it started providing more than the same interface as NaCl. Nowadays it implements additional primitives and utility functions.
How
Library initialisation
Secret-key cryptography
Authenticated symmetric-key encryption: Crypto.Sodium.Encrypt.Symmetric
Message authentication codes: Crypto.Sodium.Mac
Public-key cryptography
Authenticated public-key encryption: Crypto.Sodium.Encrypt.Public
Public-key signatures: Crypto.Sodium.Sign
Additional primitives
Key derivation and generation: Crypto.Sodium.Key
Cryptographically-secure random: Crypto.Sodium.Random
Hashing: Crypto.Sodium.Hash
[Skip to Readme]
Modules
[Index] [Quick Jump]
- Crypto
Downloads
- crypto-sodium-0.0.5.0.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.0.2.0, 0.0.3.0, 0.0.3.1, 0.0.4.0, 0.0.5.0 |
---|---|
Change log | CHANGELOG.md |
Dependencies | base (>=4.10 && <4.18), bytestring (>=0.9 && <0.12), cereal (>=0.1 && <0.6), libsodium (>=1.0.11 && <2), memory (>=0.14.15 && <0.19), NaCl (>=0.0.4.0 && <0.1), random (>=1.0 && <1.3), safe-exceptions (>=0.1 && <0.2) [details] |
License | MPL-2.0 |
Copyright | 2021 Serokell |
Author | Kirill Elagin <kirelagin@serokell.io> |
Maintainer | Serokell <libraries@serokell.io> |
Revised | Revision 2 made by lierdakil at 2023-06-23T14:55:04Z |
Category | Cryptography |
Home page | https://github.com/serokell/haskell-crypto#readme |
Bug tracker | https://github.com/serokell/haskell-crypto/issues |
Source repo | head: git clone https://github.com/serokell/haskell-crypto |
Uploaded | by kirelagin at 2021-11-22T17:48:30Z |
Distributions | |
Reverse Dependencies | 1 direct, 5 indirect [details] |
Downloads | 1030 total (27 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user [build log] All reported builds failed as of 2021-11-22 [all 2 reports] |