The cryptonite package

[Tags:benchmark, bsd3, library, test]

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]

Properties

Versions 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
Change log CHANGELOG.md
Dependencies base (>=4.3 && <5), bytestring, deepseq, ghc-prim, integer-gmp, memory (>=0.8), Win32 [details]
License BSD3
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 repository head: git clone https://github.com/haskell-crypto/cryptonite
Uploaded Mon Aug 22 12:44:59 UTC 2016 by LukeTaylor
Distributions Arch:0.23, Debian:0.10, FreeBSD:0.6, LTSHaskell:0.21, NixOS:0.23, Stackage:0.23, Tumbleweed:0.21
Downloads 29490 total (11458 in the last 30 days)
Votes
2 []
Status Docs available [build log]
Last success reported on 2016-08-22 [all 1 reports]

Modules

[Index]

Flags

NameDescriptionDefaultType
support_aesniallow compilation with AESNI on system and architecture that supports itEnabledManual
support_rdrandallow compilation with RDRAND on system and architecture that supports itEnabledManual
support_pclmuldqAllow compilation with pclmuldq on architecture that supports itDisabledManual
support_blake2_sseUse SSE optimized version of BLAKE2.DisabledManual
integer-gmpWhether or not to use GMP for some functionsEnabledManual
support_deepseqadd deepseq instances for cryptographic typesEnabledManual
old_toolchain_inlineruse -fgnu89-inline to workaround an old compiler / linker / glibc issue.DisabledManual

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

Readme for cryptonite-0.15.1

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