Add check for size in generatePrime Add size test in generateSafePrime Require only that top bit is set, instead of top 2 This is the general standard, see e.g. OpenSSL Add an error for too few bits being supplied to prime generator, and add documentation Add some documentation and require highest two bits set Simplify return syntax in generatePrime and generateSafePrime Switch exponent to bit-shift for small performance boost |
||
|---|---|---|
| benchs | ||
| cbits | ||
| Crypto | ||
| gen | ||
| tests | ||
| .gitignore | ||
| .travis.yml | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| cryptonite.cabal | ||
| cryptonite.sublime-project | ||
| LICENSE | ||
| Makefile | ||
| QA.hs | ||
| README.md | ||
| Setup.hs | ||
cryptonite
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


