void random_fe(secp256k1_fe_t *x) { unsigned char bin[32]; do { secp256k1_rand256(bin); if (secp256k1_fe_set_b32(x, bin)) { return; } } while(1); }
void random_scalar_order(secp256k1_scalar_t *num) { do { unsigned char b32[32]; secp256k1_rand256(b32); int overflow = 0; secp256k1_scalar_set_b32(num, b32, &overflow); if (overflow || secp256k1_scalar_is_zero(num)) continue; break; } while(1); }
void random_num_order(secp256k1_num_t *num) { do { unsigned char b32[32]; secp256k1_rand256(b32); secp256k1_num_set_bin(num, b32, 32); if (secp256k1_num_is_zero(num)) continue; if (secp256k1_num_cmp(num, &secp256k1_ge_consts->order) >= 0) continue; break; } while(1); }
void random_fe(secp256k1_fe_t *x) { unsigned char bin[32]; secp256k1_rand256(bin); secp256k1_fe_set_b32(x, bin); }