Type G curves have embedding degree 10. They are quite slow at the moment so for now type F is a better choice.
The file param/g149.param contains parameters
for a type G pairing with 149-bit group and field
sizes.
The g_param_t data type
holds parameters for a type G pairing.
void g_param_init(g_param_t p)
Initialize p. This must be called before p can be used.
void g_param_clear(g_param_t p)
Clear p. This should be called after p is no longer needed.
void g_param_out_str(FILE *stream, g_param_t p)
Write the parameters in p in a text format onto stream.
void g_param_from_cm(g_param_t p, cm_info_t cm)
Type G curves are generated using the complex multiplication (CM) method. This function sets p to a type G pairing parameters from CM parameters cm. Another part of the library searches for appropriate CM parameters (see below) and the results can be passed to this function.
To be secure, generic discrete log algorithms must be infeasible in groups of order r, and finite field discrete log algorithms must be infeasible in finite fields of order q6. For usual CM parameters, r is a few bits smaller than q.