www.pudn.com > miracl.zip > EBRICK.H


/* 
 *    MIRACL  C++ Header file ebrick.h 
 * 
 *    AUTHOR  : M. Scott 
 *   
 *    PURPOSE : Definition of class EBrick   
 *              Brickell et al's method for fast exponentiation with  
 *              precomputation - elliptic curve version GF(p) 
 *    NOTE    : Must be used in conjunction with big.cpp 
 *                 
 *    Copyright (c) 1988-1999 Shamus Software Ltd. 
 */ 
 
#ifndef EBRICK_H 
#define EBRICK_H 
 
#include  
 
class EBrick  
{  
    BOOL created; 
    ebrick B; 
public: 
    EBrick(Big x,Big y,Big a,Big b,Big n,int nb)  
    {ebrick_init(&B,x.getbig(),y.getbig(),a.getbig(),b.getbig(),n.getbig(),nb); 
     created=TRUE;} 
     
    EBrick(ebrick *b) {B=*b; created=FALSE;}  /* set structure */ 
 
    ebrick *get(void) {return &B;} /* get address of structure */ 
 
    int mul(Big &e,Big &x,Big &y) {int d=mul_brick(&B,e.getbig(),x.getbig(),y.getbig()); return d;}        
 
    ~EBrick() {if (created) ebrick_end(&B);} 
}; 
 
#endif