Algorithme de Berlekamp-Massey

Le but de ce travail est de familiariser le lecteur avec l'algorithme de Berlekamp-Massey (ou Berlekamp-Messi), cela inclut l'inférence et certaines de ses applications.





L'objectif principal de l'algorithme de Berlekamp-Massey est d'évaluer les codes binaires BCH (codes Bose-Chowdhury-Hawkingham, codes BCH). Les codes binaires sont un moyen de représenter des données sous la forme d'un  code , dans lequel chaque  chiffre prend l'une des deux valeurs possibles, généralement désignées par les nombres 0 et 1. Berlekamp a publié son algorithme en 1968, et peu de temps après, Massey a publié sa version de l'algorithme en 1969. L'algorithme est le plus largement utilisé comme moyen rapide d'inverser des matrices avec des diagonales constantes. Cela fonctionne sur n'importe quel domaine, mais les champs finis, que l'on trouve le plus souvent dans la théorie du codage, sont les plus couramment utilisés. L'algorithme est particulièrement utile pour décoder divers codes algébriques. Dans sa publication, Berlekamp a indiqué que l'algorithme utilise une "équation clé" pour entrer un nombre connu de coefficients de la fonction génératrice et détermine ensuite les coefficients restants du polynôme. Ce qui est utile avec cet algorithme, c'est que seule une petite partie du message encodé est requise,pour pouvoir le décoder. L'étape cruciale est de reformuler le problème de manière à éviter de penser explicitement à n par n matrices, car la quantité de travail avec une telle opération est trop importante. Berlekamp a réussi à le faire en utilisant son équation clé, puis a répété Massey en utilisant sa variante de l'algorithme.





Les applications et la mise en œuvre de cet algorithme ont été affinées et étendues par Massey, qui a utilisé l'interprétation physique d'un registre à décalage à rétroaction linéaire (LFSR) comme outil pour mieux comprendre l'algorithme. Cette variante synthétise les LFSR avec une séquence de sortie donnée. LFSR indique la longueur du message codé à déchiffrer par l'algorithme. La longueur du message requis est seulement deux fois la longueur du LFSR ( 2n ). Maintenant que nous avons une idée de ce que l'algorithme veut faire, nous pouvons voir son application utile.





Application de l'algorithme

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





noté 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 :





produit sur tous les diviseurs positifs 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)





Équation d'erreur
Option d'écriture 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