cryptonite
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:
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