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

Copyright | (c) Dominic Steinitz 2004
License | BSD-style (see the file ReadMe.tex)
Maintainer | dominic.steinitz@blueyonder.co.uk
Stability | experimental
Portability | portable
Safe Haskell | Safe
Language | Haskell98

Data.LargeWord

Description

Provides Word128, Word192 and Word256 and a way of producing other large words if required.

# Documentation

data LargeKey a b Source #

Instances

AESKey Word256 Source # |
AESKey Word192 Source # |
AESKey Word128 Source # |
(Ord a, Bits a, Bounded a, Integral a, LargeWord a, Bits b, Bounded b, Integral b, LargeWord b) => Bounded (LargeKey a b) Source # |
Methods minBound :: LargeKey a b # maxBound :: LargeKey a b #
Enum (LargeKey a b) Source # |

Methods

succ :: LargeKey a b -> LargeKey a b #

pred :: LargeKey a b -> LargeKey a b #

toEnum :: Int -> LargeKey a b #

fromEnum :: LargeKey a b -> Int #

enumFrom :: LargeKey a b -> [LargeKey a b] #

enumFromThen :: LargeKey a b -> LargeKey a b -> [LargeKey a b] #

enumFromTo :: LargeKey a b -> LargeKey a b -> [LargeKey a b] #

enumFromThenTo :: LargeKey a b -> LargeKey a b -> LargeKey a b -> [LargeKey a b] #

(Eq b, Eq a) => Eq (LargeKey a b) Source # |
Methods (==) :: LargeKey a b -> LargeKey a b -> Bool # (/=) :: LargeKey a b -> LargeKey a b -> Bool #
(Ord a, Bits a, LargeWord a, Ord b, Bits b, LargeWord b) => Integral (LargeKey a b) Source # |

Methods

quot :: LargeKey a b -> LargeKey a b -> LargeKey a b #

rem :: LargeKey a b -> LargeKey a b -> LargeKey a b #

div :: LargeKey a b -> LargeKey a b -> LargeKey a b #

mod :: LargeKey a b -> LargeKey a b -> LargeKey a b #

quotRem :: LargeKey a b -> LargeKey a b -> (LargeKey a b, LargeKey a b) #

divMod :: LargeKey a b -> LargeKey a b -> (LargeKey a b, LargeKey a b) #

toInteger :: LargeKey a b -> Integer #

(Ord a, Bits a, LargeWord a, Bits b, LargeWord b) => Num (LargeKey a b) Source # |
Methods (+) :: LargeKey a b -> LargeKey a b -> LargeKey a b # (-) :: LargeKey a b -> LargeKey a b -> LargeKey a b # (*) :: LargeKey a b -> LargeKey a b -> LargeKey a b # negate :: LargeKey a b -> LargeKey a b # abs :: LargeKey a b -> LargeKey a b # signum :: LargeKey a b -> LargeKey a b # fromInteger :: Integer -> LargeKey a b #
(Ord b, Ord a) => Ord (LargeKey a b) Source # |
Methods compare :: LargeKey a b -> LargeKey a b -> Ordering # (<) :: LargeKey a b -> LargeKey a b -> Bool # (<=) :: LargeKey a b -> LargeKey a b -> Bool # (>) :: LargeKey a b -> LargeKey a b -> Bool # (>=) :: LargeKey a b -> LargeKey a b -> Bool # max :: LargeKey a b -> LargeKey a b -> LargeKey a b # min :: LargeKey a b -> LargeKey a b -> LargeKey a b #
(Ord a, Bits a, LargeWord a, Ord b, Bits b, LargeWord b) => Real (LargeKey a b) Source # |
Methods toRational :: LargeKey a b -> Rational #
(Ord a, Bits a, LargeWord a, Bits b, LargeWord b) => Show (LargeKey a b) Source # |
Methods showsPrec :: Int -> LargeKey a b -> ShowS # show :: LargeKey a b -> String # showList :: [LargeKey a b] -> ShowS #
(Ord a, Bits a, LargeWord a, Bits b, LargeWord b) => Bits (LargeKey a b) Source # |

Methods

(.&.) :: LargeKey a b -> LargeKey a b -> LargeKey a b #

(.|.) :: LargeKey a b -> LargeKey a b -> LargeKey a b #

xor :: LargeKey a b -> LargeKey a b -> LargeKey a b #

complement :: LargeKey a b -> LargeKey a b #

shift :: LargeKey a b -> Int -> LargeKey a b #

rotate :: LargeKey a b -> Int -> LargeKey a b #

zeroBits :: LargeKey a b #

bit :: Int -> LargeKey a b #

setBit :: LargeKey a b -> Int -> LargeKey a b #

clearBit :: LargeKey a b -> Int -> LargeKey a b #

complementBit :: LargeKey a b -> Int -> LargeKey a b #

testBit :: LargeKey a b -> Int -> Bool #

bitSizeMaybe :: LargeKey a b -> Maybe Int #

bitSize :: LargeKey a b -> Int #

isSigned :: LargeKey a b -> Bool #

shiftL :: LargeKey a b -> Int -> LargeKey a b #

unsafeShiftL :: LargeKey a b -> Int -> LargeKey a b #

shiftR :: LargeKey a b -> Int -> LargeKey a b #

unsafeShiftR :: LargeKey a b -> Int -> LargeKey a b #

rotateL :: LargeKey a b -> Int -> LargeKey a b #

rotateR :: LargeKey a b -> Int -> LargeKey a b #

popCount :: LargeKey a b -> Int #

type Word96 = LargeKey Word32 Word64 Source #

type Word128 = LargeKey Word64 Word64 Source #

type Word160 = LargeKey Word32 Word128 Source #

type Word192 = LargeKey Word64 Word128 Source #

type Word224 = LargeKey Word32 Word192 Source #

type Word256 = LargeKey Word64 Word192 Source #