• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

Crypto/H20-May-2019-16,04810,625

benchs/H20-May-2019-325266

cbits/H20-May-2019-30,01921,278

tests/H20-May-2019-6,3165,267

CHANGELOG.mdH A D20-May-20197.6 KiB227172

LICENSEH A D05-Jan-20191.5 KiB2924

README.mdH A D05-Jan-20193.6 KiB9569

Setup.hsH A D05-Jan-201946 32

cryptonite.cabalH A D03-May-202217 KiB461432

README.md

1cryptonite
2==========
3
4[![Join the chat at https://gitter.im/vincenthz/cryptonite](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/vincenthz/cryptonite?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5[![Build Status](https://travis-ci.org/haskell-crypto/cryptonite.png?branch=master)](https://travis-ci.org/haskell-crypto/cryptonite)
6[![BSD](http://b.repl.ca/v1/license-BSD-blue.png)](http://en.wikipedia.org/wiki/BSD_licenses)
7[![Haskell](http://b.repl.ca/v1/language-haskell-lightgrey.png)](http://haskell.org)
8
9Cryptonite is a haskell repository of cryptographic primitives. Each crypto
10algorithm has specificities that are hard to wrap in common APIs and types,
11so instead of trying to provide a common ground for algorithms, this package
12provides a non-consistent low-level API.
13
14If you have no idea what you're doing, please do not use this directly.
15Instead, rely on higher level protocols or implementations.
16
17Documentation: [cryptonite on hackage](http://hackage.haskell.org/package/cryptonite)
18
19Stability
20---------
21
22Cryptonite APIs are stable, and we only strive to add, not change or remove.
23Note that because the API exposed is wide and also expose internals things (for
24power users and flexibility), certains APIs can be revised in extreme cases
25where we can't just add.
26
27Versioning
28----------
29
30Next version of `0.x` is `0.(x+1)`. There's no exceptions, or API related meaning
31behind the numbers.
32
33Each versions of stackage (going back 3 stable LTS) has a cryptonite version
34that we maintain with security fixes when necessary and are versioned with the
35following `0.x.y` scheme.
36
37Coding Style
38------------
39
40The coding style of this project mostly follows:
41[haskell-style](https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md)
42
43Support
44-------
45
46See [Haskell packages guidelines](https://github.com/vincenthz/haskell-pkg-guidelines/blob/master/README.md#support)
47
48Known Building Issues
49---------------------
50
51On OSX <= 10.7, the system compiler doesn't understand the '-maes' option, and
52with the lack of autodetection feature builtin in .cabal file, it is left on
53the user to disable the aesni. See the [Disabling AESNI] section
54
55Disabling AESNI
56---------------
57
58It may be useful to disable AESNI for building, testing or runtime purposes.
59This is achieved with the *support_aesni* flag.
60
61As part of configure of cryptonite:
62
63```
64  cabal configure --flag='-support_aesni'
65```
66
67or as part of an installation:
68
69```
70  cabal install --constraint="cryptonite -support_aesni"
71```
72
73For help with cabal flags, see: [stackoverflow : is there a way to define flags for cabal](http://stackoverflow.com/questions/23523869/is-there-any-way-to-define-flags-for-cabal-dependencies)
74
75Links
76-----
77
78* [ChaCha](http://cr.yp.to/chacha.html)
79* [ChaCha-test-vectors](https://github.com/secworks/chacha_testvectors.git)
80* [Poly1305](http://cr.yp.to/mac.html)
81* [Poly1305-test-vectors](http://tools.ietf.org/html/draft-nir-cfrg-chacha20-poly1305-06#page-12)
82* [Salsa](http://cr.yp.to/snuffle.html)
83* [Salsa128-test-vectors](https://github.com/alexwebr/salsa20/blob/master/test_vectors.128)
84* [Salsa256-test-vectors](https://github.com/alexwebr/salsa20/blob/master/test_vectors.256)
85* [XSalsa](https://cr.yp.to/snuffle/xsalsa-20081128.pdf)
86* [PBKDF2](http://tools.ietf.org/html/rfc2898)
87* [PBKDF2-test-vectors](http://www.ietf.org/rfc/rfc6070.txt)
88* [Scrypt](http://www.tarsnap.com/scrypt.html)
89* [Curve25519](http://cr.yp.to/ecdh.html)
90* [Ed25519](http://ed25519.cr.yp.to/papers.html)
91* [Ed448-Goldilocks](http://ed448goldilocks.sourceforge.net/)
92* [EdDSA-test-vectors](http://www.ietf.org/rfc/rfc8032.txt)
93* [AFIS](http://clemens.endorphin.org/cryptography)
94
95