Go to file
Vincent Hanquez c82785473d Workaround bug with old distributions c99 issue
When in c99 mode (which is needed for some of our newer additions),
old distributions has an glibc inlining bug which triggers lots of
duplicated symbols.

Add a cabal flag to revert the inliner to c89 mode.

Fixes #64
2016-02-10 12:05:42 +00:00
benchs [bench] add some number for chacha poly1305 2015-07-30 14:40:54 +01:00
cbits Add support for AIX in bitfn. 2016-02-07 09:44:45 +00:00
Crypto removed bounded names for useless parameter 2016-02-04 07:28:42 +00:00
gen Add support for blake2s(p) 224 bits 2016-01-09 10:09:35 +00:00
tests Add support for HKDF (RFC 5869) 2015-12-28 14:32:07 +00:00
.gitignore [bench] ignore binaries 2015-05-02 05:43:06 +01:00
.travis.yml update .travis 2016-01-14 19:17:43 +00:00
CHANGELOG.md update CHANGELOG 2015-12-24 20:38:38 +00:00
cryptonite.cabal Workaround bug with old distributions c99 issue 2016-02-10 12:05:42 +00:00
cryptonite.sublime-project wip 2015-04-08 14:12:58 +01:00
LICENSE update main license 2015-03-12 05:44:23 +00:00
Makefile add dummy makefile to run QA 2015-05-03 14:26:21 +01:00
QA.hs [QA] update to latest state of things 2015-07-29 10:02:44 +01:00
README.md add BSD to support list 2015-07-08 13:46:42 +02:00
Setup.hs initial commit. 2014-07-04 14:58:01 +01:00

cryptonite

Join the chat at https://gitter.im/vincenthz/cryptonite 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

TODO

  • add support for XSalsa