You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Luke Taylor f346c46243 Add BCrypt module doc and a validatePasswordEither fn 6 years ago
Crypto Add BCrypt module doc and a validatePasswordEither fn 6 years ago
benchs [bench] add some number for chacha poly1305 6 years ago
cbits [tidy-exports] properly prefix aesni stuff 7 years ago
gen [hash] add haddock documentation 7 years ago
tests Add bcrypt tests 6 years ago
.gitignore [bench] ignore binaries 7 years ago
.travis.yml remove multilines 7 years ago
CHANGELOG.md add item to CHANGELOg 6 years ago
LICENSE update main license 7 years ago
Makefile add dummy makefile to run QA 7 years ago
QA.hs [QA] update to latest state of things 6 years ago
README.md add BSD to support list 6 years ago
Setup.hs initial commit. 8 years ago
cryptonite.cabal Add bcrypt tests 6 years ago
cryptonite.sublime-project wip 7 years ago

README.md

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