6#ifndef CRYPTOPP_GF2_32_H
7#define CRYPTOPP_GF2_32_H
20 typedef int RandomizationParameter;
22 GF2_32(
word32 modulus=0x0000008D) : m_modulus(modulus) {}
27 bool Equal(Element a, Element b)
const
33 Element Add(Element a, Element b)
const
36 Element& Accumulate(Element &a, Element b)
const
39 Element Inverse(Element a)
const
42 Element Subtract(Element a, Element b)
const
45 Element& Reduce(Element &a, Element b)
const
48 Element Double(Element a)
const
49 {CRYPTOPP_UNUSED(a);
return 0;}
51 Element MultiplicativeIdentity()
const
54 Element Multiply(Element a, Element b)
const;
56 Element
Square(Element a)
const
57 {
return Multiply(a, a);}
59 bool IsUnit(Element a)
const
62 Element MultiplicativeInverse(Element a)
const;
64 Element Divide(Element a, Element b)
const
65 {
return Multiply(a, MultiplicativeInverse(b));}
GF(2^32) with polynomial basis.
Interface for random number generators.
virtual word32 GenerateWord32(word32 min=0, word32 max=0xffffffffUL)
Generate a random 32 bit word in the range min to max, inclusive.
unsigned int word32
32-bit unsigned datatype
Abstract base classes that provide a uniform interface to this library.
Utility functions for the Crypto++ library.
Crypto++ library namespace.
const char * Identity()
ConstByteArrayParameter.
Classes and functions for secure memory allocations.