Public Member Functions |
| ModularArithmetic (const Integer &modulus=Integer::One()) |
| ModularArithmetic (const ModularArithmetic &ma) |
const Integer & | GetModulus () const |
void | SetModulus (const Integer &newModulus) |
virtual bool | IsMontgomeryRepresentation () const |
virtual Integer | ConvertIn (const Integer &a) const |
virtual Integer | ConvertOut (const Integer &a) const |
const Integer & | Half (const Integer &a) const |
bool | Equal (const Integer &a, const Integer &b) const |
const Integer & | Identity () const |
const Integer & | Add (const Integer &a, const Integer &b) const |
Integer & | Accumulate (Integer &a, const Integer &b) const |
const Integer & | Inverse (const Integer &a) const |
const Integer & | Subtract (const Integer &a, const Integer &b) const |
Integer & | Reduce (Integer &a, const Integer &b) const |
const Integer & | Double (const Integer &a) const |
const Integer & | MultiplicativeIdentity () const |
const Integer & | Multiply (const Integer &a, const Integer &b) const |
const Integer & | Square (const Integer &a) const |
bool | IsUnit (const Integer &a) const |
const Integer & | MultiplicativeInverse (const Integer &a) const |
const Integer & | Divide (const Integer &a, const Integer &b) const |
Integer | CascadeExponentiate (const Integer &x, const Integer &e1, const Integer &y, const Integer &e2) const |
void | SimultaneousExponentiate (Element *results, const Element &base, const Integer *exponents, unsigned int exponentsCount) const |
unsigned int | MaxElementBitLength () const |
unsigned int | MaxElementByteLength () const |
| AbstractRing (const AbstractRing &source) |
AbstractRing & | operator= (const AbstractRing &source) |
virtual Element | Exponentiate (const Element &a, const Integer &e) const |
virtual const AbstractGroup & | MultiplicativeGroup () const |
virtual bool | InversionIsFast () const |
virtual Element | ScalarMultiply (const Element &a, const Integer &e) const |
virtual Element | CascadeScalarMultiply (const Element &x, const Integer &e1, const Element &y, const Integer &e2) const |
virtual void | SimultaneousMultiply (Element *results, const Element &base, const Integer *exponents, unsigned int exponentsCount) const |
Definition at line 33 of file modarith.hpp.