HsOpenSSL-0.10.1.2: (Incomplete) OpenSSL binding for Haskell

OpenSSL.EVP.Cipher

Description

An interface to symmetric cipher algorithms.

Synopsis

Documentation

data Cipher Source

Cipher is an opaque object that represents an algorithm of symmetric cipher.

getCipherByName :: String -> IO (Maybe Cipher)Source

getCipherByName name returns a symmetric cipher algorithm whose name is name. If no algorithms are found, the result is Nothing.

getCipherNames :: IO [String]Source

getCipherNames returns a list of name of symmetric cipher algorithms.

data CryptoMode Source

CryptoMode represents instruction to cipher and such like.

Constructors

Encrypt 
Decrypt 

cipherSource

Arguments

:: Cipher

algorithm to use

-> String

symmetric key

-> String

IV

-> CryptoMode

operation

-> String

An input string to encrypt/decrypt. Note that the string must not contain any letters which aren't in the range of U+0000 - U+00FF.

-> IO String

the result string

cipher lazilly encrypts or decrypts a stream of data. The input string doesn't necessarily have to be finite.

cipherBSSource

Arguments

:: Cipher

algorithm to use

-> String

symmetric key

-> String

IV

-> CryptoMode

operation

-> ByteString

input string to encrypt/decrypt

-> IO ByteString

the result string

cipherBS strictly encrypts or decrypts a chunk of data.

cipherLBSSource

Arguments

:: Cipher

algorithm to use

-> String

symmetric key

-> String

IV

-> CryptoMode

operation

-> ByteString

input string to encrypt/decrypt

-> IO ByteString

the result string

cipherLBS lazilly encrypts or decrypts a stream of data. The input string doesn't necessarily have to be finite.

cipherStrictLBSSource

Arguments

:: Cipher

Cipher

-> ByteString

Key

-> ByteString

IV

-> CryptoMode

Encrypt/Decrypt

-> ByteString

Input

-> IO ByteString 

Encrypt a lazy bytestring in a strict manner. Does not leak the keys.