plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

dsaalloc.c (900B)


      1 #include "os.h"
      2 #include <mp.h>
      3 #include <libsec.h>
      4 
      5 DSApub*
      6 dsapuballoc(void)
      7 {
      8 	DSApub *dsa;
      9 
     10 	dsa = mallocz(sizeof(*dsa), 1);
     11 	if(dsa == nil)
     12 		sysfatal("dsapuballoc");
     13 	return dsa;
     14 }
     15 
     16 void
     17 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 }
     27 
     28 
     29 DSApriv*
     30 dsaprivalloc(void)
     31 {
     32 	DSApriv *dsa;
     33 
     34 	dsa = mallocz(sizeof(*dsa), 1);
     35 	if(dsa == nil)
     36 		sysfatal("dsaprivalloc");
     37 	return dsa;
     38 }
     39 
     40 void
     41 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 }
     52 
     53 DSAsig*
     54 dsasigalloc(void)
     55 {
     56 	DSAsig *dsa;
     57 
     58 	dsa = mallocz(sizeof(*dsa), 1);
     59 	if(dsa == nil)
     60 		sysfatal("dsasigalloc");
     61 	return dsa;
     62 }
     63 
     64 void
     65 dsasigfree(DSAsig *dsa)
     66 {
     67 	if(dsa == nil)
     68 		return;
     69 	mpfree(dsa->r);
     70 	mpfree(dsa->s);
     71 	free(dsa);
     72 }