1*3ff48bf5SDavid du Colombier #include "os.h" 2*3ff48bf5SDavid du Colombier #include <mp.h> 3*3ff48bf5SDavid du Colombier #include <libsec.h> 4*3ff48bf5SDavid du Colombier 5*3ff48bf5SDavid du Colombier DSApub* 6*3ff48bf5SDavid du Colombier dsapuballoc(void) 7*3ff48bf5SDavid du Colombier { 8*3ff48bf5SDavid du Colombier DSApub *dsa; 9*3ff48bf5SDavid du Colombier 10*3ff48bf5SDavid du Colombier dsa = mallocz(sizeof(*dsa), 1); 11*3ff48bf5SDavid du Colombier if(dsa == nil) 12*3ff48bf5SDavid du Colombier sysfatal("dsapuballoc"); 13*3ff48bf5SDavid du Colombier return dsa; 14*3ff48bf5SDavid du Colombier } 15*3ff48bf5SDavid du Colombier 16*3ff48bf5SDavid du Colombier void 17*3ff48bf5SDavid du Colombier dsapubfree(DSApub *dsa) 18*3ff48bf5SDavid du Colombier { 19*3ff48bf5SDavid du Colombier if(dsa == nil) 20*3ff48bf5SDavid du Colombier return; 21*3ff48bf5SDavid du Colombier mpfree(dsa->p); 22*3ff48bf5SDavid du Colombier mpfree(dsa->q); 23*3ff48bf5SDavid du Colombier mpfree(dsa->alpha); 24*3ff48bf5SDavid du Colombier mpfree(dsa->key); 25*3ff48bf5SDavid du Colombier } 26*3ff48bf5SDavid du Colombier 27*3ff48bf5SDavid du Colombier 28*3ff48bf5SDavid du Colombier DSApriv* 29*3ff48bf5SDavid du Colombier dsaprivalloc(void) 30*3ff48bf5SDavid du Colombier { 31*3ff48bf5SDavid du Colombier DSApriv *dsa; 32*3ff48bf5SDavid du Colombier 33*3ff48bf5SDavid du Colombier dsa = mallocz(sizeof(*dsa), 1); 34*3ff48bf5SDavid du Colombier if(dsa == nil) 35*3ff48bf5SDavid du Colombier sysfatal("dsaprivalloc"); 36*3ff48bf5SDavid du Colombier return dsa; 37*3ff48bf5SDavid du Colombier } 38*3ff48bf5SDavid du Colombier 39*3ff48bf5SDavid du Colombier void 40*3ff48bf5SDavid du Colombier dsaprivfree(DSApriv *dsa) 41*3ff48bf5SDavid du Colombier { 42*3ff48bf5SDavid du Colombier if(dsa == nil) 43*3ff48bf5SDavid du Colombier return; 44*3ff48bf5SDavid du Colombier mpfree(dsa->pub.p); 45*3ff48bf5SDavid du Colombier mpfree(dsa->pub.q); 46*3ff48bf5SDavid du Colombier mpfree(dsa->pub.alpha); 47*3ff48bf5SDavid du Colombier mpfree(dsa->pub.key); 48*3ff48bf5SDavid du Colombier mpfree(dsa->secret); 49*3ff48bf5SDavid du Colombier } 50*3ff48bf5SDavid du Colombier 51*3ff48bf5SDavid du Colombier DSAsig* 52*3ff48bf5SDavid du Colombier dsasigalloc(void) 53*3ff48bf5SDavid du Colombier { 54*3ff48bf5SDavid du Colombier DSAsig *dsa; 55*3ff48bf5SDavid du Colombier 56*3ff48bf5SDavid du Colombier dsa = mallocz(sizeof(*dsa), 1); 57*3ff48bf5SDavid du Colombier if(dsa == nil) 58*3ff48bf5SDavid du Colombier sysfatal("dsasigalloc"); 59*3ff48bf5SDavid du Colombier return dsa; 60*3ff48bf5SDavid du Colombier } 61*3ff48bf5SDavid du Colombier 62*3ff48bf5SDavid du Colombier void 63*3ff48bf5SDavid du Colombier dsasigfree(DSAsig *dsa) 64*3ff48bf5SDavid du Colombier { 65*3ff48bf5SDavid du Colombier if(dsa == nil) 66*3ff48bf5SDavid du Colombier return; 67*3ff48bf5SDavid du Colombier mpfree(dsa->r); 68*3ff48bf5SDavid du Colombier mpfree(dsa->s); 69*3ff48bf5SDavid du Colombier } 70