Există câțiva pași în generarea GeMSS cu cheie publică pe care încerc să îi înțeleg. Prima este ecuațiile de mai jos (1).
Ce face "$\theta_i$ formează o bază pentru $\mathbb{F}_{2^n}$ peste $\mathbb{F}_2$„ Adică? Știu ce bază este în algebra liniară, dar sunt necesare mai multe detalii ca să pot înțelege.
Cum interpretăm harta $\phi$?
- $(\theta_1,\ldots,\theta_n)\in(\mathbb{F}_{2^n})^n$ formează o bază pentru $\mathbb{F_{2^n}}$ peste $\mathbb{F}_2$.
$\phi:E=\sum_{k=1}^{n}e_k\theta_k\in\mathbb{F}_{2^n} \to \phi(E) = (e_1,\ldots,e_n)\ în{\mathbb{F}_2}^n $.
Cum este exact $f$ creat din $F$ în (2) de mai jos?
2)
$$F=\sum_{\substack{0\leq j \lt i \lt n \ 2^i + 2^j \leq D\}} A_{i,j}X^{2^i+2 ^j}
+ \sum_{\substack{0\leq i \lt n \ 2^i \leq D}} \beta_i(v_1,\ldots,v_v)X^{2^i} + \gamma(v_1,... ,v_v)$$
$f = (f_1,\ldots,f_n) \in \mathbb{F}_2[x_1,\ldots,x_{n+v}]^n$ este creat din $F \în F_{2^n}[X,v_1,\ldots,v_v]$ prin rezolvarea urmatoarelor:
$$F(\sum_{k=1}^n\theta_kx_k,v_1,\ldots,v_v) = \sum_{k=1}^{n}\theta_kf_k$$
- Cheia publică este calculată ca prima $m=n-\Delta$ polinoame ale $(p_1,\ldots,p_n)=$
$(f_1((x_1,\ldots,x_{n+v})S),\ldots,f_n((x_1,\ldots,x_{n+v})S))T \mod \langle x_{1} ^2-x_1, \ldots, x_{n+v}^2 - x_{n+v} \rangle \in \mathbb{F}_2[x_1,\ldots,x_{n+v}]^n$
Unde $(S,T)\în GL_{n+v}(\mathbb{F}_2) \times GL_n(\mathbb{F}_2)$. Ce înseamnă să $\mod \langle x_{1}^2-x_1, \ldots, x_{n+v}^2 - x_{n+v} \rangle$ prin ecuațiile câmpului? De ce sunt ecuațiile câmpului de formă $x_{i}^2 - x_i?$
Iată un link către specificația GeMMS pentru runda 2 pentru mai multe detalii (Paginile 6 și 7 conțin generarea cheilor).
https://www-polsys.lip6.fr/Links/NIST/GeMSS_specification_round2.pdf