Berlekamp-Massey algorithm

The purpose of this work is to acquaint the reader with the Berlekamp-Massey (or Berlekamp-Messi) algorithm, this includes inference and some of its applications.





The main purpose of the Berlekamp-Massey algorithm is to evaluate binary BCH codes (Bose-Chowdhury-Hawkingham codes, BCH codes). Binary codes are a way of representing data in the form of a  code , in which each  digit takes one of two possible values, usually denoted by the numbers 0 and 1. Berlekamp published his algorithm in 1968, and soon after that Massey published his version of the algorithm in 1969. The algorithm is most widely used as a fast way to invert matrices with constant diagonals. It works on any field, but finite fields, which are most commonly found in coding theory, are the most commonly used. The algorithm is especially useful for decoding various algebraic codes. In his publication, Berlekamp indicated that the algorithm uses a "key equation" to input a known number of coefficients of the generating function and then determines the remaining coefficients of the polynomial. What's useful about this algorithm is that only a small portion of the encoded message is required,to be able to decode it. The crucial step is to reformulate the problem in such a way as to avoid thinking about n by n matrices explicitly, since the amount of work with such an operation is too large. This was done by Berlekamp using his key equation, and then repeated by Massey using his version of the algorithm.





The applications and implementation of this algorithm were refined and extended by Massey, who used a physical interpretation of a linear feedback shift register (LFSR) as a tool to better understand the algorithm. This variant synthesizes LFSRs with a given output sequence. LFSR indicates the length of the encoded message to be decrypted by the algorithm. The length of the required message is only twice the length of the LFSR ( 2n ). Now that we have an idea of ​​what the algorithm wants to do, we can see its useful application.





Algorithm application

  ,        BCH,    - .            .            NASA       CD .  ,           .





     





             .        () —  ,           .





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





modulo 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, θ, :





denoted 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 :





product over all positive divisors of 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)





Error equation
Writing option 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