Two-dimensional error correction using row and column parity checks. Can detect and correct single-bit errors by identifying the intersection of failed row and column parities. Efficient for burst error detection.
| Property | Value |
|---|---|
| Category | Error Correction |
| Sub-category | Block Code |
| Security status | 🎓 Educational Only |
| Complexity | Intermediate |
| Inventor | Unknown (Matrix Coding Concept) |
| Year | 1960 |
| Origin | Not specified |
| Source | algorithms/ecc/product-code.js |
Status: 🎓 Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Double Error Ambiguity | Can detect but not locate/correct two errors. Multiple errors create ambiguous row/column intersections. | — |
| Corner Case Errors | Errors in parity bits themselves require special handling and may not be correctable. | — |
3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — Product code 4x4 matrix test
| Field | Value |
|---|---|
input |
01000100000100010101000000000101 |
expected |
01000100000001000100010100000000000101000000000000 |
Vector 2 — Product code all zeros
| Field | Value |
|---|---|
input |
00000000000000000000000000000000 |
expected |
00000000000000000000000000000000000000000000000000 |
Vector 3 — Product code identity matrix
| Field | Value |
|---|---|
input |
01000000000100000000010000000001 |
expected |
01000000010001000001000001000100000001010101010100 |