HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_ECurve Class Reference

#include <UT_ECurve.h>

Public Member Functions

 UT_ECurve ()
 
 UT_ECurve (const uint q[], const char *r, const char *a, const char *b, const char *gx, const char *gy)
 
void setQ (const uint q[])
 
void setR (int x)
 
void setR (const char *x)
 
void setR (const UT_VeryLong &x)
 
void setA (int x)
 
void setA (const char *x)
 
void setA (const UT_PolyField &x)
 
void setB (int x)
 
void setB (const char *x)
 
void setB (const UT_PolyField &x)
 
void setGx (int x)
 
void setGx (const char *x)
 
void setGx (const UT_PolyField &x)
 
void setGy (int x)
 
void setGy (const char *x)
 
void setGy (const UT_PolyField &x)
 
const UT_VeryLonggetR () const
 
const UT_PolyFieldgetQ () const
 
const UT_PolyFieldgetA () const
 
const UT_PolyFieldgetB () const
 
const UT_PolyFieldgetGx () const
 
const UT_PolyFieldgetGy () const
 
void generateRandom (UT_VeryLong &r, const uint *seed, uint seedlen) const
 
bool generateRandomRaw (UT_VeryLong &r, const uint *seed, uint len) const
 
void generatePublic (UT_PolyField &pubx, UT_PolyField &puby, const UT_VeryLong &key) const
 
bool dsa (UT_VeryLong &acode, UT_VeryLong &bcode, const UT_VeryLong &key, const UT_VeryLong &r, const UT_VeryLong &m) const
 
void partialDSA (UT_VeryLong &code, const UT_VeryLong &key, const UT_VeryLong &rnd) const
 
bool verify (const UT_VeryLong &m, const UT_VeryLong &code, const UT_VeryLong &codeb, const UT_PolyField &pubx, const UT_PolyField &puby) const
 
void dump (int base=16) const
 

Detailed Description

Definition at line 22 of file UT_ECurve.h.

Constructor & Destructor Documentation

UT_ECurve::UT_ECurve ( )
inline

Definition at line 24 of file UT_ECurve.h.

UT_ECurve::UT_ECurve ( const uint  q[],
const char *  r,
const char *  a,
const char *  b,
const char *  gx,
const char *  gy 
)
inline

Definition at line 25 of file UT_ECurve.h.

Member Function Documentation

bool UT_ECurve::dsa ( UT_VeryLong acode,
UT_VeryLong bcode,
const UT_VeryLong key,
const UT_VeryLong r,
const UT_VeryLong m 
) const
void UT_ECurve::dump ( int  base = 16) const
void UT_ECurve::generatePublic ( UT_PolyField pubx,
UT_PolyField puby,
const UT_VeryLong key 
) const
void UT_ECurve::generateRandom ( UT_VeryLong r,
const uint seed,
uint  seedlen 
) const
bool UT_ECurve::generateRandomRaw ( UT_VeryLong r,
const uint seed,
uint  len 
) const
const UT_PolyField& UT_ECurve::getA ( ) const
inline

Definition at line 75 of file UT_ECurve.h.

const UT_PolyField& UT_ECurve::getB ( ) const
inline

Definition at line 76 of file UT_ECurve.h.

const UT_PolyField& UT_ECurve::getGx ( ) const
inline

Definition at line 77 of file UT_ECurve.h.

const UT_PolyField& UT_ECurve::getGy ( ) const
inline

Definition at line 78 of file UT_ECurve.h.

const UT_PolyField& UT_ECurve::getQ ( ) const
inline

Definition at line 74 of file UT_ECurve.h.

const UT_VeryLong& UT_ECurve::getR ( ) const
inline

Definition at line 73 of file UT_ECurve.h.

void UT_ECurve::partialDSA ( UT_VeryLong code,
const UT_VeryLong key,
const UT_VeryLong rnd 
) const
void UT_ECurve::setA ( int  x)
inline

Definition at line 60 of file UT_ECurve.h.

void UT_ECurve::setA ( const char *  x)
inline

Definition at line 61 of file UT_ECurve.h.

void UT_ECurve::setA ( const UT_PolyField x)
inline

Definition at line 62 of file UT_ECurve.h.

void UT_ECurve::setB ( int  x)
inline

Definition at line 63 of file UT_ECurve.h.

void UT_ECurve::setB ( const char *  x)
inline

Definition at line 64 of file UT_ECurve.h.

void UT_ECurve::setB ( const UT_PolyField x)
inline

Definition at line 65 of file UT_ECurve.h.

void UT_ECurve::setGx ( int  x)
inline

Definition at line 66 of file UT_ECurve.h.

void UT_ECurve::setGx ( const char *  x)
inline

Definition at line 67 of file UT_ECurve.h.

void UT_ECurve::setGx ( const UT_PolyField x)
inline

Definition at line 68 of file UT_ECurve.h.

void UT_ECurve::setGy ( int  x)
inline

Definition at line 69 of file UT_ECurve.h.

void UT_ECurve::setGy ( const char *  x)
inline

Definition at line 70 of file UT_ECurve.h.

void UT_ECurve::setGy ( const UT_PolyField x)
inline

Definition at line 71 of file UT_ECurve.h.

void UT_ECurve::setQ ( const uint  q[])
inline

Definition at line 41 of file UT_ECurve.h.

void UT_ECurve::setR ( int  x)
inline

Definition at line 57 of file UT_ECurve.h.

void UT_ECurve::setR ( const char *  x)
inline

Definition at line 58 of file UT_ECurve.h.

void UT_ECurve::setR ( const UT_VeryLong x)
inline

Definition at line 59 of file UT_ECurve.h.

bool UT_ECurve::verify ( const UT_VeryLong m,
const UT_VeryLong code,
const UT_VeryLong codeb,
const UT_PolyField pubx,
const UT_PolyField puby 
) const

The documentation for this class was generated from the following file: