1
0

dsaalloc.c 864 B

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