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:
32x12 + 91x11 + 11x10 + 120x9 + 209x8 + 114x7 + 220x6 + 77x5 + 67x4 + 64x3 + 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 13, for 13 error correction codewords, so multiply the message polynomial by x13, which gives us:
32x25 + 91x24 + 11x23 + 120x22 + 209x21 + 114x20 + 220x19 + 77x18 + 67x17 + 64x16 + 236x15 + 17x14 + 236x13
The lead term of the generator polynomial should also have the same exponent, so multiply by x12 to get
ɑ0x25 + ɑ74x24 + ɑ152x23 + ɑ176x22 + ɑ100x21 + ɑ86x20 + ɑ100x19 + ɑ106x18 + ɑ104x17 + ɑ130x16 + ɑ218x15 + ɑ206x14 + ɑ140x13 + ɑ78x12
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 13 steps to complete. This will result in a remainder that has 13 terms. These terms will be the 13 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 32x25. Since alpha notation makes it easier to perform the multiplication, it is recommended to convert 32x25 to alpha notation. According to the log antilog table, for the integer value 32, the alpha exponent is 5. Therefore 32 = ɑ5. Multiply the generator polynomial by ɑ5:
The exponents of the alphas are added together. The result is:
ɑ5x25 + ɑ79x24 + ɑ157x23 + ɑ181x22 + ɑ105x21 + ɑ91x20 + ɑ105x19 + ɑ111x18 + ɑ109x17 + ɑ135x16 + ɑ223x15 + ɑ211x14 + ɑ145x13 + ɑ83x12
Now, convert this to integer notation:
32x25 + 240x24 + 213x23 + 49x22 + 26x21 + 163x20 + 26x19 + 206x18 + 189x17 + 169x16 + 9x15 + 178x14 + 77x13 + 187x12Step 1b: XOR the result with the message polynomial
Since this is the first division step, XOR the result from 1a with the message polynomial.
(32 ⊕ 32)x25 + (91 ⊕ 240)x24 + (11 ⊕ 213)x23 + (120 ⊕ 49)x22 + (209 ⊕ 26)x21 + (114 ⊕ 163)x20 + (220 ⊕ 26)x19 + (77 ⊕ 206)x18 + (67 ⊕ 189)x17 + (64 ⊕ 169)x16 + (236 ⊕ 9)x15 + (17 ⊕ 178)x14 + (236 ⊕ 77)x13 + (0 ⊕ 187)x12
The result is:
0x25 + 171x24 + 222x23 + 73x22 + 203x21 + 209x20 + 198x19 + 131x18 + 254x17 + 233x16 + 229x15 + 163x14 + 161x13 + 187x12
Discard the lead 0 term to get:
171x24 + 222x23 + 73x22 + 203x21 + 209x20 + 198x19 + 131x18 + 254x17 + 233x16 + 229x15 + 163x14 + 161x13 + 187x12
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 171x24. Convert 171x24 to alpha notation. According to the log antilog table, for the integer value 171, the alpha exponent is 178. Therefore 171 = ɑ178. Multiply the generator polynomial by ɑ178:
(ɑ178 * ɑ0)x24 + (ɑ178 * ɑ74)x23 + (ɑ178 * ɑ152)x22 + (ɑ178 * ɑ176)x21 + (ɑ178 * ɑ100)x20 + (ɑ178 * ɑ86)x19 + (ɑ178 * ɑ100)x18 + (ɑ178 * ɑ106)x17 + (ɑ178 * ɑ104)x16 + (ɑ178 * ɑ130)x15 + (ɑ178 * ɑ218)x14 + (ɑ178 * ɑ206)x13 + (ɑ178 * ɑ140)x12 + (ɑ178 * ɑ78)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:
ɑ178x24 + ɑ252x23 + ɑ(330 % 255)x22 + ɑ(354 % 255)x21 + ɑ(278 % 255)x20 + ɑ(264 % 255)x19 + ɑ(278 % 255)x18 + ɑ(284 % 255)x17 + ɑ(282 % 255)x16 + ɑ(308 % 255)x15 + ɑ(396 % 255)x14 + ɑ(384 % 255)x13 + ɑ(318 % 255)x12 + ɑ(256 % 255)x11The result is:
ɑ178x24 + ɑ252x23 + ɑ75x22 + ɑ99x21 + ɑ23x20 + ɑ9x19 + ɑ23x18 + ɑ29x17 + ɑ27x16 + ɑ53x15 + ɑ141x14 + ɑ129x13 + ɑ63x12 + ɑ1x11
Now, convert this to integer notation:
171x24 + 173x23 + 15x22 + 134x21 + 201x20 + 58x19 + 201x18 + 48x17 + 12x16 + 40x15 + 21x14 + 23x13 + 161x12 + 2x11Step 2b: XOR the result with the result from step 1b
Use the result from step 1b to perform the next XOR.
(171 ⊕ 171)x24 + (222 ⊕ 173)x23 + (73 ⊕ 15)x22 + (203 ⊕ 134)x21 + (209 ⊕ 201)x20 + (198 ⊕ 58)x19 + (131 ⊕ 201)x18 + (254 ⊕ 48)x17 + (233 ⊕ 12)x16 + (229 ⊕ 40)x15 + (163 ⊕ 21)x14 + (161 ⊕ 23)x13 + (187 ⊕ 161)x12 + (0 ⊕ 2)x11
The result is:
0x24 + 115x23 + 70x22 + 77x21 + 24x20 + 252x19 + 74x18 + 206x17 + 229x16 + 205x15 + 182x14 + 182x13 + 26x12 + 2x11
Discard the lead 0 term to get:
115x23 + 70x22 + 77x21 + 24x20 + 252x19 + 74x18 + 206x17 + 229x16 + 205x15 + 182x14 + 182x13 + 26x12 + 2x11
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 115x23. Convert 115x23 to alpha notation. According to the log antilog table, for the integer value 115, the alpha exponent is 159. Therefore 115 = ɑ159. Multiply the generator polynomial by ɑ159:
(ɑ159 * ɑ0)x23 + (ɑ159 * ɑ74)x22 + (ɑ159 * ɑ152)x21 + (ɑ159 * ɑ176)x20 + (ɑ159 * ɑ100)x19 + (ɑ159 * ɑ86)x18 + (ɑ159 * ɑ100)x17 + (ɑ159 * ɑ106)x16 + (ɑ159 * ɑ104)x15 + (ɑ159 * ɑ130)x14 + (ɑ159 * ɑ218)x13 + (ɑ159 * ɑ206)x12 + (ɑ159 * ɑ140)x11 + (ɑ159 * ɑ78)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:
ɑ159x23 + ɑ233x22 + ɑ(311 % 255)x21 + ɑ(335 % 255)x20 + ɑ(259 % 255)x19 + ɑ245x18 + ɑ(259 % 255)x17 + ɑ(265 % 255)x16 + ɑ(263 % 255)x15 + ɑ(289 % 255)x14 + ɑ(377 % 255)x13 + ɑ(365 % 255)x12 + ɑ(299 % 255)x11 + ɑ237x10The result is:
ɑ159x23 + ɑ233x22 + ɑ56x21 + ɑ80x20 + ɑ4x19 + ɑ245x18 + ɑ4x17 + ɑ10x16 + ɑ8x15 + ɑ34x14 + ɑ122x13 + ɑ110x12 + ɑ44x11 + ɑ237x10
Now, convert this to integer notation:
115x23 + 243x22 + 93x21 + 253x20 + 16x19 + 233x18 + 16x17 + 116x16 + 29x15 + 78x14 + 236x13 + 103x12 + 238x11 + 139x10Step 3b: XOR the result with the result from step 2b
Use the result from step 2b to perform the next XOR.
(115 ⊕ 115)x23 + (70 ⊕ 243)x22 + (77 ⊕ 93)x21 + (24 ⊕ 253)x20 + (252 ⊕ 16)x19 + (74 ⊕ 233)x18 + (206 ⊕ 16)x17 + (229 ⊕ 116)x16 + (205 ⊕ 29)x15 + (182 ⊕ 78)x14 + (182 ⊕ 236)x13 + (26 ⊕ 103)x12 + (2 ⊕ 238)x11 + (0 ⊕ 139)x10
The result is:
0x23 + 181x22 + 16x21 + 229x20 + 236x19 + 163x18 + 222x17 + 145x16 + 208x15 + 248x14 + 90x13 + 125x12 + 236x11 + 139x10
Discard the lead 0 term to get:
181x22 + 16x21 + 229x20 + 236x19 + 163x18 + 222x17 + 145x16 + 208x15 + 248x14 + 90x13 + 125x12 + 236x11 + 139x10
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 181x22. Convert 181x22 to alpha notation. According to the log antilog table, for the integer value 181, the alpha exponent is 42. Therefore 181 = ɑ42. Multiply the generator polynomial by ɑ42:
(ɑ42 * ɑ0)x22 + (ɑ42 * ɑ74)x21 + (ɑ42 * ɑ152)x20 + (ɑ42 * ɑ176)x19 + (ɑ42 * ɑ100)x18 + (ɑ42 * ɑ86)x17 + (ɑ42 * ɑ100)x16 + (ɑ42 * ɑ106)x15 + (ɑ42 * ɑ104)x14 + (ɑ42 * ɑ130)x13 + (ɑ42 * ɑ218)x12 + (ɑ42 * ɑ206)x11 + (ɑ42 * ɑ140)x10 + (ɑ42 * ɑ78)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:
ɑ42x22 + ɑ116x21 + ɑ194x20 + ɑ218x19 + ɑ142x18 + ɑ128x17 + ɑ142x16 + ɑ148x15 + ɑ146x14 + ɑ172x13 + ɑ(260 % 255)x12 + ɑ248x11 + ɑ182x10 + ɑ120x9The result is:
ɑ42x22 + ɑ116x21 + ɑ194x20 + ɑ218x19 + ɑ142x18 + ɑ128x17 + ɑ142x16 + ɑ148x15 + ɑ146x14 + ɑ172x13 + ɑ5x12 + ɑ248x11 + ɑ182x10 + ɑ120x9
Now, convert this to integer notation:
181x22 + 248x21 + 50x20 + 43x19 + 42x18 + 133x17 + 42x16 + 82x15 + 154x14 + 123x13 + 32x12 + 27x11 + 98x10 + 59x9Step 4b: XOR the result with the result from step 3b
Use the result from step 3b to perform the next XOR.
(181 ⊕ 181)x22 + (16 ⊕ 248)x21 + (229 ⊕ 50)x20 + (236 ⊕ 43)x19 + (163 ⊕ 42)x18 + (222 ⊕ 133)x17 + (145 ⊕ 42)x16 + (208 ⊕ 82)x15 + (248 ⊕ 154)x14 + (90 ⊕ 123)x13 + (125 ⊕ 32)x12 + (236 ⊕ 27)x11 + (139 ⊕ 98)x10 + (0 ⊕ 59)x9
The result is:
0x22 + 232x21 + 215x20 + 199x19 + 137x18 + 91x17 + 187x16 + 130x15 + 98x14 + 33x13 + 93x12 + 247x11 + 233x10 + 59x9
Discard the lead 0 term to get:
232x21 + 215x20 + 199x19 + 137x18 + 91x17 + 187x16 + 130x15 + 98x14 + 33x13 + 93x12 + 247x11 + 233x10 + 59x9
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 232x21. Convert 232x21 to alpha notation. According to the log antilog table, for the integer value 232, the alpha exponent is 11. Therefore 232 = ɑ11. Multiply the generator polynomial by ɑ11:
(ɑ11 * ɑ0)x21 + (ɑ11 * ɑ74)x20 + (ɑ11 * ɑ152)x19 + (ɑ11 * ɑ176)x18 + (ɑ11 * ɑ100)x17 + (ɑ11 * ɑ86)x16 + (ɑ11 * ɑ100)x15 + (ɑ11 * ɑ106)x14 + (ɑ11 * ɑ104)x13 + (ɑ11 * ɑ130)x12 + (ɑ11 * ɑ218)x11 + (ɑ11 * ɑ206)x10 + (ɑ11 * ɑ140)x9 + (ɑ11 * ɑ78)x8
The exponents of the alphas are added together. The result is:
ɑ11x21 + ɑ85x20 + ɑ163x19 + ɑ187x18 + ɑ111x17 + ɑ97x16 + ɑ111x15 + ɑ117x14 + ɑ115x13 + ɑ141x12 + ɑ229x11 + ɑ217x10 + ɑ151x9 + ɑ89x8
Now, convert this to integer notation:
232x21 + 214x20 + 99x19 + 220x18 + 206x17 + 175x16 + 206x15 + 237x14 + 124x13 + 21x12 + 122x11 + 155x10 + 170x9 + 225x8Step 5b: XOR the result with the result from step 4b
Use the result from step 4b to perform the next XOR.
(232 ⊕ 232)x21 + (215 ⊕ 214)x20 + (199 ⊕ 99)x19 + (137 ⊕ 220)x18 + (91 ⊕ 206)x17 + (187 ⊕ 175)x16 + (130 ⊕ 206)x15 + (98 ⊕ 237)x14 + (33 ⊕ 124)x13 + (93 ⊕ 21)x12 + (247 ⊕ 122)x11 + (233 ⊕ 155)x10 + (59 ⊕ 170)x9 + (0 ⊕ 225)x8
The result is:
0x21 + 1x20 + 164x19 + 85x18 + 149x17 + 20x16 + 76x15 + 143x14 + 93x13 + 72x12 + 141x11 + 114x10 + 145x9 + 225x8
Discard the lead 0 term to get:
1x20 + 164x19 + 85x18 + 149x17 + 20x16 + 76x15 + 143x14 + 93x13 + 72x12 + 141x11 + 114x10 + 145x9 + 225x8
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 1x20. Convert 1x20 to alpha notation. According to the log antilog table, for the integer value 1, the alpha exponent is 0. Therefore 1 = ɑ0. Multiply the generator polynomial by ɑ0:
(ɑ0 * ɑ0)x20 + (ɑ0 * ɑ74)x19 + (ɑ0 * ɑ152)x18 + (ɑ0 * ɑ176)x17 + (ɑ0 * ɑ100)x16 + (ɑ0 * ɑ86)x15 + (ɑ0 * ɑ100)x14 + (ɑ0 * ɑ106)x13 + (ɑ0 * ɑ104)x12 + (ɑ0 * ɑ130)x11 + (ɑ0 * ɑ218)x10 + (ɑ0 * ɑ206)x9 + (ɑ0 * ɑ140)x8 + (ɑ0 * ɑ78)x7
The exponents of the alphas are added together. The result is:
ɑ0x20 + ɑ74x19 + ɑ152x18 + ɑ176x17 + ɑ100x16 + ɑ86x15 + ɑ100x14 + ɑ106x13 + ɑ104x12 + ɑ130x11 + ɑ218x10 + ɑ206x9 + ɑ140x8 + ɑ78x7
Now, convert this to integer notation:
1x20 + 137x19 + 73x18 + 227x17 + 17x16 + 177x15 + 17x14 + 52x13 + 13x12 + 46x11 + 43x10 + 83x9 + 132x8 + 120x7Step 6b: XOR the result with the result from step 5b
Use the result from step 5b to perform the next XOR.
(1 ⊕ 1)x20 + (164 ⊕ 137)x19 + (85 ⊕ 73)x18 + (149 ⊕ 227)x17 + (20 ⊕ 17)x16 + (76 ⊕ 177)x15 + (143 ⊕ 17)x14 + (93 ⊕ 52)x13 + (72 ⊕ 13)x12 + (141 ⊕ 46)x11 + (114 ⊕ 43)x10 + (145 ⊕ 83)x9 + (225 ⊕ 132)x8 + (0 ⊕ 120)x7
The result is:
0x20 + 45x19 + 28x18 + 118x17 + 5x16 + 253x15 + 158x14 + 105x13 + 69x12 + 163x11 + 89x10 + 194x9 + 101x8 + 120x7
Discard the lead 0 term to get:
45x19 + 28x18 + 118x17 + 5x16 + 253x15 + 158x14 + 105x13 + 69x12 + 163x11 + 89x10 + 194x9 + 101x8 + 120x7
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 45x19. Convert 45x19 to alpha notation. According to the log antilog table, for the integer value 45, the alpha exponent is 18. Therefore 45 = ɑ18. Multiply the generator polynomial by ɑ18:
(ɑ18 * ɑ0)x19 + (ɑ18 * ɑ74)x18 + (ɑ18 * ɑ152)x17 + (ɑ18 * ɑ176)x16 + (ɑ18 * ɑ100)x15 + (ɑ18 * ɑ86)x14 + (ɑ18 * ɑ100)x13 + (ɑ18 * ɑ106)x12 + (ɑ18 * ɑ104)x11 + (ɑ18 * ɑ130)x10 + (ɑ18 * ɑ218)x9 + (ɑ18 * ɑ206)x8 + (ɑ18 * ɑ140)x7 + (ɑ18 * ɑ78)x6
The exponents of the alphas are added together. The result is:
ɑ18x19 + ɑ92x18 + ɑ170x17 + ɑ194x16 + ɑ118x15 + ɑ104x14 + ɑ118x13 + ɑ124x12 + ɑ122x11 + ɑ148x10 + ɑ236x9 + ɑ224x8 + ɑ158x7 + ɑ96x6
Now, convert this to integer notation:
45x19 + 91x18 + 215x17 + 50x16 + 199x15 + 13x14 + 199x13 + 151x12 + 236x11 + 82x10 + 203x9 + 18x8 + 183x7 + 217x6Step 7b: XOR the result with the result from step 6b
Use the result from step 6b to perform the next XOR.
(45 ⊕ 45)x19 + (28 ⊕ 91)x18 + (118 ⊕ 215)x17 + (5 ⊕ 50)x16 + (253 ⊕ 199)x15 + (158 ⊕ 13)x14 + (105 ⊕ 199)x13 + (69 ⊕ 151)x12 + (163 ⊕ 236)x11 + (89 ⊕ 82)x10 + (194 ⊕ 203)x9 + (101 ⊕ 18)x8 + (120 ⊕ 183)x7 + (0 ⊕ 217)x6
The result is:
0x19 + 71x18 + 161x17 + 55x16 + 58x15 + 147x14 + 174x13 + 210x12 + 79x11 + 11x10 + 9x9 + 119x8 + 207x7 + 217x6
Discard the lead 0 term to get:
71x18 + 161x17 + 55x16 + 58x15 + 147x14 + 174x13 + 210x12 + 79x11 + 11x10 + 9x9 + 119x8 + 207x7 + 217x6
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 71x18. Convert 71x18 to alpha notation. According to the log antilog table, for the integer value 71, the alpha exponent is 253. Therefore 71 = ɑ253. Multiply the generator polynomial by ɑ253:
(ɑ253 * ɑ0)x18 + (ɑ253 * ɑ74)x17 + (ɑ253 * ɑ152)x16 + (ɑ253 * ɑ176)x15 + (ɑ253 * ɑ100)x14 + (ɑ253 * ɑ86)x13 + (ɑ253 * ɑ100)x12 + (ɑ253 * ɑ106)x11 + (ɑ253 * ɑ104)x10 + (ɑ253 * ɑ130)x9 + (ɑ253 * ɑ218)x8 + (ɑ253 * ɑ206)x7 + (ɑ253 * ɑ140)x6 + (ɑ253 * ɑ78)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:
ɑ253x18 + ɑ(327 % 255)x17 + ɑ(405 % 255)x16 + ɑ(429 % 255)x15 + ɑ(353 % 255)x14 + ɑ(339 % 255)x13 + ɑ(353 % 255)x12 + ɑ(359 % 255)x11 + ɑ(357 % 255)x10 + ɑ(383 % 255)x9 + ɑ(471 % 255)x8 + ɑ(459 % 255)x7 + ɑ(393 % 255)x6 + ɑ(331 % 255)x5The result is:
ɑ253x18 + ɑ72x17 + ɑ150x16 + ɑ174x15 + ɑ98x14 + ɑ84x13 + ɑ98x12 + ɑ104x11 + ɑ102x10 + ɑ128x9 + ɑ216x8 + ɑ204x7 + ɑ138x6 + ɑ76x5
Now, convert this to integer notation:
71x18 + 101x17 + 85x16 + 241x15 + 67x14 + 107x13 + 67x12 + 13x11 + 68x10 + 133x9 + 195x8 + 221x7 + 33x6 + 30x5Step 8b: XOR the result with the result from step 7b
Use the result from step 7b to perform the next XOR.
(71 ⊕ 71)x18 + (161 ⊕ 101)x17 + (55 ⊕ 85)x16 + (58 ⊕ 241)x15 + (147 ⊕ 67)x14 + (174 ⊕ 107)x13 + (210 ⊕ 67)x12 + (79 ⊕ 13)x11 + (11 ⊕ 68)x10 + (9 ⊕ 133)x9 + (119 ⊕ 195)x8 + (207 ⊕ 221)x7 + (217 ⊕ 33)x6 + (0 ⊕ 30)x5
The result is:
0x18 + 196x17 + 98x16 + 203x15 + 208x14 + 197x13 + 145x12 + 66x11 + 79x10 + 140x9 + 180x8 + 18x7 + 248x6 + 30x5
Discard the lead 0 term to get:
196x17 + 98x16 + 203x15 + 208x14 + 197x13 + 145x12 + 66x11 + 79x10 + 140x9 + 180x8 + 18x7 + 248x6 + 30x5
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 196x17. Convert 196x17 to alpha notation. According to the log antilog table, for the integer value 196, the alpha exponent is 183. Therefore 196 = ɑ183. Multiply the generator polynomial by ɑ183:
(ɑ183 * ɑ0)x17 + (ɑ183 * ɑ74)x16 + (ɑ183 * ɑ152)x15 + (ɑ183 * ɑ176)x14 + (ɑ183 * ɑ100)x13 + (ɑ183 * ɑ86)x12 + (ɑ183 * ɑ100)x11 + (ɑ183 * ɑ106)x10 + (ɑ183 * ɑ104)x9 + (ɑ183 * ɑ130)x8 + (ɑ183 * ɑ218)x7 + (ɑ183 * ɑ206)x6 + (ɑ183 * ɑ140)x5 + (ɑ183 * ɑ78)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:
ɑ183x17 + ɑ(257 % 255)x16 + ɑ(335 % 255)x15 + ɑ(359 % 255)x14 + ɑ(283 % 255)x13 + ɑ(269 % 255)x12 + ɑ(283 % 255)x11 + ɑ(289 % 255)x10 + ɑ(287 % 255)x9 + ɑ(313 % 255)x8 + ɑ(401 % 255)x7 + ɑ(389 % 255)x6 + ɑ(323 % 255)x5 + ɑ(261 % 255)x4The result is:
ɑ183x17 + ɑ2x16 + ɑ80x15 + ɑ104x14 + ɑ28x13 + ɑ14x12 + ɑ28x11 + ɑ34x10 + ɑ32x9 + ɑ58x8 + ɑ146x7 + ɑ134x6 + ɑ68x5 + ɑ6x4
Now, convert this to integer notation:
196x17 + 4x16 + 253x15 + 13x14 + 24x13 + 19x12 + 24x11 + 78x10 + 157x9 + 105x8 + 154x7 + 218x6 + 153x5 + 64x4Step 9b: XOR the result with the result from step 8b
Use the result from step 8b to perform the next XOR.
(196 ⊕ 196)x17 + (98 ⊕ 4)x16 + (203 ⊕ 253)x15 + (208 ⊕ 13)x14 + (197 ⊕ 24)x13 + (145 ⊕ 19)x12 + (66 ⊕ 24)x11 + (79 ⊕ 78)x10 + (140 ⊕ 157)x9 + (180 ⊕ 105)x8 + (18 ⊕ 154)x7 + (248 ⊕ 218)x6 + (30 ⊕ 153)x5 + (0 ⊕ 64)x4
The result is:
0x17 + 102x16 + 54x15 + 221x14 + 221x13 + 130x12 + 90x11 + 1x10 + 17x9 + 221x8 + 136x7 + 34x6 + 135x5 + 64x4
Discard the lead 0 term to get:
102x16 + 54x15 + 221x14 + 221x13 + 130x12 + 90x11 + 1x10 + 17x9 + 221x8 + 136x7 + 34x6 + 135x5 + 64x4
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 102x16. Convert 102x16 to alpha notation. According to the log antilog table, for the integer value 102, the alpha exponent is 126. Therefore 102 = ɑ126. Multiply the generator polynomial by ɑ126:
(ɑ126 * ɑ0)x16 + (ɑ126 * ɑ74)x15 + (ɑ126 * ɑ152)x14 + (ɑ126 * ɑ176)x13 + (ɑ126 * ɑ100)x12 + (ɑ126 * ɑ86)x11 + (ɑ126 * ɑ100)x10 + (ɑ126 * ɑ106)x9 + (ɑ126 * ɑ104)x8 + (ɑ126 * ɑ130)x7 + (ɑ126 * ɑ218)x6 + (ɑ126 * ɑ206)x5 + (ɑ126 * ɑ140)x4 + (ɑ126 * ɑ78)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:
ɑ126x16 + ɑ200x15 + ɑ(278 % 255)x14 + ɑ(302 % 255)x13 + ɑ226x12 + ɑ212x11 + ɑ226x10 + ɑ232x9 + ɑ230x8 + ɑ(256 % 255)x7 + ɑ(344 % 255)x6 + ɑ(332 % 255)x5 + ɑ(266 % 255)x4 + ɑ204x3The result is:
ɑ126x16 + ɑ200x15 + ɑ23x14 + ɑ47x13 + ɑ226x12 + ɑ212x11 + ɑ226x10 + ɑ232x9 + ɑ230x8 + ɑ1x7 + ɑ89x6 + ɑ77x5 + ɑ11x4 + ɑ204x3
Now, convert this to integer notation:
102x16 + 28x15 + 201x14 + 35x13 + 72x12 + 121x11 + 72x10 + 247x9 + 244x8 + 2x7 + 225x6 + 60x5 + 232x4 + 221x3Step 10b: XOR the result with the result from step 9b
Use the result from step 9b to perform the next XOR.
(102 ⊕ 102)x16 + (54 ⊕ 28)x15 + (221 ⊕ 201)x14 + (221 ⊕ 35)x13 + (130 ⊕ 72)x12 + (90 ⊕ 121)x11 + (1 ⊕ 72)x10 + (17 ⊕ 247)x9 + (221 ⊕ 244)x8 + (136 ⊕ 2)x7 + (34 ⊕ 225)x6 + (135 ⊕ 60)x5 + (64 ⊕ 232)x4 + (0 ⊕ 221)x3
The result is:
0x16 + 42x15 + 20x14 + 254x13 + 202x12 + 35x11 + 73x10 + 230x9 + 41x8 + 138x7 + 195x6 + 187x5 + 168x4 + 221x3
Discard the lead 0 term to get:
42x15 + 20x14 + 254x13 + 202x12 + 35x11 + 73x10 + 230x9 + 41x8 + 138x7 + 195x6 + 187x5 + 168x4 + 221x3
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 42x15. Convert 42x15 to alpha notation. According to the log antilog table, for the integer value 42, the alpha exponent is 142. Therefore 42 = ɑ142. Multiply the generator polynomial by ɑ142:
(ɑ142 * ɑ0)x15 + (ɑ142 * ɑ74)x14 + (ɑ142 * ɑ152)x13 + (ɑ142 * ɑ176)x12 + (ɑ142 * ɑ100)x11 + (ɑ142 * ɑ86)x10 + (ɑ142 * ɑ100)x9 + (ɑ142 * ɑ106)x8 + (ɑ142 * ɑ104)x7 + (ɑ142 * ɑ130)x6 + (ɑ142 * ɑ218)x5 + (ɑ142 * ɑ206)x4 + (ɑ142 * ɑ140)x3 + (ɑ142 * ɑ78)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:
ɑ142x15 + ɑ216x14 + ɑ(294 % 255)x13 + ɑ(318 % 255)x12 + ɑ242x11 + ɑ228x10 + ɑ242x9 + ɑ248x8 + ɑ246x7 + ɑ(272 % 255)x6 + ɑ(360 % 255)x5 + ɑ(348 % 255)x4 + ɑ(282 % 255)x3 + ɑ220x2The result is:
ɑ142x15 + ɑ216x14 + ɑ39x13 + ɑ63x12 + ɑ242x11 + ɑ228x10 + ɑ242x9 + ɑ248x8 + ɑ246x7 + ɑ17x6 + ɑ105x5 + ɑ93x4 + ɑ27x3 + ɑ220x2
Now, convert this to integer notation:
42x15 + 195x14 + 53x13 + 161x12 + 176x11 + 61x10 + 176x9 + 27x8 + 207x7 + 152x6 + 26x5 + 182x4 + 12x3 + 172x2Step 11b: XOR the result with the result from step 10b
Use the result from step 10b to perform the next XOR.
(42 ⊕ 42)x15 + (20 ⊕ 195)x14 + (254 ⊕ 53)x13 + (202 ⊕ 161)x12 + (35 ⊕ 176)x11 + (73 ⊕ 61)x10 + (230 ⊕ 176)x9 + (41 ⊕ 27)x8 + (138 ⊕ 207)x7 + (195 ⊕ 152)x6 + (187 ⊕ 26)x5 + (168 ⊕ 182)x4 + (221 ⊕ 12)x3 + (0 ⊕ 172)x2
The result is:
0x15 + 215x14 + 203x13 + 107x12 + 147x11 + 116x10 + 86x9 + 50x8 + 69x7 + 91x6 + 161x5 + 30x4 + 209x3 + 172x2
Discard the lead 0 term to get:
215x14 + 203x13 + 107x12 + 147x11 + 116x10 + 86x9 + 50x8 + 69x7 + 91x6 + 161x5 + 30x4 + 209x3 + 172x2
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 215x14. Convert 215x14 to alpha notation. According to the log antilog table, for the integer value 215, the alpha exponent is 170. Therefore 215 = ɑ170. Multiply the generator polynomial by ɑ170:
(ɑ170 * ɑ0)x14 + (ɑ170 * ɑ74)x13 + (ɑ170 * ɑ152)x12 + (ɑ170 * ɑ176)x11 + (ɑ170 * ɑ100)x10 + (ɑ170 * ɑ86)x9 + (ɑ170 * ɑ100)x8 + (ɑ170 * ɑ106)x7 + (ɑ170 * ɑ104)x6 + (ɑ170 * ɑ130)x5 + (ɑ170 * ɑ218)x4 + (ɑ170 * ɑ206)x3 + (ɑ170 * ɑ140)x2 + (ɑ170 * ɑ78)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:
ɑ170x14 + ɑ244x13 + ɑ(322 % 255)x12 + ɑ(346 % 255)x11 + ɑ(270 % 255)x10 + ɑ(256 % 255)x9 + ɑ(270 % 255)x8 + ɑ(276 % 255)x7 + ɑ(274 % 255)x6 + ɑ(300 % 255)x5 + ɑ(388 % 255)x4 + ɑ(376 % 255)x3 + ɑ(310 % 255)x2 + ɑ248x1The result is:
ɑ170x14 + ɑ244x13 + ɑ67x12 + ɑ91x11 + ɑ15x10 + ɑ1x9 + ɑ15x8 + ɑ21x7 + ɑ19x6 + ɑ45x5 + ɑ133x4 + ɑ121x3 + ɑ55x2 + ɑ248x1
Now, convert this to integer notation:
215x14 + 250x13 + 194x12 + 163x11 + 38x10 + 2x9 + 38x8 + 117x7 + 90x6 + 193x5 + 109x4 + 118x3 + 160x2 + 27x1Step 12b: XOR the result with the result from step 11b
Use the result from step 11b to perform the next XOR.
(215 ⊕ 215)x14 + (203 ⊕ 250)x13 + (107 ⊕ 194)x12 + (147 ⊕ 163)x11 + (116 ⊕ 38)x10 + (86 ⊕ 2)x9 + (50 ⊕ 38)x8 + (69 ⊕ 117)x7 + (91 ⊕ 90)x6 + (161 ⊕ 193)x5 + (30 ⊕ 109)x4 + (209 ⊕ 118)x3 + (172 ⊕ 160)x2 + (0 ⊕ 27)x1
The result is:
0x14 + 49x13 + 169x12 + 48x11 + 82x10 + 84x9 + 20x8 + 48x7 + 1x6 + 96x5 + 115x4 + 167x3 + 12x2 + 27x1
Discard the lead 0 term to get:
49x13 + 169x12 + 48x11 + 82x10 + 84x9 + 20x8 + 48x7 + 1x6 + 96x5 + 115x4 + 167x3 + 12x2 + 27x1
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 49x13. Convert 49x13 to alpha notation. According to the log antilog table, for the integer value 49, the alpha exponent is 181. Therefore 49 = ɑ181. Multiply the generator polynomial by ɑ181:
(ɑ181 * ɑ0)x13 + (ɑ181 * ɑ74)x12 + (ɑ181 * ɑ152)x11 + (ɑ181 * ɑ176)x10 + (ɑ181 * ɑ100)x9 + (ɑ181 * ɑ86)x8 + (ɑ181 * ɑ100)x7 + (ɑ181 * ɑ106)x6 + (ɑ181 * ɑ104)x5 + (ɑ181 * ɑ130)x4 + (ɑ181 * ɑ218)x3 + (ɑ181 * ɑ206)x2 + (ɑ181 * ɑ140)x1 + (ɑ181 * ɑ78)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:
ɑ181x13 + ɑ255x12 + ɑ(333 % 255)x11 + ɑ(357 % 255)x10 + ɑ(281 % 255)x9 + ɑ(267 % 255)x8 + ɑ(281 % 255)x7 + ɑ(287 % 255)x6 + ɑ(285 % 255)x5 + ɑ(311 % 255)x4 + ɑ(399 % 255)x3 + ɑ(387 % 255)x2 + ɑ(321 % 255)x1 + ɑ(259 % 255)x0The result is:
ɑ181x13 + ɑ0x12 + ɑ78x11 + ɑ102x10 + ɑ26x9 + ɑ12x8 + ɑ26x7 + ɑ32x6 + ɑ30x5 + ɑ56x4 + ɑ144x3 + ɑ132x2 + ɑ66x1 + ɑ4x0
Now, convert this to integer notation:
49x13 + 1x12 + 120x11 + 68x10 + 6x9 + 205x8 + 6x7 + 157x6 + 96x5 + 93x4 + 168x3 + 184x2 + 97x1 + 16Step 13b: XOR the result with the result from step 12b
Use the result from step 12b to perform the next XOR.
(49 ⊕ 49)x13 + (169 ⊕ 1)x12 + (48 ⊕ 120)x11 + (82 ⊕ 68)x10 + (84 ⊕ 6)x9 + (20 ⊕ 205)x8 + (48 ⊕ 6)x7 + (1 ⊕ 157)x6 + (96 ⊕ 96)x5 + (115 ⊕ 93)x4 + (167 ⊕ 168)x3 + (12 ⊕ 184)x2 + (27 ⊕ 97)x1 + (0 ⊕ 16)x0
The result is:
0x13 + 168x12 + 72x11 + 22x10 + 82x9 + 217x8 + 54x7 + 156x6 + 0x5 + 46x4 + 15x3 + 180x2 + 122x1 + 16
Discard the lead 0 term to get:
168x12 + 72x11 + 22x10 + 82x9 + 217x8 + 54x7 + 156x6 + 0x5 + 46x4 + 15x3 + 180x2 + 122x1 + 16
Use the terms of the remainder as the error correction codewords
The division has been performed 13 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:
168 72 22 82 217 54 156 0 46 15 180 122 16