cryptonite: Cryptography Primitives sink

[ bsd3, cryptography ] [ Propose Tags ]

A repository of cryptographic primitives.

If anything cryptographic related is missing from here, submit a pull request to have it added. This package strive to be a cryptographic kitchen sink that provides cryptography for everyone.

Evaluate the security related to your requirements before using.


[Skip to Readme]
Versions [faq] 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.15.1, 0.16, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27
Change log CHANGELOG.md
Dependencies base (>=4.3 && <5), bytestring, deepseq, ghc-prim, integer-gmp, memory (>=0.8), Win32 [details]
License BSD-3-Clause
Copyright Vincent Hanquez <vincent@snarc.org>
Author Vincent Hanquez <vincent@snarc.org>
Maintainer vincent@snarc.org
Category Cryptography
Home page https://github.com/haskell-crypto/cryptonite
Bug tracker https://github.com/haskell-crypto/cryptonite/issues
Source repo head: git clone https://github.com/haskell-crypto/cryptonite
Uploaded by VincentHanquez at 2015-10-11T09:55:15Z
Distributions Arch:0.27, Debian:0.25, Fedora:0.26, FreeBSD:0.6, LTSHaskell:0.25, NixOS:0.27, Stackage:0.25, openSUSE:0.27
Downloads 118779 total (1496 in the last 30 days)
Rating 2.5 (votes: 10) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2015-10-11 [all 1 reports]

Modules

[Index]

Flags

NameDescriptionDefaultType
support_aesni

allow compilation with AESNI on system and architecture that supports it

EnabledManual
support_rdrand

allow compilation with AESNI on system and architecture that supports it

EnabledManual
support_pclmuldq

Allow compilation with pclmuldq on architecture that supports it

DisabledManual
integer-gmp

Whether or not to use GMP for some functions

EnabledManual
support_deepseq

add deepseq instances for cryptographic types

EnabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for cryptonite-0.8

[back to package description]

cryptonite

Join the chat at <a href="https://gitter.im/vincenthz/cryptonite">https://gitter.im/vincenthz/cryptonite</a> Build Status BSD Haskell

Cryptonite is a haskell repository of cryptographic primitives. Each crypto algorithm have specificities, that are hard to wrap in common APIs and types, so instead of trying to provide a common ground for algorithms that wouldn't allow to provide all different usage or a really complicated system, this just provide a non-consistant low-level API.

If you have no idea what're you doing, please do not use this directly, rely on higher level protocols or higher level implementation.

Documentation: cryptonite on hackage

Versioning

Development versions are an incremental number prefixed by 0. No specific meaning is associated with the versions, specially no API stability.

Production versions : TBD

Coding Style

The coding style of this project mostly follows: haskell-style

Support

cryptonite supports the following platform:

  • Windows >= 8
  • OSX >= 10.8
  • Linux
  • BSDs

On the following architectures:

  • x86-64
  • i386

On the following haskell versions:

  • GHC 7.0.x
  • GHC 7.4.x
  • GHC 7.6.x
  • GHC 7.8.x
  • GHC 7.10.x

Further platforms and architectures probably works too, but until maintainer(s) don't have regular access to them, we can't commit for further support

Known Building Issues

on OSX <= 10.7, the system compiler doesn't understand the '-maes' option, and with the lack of autodetection feature builtin in .cabal file, it is left on the user to disable the aesni. See the [Disabling AESNI] section

Disabling AESNI

It may be useful to disable AESNI (for building, testing or runtime purpose), and one can do that with the support_aesni flag.

As part of configure of cryptonite:

  cabal configure --flag='-support_aesni'

or as part of an installation:

  cabal install --constraint="cryptonite -support_aesni"

For help with cabal flags, see: stackoverflow : is there a way to define flags for cabal

Links

TODO

  • add support for XSalsa