# Applications and libraries/Cryptography

### From HaskellWiki

< Applications and libraries(Difference between revisions)

DonStewart (Talk | contribs) (updated) |
m |
||

(5 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. |
||

− | ;[http://www.cif.rochester.edu/~sankeld/RSA/ RSA] |
+ | ;[http://www.netsuperbrain.com/rsa-haskell.html RSA-Haskell] |

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

Line 19: | Line 19: | ||

;[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 16:52, 30 June 2011

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

## [edit] 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-Haskell
- A number theory library, RSA library, and RSA programs.

- 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 Libraries and tools.*