Go to file
Vincent Hanquez db7c3bbb4f [hash] massive overhaul of the hash interface
use the typeclass for the lowest IO impure C bindings definitions,
and define the pure interface as generic on top of this.

At the same time define an Hash.IO interface to allow mutable manipulations
of hash contextes when necessary.

Use HashAlgorithm instead of HashFunction in the [PubKey] sections

Tweak the HMAC, PBKDF2 functions to be more efficient and use the new interface
2015-04-30 06:18:07 +01:00
cbits add google's mincrypt p256 2015-04-22 07:07:04 +01:00
Crypto [hash] massive overhaul of the hash interface 2015-04-30 06:18:07 +01:00
gen [hash] massive overhaul of the hash interface 2015-04-30 06:18:07 +01:00
tests [hash] massive overhaul of the hash interface 2015-04-30 06:18:07 +01:00
.gitignore add QA "script". for now doesn't do anything except listing extensions 2015-04-03 08:19:48 +01:00
.travis.yml fix .travis 2015-03-11 04:38:54 +00:00
cryptonite.cabal [hash] massive overhaul of the hash interface 2015-04-30 06:18:07 +01: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
QA.hs [QA] add other good extensions 2015-04-22 06:51:47 +01:00
README.md [ED25519] add ed25519-donna C files 2015-04-18 21:38:04 +01:00
Setup.hs initial commit. 2014-07-04 14:58:01 +01:00

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

Coding Style

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

Support

cryptonite supports the following platform:

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

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

TODO

  • remove copy of read-only part of ChaCha / Salsa state by splitting the stuff in two.
  • add support for XSalsa