dsaalloc.c 900 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. free(dsa);
  23. }
  24. DSApriv*
  25. dsaprivalloc(void)
  26. {
  27. DSApriv *dsa;
  28. dsa = mallocz(sizeof(*dsa), 1);
  29. if(dsa == nil)
  30. sysfatal("dsaprivalloc");
  31. return dsa;
  32. }
  33. void
  34. dsaprivfree(DSApriv *dsa)
  35. {
  36. if(dsa == nil)
  37. return;
  38. mpfree(dsa->pub.p);
  39. mpfree(dsa->pub.q);
  40. mpfree(dsa->pub.alpha);
  41. mpfree(dsa->pub.key);
  42. mpfree(dsa->secret);
  43. free(dsa);
  44. }
  45. DSAsig*
  46. dsasigalloc(void)
  47. {
  48. DSAsig *dsa;
  49. dsa = mallocz(sizeof(*dsa), 1);
  50. if(dsa == nil)
  51. sysfatal("dsasigalloc");
  52. return dsa;
  53. }
  54. void
  55. dsasigfree(DSAsig *dsa)
  56. {
  57. if(dsa == nil)
  58. return;
  59. mpfree(dsa->r);
  60. mpfree(dsa->s);
  61. free(dsa);
  62. }