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 beforepcan be used. void g_param_clear(g_param_t p)-
Clear
p. This should be called afterpis no longer needed. void g_param_out_str(FILE *stream,g_param_t p)-
Write the parameters in
pin a text format ontostream. 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
pto a type G pairing parameters from CM parameterscm. 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 q^6. For usual CM parameters, r is a few bits smaller than q.