Go to file
Luke Taylor fb66c35f46 Add a check for salt length in bcrypt function
Raises an error (as the original doc claimed) if the salt is not the
required length of 16 bytes.

validatePasswordEither doesn't require separate checking since the hash
length as a whole is checked, implicitly ensuring the salt is the right
length. Therefore it shouldn't be possible to trigger the error by
calling this function.

Fixes #93.
2016-07-27 17:45:33 +02:00
benchs [bench] add some number for chacha poly1305 2015-07-30 14:40:54 +01:00
cbits [random] re-use standard instruction 2016-07-11 06:59:12 +01:00
Crypto Add a check for salt length in bcrypt function 2016-07-27 17:45:33 +02:00
gen Improve context memory usage of Keccak and SHA3 2016-03-26 10:29:33 +00:00
tests Add a check for salt length in bcrypt function 2016-07-27 17:45:33 +02: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 2016-06-14 07:24:30 +01:00
cryptonite.cabal bump version to 0.17 2016-06-14 08:22:31 +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
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 Minor grammatical updates 2016-04-21 10:40:09 -07: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 has specificities that are hard to wrap in common APIs and types, so instead of trying to provide a common ground for algorithms, this package provides a non-consistent low-level API.

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

Documentation: cryptonite on hackage

Versioning

Development versions are an incremental number prefixed by 0. There is no API stability between development versions.

Production versions : TBD

Coding Style

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

Support

cryptonite supports the following platforms:

  • 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 work too, but since the maintainer(s) don't have regular access to them, we can't commit to 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 purposes. This is achieved 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