Uma transformação afim é uma transformação entre dois
espaços afins A e
B. Essa transformação, ou mapeamento, consiste numa transformação lineal em
A somado de um vetor
b \in B. Ou seja:
S(x)=Tx + b.
No campo da criptografia post-quântica as transformações afins são usadas para ocultar a chave pública dos sistemas de cifração baseados em multivariados.
Para os envolvidos na área é de importância saber lidar com as diferentes representações de uma transformação afim. Neste post apresentarei essas representações e mostrarei como converter uma para a outra.
Seja
\mathbb{F} um corpo finito com
q elementos e
\mathbb{E} uma extensão de grau
n do corpo
\mathbb{F}. Seja
S:\mathbb{F}^n\rightarrow \mathbb{F}^n uma transformação afim.
Definição 1: Seja
0\leq i < n e
A,B_i \in \mathbb{E}. Então nós chamamos o polinômio
S(X)=\sum_{i=0}^{n-1}B_i X^{{q}^i}+A a representação de uma só variável da transformação afim
S.
Definição 2: Seja
M_S \in \mathbb{F}^{n\times n} uma matriz e
v_s \in \mathbb{F}^n um vetor. Então nos chamamos
S(x):=M_Sx+v_s, a representação matricial da transformação afim
S .
Definição 3: Seja o espaço vetorial
\mathbb{F}^n. Então nós chamamos
\phi:\mathbb{E}\rightarrow \mathbb{F}^n com
\phi(a):=b e
b_i=a_{i-1} de bijeção canônica.
Teorema: Uma transformação afim, com
v=0 na representação de uma só variável pode ser transformada eficientemente na sua representação matricial.
Prova: Definamos
e_i \in \mathbb{F}^n com
1\leq i \leq n, com um
1 no seu i-th coeficiente e zero no restante. Vamos a mostrar que a coluna
k dessa matriz é dada pela seguinte fórmula:
M_k=\phi(S(\phi^{-1}(e_k))). Vamos a definir
P(X):=\sum_{i=0}^{n-1}B_i X^{{q}^i}. Da álgebra conhecemos que o corpo
\mathbb{F}^n é também um espaço vetorial sobre o corpo
\mathbb{F}. Esse espaço vetorial tem a base
V=\{t^0, t^1, t^2,\ldots,t^{{n-1}}\}. Vamos a representar os coeficiente de
P(X) como
B_i =\sum_{j=0}^{n-1}b_{ij} t^j e a variável
X=\sum_{k=0}^{n-1}X_{k}t^k. Substituindo esses valores em
P(X) temos
P(X) = \sum_{i=0}^{n-1}\sum_{j=0}^{n-1}b_{ij} t^j(\sum_{k=0}^{n-1}X_{k}t^k)^{{q}^i},
Usando o
teorema binomial e reduzindo temos
P(X) = \sum_{i=0}^{n-1}\sum_{j=0}^{n-1}b_{ij} \sum_{k=0}^{n-1}X_{k}t^{j+k{{q}^i}},
Escrevendo
t^{j+k{{q}^i}} usando a base
V temos
t^{j+k{{q}^i}} = \sum_{m=0}^{n-1}c_{ijkm}t^m. Por tanto:
P(X) = \sum_{i=0}^{n-1}\sum_{j=0}^{n-1}b_{ij} \sum_{k=0}^{n-1}X_{k} \sum_{m=0}^{n-1}c_{ijkm}t^m
P(X) = \sum_{m=0}^{n-1}\underline{\sum_{i=0}^{n-1}\sum_{j=0}^{n-1}b_{ij} \sum_{k=0}^{n-1}X_{k}c_{ijkm}}_{E}t^m
Por outro lado, escrevendo
\phi(S(\phi^{-1}(e_k))) usando a base
V temos que esta é igual a:
\phi(S(\phi^{-1}(e_k)))=(\sum_{i,j}^{n-1}b_{i,j}c_{ijk0}, \cdots, \sum_{i,j}^{n-1}b_{i,j}c_{ijk(n-1)}). Por fim, veja que
E_m = (\phi(S(\phi^{-1}(e_1)))[m],\cdots,\phi(S(\phi^{-1}(e_{n-1})))[m])^{T}*(X_1,\cdots, X_{n-1}).
No caso de transformação afim com
v \neq 0 então se tem que v:=
M_k=\phi(S(\phi^{-1}(0))) e as colunas de
M são
M_k=\phi(S(\phi^{-1}(e_k)))-v.