Anar al contingut

Registre de desplaçament en retroalimentación llineal

De L'Enciclopèdia, la wikipedia en valencià

Un registre de desplaçament en retroalimentación llineal (LFSR per les seues sigles en anglés) és un registre de desplaçament en el qual l'entrada és un bit provinent d'aplicar una funció de transformació llineal a dos o més estats anteriors.[1]

El valor inicial es denomina llavor i, com la forma d'operar el registre és determinista, la seqüència de valors produïts està completament determinada per l'estat actual o l'estat anterior. La seqüència té un periodo de repetició, és dir que la seqüència torna a generar-se i es repetix indefinidament. Quan el periodo de repetició és màxim, eixe LFSR té interés criptográfico.

Cóm treballa LFSR

[editar | editar còdic]

Vejam un eixemple, tenim la seqüència [16,14,13,11].

La seqüència tap d'un LFSR es pot representar com un polinomi mod 2. Açò significa que els coeficients del polinomi deuen ser 1's o 0's. Açò es diu polinomi de realimentación o característica polinomial.

Per eixemple, si els taps estan en les posicions dels bits: 16, 14, 13 i 11, el polinomi LFSR resultant és:

x11+x13+x14+x16+1

Les eixides que influïxen en l'entrada, es denominen taps. Són les que apareixen en el polinomi. I s'indiquen en blau en l'esquema inferior.

  • Si el polinomi és primitiu, sí i solament sí, el LFSR és màxim, o lo que és lo mateix, té periodo màxim.
  • El LFSR només serà màxim si el número de taps és parell.
  • Els valors de tap en un LFSR màxim són coprimos.
  • Pot haver més d'una seqüència tap que faça màxim a el LFSR per a eixa llongitut determinada.
  • Una volta trobada una seqüència tap màxima, automàticament seguix una atra. Si la seqüència tap, en un LFSR n-bit, és [n,A,B,C], llavors la seqüència mirror corresponent és [n,n-A,n-B,n-C]. Per eixemple, la seqüència tap [32,3,2,1], té el seu homòlec [32,29,30,31]. Abdós donen com resultat periodo màxim.


Propietats del fluix d'eixida

[editar | editar còdic]

Un LFSR es pot caracterisar de forma polinòmica segons siguen les seues conexions i els valors dels registres.

Es definix el polinomi d'Estat com:

S(D) = S0 + S1D + S2D2 + ... + SnDn

El polinomi d'estat mostra el valor dels registres.

De la mateixa forma es definix el polinomi de Conexions (Polinomi Conectivo)com:

C(D) = C0 + C1D + C2D2 + ... + CnDn + Cn+1Dn+1

A on cada coeficient Ci val 0 o 1 depenent de si hi ha conexió o no. Cal notar que el polinomi de conexions (Polinomi Conectivo) és sempre un grau major que el d'estat.

D'esta manera un LFSR en n registres de desplaçament tindrà com a mínim 2 conexions la de C0 i la de Cn+1. La conexió de C0 és necessària perque sense ella el primer registre sempre valdria zero i per tant no influiria en el comportament de el LFSR. La conexió Cn+1 és necessària perque assegura la retroalimentación de el LFSR. Si este coeficient valguera 0 (o lo que és lo mateix, no hi haguera esta conexió), el LFSR ya no seria de grau n+1.

Per lo tant per a passar d'un estat al següent els registres es desplacen. Este desplaçament es pot expressar en forma polinòmica com una multiplicació per D. El polinomi resultant té grau n+1 de la mateixa manera que el polinomi de conexions. Açò és un problema ya que el polinomi d'estat té que ser de grau n. Açò se soluciona fent que el polinomi resultant siga mòdul de C(D).


Si S(i)(D)  és el polinomi d'Estat en l'estat i-ésimo, en forma polinòmica el desplaçament del polinomi d'Estat s'expressa aixina:


S(i+1)(D) = S(i)(D)D = S0D + S1D2 + S2D3 + ... + SnDn+1

Com el grau té que ser menor que n+1 es fa el mòdul de C(D):

S(i+1)(D) = S(i)(D)D mod C(D)

En lo que resulta un polinomi de grau n com a màxim.

Referències

[editar | editar còdic]
  1. W. Cusick; Stanica, {{{nom2}}} (2017). Cryptographic Boolean Functions and Applications, segona edició (en en), Elsevier, p. 23. ISBN 978-0-12-811129-1.


Referències

[editar | editar còdic]