Crypto.KDF.BCryptPBKDF

crypton-1.0.1: Cryptography Primitives sink

License | BSD-style
Stability | experimental
Portability | Good
Safe Haskell | None
Language | Haskell2010

Crypto.KDF.BCryptPBKDF

Description

Port of the bcrypt_pbkdf key derivation function from OpenBSD as described at http://man.openbsd.org/bcrypt_pbkdf.3.

Synopsis

- data Parameters = Parameters {
  - iterCounts :: Int
  - outputLength :: Int
  }
- generate :: (ByteArray pass, ByteArray salt, ByteArray output) => Parameters -> pass -> salt -> output
- hashInternal :: (ByteArrayAccess pass, ByteArrayAccess salt, ByteArray output) => pass -> salt -> output

# Documentation

data Parameters #

Constructors

Parameters |
Fields iterCounts :: Int The number of user-defined iterations for the algorithm (must be > 0) outputLength :: Int The number of bytes to generate out of BCryptPBKDF (must be in 1..1024)

#### Instances

Instances details

Show Parameters # |
Instance details Defined in Crypto.KDF.BCryptPBKDF Methods showsPrec :: Int -> Parameters -> ShowS # show :: Parameters -> String # showList :: [Parameters] -> ShowS #
Eq Parameters # |
Instance details Defined in Crypto.KDF.BCryptPBKDF Methods (==) :: Parameters -> Parameters -> Bool # (/=) :: Parameters -> Parameters -> Bool #
Ord Parameters # |
Instance details Defined in Crypto.KDF.BCryptPBKDF Methods compare :: Parameters -> Parameters -> Ordering # (<) :: Parameters -> Parameters -> Bool # (<=) :: Parameters -> Parameters -> Bool # (>) :: Parameters -> Parameters -> Bool # (>=) :: Parameters -> Parameters -> Bool # max :: Parameters -> Parameters -> Parameters # min :: Parameters -> Parameters -> Parameters #

generate :: (ByteArray pass, ByteArray salt, ByteArray output) => Parameters -> pass -> salt -> output #

Derive a key of specified length using the bcrypt_pbkdf algorithm.

hashInternal :: (ByteArrayAccess pass, ByteArrayAccess salt, ByteArray output) => pass -> salt -> output #

Internal hash function used by `generate`.

Normal users should not need this.