Binary BCH code[13] 


Cyclic binary code of odd length \(n\) whose zeroes are consecutive powers of a primitive \(n\)th root of unity \(\alpha\) (see Cyclic-to-polynomial correspondence). More precisely, the generator polynomial of a BCH code of designed distance \(\delta\geq 1\) is the lowest-degree monic polynomial with zeroes \(\{\alpha^b,\alpha^{b+1},\cdots,\alpha^{b+\delta-2}\}\) for some \(b\geq 0\). BCH codes are called narrow-sense when \(b=1\), and are called primitive when \(n=2^r-1\) for some \(r\geq 2\).

The code dimension is related to the multiplicative order of \(2\) modulo \(n\), i.e., the smallest integer \(m\) such that \(n\) divides \(2^m-1\). The dimension of a BCH code with \(\delta=2t+1\) is at least \(n-mt\). The field \(GF(2^m)\) is the smallest field containing the above root of unity \(\alpha\), and is the splitting field of the polynomial \(x^n-1\) (see Cyclic-to-polynomial correspondence).


By the BCH bound, BCH code with designed distance \(\delta\) has true distance \(d\geq\delta\). BCH codes with different designed distances may coincide, and the largest possible designed distance for a given code is the Bose distance; the true distance may still be larger than that.


Peterson decoder with runtime of order \(O(n^3)\) [4,5] (see exposition in Ref. [6]).Berlekamp-Massey decoder with runtime of order \(O(n^2)\) [7,8] and modification by Burton [9]; see also [10,11].Sugiyama et al. modification of the extended Euclidean algorithm [12,13].Guruswami-Sudan list decoder [14,15].


Satellite communication [16]


See books [1719] for expositions on BCH codes and code tables.See Kaiserslautern database [20] for explicit codes.See corresponding MinT database entry [21].




  • Quasi-perfect code — Only double error-correcting BCH codes \([2^m-1,n-2m,5]\) are quasi-perfect [23,24] (see also Ref. [17], Ch. 9).
  • Griesmer code — The \([15,5,7]\) BCH code extended with a parity check saturates the Griesmer bound ([25], pg. 157).
  • Preparata code — Preparata codes contain twice as many code words as the double-error-correcting BCH codes of the same length, which is the largest number of code words possible for given length and distance [26].
  • Reed-Muller (RM) code — RM\(^*(r,m)\) codes are equivalent to subcodes of BCH codes of designed distance \(2^{m-r}-1\) while RM\((r,m)\) are subcodes of extended BCH codes of the same designed distance [17; Ch. 13].
  • Error-correcting output code (ECOC) — BCH codes can be used as ECOCs [27].
  • \(q\)-ary Hamming code — Some narrow sense BCH codes of length \(n=(q^r-1)/(q-1)\) such that \(\text{gcd}(r,q-1)=1\) are \(q\)-ary Hamming codes ([19], Thm. 5.1.4).
  • Quantum data-syndrome (QDS) code — Primitive narrow-sense BCH codes can be used as the syndrome measurement codes of a QDS code [28]. This construction requires fewer measurements than a previous general construction [29].
  • Qubit BCH code — Binary BCH codes are used to construct a subset of qubit BCH codes via the CSS construction.


