rsaalloc.c 657 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "os.h"
  2. #include <mp.h>
  3. #include <libsec.h>
  4. RSApub*
  5. rsapuballoc(void)
  6. {
  7. RSApub *rsa;
  8. rsa = mallocz(sizeof(*rsa), 1);
  9. if(rsa == nil)
  10. sysfatal("rsapuballoc");
  11. return rsa;
  12. }
  13. void
  14. rsapubfree(RSApub *rsa)
  15. {
  16. if(rsa == nil)
  17. return;
  18. mpfree(rsa->ek);
  19. mpfree(rsa->n);
  20. free(rsa);
  21. }
  22. RSApriv*
  23. rsaprivalloc(void)
  24. {
  25. RSApriv *rsa;
  26. rsa = mallocz(sizeof(*rsa), 1);
  27. if(rsa == nil)
  28. sysfatal("rsaprivalloc");
  29. return rsa;
  30. }
  31. void
  32. rsaprivfree(RSApriv *rsa)
  33. {
  34. if(rsa == nil)
  35. return;
  36. mpfree(rsa->pub.ek);
  37. mpfree(rsa->pub.n);
  38. mpfree(rsa->dk);
  39. mpfree(rsa->p);
  40. mpfree(rsa->q);
  41. mpfree(rsa->kp);
  42. mpfree(rsa->kq);
  43. mpfree(rsa->c2);
  44. free(rsa);
  45. }