Поля Галуа GF(2^8)
В чем ошибка при умножении в поле Галуа GF(2^8)
.
Пример: 57*83=x^7+x^6+1
.
57 из HEX в BIN (1010111)
83 из HEX в BIN (10000011)
Соответственно представим, как:
(1+x+x2+x4+x6)(1+x+x7)
т.к у 57
на позициях x3
и x5
стоят нули, то мы их не записываем, по тому же принципу записали 83
.
(x6+x4+x2+x+1)(x7+x+1)=x13+x11+x9+x8+/x7/+/x7/+x5+x3+/x2/+/x/+x6+x4+/x2/+/x/+1 =
x13+x11+x9+x8+x5+x3+x6+x4+1
(Т.к. в ответе есть одинаковые значения, то мы избавимся от них, помечены /)
Теперь посчитаем:
x13+x11+x9+x8+x6+x5+x4+x3+1 mod (x8+x4+x3+x+1)
где x8+x4+x3+x+1
- это предельное значение в Поле Галуа по 2^8
, которое мы не можем превысить.
Запишем все в BIN:
10101101111001 mod (100011011)
То есть
11129 mod 283 = 92
Правильный ответ: x7+x6+1
, то есть 11000001 = 193
.
У меня получилось 92
.
Объясните, в чем моя ошибка, может быть, деление mod
происходит совсем иначе?