-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | F(2^e) math for cryptography -- -- This library implements polynomials on Binary Fields F(2^e), a subform -- of Finite Fields F(p^n) also known as Galois Fields GF(p^n). It is -- intended as a backend for cryptographic use and the code should be -- timing attack resistant. @package hF2 @version 0.2 -- | A hopefully timing attack resistant F(2^e) backend, i.e. binary -- representation polynomial arithmetic The presented interface is Big -- Endian, like Data.Bits All indices are [0 .. (length - 1)] TODO: -- further optimization module Data.F2 -- | F2 consist of an exact length of meaningful bits an a representation -- of those bits in a possibly larger Vector of Words, Note: The vectors -- use small to large indices, but the Data.Word endianness is of no -- concern as it is hidden by Data.Bits data F2 -- | The power function on F2 pow :: F2 -> Integer -> F2 -- | conversion to Integer toInteger :: F2 -> Integer -- | O(1), a simple Test for the LSB even :: F2 -> Bool -- | O(1), a simple Test for the LSB odd :: F2 -> Bool -- | Polynomial reduction, a.k.a. modulo on polynomials mod :: F2 -> F2 -> F2 -- | Polynomial division, needs 3 parameters instead of 2, computing k/f -- mod m by binary inversion of f in m div :: F2 -> F2 -> F2 -> F2 -- | binary inversion of f in m bininv :: F2 -> F2 -> F2 instance Show F2 instance Bits F2 instance Num F2 instance Serialize F2 instance Eq F2