# Difference between revisions of "Applications and libraries/Cryptography"

From HaskellWiki

DonStewart (talk | contribs) (updated) |
(Replaced library whose domain was taken over) |
||

(6 intermediate revisions by 4 users not shown) | |||

Line 1: | Line 1: | ||

{{LibrariesPage}} |
{{LibrariesPage}} |
||

− | == Cryptography and hashing libraries == |
||

+ | == Libraries == |
||

+ | See the [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:cryptography Hackage Cryptography] section for a list of current libraries. |
||

+ | |||

+ | ;[http://hackage.haskell.org/package/crypto-api Crypto-API] |
||

+ | : A generic interface (type classes) for cryptographic algorithms, modes of operation, random number generation, and entropy acquisition. |
||

+ | |||

+ | ; [http://hackage.haskell.org/package/cryptocipher CryptoCipher] |
||

+ | : A growing collection of pure haskell implementation of ciphers (AES, Camellia, RC4) and key exchange algorithms (RSA, DH, DSA). |
||

+ | |||

+ | ; [http://hackage.haskell.org/package/cryptohash CryptoHash] |
||

+ | : A very fast implementation of most common crypto hashes algorithms (MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512, SHA512-t, RIPEMD160, SKEIN256, SKEIN512). |
||

+ | |||

+ | ; [http://hackage.haskell.org/package/DRBG DRBG] |
||

+ | : Deterministic random bit generators (aka PRNGs) based on NIST SP 800-90. |
||

+ | |||

+ | ; [http://hackage.haskell.org/package/hecc hecc] |
||

+ | : Elliptical curve cryptography |
||

+ | |||

+ | ; [http://hackage.haskell.org/package/pwstore-fast PWStore-Fast] |
||

+ | : Fast, safe, password storage. |
||

+ | |||

+ | ; [http://hackage.haskell.org/package/cpsa CPSA] |
||

+ | : The Cryptographic Protocol Shape Analyzer uses Strand Space to validate protocols. |
||

;[http://www.haskell.org/crypto The Haskell Cryptographic Library] |
;[http://www.haskell.org/crypto The Haskell Cryptographic Library] |
||

:A library of cryptographic functions collected together in one package. |
:A library of cryptographic functions collected together in one package. |
||

− | ;[ |
+ | ;[https://hackage.haskell.org/package/RSA RSA] |

− | : |
+ | :The library implements the RSA encryption and signature algorithms for arbitrarily-sized ByteStrings. |

;[http://web.comlab.ox.ac.uk/oucl/work/ian.lynagh/ Implementations of MD5, SHA1 and DES] |
;[http://web.comlab.ox.ac.uk/oucl/work/ian.lynagh/ Implementations of MD5, SHA1 and DES] |
||

Line 19: | Line 41: | ||

;[http://web.comlab.ox.ac.uk/oucl/work/ian.lynagh/HazGuard/ HazGuard] |
;[http://web.comlab.ox.ac.uk/oucl/work/ian.lynagh/HazGuard/ HazGuard] |
||

:An (incomplete) implementation of OpenPGP in Haskell. |
:An (incomplete) implementation of OpenPGP in Haskell. |
||

+ | |||

+ | {{LibrariesPage}} |

## Latest revision as of 18:51, 16 May 2018

*This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Applications and libraries.*

## Libraries

See the Hackage Cryptography section for a list of current libraries.

- Crypto-API
- A generic interface (type classes) for cryptographic algorithms, modes of operation, random number generation, and entropy acquisition.

- CryptoCipher
- A growing collection of pure haskell implementation of ciphers (AES, Camellia, RC4) and key exchange algorithms (RSA, DH, DSA).

- CryptoHash
- A very fast implementation of most common crypto hashes algorithms (MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512, SHA512-t, RIPEMD160, SKEIN256, SKEIN512).

- DRBG
- Deterministic random bit generators (aka PRNGs) based on NIST SP 800-90.

- hecc
- Elliptical curve cryptography

- PWStore-Fast
- Fast, safe, password storage.

- CPSA
- The Cryptographic Protocol Shape Analyzer uses Strand Space to validate protocols.

- The Haskell Cryptographic Library
- A library of cryptographic functions collected together in one package.

- RSA
- The library implements the RSA encryption and signature algorithms for arbitrarily-sized ByteStrings.

- PAM authentication
- PAM (Pluggable Authentication Modules) is a library that makes the task of authenticating a user easier for application developers. Instead of writing a backend for every authentication library (kerberos, shadow, ldap etc.) you only have to write an interface for pam.

- Shaskell
- A SHA2 library for sha256 and sha512 hashes, written in pure Haskell.

- HazGuard
- An (incomplete) implementation of OpenPGP in Haskell.

*This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Applications and libraries.*