Data.HMAC

Crypto-4.2.5.1: Collects together existing Haskell cryptographic functions into a package

Copyright | (c) Greg Heartsfield 2007
License | BSD-style (see the file ReadMe.tex)
Safe Haskell | Safe
Language | Haskell98

Data.HMAC

Contents

- Function Types
- Data Types

Description

Implements HMAC (hashed message authentication code) as defined in FIPS 198 http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf.

Synopsis

- hmac :: HashMethod -> [Octet] -> [Octet] -> [Octet]
- hmac_sha1 :: [Octet] -> [Octet] -> [Octet]
- hmac_md5 :: [Octet] -> [Octet] -> [Octet]
- data HashMethod = HashMethod {
  - digest :: [Octet] -> [Octet]
  - input_blocksize :: Int
  }

# Function Types

hmac

Arguments

:: HashMethod | Hash function and associated block size
-> [Octet] | Secret key
-> [Octet] | Message text
-> [Octet] | Resulting HMAC value

Generalized function for creating HMACs on a specified hash function.

hmac_sha1

Arguments

:: [Octet] | Secret key
-> [Octet] | Message text
-> [Octet] | Resulting HMAC-SHA1 value

Compute an HMAC using SHA-1 as the underlying hash function.

hmac_md5

Arguments

:: [Octet] | Secret key
-> [Octet] | Message text
-> [Octet] | Resulting HMAC-MD5 value

Compute an HMAC using MD5 as the underlying hash function.

# Data Types

data HashMethod

HMAC works over any hash function, which is represented by HashMethod. A hash function and input block size must be specified.

Constructors

HashMethod |
Fields digest :: [Octet] -> [Octet] An arbitrary hash function input_blocksize :: Int Bit size of an input block to the hash function