13ff48bf5SDavid du Colombier #include "os.h" 23ff48bf5SDavid du Colombier #include <mp.h> 33ff48bf5SDavid du Colombier #include <libsec.h> 43ff48bf5SDavid du Colombier 53ff48bf5SDavid du Colombier DSApub* dsapuballoc(void)63ff48bf5SDavid du Colombierdsapuballoc(void) 73ff48bf5SDavid du Colombier { 83ff48bf5SDavid du Colombier DSApub *dsa; 93ff48bf5SDavid du Colombier 103ff48bf5SDavid du Colombier dsa = mallocz(sizeof(*dsa), 1); 113ff48bf5SDavid du Colombier if(dsa == nil) 123ff48bf5SDavid du Colombier sysfatal("dsapuballoc"); 133ff48bf5SDavid du Colombier return dsa; 143ff48bf5SDavid du Colombier } 153ff48bf5SDavid du Colombier 163ff48bf5SDavid du Colombier void dsapubfree(DSApub * dsa)173ff48bf5SDavid du Colombierdsapubfree(DSApub *dsa) 183ff48bf5SDavid du Colombier { 193ff48bf5SDavid du Colombier if(dsa == nil) 203ff48bf5SDavid du Colombier return; 213ff48bf5SDavid du Colombier mpfree(dsa->p); 223ff48bf5SDavid du Colombier mpfree(dsa->q); 233ff48bf5SDavid du Colombier mpfree(dsa->alpha); 243ff48bf5SDavid du Colombier mpfree(dsa->key); 25*39734e7eSDavid du Colombier free(dsa); 263ff48bf5SDavid du Colombier } 273ff48bf5SDavid du Colombier 283ff48bf5SDavid du Colombier 293ff48bf5SDavid du Colombier DSApriv* dsaprivalloc(void)303ff48bf5SDavid du Colombierdsaprivalloc(void) 313ff48bf5SDavid du Colombier { 323ff48bf5SDavid du Colombier DSApriv *dsa; 333ff48bf5SDavid du Colombier 343ff48bf5SDavid du Colombier dsa = mallocz(sizeof(*dsa), 1); 353ff48bf5SDavid du Colombier if(dsa == nil) 363ff48bf5SDavid du Colombier sysfatal("dsaprivalloc"); 373ff48bf5SDavid du Colombier return dsa; 383ff48bf5SDavid du Colombier } 393ff48bf5SDavid du Colombier 403ff48bf5SDavid du Colombier void dsaprivfree(DSApriv * dsa)413ff48bf5SDavid du Colombierdsaprivfree(DSApriv *dsa) 423ff48bf5SDavid du Colombier { 433ff48bf5SDavid du Colombier if(dsa == nil) 443ff48bf5SDavid du Colombier return; 453ff48bf5SDavid du Colombier mpfree(dsa->pub.p); 463ff48bf5SDavid du Colombier mpfree(dsa->pub.q); 473ff48bf5SDavid du Colombier mpfree(dsa->pub.alpha); 483ff48bf5SDavid du Colombier mpfree(dsa->pub.key); 493ff48bf5SDavid du Colombier mpfree(dsa->secret); 50*39734e7eSDavid du Colombier free(dsa); 513ff48bf5SDavid du Colombier } 523ff48bf5SDavid du Colombier 533ff48bf5SDavid du Colombier DSAsig* dsasigalloc(void)543ff48bf5SDavid du Colombierdsasigalloc(void) 553ff48bf5SDavid du Colombier { 563ff48bf5SDavid du Colombier DSAsig *dsa; 573ff48bf5SDavid du Colombier 583ff48bf5SDavid du Colombier dsa = mallocz(sizeof(*dsa), 1); 593ff48bf5SDavid du Colombier if(dsa == nil) 603ff48bf5SDavid du Colombier sysfatal("dsasigalloc"); 613ff48bf5SDavid du Colombier return dsa; 623ff48bf5SDavid du Colombier } 633ff48bf5SDavid du Colombier 643ff48bf5SDavid du Colombier void dsasigfree(DSAsig * dsa)653ff48bf5SDavid du Colombierdsasigfree(DSAsig *dsa) 663ff48bf5SDavid du Colombier { 673ff48bf5SDavid du Colombier if(dsa == nil) 683ff48bf5SDavid du Colombier return; 693ff48bf5SDavid du Colombier mpfree(dsa->r); 703ff48bf5SDavid du Colombier mpfree(dsa->s); 71*39734e7eSDavid du Colombier free(dsa); 723ff48bf5SDavid du Colombier } 73