Mike Hamburg proposed the Ed448-Goldilocks curve and submitted a software implementation for it to the SUPERCOP project.
Below you can see that MH picked a generator (or base point) that has a y-coordinate equal to 19.
Why was this generator chosen?
(I would guess that points with y=0..18 are somehow not suitable and that y=19 is the first good point -- could someone confirm this?)
Confusingly, there are two other generators specified in MH's iacr eprint: one generator is from the original version of the paper, and the second is from an updated version. Both versions can be downloaded here. Those generators do not appear in the SUPERCOP sources.
$ cd supercop-20220506/crypto_sign/ed448goldilocks/64
$ grep -A 13 base_point magic.c
const struct affine_t goldilocks_base_point = {
#ifdef USE_NEON_PERM
{{ 0xaed939f,0xc59d070,0xf0de840,0x5f065c3, 0xf4ba0c7,0xdf73324,0xc170033,0x3a6a26a,
0x4c63d96,0x4609845,0xf3932d9,0x1b4faff, 0x6147eaa,0xa2692ff,0x9cecfa9,0x297ea0e
}},
#else
{{ U58LE(0xf0de840aed939f), U58LE(0xc170033f4ba0c7),
U58LE(0xf3932d94c63d96), U58LE(0x9cecfa96147eaa),
U58LE(0x5f065c3c59d070), U58LE(0x3a6a26adf73324),
U58LE(0x1b4faff4609845), U58LE(0x297ea0ea2692ff)
}},
#endif
{{ 19 }}
};
Note that the SUPERCOP software appears to be an early version of MH's libdecaf library. However, the SUPERCOP package is somewhat easier to navigate since all relevant source files are together in one directory.