RND: use function callback for random ints

This commit is contained in:
hasufell 2014-06-03 18:09:57 +02:00
parent e88dc81c90
commit 8c5649ea24
No known key found for this signature in database
GPG Key ID: 220CD1C5BDEED020
2 changed files with 7 additions and 3 deletions

View File

@ -86,7 +86,8 @@ void
ntru_get_rnd_tern_poly_num(fmpz_poly_t poly,
const ntru_context *ctx,
uint32_t num_ones,
uint32_t num_neg_ones)
uint32_t num_neg_ones,
int (*rnd_int)(void))
{
if (!poly || ! ctx)
NTRU_ABORT("unexpected NULL parameters in"
@ -95,7 +96,7 @@ ntru_get_rnd_tern_poly_num(fmpz_poly_t poly,
fmpz_poly_zero(poly);
while (num_ones != 0 || num_neg_ones != 0) {
int32_t pos = get_rnd_int() % ctx->N;
int32_t pos = rnd_int() % ctx->N;
if (!fmpz_cmp_si_n(fmpz_poly_get_coeff_ptr(poly, pos), 0)) {
if (num_ones > 0) {

View File

@ -59,12 +59,15 @@ get_urnd_int(void);
* @param ctx the NTRU context
* @param num_ones the number of 1 coefficients
* @param num_neg_ones the number of -1 coefficients
* @param rnd_int function callback which should return
* a random integer
*/
void
ntru_get_rnd_tern_poly_num(fmpz_poly_t poly,
const ntru_context *ctx,
uint32_t num_ones,
uint32_t num_neg_ones);
uint32_t num_neg_ones,
int (*rnd_int)(void));
#endif /* NTRU_RND_H */