Skip to main content

primitives/algebra/field/
field_extension_name.rs

1use itertools::Itertools;
2
3use crate::types::identifiers::Named;
4
5impl Named for crate::algebra::field::binary::Gf2 {
6    fn get_name() -> String {
7        "GF2".to_string()
8    }
9}
10
11impl<P: crate::algebra::field::binary::gf2_ext::Gf2ExtParams, const K: usize> Named
12    for crate::algebra::field::binary::Gf2Ext<P, K>
13{
14    fn get_name() -> String {
15        let poly = P::POLY_MOD_ONES
16            .iter()
17            .map(|k| format!("X^{k}"))
18            .join(" + ");
19        format!("GF(2^{}, 1 + {poly})", K * 64).to_string()
20    }
21}
22
23impl Named
24    for crate::algebra::elliptic_curve::ScalarField<
25        crate::algebra::elliptic_curve::Curve25519Ristretto,
26    >
27{
28    fn get_name() -> String {
29        "Curve25519Ristretto_ScalarField".to_string()
30    }
31}
32impl Named
33    for crate::algebra::elliptic_curve::BaseField<
34        crate::algebra::elliptic_curve::Curve25519Ristretto,
35    >
36{
37    fn get_name() -> String {
38        "Curve25519Ristretto_BaseField".to_string()
39    }
40}
41
42impl Named for crate::algebra::field::mersenne::Mersenne107 {
43    fn get_name() -> String {
44        "Mersenne107".to_string()
45    }
46}