Algoritmo de Berlekamp-Massey

El propósito de este trabajo es familiarizar al lector con el algoritmo de Berlekamp-Massey (o Berlekamp-Messi), esto incluye la inferencia y algunas de sus aplicaciones.





El objetivo principal del algoritmo de Berlekamp-Massey es evaluar códigos BCH binarios (códigos Bose-Chowdhury-Hawkingham, códigos BCH). Los códigos binarios son una forma de representar datos en forma de  código , en el que cada  dígito toma uno de dos valores posibles, generalmente denotados por los números 0 y 1. Berlekamp publicó su algoritmo en 1968, y poco después Massey publicó su versión del algoritmo en 1969. El algoritmo se utiliza más ampliamente como una forma rápida de invertir matrices con diagonales constantes. Funciona en cualquier campo, pero los campos finitos, que se encuentran con mayor frecuencia en la teoría de la codificación, son los más utilizados. El algoritmo es especialmente útil para decodificar varios códigos algebraicos. En su publicación, Berlekamp indicó que el algoritmo usa una "ecuación clave" para ingresar un número conocido de coeficientes de la función generadora y luego determina los coeficientes restantes del polinomio. Lo útil de este algoritmo es que solo se requiere una pequeña parte del mensaje codificado,para poder decodificarlo. El paso crucial es reformular el problema de tal manera que se evite pensar explícitamente en matrices n por n, ya que la cantidad de trabajo con dicha operación es demasiado grande. Berlekamp logró hacer esto usando su ecuación clave y luego repitió Massey usando su variante del algoritmo.





Massey perfeccionó y amplió las aplicaciones y la implementación de este algoritmo, que utilizó la interpretación física de un registro de desplazamiento de retroalimentación lineal (LFSR) como herramienta para comprender mejor el algoritmo. Esta variante sintetiza LFSR con una secuencia de salida determinada. LFSR indica la longitud del mensaje codificado que será descifrado por el algoritmo. La longitud del mensaje requerido es solo el doble de la longitud del LFSR ( 2n ). Ahora que tenemos una idea de lo que quiere hacer el algoritmo, podemos ver su útil aplicación.





Aplicación de algoritmos

  ,        BCH,    - .            .            NASA       CD .  ,           .





     





             .        () —  ,           .





      ,     N,  N    ,     .    m ( m = 2).    c = (c0, c1, …, cN-1),       s = (s0, s1, …, sN-1).         sN+1  n + 1 > N :





módulo m
  m

  ,        ,       .     N = 5  m = 2. ,   c = (c0, c1, c2, c3, c4),      C      :





mod 2
2

   ,      c = ( c0, c1, c2, c3, c4 )   s = ( s0, s1, s2, s3, s4 )     ,       .





    -     c, c = ( c0, c1, …,cN-1 ),   2n ,  n =   ,    .            ,   ,     « ».     ,      .









 xn - 1.  w , ,  n, θ, :





denotado w
w

,  wn = 1  wk ¹ 1 1 < k < n. , 1, ww2, …, wn-1 -  sn = 1, , , , ,   n n , . w   n- .  , , .  .  w .  n  .  < > , , < > –  wk,  1 £ k < n  gcd( n, k ) = 1, gcd . ()    n- .





:





G = < a > - n. G = < ak > , gcd(n, k) = 1





, , ,   , .    f(n)  n   n.  ,  n   f(n)  n-   . ,  f(n)  n- .





:





 n, w1, w2, …,wf(n)    n- . N-  Q   :





*: Fn(x)  (. 1)  f(n),  f(n) - .*





,  Fn(x)  , , .





n :





producto sobre todos los divisores positivos de n
n

- , . , , , .





BCH (),  t  ,  Fn  Q .  2  n,   m .  , - m,  2m mod n = 1   GF(2m)   a  GF(2m) - .  , BCH.





BCH





 , BCH :





, .   R(x) = C(x) + E(x)





Ecuación de error
Opción de escritura R (x)
R(x)

A





  j = 1, 2, …, 2t  aj.  M(j)(x) –  aj   (1 <  j < 2t). ,





B





t - , , e - .   X1, X2, …, Xe  ,  Ei = 1 ( ). ,  R(x) A  M(j)(x)  Sj = R(aj)  r(j)(aj ). .





--------------





:  R(x) , , S1  ,  S2  ,  S1 = R(a)  S2 = R(a2)





--------------





,   S - 1,  R(x)  M(1)(x)  r(1)(x) , , S1 = r(1)(a). ,  S2,  R(x)  M(2)(x)  r(2)(x).  S2 = r(2)(a2). 





 S1, S2, …, S2t, ,  X1, X2, …, Xe 





 j = 1, 2,…, 2t
 j = 1, 2, …, 2t

C





, .   .  :





D





[ , , , 1984 ., 1.]





,  s(z),   ( )  ,  Chien search ( , ).  , .





—  s(z)  S.   s(x)  S, :





E





, .  s(z)  w(z):





F





[1 + S(z)]s(x) = w(z).  ,   S(z). ( ,  2t ).   S2t+1S2t+2, S2t+3,…, S(z) , - S(z) mod z2t+1. .









G





 S(z) - , – . s(z)  w(z)-  < e - , ). .





, - . , .





:





1.      [ ] https://ru.wikipedia.org/wiki/





2.     - .., ..   . , 2001. 672 .





3.     Erin Casey, “Berlekamp-Massey Algorithm”, 2000





4.     David C. Arney, Joseph Gallian, and Paul Campbell, “Principles and Practice of Mathematics: COMAP”





5.     Berlekamp's Algebraic Coding Theory, Revised edition, 1984





6.     Chien  [ ] https://en.wikipedia.org/wiki/Chiensearch





7.     Gallian, Joseph A. Contemporary Abstract Algebra, Houghton Miin Company, Boston, 1998.





8.     Garrett, Paul. Error Correcting Codes. Notes 1999-2000.





9.     Garrett, Paul. Introduction to Cryptography. Notes. 2000.





10.  , .  « » .  6. 2000, .93-118





11.   [ ] https://ru.wikipedia.org/wiki/








All Articles