QR Code Tutorial

Show polynomial division steps

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.


(example: 32,91,11,120,209,114,220,77,67,64,236,17,236 )

(example: 13 )

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 + 187x12

Step 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)x11

The 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 + 2x11

Step 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 + α237x10

The 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 + 139x10

Step 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 + α120x9

The 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 + 59x9

Step 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 + 225x8

Step 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 + 120x7

Step 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 + 217x6

Step 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)x5

The 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 + 30x5

Step 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)x4

The 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 + 64x4

Step 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 + α204x3

The 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 + 221x3

Step 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 + α220x2

The 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 + 172x2

Step 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 + α248x1

The 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 + 27x1

Step 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)x0

The 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 + 16

Step 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