crypto-sodium-0.0.5.0: crypto-sodium.cabal
cabal-version: 1.18
-- This file has been generated from package.yaml by hpack version 0.34.4.
--
-- see: https://github.com/sol/hpack
name: crypto-sodium
version: 0.0.5.0
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.Sodium.Init"
.
== 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"
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: Serokell <libraries@serokell.io>
copyright: 2021 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.Sodium.Encrypt.Public
Crypto.Sodium.Encrypt.Symmetric
Crypto.Sodium.Encrypt.Symmetric.Stream
Crypto.Sodium.Hash
Crypto.Sodium.Hash.Internal
Crypto.Sodium.Init
Crypto.Sodium.Internal.Random
Crypto.Sodium.Internal.Verify
Crypto.Sodium.Key
Crypto.Sodium.Key.Internal
Crypto.Sodium.Mac
Crypto.Sodium.Nonce
Crypto.Sodium.Pwhash.Internal
Crypto.Sodium.Random
Crypto.Sodium.Sign
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.4.0 && <0.1
, base >=4.10 && <4.16
, bytestring >=0.9 && <0.11
, cereal >=0.1 && <0.6
, libsodium >=1.0.11 && <2
, memory >=0.14.15 && <0.17
, random >=1.0 && <1.3
, safe-exceptions ==0.1.*
default-language: Haskell2010
test-suite test
type: exitcode-stdio-1.0
main-is: Test.hs
other-modules:
Test.Crypto.Sodium.Encrypt.Public
Test.Crypto.Sodium.Encrypt.Symmetric
Test.Crypto.Sodium.Gen
Test.Crypto.Sodium.Hash
Test.Crypto.Sodium.Key.Derivation
Test.Crypto.Sodium.Nonce
Test.Crypto.Sodium.Pwhash
Test.Crypto.Sodium.Random
Test.Crypto.Sodium.Sign
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.16
, base16 >=0.1.1 && <0.4
, bytestring >=0.9 && <0.11
, crypto-sodium
, deepseq
, hedgehog
, libsodium >=1.0.11 && <2
, memory >=0.14.15 && <0.17
, safe-exceptions ==0.1.*
, tasty
, tasty-hedgehog
, tasty-hunit
default-language: Haskell2010