crypto-sodium-0.0.3.1: crypto-sodium.cabal
cabal-version: 1.18
-- This file has been generated from package.yaml by hpack version 0.33.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: 8f2d927fece7ed762df312f2f4393f5e471fe0068b66c7aa76c07a7ca34e220f
name: crypto-sodium
version: 0.0.3.1
synopsis: Easy-and-safe-to-use high-level cryptography based on Sodium
description: This is a collection of high-level cryptographic primitives based on
<https://libsodium.io/ 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 <https://nacl.cr.yp.to/ 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
.
<https://libsodium.org 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
.
* "Crypto.Init"
.
== Secret-key cryptography
.
* Authenticated symmetric-key encryption: "Crypto.Encrypt.Secretbox"
.
== Public-key cryptography
.
* Authenticated public-key encryption: "Crypto.Encrypt.Box"
.
== Additional primitives
.
* Key derivation and generation: "Crypto.Key"
* Cryptographically-secure random: "Crypto.Random"
category: Cryptography
homepage: https://github.com/serokell/haskell-crypto#readme
bug-reports: https://github.com/serokell/haskell-crypto/issues
author: Kirill Elagin <kirelagin@serokell.io>
maintainer: Kirill Elagin <kirelagin@serokell.io>
copyright: 2020 Serokell
license: MPL-2.0
license-file: LICENSES/MPL-2.0.txt
build-type: Simple
extra-doc-files:
CHANGELOG.md
README.md
source-repository head
type: git
location: https://github.com/serokell/haskell-crypto
library
exposed-modules:
Crypto.Encrypt.Box
Crypto.Encrypt.Secretbox
Crypto.Init
Crypto.Key
Crypto.Key.Internal
Crypto.Pwhash.Internal
Crypto.Random
other-modules:
Paths_crypto_sodium
hs-source-dirs:
lib
default-extensions: DataKinds FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiParamTypeClasses NamedFieldPuns NumericUnderscores OverloadedStrings PolyKinds ScopedTypeVariables TypeApplications
ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints
build-depends:
NaCl >=0.0.1.0 && <0.1
, base >=4.10 && <4.15
, bytestring >=0.9 && <0.11
, cereal >=0.1 && <0.6
, libsodium >=1.0.11 && <2
, memory >=0.14.15 && <0.16
, safe-exceptions >=0.1 && <0.2
default-language: Haskell2010
test-suite test
type: exitcode-stdio-1.0
main-is: Test.hs
other-modules:
Test.Crypto.Gen
Test.Crypto.Key.Derivation
Test.Crypto.Pwhash
Test.Crypto.Random
Test.Crypto.Secretbox
Paths_crypto_sodium
hs-source-dirs:
test
default-extensions: DataKinds FlexibleContexts FlexibleInstances GeneralizedNewtypeDeriving KindSignatures LambdaCase MultiParamTypeClasses NamedFieldPuns NumericUnderscores OverloadedStrings PolyKinds ScopedTypeVariables TypeApplications
ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints
build-tool-depends:
tasty-discover:tasty-discover
build-depends:
HUnit
, base >=4.10 && <4.15
, base16-bytestring
, bytestring >=0.9 && <0.11
, crypto-sodium
, hedgehog
, libsodium >=1.0.11 && <2
, memory >=0.14.15 && <0.16
, safe-exceptions >=0.1 && <0.2
, tasty
, tasty-hedgehog
, tasty-hunit
default-language: Haskell2010