NaCl: Easy-and-safe-to-use library for cryptography

[ cryptography, library, mpl ] [ Propose Tags ]

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.

Secret-key cryptography


[Skip to Readme]
Versions [RSS] [faq] 0.0.1.0, 0.0.2.0, 0.0.3.0, 0.0.3.1
Change log CHANGELOG.md
Dependencies base (>=4.10 && <4.15), bytestring (>=0.9 && <0.11), gdp (>=0.0.0.1 && <0.1), libsodium (>=1.0 && <2), memory (>=0.1 && <0.16), safe-exceptions (==0.1.*), text (>=0.7 && <1.3) [details]
License MPL-2.0
Copyright 2020 Serokell
Author Kirill Elagin <kirelagin@serokell.io>
Maintainer Kirill Elagin <kirelagin@serokell.io>
Category Cryptography
Home page https://github.com/serokell/haskell-nacl#readme
Bug tracker https://github.com/serokell/haskell-nacl/issues
Source repo head: git clone https://github.com/serokell/haskell-nacl
Uploaded by kirelagin at 2020-05-23T22:13:48Z
Distributions NixOS:0.0.3.1
Downloads 372 total (32 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user [build log]
All reported builds failed as of 2020-05-23 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


Readme for NaCl-0.0.1.0

[back to package description]

NaCl (haskell-NaCl)

Easy-and-safe-to-use library for cryptography.

Note: this package is experimental and WIP.

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 your 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.

Sodium is a reimplementation of NaCl with the goal to make it more portable across different platforms. With time, it started providing not only the same interface as NaCl, the developers of Sodium decided to add new primitives too.

Sodium is more portable, but some people are afraid of using it, and 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.

Why not?

Use

Contributing

If you encounter any issues when using this library or have improvement ideas, please open report in issue on GitHub. You are also very welcome to submit pull request, if you feel like doing so.

License

MPL-2.0 © Serokell