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