Bose-Chaudhuri-Hocquenghem cyclic error-correcting codes constructed using polynomials over Galois fields. Can correct multiple random errors with efficient encoding and decoding. Widely used in satellite communications, QR codes, and storage devices.
| Property | Value |
|---|---|
| Category | Error Correction |
| Sub-category | Cyclic Code |
| Security status | π Educational Only |
| Complexity | Advanced |
| Inventor | Raj Chandra Bose, D. K. Ray-Chaudhuri, Alexis Hocquenghem |
| Year | 1960 |
| Origin | πΊπΈ United States |
| Source | algorithms/ecc/bch-code.js |
Status: π Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Decoding Complexity | Full Berlekamp-Massey or Euclidean algorithm decoding requires complex polynomial operations. | β |
| Limited to t Errors | Can only correct up to t errors as designed. More errors may cause miscorrection. | β |
3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β BCH(7,4) all zeros
| Field | Value |
|---|---|
input |
00000000 |
expected |
00000000000000 |
Vector 2 β BCH(7,4) all ones
| Field | Value |
|---|---|
input |
01010101 |
expected |
01010101010101 |
Vector 3 β BCH(7,4) pattern test
| Field | Value |
|---|---|
input |
01000100 |
expected |
01000100000101 |