Escolar Documentos
Profissional Documentos
Cultura Documentos
#if HAVE_CONFIG_H
# include "config.h"
#endif
#include "beecrypt/elgamal.h"
#include "beecrypt/dldp.h"
if (temp)
{
/* get a random k, invertible modulo (p-1) */
mpbrndinv_w(n, rgc, temp, temp+size, temp+2*size);
mpneg(size, temp);
mpadd(size, temp, n->modl);
free(temp);
return 0;
}
return -1;
}
if (mpz(r->size, r->data))
return 0;
if (mpz(s->size, s->data))
return 0;
if (temp)
{
register int rc;
free(temp);
return rc;
}
return 0;
}
if (temp)
{
/* get a random k */
mpbrnd_w(p, rgc, temp, temp+2*size);
free(temp);
return 0;
}
return -1;
}
if (mpz(r->size, r->data))
return 0;
if (mpz(s->size, s->data))
return 0;
if (temp)
{
register int rc;
free(temp);
return rc;
}
return 0;
}