Crypto.Data.Padding

cryptonite-0.19: Cryptography Primitives sink

License | BSD-style
Maintainer | Vincent Hanquez <vincent@snarc.org>
Stability | experimental
Portability | unknown
Safe Haskell | None
Language | Haskell2010

Crypto.Data.Padding

Description

Various cryptographic padding commonly used for block ciphers or assymetric systems.

Synopsis

- data Format
  - = PKCS5
  - | PKCS7 Int
  - | ZERO Int
- pad :: ByteArray byteArray => Format -> byteArray -> byteArray
- unpad :: ByteArray byteArray => Format -> byteArray -> Maybe byteArray

# Documentation

data Format #

Format of padding

Constructors

PKCS5 | PKCS5: PKCS7 with hardcoded size of 8
PKCS7 Int | PKCS7 with padding size between 1 and 255
ZERO Int | zero padding with block size

Instances

Eq Format # |
Methods (==) :: Format -> Format -> Bool # (/=) :: Format -> Format -> Bool #
Show Format # |
Methods showsPrec :: Int -> Format -> ShowS # show :: Format -> String # showList :: [Format] -> ShowS #

pad :: ByteArray byteArray => Format -> byteArray -> byteArray #

Apply some pad to a bytearray

unpad :: ByteArray byteArray => Format -> byteArray -> Maybe byteArray #

Try to remove some padding from a bytearray.