W ciele GF(25) zdefiniowanym przez wielomian x5+x3+1 wyznaczyć element odwrotny
Marta: W ciele GF(25) zdefiniowanym przez wielomian x5+x3+1 wyznaczyć element odwrotny do 10110.
Wybierz odpowiedź
a. 10000
b. 00010
c. 00100
d. 01000
24 mar 20:03
Wojtek: W tym zadaniu chodzi o użycie rozszerzonego algorytmu Euklidesa. Niech f(x)=x5+x3+1, a 10110
zapiszmy jako g(x)=x4+x2+x.
Następnie zapiszmy równanie NWD(f(x),g(x)) = t(x)*f(x) + u(x)*g(x)
Opis działania algorytmu:
Przyporządkujmy:
a(x)=f(x)
b(x)=g(x)
1. Wykonujemy dzielenie a(x)/b(x), z czego wynika, że
a(x) = q(x)*b(x)+r(x), gdzie q(x) to wynik dzielenia, r(x) to reszta.
Warto przekształcić równanie do postaci r(x)=a(x)−q(x)*b(x)
2. Jeśli r(x)≠0, to a(x):=b(x), b(x):=r(x) i wracamy do kroku 1.
W przeciwnym razie kończymy działanie algorytmu.
Ostatnia uzyskana niezerowa reszta z dzielenia, to NWD(f(x),g(x)). Jeśli da się policzyć
odwrotność g(x), to NWD powinien wynosić 1.
Mając ostatnie równanie uzyskane z działania algorytmu, w kolejnych krokach
podstawiamy wartości r(x) uzyskane z wcześniejszych równań, przez co powinniśmy uzyskać
wynik postaci: NWD(f(x),g(x)) = t(x)*f(x) + u(x)*g(x), zaś u(x) to szukany element odwrotny.
Wykonując kolejne dzielenia z rozszerzonego algorytmu Euklidesa uzyskałem równania:
(1) x2+1 = x5+x3+1 − x*(x4+x2+x)
(2) x = x4+x2+x − x2*(x2+1)
(3) 1 = x2+1 − x*x
Podstawiam (2) i (1) do równania (3):
1 = (x2+1) − x*x = (x5+x3+1) − x*(x4+x2+x) − x*[(x4+x2+x) − x2*(x2+1)]
1 = (x5+x3+1) − x*(x4+x2+x) − x*[(x4+x2+x) − x2*[(x5+x3+1) − x*(x4+x2+x)]]
z tego uzyskuję
1 = (1+x3)(x5+x3+1) + x4*(x4+x2+x) = t(x)*f(x) + u(x)*g(x)
Wynikiem jest u(x)=x4. Można sprawdzić, że:
[u(x)*g(x)](mod f(x)) = 1
21 wrz 22:22
Wojtek: Zapomniałem dodać że w treści zadania raczej powinno być: W ciele GF(25) zdefiniowanym przez
wielomian x5+x3+1 wyznaczyć...
22 wrz 18:08