ГОСТ Р ИСО/МЭК 16022 — 2008
Приложение Е
(обязательное)
Алгоритм обнаружения и исправления ошибок Рида*Соломона для символики версии ЕСС 200
Е.1 Порождающие полиномы для кодовых слов исправления ошибок
Кодовые слова исправления ошибок являются коэффициентами остатка от деления на порождающий по
лином д(х) произведения полинома данных символа d(x) на хк. Каждый порождающий полином является произ
ведением полиномов первой степени: х —2 \х —2*,.... х -2 ". где л — показатель степени порождающего полинома.
Например, порождающий полином пятой степени представляет собой
(х + 2)( х + 4)( х + 8)( х + 16)( х + 32) = х5 + (2 + 4 + 8 + 16 + 32) х4+ ((2 х 4) + (2 X 8) + (2 х 16) + (2 X 32) +
♦ (4 х 8) + (4 X 16) + <4 х 32) + (8 X 16) + (8 х 32) + (16 х 32)) х3+ ((2 х 4 X 8) + (2 х 4 х 16) + (2 х 4 х 32) + (2 х
X 8 х 16)+ (2 х 8 X 32) + (2 х 16 х 32) + (4 х 8 х 16) + (4 х 8 х 32) + (4 х 16 х 32) + ( 8x 16 х 32)) х2+ ((2 X 4 х х 8 X 16)
+ (2 х 4 X 8 х 32) + (2 X 4 х 16 X 32) + (2 х 8 х 16 х 32) + (4 х 8 х 16 X 32)) х + (2 х 4 х 8 х 16 х 32) = = х5 + 62 х4 + 111 х3
+ 15 х2+ 48 х + 228.
Следует обратить внимание на то. что арифметика в этом поле Галуа не является обычной целочисленной
арифметикой: операция я-» эквивалентна операции *+», которая представляет собой выполнение операции
«исключающего ИЛИ» («exciusive-ог») в этом поле, а операция умножения представляет собой побитовую опера цию
взятия по модулю 100101101 результата побитового умножения двух сомножителей.
Полином-делитель для порождения пяти проверочных знаков представляет собой
д(х) = х5+ 62 х4 + 111 х3 + 15 х2+ 48 х + 228.
Полином-делитель для порождения семи проверочных знаков представляет собой
д(х) = х7+ 254 х6 + 92 х5 + 240 х4 + 134 х3 + 144 х2+ 68 х + 23.
Полином-делитель для порождения 10 проверочных знаков представляет собой
д(х) = х’° + 61 х3 + 110 х8 + 255 х7+ 116 Xе + 248 х* + 223 х4+ 166 х3+ 185 х2+ 24 х + 28.
Полином-делитель для порождения 11 проверочных знаков представляет собой
д(х) = хм+ 120 х10 + 97
Xs
+ 60
Xs
+ 245 х7+ 39 х6 + 168 х6 + 194 х4 + 12 х3+ 205 х2+ 138 х + 175.
Полином-делитель для порождения 12 проверочных знаков представляет собой
д(х) = х ’2+ 242 х11+ 100 х’° + 178 х9+ 97 хв + 213 х7 + 142 х6 + 42 х5+ 61 х4+ 91 х3+ 158 х2 + 153 х +41.
Полином-делитель для порождения 14 проверочных знаков представляет собой
д(х) = х14+ 185 х13 + 83 х42+ 186 х11+ 18 х10 + 45х9+ 138 х8 + 119х7 + 157 х8 + 9х5+ 95 х4 + 252 х3+ 192x2 +
+ 97 х +156.
Полином-делитель для порождения 18 проверочных знаков представляет собой
д{х) = х’8 + 188 х17 + 90 х16 + 48 х15 + 225 х’4 + 254 х ’3+94 х,2+ 129х” + 109х10 + 213хэ + 241 х8 + 61 х7 + 66 х6+
+ 75 х5+ 188 х4 + 39 х3 + 100 х2 + 195 х + 83.
Полином-делитель для порождения 20 проверочных знаков представляет собой
д(х) = х20 + 172 х19+ 186 х,а + 174 х17+ 27 х16 + 82 х15 + 108 х ’4+ 79 х13+ 253 х,2 +145х11 + 153 х’° + 160 х9 +
+ 188 х8 + 2 х7+ 168 х6+ 71 х* + 233 х4 + 9 х3+ 244 х2+ 195 х +15.
Полином-делитель для порождения 24 проверочных знаков представляет собой
д(х) = х24 + 193 х23 + 50 х22 + 96 х21 + 184 х20 + 181 х13+ 12 х48 + 124 х17 + 254 х16 + 172 х ’5 + 5 х14+ 21 х43 +
+ 155 х ’2 + 223 х11 + 251 х40 + 197 х9+ 155 х8 + 21 х7+ 176 х6 + 39 х5 + 109 х4 + 205 х3+ 88 х2 + 190 х + 52.
Полином-делитель для порождения 28 проверочных знаков представляет собой:
д(х) = х28 + 255 х27 + ЭЗх26 + 168Х25 + 233х24 + 151 х23+ 120х22+ 136 х24+ 141 х20+ 213х,9+ 110х1В + 138х,7+
+ 17 х46 + 121 х15 + 249 х14 + 34 х ’3 + 75 х42 + 53 х11 + 170 х40 + 151 х9+ 37 х8 + 174 х7 + 103 х6 + 96 х5 + 71 х4 +
+ 97 х3+ 43 х2 + 231 х + 211.
47