R. C. Bose and D. K. Ray-Chaudhuri, “On a class of error correcting binary group codes”, Information and Control 3, 68 (1960) DOI
R. C. Bose and D. K. Ray-Chaudhuri, “Further results on error correcting binary group codes”, Information and Control 3, 279 (1960) DOI
A. Hocquenghem, Codes correcteurs d'Erreurs, Chiffres (Paris), vol.2, pp.147-156, 1959.
W. Peterson, “Encoding and error-correction procedures for the Bose-Chaudhuri codes”, IEEE Transactions on Information Theory 6, 459 (1960) DOI
S. Arimoto, "Encoding and decoding of p-ary group codes and the correction system," Information Processing in Japan (in Japanese), vol. 2, pp. 320-325, Nov. 1961.
R.E. Blahut, Theory and practice of error-control codes, Addison-Wesley 1983.
J. Massey, “Shift-register synthesis and BCH decoding”, IEEE Transactions on Information Theory 15, 122 (1969) DOI
E. R. Berlekamp, Algebraic Coding Theory, McGraw-Hill, 1968
H. Burton, “Inversionless decoding of binary BCH codes”, IEEE Transactions on Information Theory 17, 464 (1971) DOI
W. W. Peterson and E. J. Weldon, Error-correcting codes. MIT press 1972.
R. Gallager, Information Theory and Reliable Communication (Springer Vienna, 1972) DOI
Y. Sugiyama et al., “A method for solving key equation for decoding goppa codes”, Information and Control 27, 87 (1975) DOI
R. McEliece, The Theory of Information and Coding (Cambridge University Press, 2002) DOI
V. Guruswami and M. Sudan, “Improved decoding of Reed-Solomon and algebraic-geometry codes”, IEEE Transactions on Information Theory 45, 1757 (1999) DOI
V. Guruswami and M. Sudan, “Improved decoding of Reed-Solomon and algebraic-geometric codes”, Proceedings 39th Annual Symposium on Foundations of Computer Science (Cat. No.98CB36280) DOI
Cheung, K-M., and F. Pollara. "Phobos lander coding system: Software and analysis." The Telecommunications and Data Acquisition Report (1988).
F. J. MacWilliams and N. J. A. Sloane. The theory of error correcting codes. Elsevier, 1977.
S. Lin and D. J. Costello, Error Control Coding, 2nd ed. Englewood Cliffs, NJ: Prentice-Hall, 2004.
W. C. Huffman and V. Pless, Fundamentals of Error-Correcting Codes (Cambridge University Press, 2003) DOI
Michael Helmling, Stefan Scholl, Florian Gensheimer, Tobias Dietz, Kira Kraft, Stefan Ruzika, and Norbert Wehn. Database of Channel Codes and ML Simulation Results. URL, 2022.
Rudolf Schürer and Wolfgang Ch. Schmid. “Cyclic Codes (BCH-Bound).” From MinT—the database of optimal net, code, OA, and OOA parameters. Version: 2015-09-03.
R. Hill. A First Course In Coding Theory. Oxford University Press, 1988.
D. Gorenstein, W. W. Peterson, and N. Zierler, “Two-error correcting Bose-Chaudhuri codes are quasi-perfect”, Information and Control 3, 291 (1960) DOI
T. Helleseth, “No primitive binary<tex>t</tex>-error-correcting BCH code with<tex>t > 2</tex>is quasi-perfect (Corresp.)”, IEEE Transactions on Information Theory 25, 361 (1979) DOI
J. Bierbrauer, Introduction to Coding Theory (Chapman and Hall/CRC, 2016) DOI
F. P. Preparata, “A class of optimum nonlinear double-error-correcting codes”, Information and Control 13, 378 (1968) DOI
T. G. Dietterich and G. Bakiri, “Solving Multiclass Learning Problems via Error-Correcting Output Codes”, (1995) arXiv:cs/9501101
E. Guttentag, A. Nemec, and K. R. Brown, “Robust Syndrome Extraction via BCH Encoding”, (2023) arXiv:2311.16044
Y. Fujiwara, “Ability of stabilizer quantum error correction to protect itself from its own imperfection”, Physical Review A 90, (2014) arXiv:1409.2559 DOI
Page edit log

Your contribution is welcome!

on (edit & pull request)— see instructions

edit on this site

Zoo Code ID: bch

Cite as:
“Binary BCH code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022.
@incollection{eczoo_bch, title={Binary BCH code}, booktitle={The Error Correction Zoo}, year={2022}, editor={Albert, Victor V. and Faist, Philippe}, url={} }
Share via:
Twitter | Mastodon |  | E-mail
Permanent link:

Cite as:

“Binary BCH code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022.