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

From HaskellWiki

m (updated link) |
(Replaced library whose domain was taken over) |
||

(3 intermediate revisions by 2 users not shown) | |||

Line 2: | Line 2: | ||

== 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. |
||

− | ;[http://www.netsuperbrain.com/rsa-haskell.html RSA-Haskell] |
||

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

− | :A number theory library, RSA library, and RSA programs. |
||

+ | :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] |

## 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.*