cryptonite: Cryptography Primitives sink
A repository of cryptographic primitives.
Symmetric ciphers: AES, DES, 3DES, Blowfish, Camellia, RC4, Salsa, ChaCha.
Hash: SHA1, SHA2, SHA3, MD2, MD4, MD5, Keccak, Skein, Ripemd, Tiger, Whirlpool, Blake2
MAC: HMAC, Poly1305
Assymmetric crypto: DSA, RSA, DH, ECDH, ECDSA, ECC, Curve25519, Ed25519
Key Derivation Function: PBKDF2, Scrypt, HKDF
Cryptographic Random generation: System Entropy, Deterministic Random Generator
Data related: Anti-Forensic Information Splitter (AFIS)
If anything cryptographic related is missing from here, submit a pull request to have it added. This package strive to be a cryptographic kitchen sink that provides cryptography for everyone.
Evaluate the security related to your requirements before using.
[Skip to Readme]
Modules
[Index]
- Crypto
Flags
Manual Flags
| Name | Description | Default |
|---|---|---|
| support_aesni | allow compilation with AESNI on system and architecture that supports it | Enabled |
| support_rdrand | allow compilation with AESNI on system and architecture that supports it | Enabled |
| support_pclmuldq | Allow compilation with pclmuldq on architecture that supports it | Disabled |
| support_blake2_sse | Use SSE optimized version of BLAKE2. | Disabled |
| integer-gmp | Whether or not to use GMP for some functions | Enabled |
| support_deepseq | add deepseq instances for cryptographic types | Enabled |
| old_toolchain_inliner | use -fgnu89-inline to workaround an old compiler linker glibc issue. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- cryptonite-0.11.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
| Versions [RSS] | 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.15.1, 0.16, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27, 0.28, 0.29, 0.30 |
|---|---|
| Change log | CHANGELOG.md |
| Dependencies | base (>=4.3 && <5), bytestring , deepseq , ghc-prim , integer-gmp (<1.1), memory (>=0.8), Win32 [details] |
| License | BSD-3-Clause |
| Copyright | Vincent Hanquez <vincent@snarc.org> |
| Author | Vincent Hanquez <vincent@snarc.org> |
| Maintainer | vincent@snarc.org |
| Revised | Revision 1 made by sjakobi at 2021年05月08日T22:25:22Z |
| Category | Cryptography |
| Home page | https://github.com/haskell-crypto/cryptonite |
| Bug tracker | https://github.com/haskell-crypto/cryptonite/issues |
| Source repo | head: git clone https://github.com/haskell-crypto/cryptonite |
| Uploaded | by VincentHanquez at 2016年02月12日T09:46:49Z |
| Distributions | Arch:0.30, Debian:0.26, Fedora:0.30, FreeBSD:0.6, LTSHaskell:0.30, NixOS:0.30, openSUSE:0.30 |
| Reverse Dependencies | 255 direct, 3604 indirect [details] |
| Downloads | 167536 total (140 in the last 30 days) |
| Rating | 2.75 (votes: 13) [estimated by Bayesian average] |
| Your Rating |
|
| Status | Docs available [build log] Last success reported on 2016年02月12日 [all 1 reports] |
Readme for cryptonite-0.11
[back to package description]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
Links
- ChaCha
- ChaCha-test-vectors
- Poly1305
- Poly1305-test-vectors
- Salsa
- Salsa128-test-vectors
- Salsa256-test-vectors
- PBKDF2
- PBKDF2-test-vectors
- Scrypt
- Curve25519
- Ed25519
- AFIS
TODO
- add support for XSalsa