2016-11-25 17:18:40 +01:00
|
|
|
#include "os.h"
|
|
|
|
#include <mp.h>
|
|
|
|
#include <libsec.h>
|
|
|
|
|
|
|
|
EGpub*
|
|
|
|
egpuballoc(void)
|
|
|
|
{
|
|
|
|
EGpub *eg;
|
|
|
|
|
2017-04-19 23:33:14 +02:00
|
|
|
eg = jehanne_mallocz(sizeof(*eg), 1);
|
2016-11-25 17:18:40 +01:00
|
|
|
if(eg == nil)
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_sysfatal("egpuballoc");
|
2016-11-25 17:18:40 +01:00
|
|
|
return eg;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
egpubfree(EGpub *eg)
|
|
|
|
{
|
|
|
|
if(eg == nil)
|
|
|
|
return;
|
|
|
|
mpfree(eg->p);
|
|
|
|
mpfree(eg->alpha);
|
|
|
|
mpfree(eg->key);
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_free(eg);
|
2016-11-25 17:18:40 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
EGpriv*
|
|
|
|
egprivalloc(void)
|
|
|
|
{
|
|
|
|
EGpriv *eg;
|
|
|
|
|
2017-04-19 23:33:14 +02:00
|
|
|
eg = jehanne_mallocz(sizeof(*eg), 1);
|
2016-11-25 17:18:40 +01:00
|
|
|
if(eg == nil)
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_sysfatal("egprivalloc");
|
2016-11-25 17:18:40 +01:00
|
|
|
return eg;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
egprivfree(EGpriv *eg)
|
|
|
|
{
|
|
|
|
if(eg == nil)
|
|
|
|
return;
|
|
|
|
mpfree(eg->pub.p);
|
|
|
|
mpfree(eg->pub.alpha);
|
|
|
|
mpfree(eg->pub.key);
|
|
|
|
mpfree(eg->secret);
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_free(eg);
|
2016-11-25 17:18:40 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
EGsig*
|
|
|
|
egsigalloc(void)
|
|
|
|
{
|
|
|
|
EGsig *eg;
|
|
|
|
|
2017-04-19 23:33:14 +02:00
|
|
|
eg = jehanne_mallocz(sizeof(*eg), 1);
|
2016-11-25 17:18:40 +01:00
|
|
|
if(eg == nil)
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_sysfatal("egsigalloc");
|
2016-11-25 17:18:40 +01:00
|
|
|
return eg;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
egsigfree(EGsig *eg)
|
|
|
|
{
|
|
|
|
if(eg == nil)
|
|
|
|
return;
|
|
|
|
mpfree(eg->r);
|
|
|
|
mpfree(eg->s);
|
2017-04-19 23:33:14 +02:00
|
|
|
jehanne_free(eg);
|
2016-11-25 17:18:40 +01:00
|
|
|
}
|