This page demonstrates how to generate ECC blocks by performing polynomial divison on a message polynomial. Just enter the coefficients of the message polynomial and the desired number of ECC blocks, then click Perform Division.
If the steps are unclear, please read the error correction generation section of the tutorial, which includes a detailed explanation of these steps.
Polynomial Division Steps
The first step to the division is to prepare the message polynomial for the division. The full message polynomial is:
64x15 + 149x14 + 6x13 + 22x12 + 118x11 + 86x10 + 68x9 + 247x8 + 87x7 + 66x6 + 16x5 + 236x4 + 17x3 + 236x2 + 17x1 + 236
To make sure that the exponent of the lead term doesn't become too small during the division, multiply the message polynomial by xn where n is the number of error correction codewords that are needed. In this case n is 10, for 10 error correction codewords, so multiply the message polynomial by x10, which gives us:
64x25 + 149x24 + 6x23 + 22x22 + 118x21 + 86x20 + 68x19 + 247x18 + 87x17 + 66x16 + 16x15 + 236x14 + 17x13 + 236x12 + 17x11 + 236x10
The lead term of the generator polynomial should also have the same exponent, so multiply by x15 to get
ɑ0x25 + ɑ251x24 + ɑ67x23 + ɑ46x22 + ɑ61x21 + ɑ118x20 + ɑ70x19 + ɑ64x18 + ɑ94x17 + ɑ32x16 + ɑ45x15
Now it is possible to perform the repeated division steps. The number of steps in the division must equal the number of terms in the message polynomial. In this case, the division will take 16 steps to complete. This will result in a remainder that has 10 terms. These terms will be the 10 error correction codewords that are required.
Step 1a: Multiply the Generator Polynomial by the Lead Term of the Message Polynomial
The first step is to multiply the generator polynomial by the lead term of the message polynomial. The lead term in this case is 64x25. Since alpha notation makes it easier to perform the multiplication, it is recommended to convert 64x25 to alpha notation. According to the log antilog table, for the integer value 64, the alpha exponent is 6. Therefore 64 = ɑ6. Multiply the generator polynomial by ɑ6:
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ6x25 + ɑ(257 % 255)x24 + ɑ73x23 + ɑ52x22 + ɑ67x21 + ɑ124x20 + ɑ76x19 + ɑ70x18 + ɑ100x17 + ɑ38x16 + ɑ51x15The result is:
ɑ6x25 + ɑ2x24 + ɑ73x23 + ɑ52x22 + ɑ67x21 + ɑ124x20 + ɑ76x19 + ɑ70x18 + ɑ100x17 + ɑ38x16 + ɑ51x15
Now, convert this to integer notation:
64x25 + 4x24 + 202x23 + 20x22 + 194x21 + 151x20 + 30x19 + 94x18 + 17x17 + 148x16 + 10x15Step 1b: XOR the result with the message polynomial
Since this is the first division step, XOR the result from 1a with the message polynomial.
(64 ⊕ 64)x25 + (149 ⊕ 4)x24 + (6 ⊕ 202)x23 + (22 ⊕ 20)x22 + (118 ⊕ 194)x21 + (86 ⊕ 151)x20 + (68 ⊕ 30)x19 + (247 ⊕ 94)x18 + (87 ⊕ 17)x17 + (66 ⊕ 148)x16 + (16 ⊕ 10)x15 + (236 ⊕ 0)x14 + (17 ⊕ 0)x13 + (236 ⊕ 0)x12 + (17 ⊕ 0)x11 + (236 ⊕ 0)x10
The result is:
0x25 + 145x24 + 204x23 + 2x22 + 180x21 + 193x20 + 90x19 + 169x18 + 70x17 + 214x16 + 26x15 + 236x14 + 17x13 + 236x12 + 17x11 + 236x10
Discard the lead 0 term to get:
145x24 + 204x23 + 2x22 + 180x21 + 193x20 + 90x19 + 169x18 + 70x17 + 214x16 + 26x15 + 236x14 + 17x13 + 236x12 + 17x11 + 236x10
Step 2a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 145x24. Convert 145x24 to alpha notation. According to the log antilog table, for the integer value 145, the alpha exponent is 165. Therefore 145 = ɑ165. Multiply the generator polynomial by ɑ165:
(ɑ165 * ɑ0)x24 + (ɑ165 * ɑ251)x23 + (ɑ165 * ɑ67)x22 + (ɑ165 * ɑ46)x21 + (ɑ165 * ɑ61)x20 + (ɑ165 * ɑ118)x19 + (ɑ165 * ɑ70)x18 + (ɑ165 * ɑ64)x17 + (ɑ165 * ɑ94)x16 + (ɑ165 * ɑ32)x15 + (ɑ165 * ɑ45)x14
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ165x24 + ɑ(416 % 255)x23 + ɑ232x22 + ɑ211x21 + ɑ226x20 + ɑ(283 % 255)x19 + ɑ235x18 + ɑ229x17 + ɑ(259 % 255)x16 + ɑ197x15 + ɑ210x14The result is:
ɑ165x24 + ɑ161x23 + ɑ232x22 + ɑ211x21 + ɑ226x20 + ɑ28x19 + ɑ235x18 + ɑ229x17 + ɑ4x16 + ɑ197x15 + ɑ210x14
Now, convert this to integer notation:
145x24 + 209x23 + 247x22 + 178x21 + 72x20 + 24x19 + 235x18 + 122x17 + 16x16 + 141x15 + 89x14Step 2b: XOR the result with the result from step 1b
Use the result from step 1b to perform the next XOR.
(145 ⊕ 145)x24 + (204 ⊕ 209)x23 + (2 ⊕ 247)x22 + (180 ⊕ 178)x21 + (193 ⊕ 72)x20 + (90 ⊕ 24)x19 + (169 ⊕ 235)x18 + (70 ⊕ 122)x17 + (214 ⊕ 16)x16 + (26 ⊕ 141)x15 + (236 ⊕ 89)x14 + (17 ⊕ 0)x13 + (236 ⊕ 0)x12 + (17 ⊕ 0)x11 + (236 ⊕ 0)x10
The result is:
0x24 + 29x23 + 245x22 + 6x21 + 137x20 + 66x19 + 66x18 + 60x17 + 198x16 + 151x15 + 181x14 + 17x13 + 236x12 + 17x11 + 236x10
Discard the lead 0 term to get:
29x23 + 245x22 + 6x21 + 137x20 + 66x19 + 66x18 + 60x17 + 198x16 + 151x15 + 181x14 + 17x13 + 236x12 + 17x11 + 236x10
Step 3a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 29x23. Convert 29x23 to alpha notation. According to the log antilog table, for the integer value 29, the alpha exponent is 8. Therefore 29 = ɑ8. Multiply the generator polynomial by ɑ8:
(ɑ8 * ɑ0)x23 + (ɑ8 * ɑ251)x22 + (ɑ8 * ɑ67)x21 + (ɑ8 * ɑ46)x20 + (ɑ8 * ɑ61)x19 + (ɑ8 * ɑ118)x18 + (ɑ8 * ɑ70)x17 + (ɑ8 * ɑ64)x16 + (ɑ8 * ɑ94)x15 + (ɑ8 * ɑ32)x14 + (ɑ8 * ɑ45)x13
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ8x23 + ɑ(259 % 255)x22 + ɑ75x21 + ɑ54x20 + ɑ69x19 + ɑ126x18 + ɑ78x17 + ɑ72x16 + ɑ102x15 + ɑ40x14 + ɑ53x13The result is:
ɑ8x23 + ɑ4x22 + ɑ75x21 + ɑ54x20 + ɑ69x19 + ɑ126x18 + ɑ78x17 + ɑ72x16 + ɑ102x15 + ɑ40x14 + ɑ53x13
Now, convert this to integer notation:
29x23 + 16x22 + 15x21 + 80x20 + 47x19 + 102x18 + 120x17 + 101x16 + 68x15 + 106x14 + 40x13Step 3b: XOR the result with the result from step 2b
Use the result from step 2b to perform the next XOR.
(29 ⊕ 29)x23 + (245 ⊕ 16)x22 + (6 ⊕ 15)x21 + (137 ⊕ 80)x20 + (66 ⊕ 47)x19 + (66 ⊕ 102)x18 + (60 ⊕ 120)x17 + (198 ⊕ 101)x16 + (151 ⊕ 68)x15 + (181 ⊕ 106)x14 + (17 ⊕ 40)x13 + (236 ⊕ 0)x12 + (17 ⊕ 0)x11 + (236 ⊕ 0)x10
The result is:
0x23 + 229x22 + 9x21 + 217x20 + 109x19 + 36x18 + 68x17 + 163x16 + 211x15 + 223x14 + 57x13 + 236x12 + 17x11 + 236x10
Discard the lead 0 term to get:
229x22 + 9x21 + 217x20 + 109x19 + 36x18 + 68x17 + 163x16 + 211x15 + 223x14 + 57x13 + 236x12 + 17x11 + 236x10
Step 4a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 229x22. Convert 229x22 to alpha notation. According to the log antilog table, for the integer value 229, the alpha exponent is 169. Therefore 229 = ɑ169. Multiply the generator polynomial by ɑ169:
(ɑ169 * ɑ0)x22 + (ɑ169 * ɑ251)x21 + (ɑ169 * ɑ67)x20 + (ɑ169 * ɑ46)x19 + (ɑ169 * ɑ61)x18 + (ɑ169 * ɑ118)x17 + (ɑ169 * ɑ70)x16 + (ɑ169 * ɑ64)x15 + (ɑ169 * ɑ94)x14 + (ɑ169 * ɑ32)x13 + (ɑ169 * ɑ45)x12
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ169x22 + ɑ(420 % 255)x21 + ɑ236x20 + ɑ215x19 + ɑ230x18 + ɑ(287 % 255)x17 + ɑ239x16 + ɑ233x15 + ɑ(263 % 255)x14 + ɑ201x13 + ɑ214x12The result is:
ɑ169x22 + ɑ165x21 + ɑ236x20 + ɑ215x19 + ɑ230x18 + ɑ32x17 + ɑ239x16 + ɑ233x15 + ɑ8x14 + ɑ201x13 + ɑ214x12
Now, convert this to integer notation:
229x22 + 145x21 + 203x20 + 239x19 + 244x18 + 157x17 + 22x16 + 243x15 + 29x14 + 56x13 + 249x12Step 4b: XOR the result with the result from step 3b
Use the result from step 3b to perform the next XOR.
(229 ⊕ 229)x22 + (9 ⊕ 145)x21 + (217 ⊕ 203)x20 + (109 ⊕ 239)x19 + (36 ⊕ 244)x18 + (68 ⊕ 157)x17 + (163 ⊕ 22)x16 + (211 ⊕ 243)x15 + (223 ⊕ 29)x14 + (57 ⊕ 56)x13 + (236 ⊕ 249)x12 + (17 ⊕ 0)x11 + (236 ⊕ 0)x10
The result is:
0x22 + 152x21 + 18x20 + 130x19 + 208x18 + 217x17 + 181x16 + 32x15 + 194x14 + 1x13 + 21x12 + 17x11 + 236x10
Discard the lead 0 term to get:
152x21 + 18x20 + 130x19 + 208x18 + 217x17 + 181x16 + 32x15 + 194x14 + 1x13 + 21x12 + 17x11 + 236x10
Step 5a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 152x21. Convert 152x21 to alpha notation. According to the log antilog table, for the integer value 152, the alpha exponent is 17. Therefore 152 = ɑ17. Multiply the generator polynomial by ɑ17:
(ɑ17 * ɑ0)x21 + (ɑ17 * ɑ251)x20 + (ɑ17 * ɑ67)x19 + (ɑ17 * ɑ46)x18 + (ɑ17 * ɑ61)x17 + (ɑ17 * ɑ118)x16 + (ɑ17 * ɑ70)x15 + (ɑ17 * ɑ64)x14 + (ɑ17 * ɑ94)x13 + (ɑ17 * ɑ32)x12 + (ɑ17 * ɑ45)x11
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ17x21 + ɑ(268 % 255)x20 + ɑ84x19 + ɑ63x18 + ɑ78x17 + ɑ135x16 + ɑ87x15 + ɑ81x14 + ɑ111x13 + ɑ49x12 + ɑ62x11The result is:
ɑ17x21 + ɑ13x20 + ɑ84x19 + ɑ63x18 + ɑ78x17 + ɑ135x16 + ɑ87x15 + ɑ81x14 + ɑ111x13 + ɑ49x12 + ɑ62x11
Now, convert this to integer notation:
152x21 + 135x20 + 107x19 + 161x18 + 120x17 + 169x16 + 127x15 + 231x14 + 206x13 + 140x12 + 222x11Step 5b: XOR the result with the result from step 4b
Use the result from step 4b to perform the next XOR.
(152 ⊕ 152)x21 + (18 ⊕ 135)x20 + (130 ⊕ 107)x19 + (208 ⊕ 161)x18 + (217 ⊕ 120)x17 + (181 ⊕ 169)x16 + (32 ⊕ 127)x15 + (194 ⊕ 231)x14 + (1 ⊕ 206)x13 + (21 ⊕ 140)x12 + (17 ⊕ 222)x11 + (236 ⊕ 0)x10
The result is:
0x21 + 149x20 + 233x19 + 113x18 + 161x17 + 28x16 + 95x15 + 37x14 + 207x13 + 153x12 + 207x11 + 236x10
Discard the lead 0 term to get:
149x20 + 233x19 + 113x18 + 161x17 + 28x16 + 95x15 + 37x14 + 207x13 + 153x12 + 207x11 + 236x10
Step 6a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 149x20. Convert 149x20 to alpha notation. According to the log antilog table, for the integer value 149, the alpha exponent is 184. Therefore 149 = ɑ184. Multiply the generator polynomial by ɑ184:
(ɑ184 * ɑ0)x20 + (ɑ184 * ɑ251)x19 + (ɑ184 * ɑ67)x18 + (ɑ184 * ɑ46)x17 + (ɑ184 * ɑ61)x16 + (ɑ184 * ɑ118)x15 + (ɑ184 * ɑ70)x14 + (ɑ184 * ɑ64)x13 + (ɑ184 * ɑ94)x12 + (ɑ184 * ɑ32)x11 + (ɑ184 * ɑ45)x10
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ184x20 + ɑ(435 % 255)x19 + ɑ251x18 + ɑ230x17 + ɑ245x16 + ɑ(302 % 255)x15 + ɑ254x14 + ɑ248x13 + ɑ(278 % 255)x12 + ɑ216x11 + ɑ229x10The result is:
ɑ184x20 + ɑ180x19 + ɑ251x18 + ɑ230x17 + ɑ245x16 + ɑ47x15 + ɑ254x14 + ɑ248x13 + ɑ23x12 + ɑ216x11 + ɑ229x10
Now, convert this to integer notation:
149x20 + 150x19 + 216x18 + 244x17 + 233x16 + 35x15 + 142x14 + 27x13 + 201x12 + 195x11 + 122x10Step 6b: XOR the result with the result from step 5b
Use the result from step 5b to perform the next XOR.
(149 ⊕ 149)x20 + (233 ⊕ 150)x19 + (113 ⊕ 216)x18 + (161 ⊕ 244)x17 + (28 ⊕ 233)x16 + (95 ⊕ 35)x15 + (37 ⊕ 142)x14 + (207 ⊕ 27)x13 + (153 ⊕ 201)x12 + (207 ⊕ 195)x11 + (236 ⊕ 122)x10
The result is:
0x20 + 127x19 + 169x18 + 85x17 + 245x16 + 124x15 + 171x14 + 212x13 + 80x12 + 12x11 + 150x10
Discard the lead 0 term to get:
127x19 + 169x18 + 85x17 + 245x16 + 124x15 + 171x14 + 212x13 + 80x12 + 12x11 + 150x10
Step 7a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 127x19. Convert 127x19 to alpha notation. According to the log antilog table, for the integer value 127, the alpha exponent is 87. Therefore 127 = ɑ87. Multiply the generator polynomial by ɑ87:
(ɑ87 * ɑ0)x19 + (ɑ87 * ɑ251)x18 + (ɑ87 * ɑ67)x17 + (ɑ87 * ɑ46)x16 + (ɑ87 * ɑ61)x15 + (ɑ87 * ɑ118)x14 + (ɑ87 * ɑ70)x13 + (ɑ87 * ɑ64)x12 + (ɑ87 * ɑ94)x11 + (ɑ87 * ɑ32)x10 + (ɑ87 * ɑ45)x9
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ87x19 + ɑ(338 % 255)x18 + ɑ154x17 + ɑ133x16 + ɑ148x15 + ɑ205x14 + ɑ157x13 + ɑ151x12 + ɑ181x11 + ɑ119x10 + ɑ132x9The result is:
ɑ87x19 + ɑ83x18 + ɑ154x17 + ɑ133x16 + ɑ148x15 + ɑ205x14 + ɑ157x13 + ɑ151x12 + ɑ181x11 + ɑ119x10 + ɑ132x9
Now, convert this to integer notation:
127x19 + 187x18 + 57x17 + 109x16 + 82x15 + 167x14 + 213x13 + 170x12 + 49x11 + 147x10 + 184x9Step 7b: XOR the result with the result from step 6b
Use the result from step 6b to perform the next XOR.
(127 ⊕ 127)x19 + (169 ⊕ 187)x18 + (85 ⊕ 57)x17 + (245 ⊕ 109)x16 + (124 ⊕ 82)x15 + (171 ⊕ 167)x14 + (212 ⊕ 213)x13 + (80 ⊕ 170)x12 + (12 ⊕ 49)x11 + (150 ⊕ 147)x10 + (0 ⊕ 184)x9
The result is:
0x19 + 18x18 + 108x17 + 152x16 + 46x15 + 12x14 + 1x13 + 250x12 + 61x11 + 5x10 + 184x9
Discard the lead 0 term to get:
18x18 + 108x17 + 152x16 + 46x15 + 12x14 + 1x13 + 250x12 + 61x11 + 5x10 + 184x9
Step 8a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 18x18. Convert 18x18 to alpha notation. According to the log antilog table, for the integer value 18, the alpha exponent is 224. Therefore 18 = ɑ224. Multiply the generator polynomial by ɑ224:
(ɑ224 * ɑ0)x18 + (ɑ224 * ɑ251)x17 + (ɑ224 * ɑ67)x16 + (ɑ224 * ɑ46)x15 + (ɑ224 * ɑ61)x14 + (ɑ224 * ɑ118)x13 + (ɑ224 * ɑ70)x12 + (ɑ224 * ɑ64)x11 + (ɑ224 * ɑ94)x10 + (ɑ224 * ɑ32)x9 + (ɑ224 * ɑ45)x8
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ224x18 + ɑ(475 % 255)x17 + ɑ(291 % 255)x16 + ɑ(270 % 255)x15 + ɑ(285 % 255)x14 + ɑ(342 % 255)x13 + ɑ(294 % 255)x12 + ɑ(288 % 255)x11 + ɑ(318 % 255)x10 + ɑ(256 % 255)x9 + ɑ(269 % 255)x8The result is:
ɑ224x18 + ɑ220x17 + ɑ36x16 + ɑ15x15 + ɑ30x14 + ɑ87x13 + ɑ39x12 + ɑ33x11 + ɑ63x10 + ɑ1x9 + ɑ14x8
Now, convert this to integer notation:
18x18 + 172x17 + 37x16 + 38x15 + 96x14 + 127x13 + 53x12 + 39x11 + 161x10 + 2x9 + 19x8Step 8b: XOR the result with the result from step 7b
Use the result from step 7b to perform the next XOR.
(18 ⊕ 18)x18 + (108 ⊕ 172)x17 + (152 ⊕ 37)x16 + (46 ⊕ 38)x15 + (12 ⊕ 96)x14 + (1 ⊕ 127)x13 + (250 ⊕ 53)x12 + (61 ⊕ 39)x11 + (5 ⊕ 161)x10 + (184 ⊕ 2)x9 + (0 ⊕ 19)x8
The result is:
0x18 + 192x17 + 189x16 + 8x15 + 108x14 + 126x13 + 207x12 + 26x11 + 164x10 + 186x9 + 19x8
Discard the lead 0 term to get:
192x17 + 189x16 + 8x15 + 108x14 + 126x13 + 207x12 + 26x11 + 164x10 + 186x9 + 19x8
Step 9a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 192x17. Convert 192x17 to alpha notation. According to the log antilog table, for the integer value 192, the alpha exponent is 31. Therefore 192 = ɑ31. Multiply the generator polynomial by ɑ31:
(ɑ31 * ɑ0)x17 + (ɑ31 * ɑ251)x16 + (ɑ31 * ɑ67)x15 + (ɑ31 * ɑ46)x14 + (ɑ31 * ɑ61)x13 + (ɑ31 * ɑ118)x12 + (ɑ31 * ɑ70)x11 + (ɑ31 * ɑ64)x10 + (ɑ31 * ɑ94)x9 + (ɑ31 * ɑ32)x8 + (ɑ31 * ɑ45)x7
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ31x17 + ɑ(282 % 255)x16 + ɑ98x15 + ɑ77x14 + ɑ92x13 + ɑ149x12 + ɑ101x11 + ɑ95x10 + ɑ125x9 + ɑ63x8 + ɑ76x7The result is:
ɑ31x17 + ɑ27x16 + ɑ98x15 + ɑ77x14 + ɑ92x13 + ɑ149x12 + ɑ101x11 + ɑ95x10 + ɑ125x9 + ɑ63x8 + ɑ76x7
Now, convert this to integer notation:
192x17 + 12x16 + 67x15 + 60x14 + 91x13 + 164x12 + 34x11 + 226x10 + 51x9 + 161x8 + 30x7Step 9b: XOR the result with the result from step 8b
Use the result from step 8b to perform the next XOR.
(192 ⊕ 192)x17 + (189 ⊕ 12)x16 + (8 ⊕ 67)x15 + (108 ⊕ 60)x14 + (126 ⊕ 91)x13 + (207 ⊕ 164)x12 + (26 ⊕ 34)x11 + (164 ⊕ 226)x10 + (186 ⊕ 51)x9 + (19 ⊕ 161)x8 + (0 ⊕ 30)x7
The result is:
0x17 + 177x16 + 75x15 + 80x14 + 37x13 + 107x12 + 56x11 + 70x10 + 137x9 + 178x8 + 30x7
Discard the lead 0 term to get:
177x16 + 75x15 + 80x14 + 37x13 + 107x12 + 56x11 + 70x10 + 137x9 + 178x8 + 30x7
Step 10a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 177x16. Convert 177x16 to alpha notation. According to the log antilog table, for the integer value 177, the alpha exponent is 86. Therefore 177 = ɑ86. Multiply the generator polynomial by ɑ86:
(ɑ86 * ɑ0)x16 + (ɑ86 * ɑ251)x15 + (ɑ86 * ɑ67)x14 + (ɑ86 * ɑ46)x13 + (ɑ86 * ɑ61)x12 + (ɑ86 * ɑ118)x11 + (ɑ86 * ɑ70)x10 + (ɑ86 * ɑ64)x9 + (ɑ86 * ɑ94)x8 + (ɑ86 * ɑ32)x7 + (ɑ86 * ɑ45)x6
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ86x16 + ɑ(337 % 255)x15 + ɑ153x14 + ɑ132x13 + ɑ147x12 + ɑ204x11 + ɑ156x10 + ɑ150x9 + ɑ180x8 + ɑ118x7 + ɑ131x6The result is:
ɑ86x16 + ɑ82x15 + ɑ153x14 + ɑ132x13 + ɑ147x12 + ɑ204x11 + ɑ156x10 + ɑ150x9 + ɑ180x8 + ɑ118x7 + ɑ131x6
Now, convert this to integer notation:
177x16 + 211x15 + 146x14 + 184x13 + 41x12 + 221x11 + 228x10 + 85x9 + 150x8 + 199x7 + 92x6Step 10b: XOR the result with the result from step 9b
Use the result from step 9b to perform the next XOR.
(177 ⊕ 177)x16 + (75 ⊕ 211)x15 + (80 ⊕ 146)x14 + (37 ⊕ 184)x13 + (107 ⊕ 41)x12 + (56 ⊕ 221)x11 + (70 ⊕ 228)x10 + (137 ⊕ 85)x9 + (178 ⊕ 150)x8 + (30 ⊕ 199)x7 + (0 ⊕ 92)x6
The result is:
0x16 + 152x15 + 194x14 + 157x13 + 66x12 + 229x11 + 162x10 + 220x9 + 36x8 + 217x7 + 92x6
Discard the lead 0 term to get:
152x15 + 194x14 + 157x13 + 66x12 + 229x11 + 162x10 + 220x9 + 36x8 + 217x7 + 92x6
Step 11a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 152x15. Convert 152x15 to alpha notation. According to the log antilog table, for the integer value 152, the alpha exponent is 17. Therefore 152 = ɑ17. Multiply the generator polynomial by ɑ17:
(ɑ17 * ɑ0)x15 + (ɑ17 * ɑ251)x14 + (ɑ17 * ɑ67)x13 + (ɑ17 * ɑ46)x12 + (ɑ17 * ɑ61)x11 + (ɑ17 * ɑ118)x10 + (ɑ17 * ɑ70)x9 + (ɑ17 * ɑ64)x8 + (ɑ17 * ɑ94)x7 + (ɑ17 * ɑ32)x6 + (ɑ17 * ɑ45)x5
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ17x15 + ɑ(268 % 255)x14 + ɑ84x13 + ɑ63x12 + ɑ78x11 + ɑ135x10 + ɑ87x9 + ɑ81x8 + ɑ111x7 + ɑ49x6 + ɑ62x5The result is:
ɑ17x15 + ɑ13x14 + ɑ84x13 + ɑ63x12 + ɑ78x11 + ɑ135x10 + ɑ87x9 + ɑ81x8 + ɑ111x7 + ɑ49x6 + ɑ62x5
Now, convert this to integer notation:
152x15 + 135x14 + 107x13 + 161x12 + 120x11 + 169x10 + 127x9 + 231x8 + 206x7 + 140x6 + 222x5Step 11b: XOR the result with the result from step 10b
Use the result from step 10b to perform the next XOR.
(152 ⊕ 152)x15 + (194 ⊕ 135)x14 + (157 ⊕ 107)x13 + (66 ⊕ 161)x12 + (229 ⊕ 120)x11 + (162 ⊕ 169)x10 + (220 ⊕ 127)x9 + (36 ⊕ 231)x8 + (217 ⊕ 206)x7 + (92 ⊕ 140)x6 + (0 ⊕ 222)x5
The result is:
0x15 + 69x14 + 246x13 + 227x12 + 157x11 + 11x10 + 163x9 + 195x8 + 23x7 + 208x6 + 222x5
Discard the lead 0 term to get:
69x14 + 246x13 + 227x12 + 157x11 + 11x10 + 163x9 + 195x8 + 23x7 + 208x6 + 222x5
Step 12a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 69x14. Convert 69x14 to alpha notation. According to the log antilog table, for the integer value 69, the alpha exponent is 221. Therefore 69 = ɑ221. Multiply the generator polynomial by ɑ221:
(ɑ221 * ɑ0)x14 + (ɑ221 * ɑ251)x13 + (ɑ221 * ɑ67)x12 + (ɑ221 * ɑ46)x11 + (ɑ221 * ɑ61)x10 + (ɑ221 * ɑ118)x9 + (ɑ221 * ɑ70)x8 + (ɑ221 * ɑ64)x7 + (ɑ221 * ɑ94)x6 + (ɑ221 * ɑ32)x5 + (ɑ221 * ɑ45)x4
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ221x14 + ɑ(472 % 255)x13 + ɑ(288 % 255)x12 + ɑ(267 % 255)x11 + ɑ(282 % 255)x10 + ɑ(339 % 255)x9 + ɑ(291 % 255)x8 + ɑ(285 % 255)x7 + ɑ(315 % 255)x6 + ɑ253x5 + ɑ(266 % 255)x4The result is:
ɑ221x14 + ɑ217x13 + ɑ33x12 + ɑ12x11 + ɑ27x10 + ɑ84x9 + ɑ36x8 + ɑ30x7 + ɑ60x6 + ɑ253x5 + ɑ11x4
Now, convert this to integer notation:
69x14 + 155x13 + 39x12 + 205x11 + 12x10 + 107x9 + 37x8 + 96x7 + 185x6 + 71x5 + 232x4Step 12b: XOR the result with the result from step 11b
Use the result from step 11b to perform the next XOR.
(69 ⊕ 69)x14 + (246 ⊕ 155)x13 + (227 ⊕ 39)x12 + (157 ⊕ 205)x11 + (11 ⊕ 12)x10 + (163 ⊕ 107)x9 + (195 ⊕ 37)x8 + (23 ⊕ 96)x7 + (208 ⊕ 185)x6 + (222 ⊕ 71)x5 + (0 ⊕ 232)x4
The result is:
0x14 + 109x13 + 196x12 + 80x11 + 7x10 + 200x9 + 230x8 + 119x7 + 105x6 + 153x5 + 232x4
Discard the lead 0 term to get:
109x13 + 196x12 + 80x11 + 7x10 + 200x9 + 230x8 + 119x7 + 105x6 + 153x5 + 232x4
Step 13a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 109x13. Convert 109x13 to alpha notation. According to the log antilog table, for the integer value 109, the alpha exponent is 133. Therefore 109 = ɑ133. Multiply the generator polynomial by ɑ133:
(ɑ133 * ɑ0)x13 + (ɑ133 * ɑ251)x12 + (ɑ133 * ɑ67)x11 + (ɑ133 * ɑ46)x10 + (ɑ133 * ɑ61)x9 + (ɑ133 * ɑ118)x8 + (ɑ133 * ɑ70)x7 + (ɑ133 * ɑ64)x6 + (ɑ133 * ɑ94)x5 + (ɑ133 * ɑ32)x4 + (ɑ133 * ɑ45)x3
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ133x13 + ɑ(384 % 255)x12 + ɑ200x11 + ɑ179x10 + ɑ194x9 + ɑ251x8 + ɑ203x7 + ɑ197x6 + ɑ227x5 + ɑ165x4 + ɑ178x3The result is:
ɑ133x13 + ɑ129x12 + ɑ200x11 + ɑ179x10 + ɑ194x9 + ɑ251x8 + ɑ203x7 + ɑ197x6 + ɑ227x5 + ɑ165x4 + ɑ178x3
Now, convert this to integer notation:
109x13 + 23x12 + 28x11 + 75x10 + 50x9 + 216x8 + 224x7 + 141x6 + 144x5 + 145x4 + 171x3Step 13b: XOR the result with the result from step 12b
Use the result from step 12b to perform the next XOR.
(109 ⊕ 109)x13 + (196 ⊕ 23)x12 + (80 ⊕ 28)x11 + (7 ⊕ 75)x10 + (200 ⊕ 50)x9 + (230 ⊕ 216)x8 + (119 ⊕ 224)x7 + (105 ⊕ 141)x6 + (153 ⊕ 144)x5 + (232 ⊕ 145)x4 + (0 ⊕ 171)x3
The result is:
0x13 + 211x12 + 76x11 + 76x10 + 250x9 + 62x8 + 151x7 + 228x6 + 9x5 + 121x4 + 171x3
Discard the lead 0 term to get:
211x12 + 76x11 + 76x10 + 250x9 + 62x8 + 151x7 + 228x6 + 9x5 + 121x4 + 171x3
Step 14a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 211x12. Convert 211x12 to alpha notation. According to the log antilog table, for the integer value 211, the alpha exponent is 82. Therefore 211 = ɑ82. Multiply the generator polynomial by ɑ82:
(ɑ82 * ɑ0)x12 + (ɑ82 * ɑ251)x11 + (ɑ82 * ɑ67)x10 + (ɑ82 * ɑ46)x9 + (ɑ82 * ɑ61)x8 + (ɑ82 * ɑ118)x7 + (ɑ82 * ɑ70)x6 + (ɑ82 * ɑ64)x5 + (ɑ82 * ɑ94)x4 + (ɑ82 * ɑ32)x3 + (ɑ82 * ɑ45)x2
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ82x12 + ɑ(333 % 255)x11 + ɑ149x10 + ɑ128x9 + ɑ143x8 + ɑ200x7 + ɑ152x6 + ɑ146x5 + ɑ176x4 + ɑ114x3 + ɑ127x2The result is:
ɑ82x12 + ɑ78x11 + ɑ149x10 + ɑ128x9 + ɑ143x8 + ɑ200x7 + ɑ152x6 + ɑ146x5 + ɑ176x4 + ɑ114x3 + ɑ127x2
Now, convert this to integer notation:
211x12 + 120x11 + 164x10 + 133x9 + 84x8 + 28x7 + 73x6 + 154x5 + 227x4 + 62x3 + 204x2Step 14b: XOR the result with the result from step 13b
Use the result from step 13b to perform the next XOR.
(211 ⊕ 211)x12 + (76 ⊕ 120)x11 + (76 ⊕ 164)x10 + (250 ⊕ 133)x9 + (62 ⊕ 84)x8 + (151 ⊕ 28)x7 + (228 ⊕ 73)x6 + (9 ⊕ 154)x5 + (121 ⊕ 227)x4 + (171 ⊕ 62)x3 + (0 ⊕ 204)x2
The result is:
0x12 + 52x11 + 232x10 + 127x9 + 106x8 + 139x7 + 173x6 + 147x5 + 154x4 + 149x3 + 204x2
Discard the lead 0 term to get:
52x11 + 232x10 + 127x9 + 106x8 + 139x7 + 173x6 + 147x5 + 154x4 + 149x3 + 204x2
Step 15a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 52x11. Convert 52x11 to alpha notation. According to the log antilog table, for the integer value 52, the alpha exponent is 106. Therefore 52 = ɑ106. Multiply the generator polynomial by ɑ106:
(ɑ106 * ɑ0)x11 + (ɑ106 * ɑ251)x10 + (ɑ106 * ɑ67)x9 + (ɑ106 * ɑ46)x8 + (ɑ106 * ɑ61)x7 + (ɑ106 * ɑ118)x6 + (ɑ106 * ɑ70)x5 + (ɑ106 * ɑ64)x4 + (ɑ106 * ɑ94)x3 + (ɑ106 * ɑ32)x2 + (ɑ106 * ɑ45)x1
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ106x11 + ɑ(357 % 255)x10 + ɑ173x9 + ɑ152x8 + ɑ167x7 + ɑ224x6 + ɑ176x5 + ɑ170x4 + ɑ200x3 + ɑ138x2 + ɑ151x1The result is:
ɑ106x11 + ɑ102x10 + ɑ173x9 + ɑ152x8 + ɑ167x7 + ɑ224x6 + ɑ176x5 + ɑ170x4 + ɑ200x3 + ɑ138x2 + ɑ151x1
Now, convert this to integer notation:
52x11 + 68x10 + 246x9 + 73x8 + 126x7 + 18x6 + 227x5 + 215x4 + 28x3 + 33x2 + 170x1Step 15b: XOR the result with the result from step 14b
Use the result from step 14b to perform the next XOR.
(52 ⊕ 52)x11 + (232 ⊕ 68)x10 + (127 ⊕ 246)x9 + (106 ⊕ 73)x8 + (139 ⊕ 126)x7 + (173 ⊕ 18)x6 + (147 ⊕ 227)x5 + (154 ⊕ 215)x4 + (149 ⊕ 28)x3 + (204 ⊕ 33)x2 + (0 ⊕ 170)x1
The result is:
0x11 + 172x10 + 137x9 + 35x8 + 245x7 + 191x6 + 112x5 + 77x4 + 137x3 + 237x2 + 170x1
Discard the lead 0 term to get:
172x10 + 137x9 + 35x8 + 245x7 + 191x6 + 112x5 + 77x4 + 137x3 + 237x2 + 170x1
Step 16a: Multiply the Generator Polynomial by the Lead Term of the XOR result from the previous step
Next, multiply the generator polynomial by the lead term of the XOR result from the previous step. The lead term in this case is 172x10. Convert 172x10 to alpha notation. According to the log antilog table, for the integer value 172, the alpha exponent is 220. Therefore 172 = ɑ220. Multiply the generator polynomial by ɑ220:
(ɑ220 * ɑ0)x10 + (ɑ220 * ɑ251)x9 + (ɑ220 * ɑ67)x8 + (ɑ220 * ɑ46)x7 + (ɑ220 * ɑ61)x6 + (ɑ220 * ɑ118)x5 + (ɑ220 * ɑ70)x4 + (ɑ220 * ɑ64)x3 + (ɑ220 * ɑ94)x2 + (ɑ220 * ɑ32)x1 + (ɑ220 * ɑ45)x0
The exponents of the alphas are added together. In this case, at least one of the exponents is larger than 255, so perform modulo 255 as follows:
ɑ220x10 + ɑ(471 % 255)x9 + ɑ(287 % 255)x8 + ɑ(266 % 255)x7 + ɑ(281 % 255)x6 + ɑ(338 % 255)x5 + ɑ(290 % 255)x4 + ɑ(284 % 255)x3 + ɑ(314 % 255)x2 + ɑ252x1 + ɑ(265 % 255)x0The result is:
ɑ220x10 + ɑ216x9 + ɑ32x8 + ɑ11x7 + ɑ26x6 + ɑ83x5 + ɑ35x4 + ɑ29x3 + ɑ59x2 + ɑ252x1 + ɑ10x0
Now, convert this to integer notation:
172x10 + 195x9 + 157x8 + 232x7 + 6x6 + 187x5 + 156x4 + 48x3 + 210x2 + 173x1 + 116Step 16b: XOR the result with the result from step 15b
Use the result from step 15b to perform the next XOR.
(172 ⊕ 172)x10 + (137 ⊕ 195)x9 + (35 ⊕ 157)x8 + (245 ⊕ 232)x7 + (191 ⊕ 6)x6 + (112 ⊕ 187)x5 + (77 ⊕ 156)x4 + (137 ⊕ 48)x3 + (237 ⊕ 210)x2 + (170 ⊕ 173)x1 + (0 ⊕ 116)x0
The result is:
0x10 + 74x9 + 190x8 + 29x7 + 185x6 + 203x5 + 209x4 + 185x3 + 63x2 + 7x1 + 116
Discard the lead 0 term to get:
74x9 + 190x8 + 29x7 + 185x6 + 203x5 + 209x4 + 185x3 + 63x2 + 7x1 + 116
Use the terms of the remainder as the error correction codewords
The division has been performed 16 times, which is the number of terms in the message polynomial. This means that the division is complete and the terms of the above polynomial are the error correction codewords to use for the original message polynomial:
74 190 29 185 203 209 185 63 7 116