Algebraiczne aspekty kodowania i kryptografii, 3

Transkrypt

Algebraiczne aspekty kodowania i kryptografii, 3
Algebraiczne aspekty kodowania i kryptografii, 3
1
Teoria ciał, głównie skończonych
1.1
Ciała proste, charakterystyka ciała
Bardzo znane są przykłady ciał nieskończonych, mniej znane są ciała skończone.
Sposób myślenia podobny do tego, który doprowadził do konstrukcji rozszrzeń ciał,
może też zostać zastosowany do konstrukcji ciała skończonego. Jeżeli takie ciało
jest, to możemy też wziąć najmniejsze ciało skończone, czyli generowane przez
0 i 1. Takie ciało jest zbiorem wartości wyrażeń nie zawierających zmiennych, a
zawierających wyłącznie stałe 0 i 1. Z analizy takich wyrażeń powinien wynikać
wniosek, że wystarczy ograniczyć się do wyrażeń będących sumami jedynek. Dalej
z tego skorzystamy.
Niech F będzie dowolnym ciałem i niech f : N → F będzie funkcją, która
liczbie naturalnej n przyporządkowuje sumę n jedynek obliczoną w ciele F . W
szczególności f (0) = 0. Możemy też myśleć, że funkcja f jest określona na wyrażeniach będących sumami jedynek i przyporządkowuje wyrażeniu jego wartość
obliczoną w ciele F .
Lemat 1.1 Funkcja f jest homomorfizmem algebry liczb naturalnych z dodawaniem i mnożeniem, a więc zachowuje dodawanie (f (n + m) = f (n) + f (m)) oraz
mnożenie (f (n · m) = f (n) · f (m)). Tak więc zbiór wartości f jest zamknięty ze
względu na dodawanie i mnożenie. Co więcej, zbiór wartości funkcji f jest najmniejszym zawierającym 0 i 1, i zamkniętym ze względu na dodawanie. 2
Mamy też bardzo ogólne twierdzenie:
Lemat 1.2 Jeżeli X jest skończonym podzbiorem ciała F zamkniętym ze względu
na dodawanie i mnożenie, takim że 1 ∈ X, to X jest podciałem F , a także jest
ciałem.
Dowód. Wszystkie prawa równościowe prawdziwe w algebrze są prawdziwe także
w każdym jej fragmencie. Wątpliwości więc mogą dotyczyć jedynie istnienia elementów przeciwnych i odwrotnych. Dlatego lemat jest konsekwencją analogicznej
własności grup: skończony, niepusty i zamknięty ze względu na działanie grupowe
podzbiór grupy jest podgrupą. 2
Wniosek 1.3 Dla każdego ciała skończonego istnieje jego najmniejsze podciało.
Grupa addytywna tego podciała jest generowana przez 1, a więc jest cykliczna. 2
Lemat 1.4 Jeżeli grupa addytywna ciała n elementowego jest generowana przez
1, to ciało to jest izomorficzne z ciałem Zn liczb naturalnych mniejszych od n z
dodawaniem i mnożeniem modulo n. Wtedy w szczególności n jest liczbą pierwszą.
2
1
Wyżej zdefiniowana funkcja f : N → F może być różnowartościowa. W takim
przypadku o ciele F mówimy, że jest charakterystyki 0. Przykładami ciał charakterystyki 0 są ciała liczb wymiernych i rzeczywistych.
W przeciwnym razie, dla ciała F istnieje liczba naturalna n > 0 taka, że suma
1 + 1 + . . . + 1 = 0. Najmniejszą taką liczbę nazywamy charakterystyką ciała F .
Ciała, których grupa addytywna jest generowana przez 1 i które są zbiorami
wartości funkcji f , nazywamy prostymi. Jedynym nieskończonym ciałem prostym
jest ciało liczb wymiernych. Skończone ciała proste to ciała Zp liczb naturalnych
< p z dodawaniem i mnożeniem modulo p dla liczby pierwszej p.
Lemat 1.5 Charakterystyka ciała jest równa 0 lub jest liczbą pierwszą. 2
Ciało charakterystyki p zawiera jako podciało proste ciało Zp . Ciała charakterystyki 0 zawierają jako podciało ciało liczb wymiernych.
1.2
Ciała jako przestrzenie liniowe nad podciałami, liczba
elementów ciała skończonego
Lemat 1.6 Jeżeli F0 i F są ciałami i F0 jest podciałem ciała F , to ciało F ze zwykłym dodawaniem i z mnożenie elementów F przez elementy F0 , które jest zwykłym
mnożeniem, jest przestrzenią liniową nad F0 . Jeżeli F jest ciałem skończonym, to
jako przestrzeń liniowa jest izomorficzna z przestrzenią F0n i ma | F0 |n elementów.
2
Wniosek 1.7 Skończone ciało charakterystyki p ma pn elementów dla pewnej liczby n. Grupa multiplikatywna takiego ciała (złożona z elementów różnych od 0) ma
więc pn − 1 elementów. 2
1.3
Homomorfizmy ciała są albo stałe, albo różnowartościowe
Lemat 1.8 Przypuśćmy, że funkcja h określona na ciele F i przyjmująca wartości
w jakimś pierścieniu jest homomorfizmem, a więc spełnia równości
f (x + y) = f (x) + f (y) oraz f (xy) = f (x)f (y).
Jeżeli f przyjmuje wartość f (0) dla argumentu różnego od zera, to jest stale równa
f (0).
Dowód. Przypuśćmy, że a ∈ F \{0} jest elementem takim, że f (a) = f (0). Wtedy
f (x) = f (a · a−1 x) = f (a) · f (a−1 x) = f (0) · f (a−1 x) = f (0 · a−1 x) = f (0). 2
1.4
Twierdzenie o generatorze
Twierdzenie to wymaga znajomości teorii grup cyklicznych. Grupa jest cykliczna,
jeżeli jest generowana przez jeden element (generator grupy). Rząd generatora jest
równy rzędowi grupy.
Lemat 1.9 Każde dwie grupy cykliczne tego samego rzędu są izomorficzne. 2
Oczywiście, rząd elementu grupy dzieli rząd grupy. Dla grup cyklicznych mamy
też
Lemat 1.10 Jeżeli G jest grupą cykliczną rzędu n i k | n, to w G istnieje element
rzędu k i G ma k-elementową podgrupę.
n
Dowód. Niech g będzie generatorem grupy G. Wtedy g k jest elementem rzędu k
i generuje podgrupę G mającą k elementów. 2
Lemat 1.11 Każda podgrupa grupy cyklicznej jest cykliczna. 2
Przyjmijmy, że ϕ(n) oznacza liczbę generatorów w n elementowej grupie cyklicznej. Z lematu 1.9 wynika poprawność definicji funkcji ϕ.
Lemat 1.12 W dowolnej n elementowej grupie cyklicznej dla dowolnego k dzielącego n jest ϕ(k) elementów rzędu k.
Dowód. Przyjmijmy, że X = {g ∈ G : g k = 1}. Po pierwsze, X jest podgrupą
G. Jest to podgrupa cykliczna (lemat 1.11). Jeden z jej elementów generują ją, ale
nie może wygenerować więcej niż k elementów. Z drugiej strony, wśród elementów
G jest element rzędu k, generujący dokładnie k elementów i to należących do X.
Tak więc X ma k elementów. Nietrudno zauważyć, że elementy rzędu k w grupie
G to są dokładnie generatory podgrupu X. Ponieważ jest to podgrupa cykliczna,
jest ich dokładnie ϕ(k). 2
Wniosek 1.13 Zachodzi wzór n =
P
k|n
ϕ(k). 2
Wzór z powyższego lematu definiuje funkcję ϕ. Tę samą własność ma funkcja
Eulera. Tak więc ϕ jest funkcją Eulera.
Twierdzenie 1.14 Grupa multiplikatywna dowolnego ciała skończonego jest jest
cykliczna.
Dowód. Zauważmy, że jeżeli w ciele jest element rzędu k, to takich elementów
jest dokładnie ϕ(k). Zbiór x ∈ F : xk = 1} jest podgrupą grupy multiplikatywnej
ciała i ma najwyżej k elementów na mocy twierdzenia Bezout’a. Ponieważ wśród
jego elementów jest element rzędu k, więc jest grupą cykliczną. Co więcej do X
należą wszytskie elementy rzędu k, a w grupie cyklicznej jest ich dokładnie ϕ(k).
Przypuśćmy, że grupa multiplikatywna F ma n elementów. Rozbijmy tę grupę
na zbiory elementów poszczególnych rzędów. Wtedy mamy:
n=
X
...
ϕ(k) ¬
X
ϕ(k) = n.
k|n
Pierwsza z sum, teoretycznie może mieć mniej składników, ale jeżeli mają zachodzić
skrajne równości, musi mieć dokładnie takie same składniki. W szczególności, musi
wystąpić składnik ϕ(n). Oznacza to, że w grupie multiplitywnej rzędu n znajduje
się element rzędu n, czyli jest ona cykliczna. 2
1.5
Konstrukcja ciał skończonych
Idea: Chcemy powiększyć ciało F o cokolwiek. Oznaczmy element, który mamy
dodać, literą x. Prawdę mówiąc nie wiemy, co x oznacza, ale mamy samo oznaczenie. Oprócz x w konstruowanym ciele powinny być wartości wszystkich możliiwych
wyrażeń z x, które możemy tworzyć licząc nad ciałem F (przekształcając wyrażenia ze stałymi z F ). Różne wyrażenia powinny oznaczać to samo, np. x + 1 i
1 + x. Musi nauczyć się jakoś standaryzować wyrażenia i jakoś je upraszczać. Z doświadczeń szkolnych poowinno wynikać, że w ciałach każde wyrażenia ze zmienną
x można sprowadzić do ilorazu dwóch wielomianów. Łatwo też podać test pozwalający sprawdzić, czy dwa takie wyrażenia mają te same wartości. W ten sposób
rzeczywiście otrzymujemy pewne ciała, tzw. ciała funkcji wymiernych. Element x
jest wtedy elementem, który nie ma żadnych cech charakterystycznych.
Zażądamy, aby nasz nowy element był pierwstkiem danego wielomianu w, a
więc spełniał równość w(x) = 0. Nietrudno zauważyć, że ten wielomian raczej nie
powinien być rozkładalny. Gdyby 0 = w(x) = w1 (x)w2 (x) i w1 (x), w2 (x) 6= 0,
to groziłoby to istnieniem dzielników zera, których nie ma w ciałach. Z równości
w(x) = 0 wynika równość v(x) = v(x) mod w(x). Nie ma więc potrzeby rozważania w konstrukcji wielomianów dużych stopni. Nierozkładalność w(x) i algorytm
Euklidesa umożliwia odwracanie wielomianów (uznania wielomianu za odwrotny
do drugiego).
Twierdzenie 1.15 Przypuśćmy, że w(x) jest wielomianem nierozkładalnym stopnia n nad ciałem F . Przyjmijmy, że F n [x] oznacza zbiór wielomianów stopnia < n
ze współczynnikami z ciała F . Wtedy zbiór F n [x] z dodawaniem i mnożeniem modulo w(x) jest ciałem.
Dowód. Dowód w pierwszym rzędzie polega na sprawdzeniu odpowiednich własności rachunkowych. Istotny fragment dowodu to wykazanie istnienia elementów
odwrotnych. Ten fragment jest analogiczny do dowodu, że dla liczby pierwszej p
pierścień Zp jest ciałem i korzysta z algorytmu Euklidesa. 2
Powyższe twierdzenie jest bardzo ogólne, może być stosowane dla dowolnego
ciała i dowolnego nierozkładalnego wielomianu nad tym ciałem. Z teorii wiadomo
także, że wszystkie możliwe ciała skończone z dokładnością do izomorfizmu można otrzymać stosując podane twierdzenie do odpowiedniego ciała prostego Zp i
odpwiedniego wielomianu nierozkładalnego nad tym ciałem Zp (a więc efekt dwukrotnego wykorzyystania tej konstrukcji można otrzymać również stosując ją tylko
jeden raz.
Dowodzi się także
Twierdzenie 1.16 Dla dowolnych liczb, pierwszej p i naturalnej dodatniej n istnieje ciało, które ma pn elementów. Co więcej, jest tylko jedno takie ciało z dokładnością do izomorfizmu.
Dowód. Możliwość skonstruowania takiego ciała wynika z dalszych rozważań, jedyność – miała wynikać z ogłoszonych zadań. epf
1.6
Własności ciał skończonych
Lemat 1.17 Jeżeli F jest ciałem o pn elementach, to
n
xp − x =
Y
a∈F
(x − a)0 albo inaczej xp
n −1
−1=
Y
(x − a).
a∈F \{0}
Dowód. Wynika to z własności relacji podzielności w zbiorze wielomianów oraz
twierdzeń Lagrange’a i Bezout’a. Tak więc podane wielomiany rozkładają się w
ciele F na iloczyn czynników liniowych. 2
Wniosek 1.18 W ciałach skończonych każdy element jest algebraiczny, a więc
jest pierwiastkiem pewnego wielomianu.
Lemat 1.19 W ciałach charakterystyki p zachodzi wzór (a + b)p = ap + bp . 2
Lemat 1.20 Jeżeli F jest skończonym ciałem charakterystyki p, to funkcja σ :
F → F zdefiniowana wzorem σ(a) = ap jest automorfizmem ciała F , a więc
zachowuje działania i przekształca F na F . Co więcej, warunek σ(a) = a zachodzi
wtedy i tylko wtedy, gdy a ∈ Zp . 2
Lemat 1.21 Jeżeli v(x) ∈ Zp [x] i a jest elementem ciała F charakterystyki p
takim, że v(a) = 0, to v(σ(a)) = 0. 2
Niech F będzie ciałem charakterystyki p i a ∈ F . Wielomian v(x) ∈ F [x]
nazywamy minimalnym dla a, jeżeli v(a) = 0, jest nierozkładalny nad Zp , jest
możliwie małego stopnia i przy najwyższej potędze ma współczynnik 1.
Lemat 1.22 Jeżeli F jest ciałem charakterystyki p, a ∈ F i wielomian v(x) ∈ F [x]
stopnia k jest minimalnym dla a, to σ k (a) = a oraz
v(x) = (x − a)(x − σ(a))(x − σ 2 (a)) . . . (x − σ k−1 (a)). 2
2
2.1
Wzór inwersyjny i zastosowania
Poprawność pewnych definicji
Wiemy na przykład, że funkcja Eulera ma własność wyrażoną wzorem
n=
X
ϕ(k).
k|n
Interesuje nas, czy taki wzór może być uważany za definicję funkcji ϕ. Przypuśćmy,
że mamy funkcję f : N+ → X oraz
f (n) =
X
g(k).
k|n
Z powyższego wzoru wynika, że
g(n) = f (n) −
X
g(k)
k|n∧k<n
dla n > 1 oraz g(1) = f (1). Pod pewnymi warunkami ten wzór możemy uważać za definicję funkcji g : N+ → X. Aby tak było, zbiór X powinien być grupą
(z działaniem zapisywanym addytywnie). Łączność działania gwarantuje nie ma
problemów z kolejnością sumowania składników. Byłoby dobrze, aby działanie w
X było też przemienne. Wtedy nie musielibyśmy się zastanawiąc nad uporządkowaniem skladników. W definicji potrzebna jest też operacja tworzenia elementu
przeciwnego.
Jeżeli podane warunki są spełnione, to przytoczona definicja jest poprawną
definicją indukcyjną i możemy skorzystać z twierdzenia o istnieniu i jedyności
funkcji definiowanych przez indukcję.
W ten sam sposób możemy definiować funkcje na części zbioru dodatnich liczb
naturalnych. Nietrudno zauważyć, że dziedzina funkcji f i g powinna wraz z liczbą zawierać wszystkie jej dzielniki. Dobrą przykładem takiego zbioru jest zbiór
dzielników ustalonej liczby naturalnej.
2.2
Wielomiany Φk
W dowolnym ciele F pierwiastki równania xn = 1 tworzą grupę cykliczną. W
niektórych ciałach (np. w ciałach rozkładu xn − 1) jest to grupa n elementowa.
Wtedy dla k dzielącego n definiujemy wielomian
Φk (x) = (x − a1 ) · (x − a2 ) · . . . · (x − al ),
gdzie a1 , a2 , . . . , al są wszystkimi pierwiastkami równania xn − 1, które w grupie
wszystkich pierwiastków tego równania mają rząd k. Mamy więc oczywiście równość
Y
xn − 1 =
Φk (x).
k|n
Wielomiany Φk (x) są zdefiniowane dla wszystkich dzielników n i należą do
pierścienia F [x]. Definicja wielomianów Φk może zależeć od ciała F i liczby n.
Przytoczony wzór może być uważany za definicję wielomianów Φk pod warunkiem
zachowania ostrożności, gdyż zbiór wielomianów F [x] z mnożeniem nie jest grupą.
Najpierw zauważmy, że definicja tych wielomianów nie zależy od n. Niezależnie
od n, zbiór pierwiastków z jedności stopnia n, które są rzędu k (dla k dzielących
n) jest równy zbiorowi generatorów grupy pierwiastków z jedności stopnia k. Tak
więc zawsze (dla ustalonego ciała F ) wielomian Φk definiujemy jako iloczyn tych
samych wielomianów stopnia 1.
Lemat 2.1 Iloczyn, iloraz oraz reszta unormowanych wielomianów o współczynnikach całkowitych są unormowanymi wielomianami o współczynnikach całkowitych.
Lemat pozostaje prawdziwy, jeżeli słowo całkowity oznacza, że element (dowolnego
ciała) jest sumą jedynek lub jest przeciwny do sumy jedynek. 2
Wniosek 2.2 Wielomiany Φk mają współczynniki całkowite, a więc Φk ∈ Z[x] w
przypadku ciał charakterystyki 0 oraz Φk ∈ Zp [x], gdy ciało F ma charakterystę
p > 0.
Dowód. Wniosek ten można dowieść na dwa sposoby. Po pierwsze jest to konsekwencja przytoczonego lematu. Inny dowód tego wniosku zostanie podany po
odpowiednim scharakteryzowaniu elementów ciał prostych. 2
Wyjaśnimy teraz, jak wielomiany Φk zależą od ciała. Przypuśćmy, że mamy ciało F , w którym potrafimy zdefiniować wielomiany ΦFk dla k będących dzielnikami
liczby m. Symbolem Φk będziemy teraz oznaczać wiadome wielomiany zdefiniowane dla ciała liczb zespolonych, a więc ze współczynnikami będącymi (prawdziwymi)
liczbami całkowitymi.
Jeżeli ciało F ma charakterystykę 0, to ΦFk = Φk dla wszystkich dzielników k
liczby m, ponieważ te dwa rodzaje wielomianów spełniają te same związki rekurencyjne (istnienie wielomianów mamy zagwarantowane, korzystamy z twierdzenia
o jednoznaczności definicji indukcyjnych.
Jeżeli ciało F ma charakterystykę p > 0, to pierścień wielomianów Zp [x] jest
obrazem homomorficznym pierścienia Z[x]. Homomorfizm tych pierścieni wielomianowi w(x) = a0 + a1 x + . . . + an xn przyporządkowuje wielomian
w0 (x) = (a0 mod p) + (a1 mod p) · x + . . . + (an mod p) · xn .
Oczywiście, z równości
xn − 1 =
Y
Φk (x)
k|n
wynika, że
xn − 1 = (xn − 1)0 =
Y
k|n
Φ0k (x)
w pierścieniu Zp [x]. Ponieważ w pierścieniu Zp [x] mamy także
xn − 1 =
Y
ΦFk (x),
k|n
więc z twierdzenia o jednoznaczności definicji indukcyjnych otrzymujemy, że
ΦFk = Φ0k .
Oznacza to, że wielomiany ΦFk zależą tylko od charakterystyki F i dla ciał charakterystyki p łatwo je otrzymać z wielomianów Φk ∈ Z[x] zamieniając ich współczynniki na reszty z dzielenia tych współczynników przez p.
Wiadomo, że wielomiany Φk są nierozkładalne nad ciałem liczb wymiernych.
Jednak wielomiany Φ0k bywają rozkładalne nad ciałami Zp .
2.3
Funkcja Möbiusa
Będziemy rozważać funkcję µ : N+ → N taką, że µ(1) = 1 i
X
µ(d) = 0
d|n
dla n > 1. Funkcję spełniająca podane warunki nazywamy funkcją Möbiusa.
Lemat 2.3 Jeżeli n i m są względnie pierwsze, to
µ(nm) = µ(n)µ(m).
Dowód. Możemy założyć, że n, m > 1. Posłużymy się indukcją ze względu na nm.
Zauważmy, że
X
X
µ(nm) = −
µ(d) = −
µ(ab),
d|nm∧d<nm
(a,b)∈A
gdzie
A = {(a, b) : a|n ∧ b|m ∧ ab < nm}.
Druga z równości wynika stąd, że funkcja f : A → N taka, że f (a, b) = ab
przekształca A wzajemnie jednoznacznie na zbiór dzielników nm różnych od nm.
Korzystając z założenia indukcyjnego mamy
−
X
µ(ab) = −
(a,b)∈A
X
µ(a)µ(b) = −
X
a|n∧a<n
(a,b)∈A
µ(a)
X
µ(b)−µ(n)
b|m
X
µ(b) = µ(n)µ(m).
b|m∧b<m
Pierwszy składnik przedostatniego wyrażenia jest równy 0 na mocy równości definiującej µ. Z tego samego powodu drugi składnik jest równy µ(n)µ(m). 2
Łatwo dowieść, że funkcja µ spełnia następujące warunki:
1) dla dowolnej liczby pierwszej p µ(p) = −1 oraz µ(pi ) = 0 dla i > 1,
2) przyporządkowuje dodatnim liczbom naturalnym elementy zbioru {−1, 0, 1}.
2.4
Wzór inwersyjny
Twierdzenie 2.4 (Wzór inwersyjny Möbiusa) Przypuśćmy, że f i g są funkcjami o wartościach w pewnej grugie przemiennej określonymi dla dzielników liczby
m. Wtedy (stosując notację addytywną) zachodzi następująca równoważność
∀n|m f (n) =
X
d|n
g(d) ⇐⇒ ∀n|m g(n) =
n
µ(d)f ( ).
d
d|n
X
Dowód. Dowiedziemy tylko implikację ⇒. Zauważmy, że
n
µ(d)f ( ) =
d
d|n
X
n
µ( )f (d) =
d
d|n
X
X


X
n
µ( ) ·  g(e)
d
d|n
=
e|d
n
µ( ) · g(e),
d
(d,e)∈A
X
gdzie
A=
[
{(d, e) : e|d} = {(d, e) : e|d|n}.
d|n
Nietrudno zauważyć, że
A=
[
{(d, e) : e|d|n}
e|n
oraz dla ustalonego e zbiory
n
{d : e|d|n} i {d : d| }
e
są równoliczne i równoliczność ustala funkcja f (x) = nx .
Przypuśćmy, że e|d|n. Pokażemy, że nd | ne . Mamy bowiem n = ad i d = be. Stąd
n
= a oraz ne = ab, i to kończy dowód. Przypuśćmy teraz, że d| ne . Tak więc ad = ne .
d
Niech δ = ae. Mamy oczywiście e|δ, δ|n, a także f (δ) = nδ = d.
Wobec tego,
X
X
X
X
n
n
µ( ) · g(e) =
g(e) ·
µ( ) =
g(e) ·
µ(d) = g(n).
d
d
(d,e)∈A
e|n
e|d|n
e|n
d|n/e
X
Wszystkie składniki ostatniej sumy są równe 0 z wyjątkiem składnika dla e = n.
Pomijam dowód implikacji odwrotnej. Nie będzie tu wykorzystywana. 2
Wniosek 2.5 (Wzór inwersyjny Möbiusa, wersja multiplikatywna) Przypuśćmy,
że f i g są rzeczywistymi funkcjami określonymi dla dzielników liczby m. Wtedy
zachodzi równoważność
∀n|m f (n) =
Y
g(d) ⇐⇒ ∀n|m g(n) =
d|n
2.5
n
f ( )µ(d) . 2
d
d|n
Y
Wnioski z wzoru inwersyjnego
Wzór inwersyjny możemy zastosować do obliczania funkcji Eulera:
ϕ(n) =
X
µ(d) ·
d|n
n X
n
=
µ
· d.
d
d
d|n
W szczególności
ϕ(pi ) = µ(1)pi + µ(p)pi−1 = pi − pi−1 .
W ten sposób mozemy też wyrazić wielomiany Φn :
Φn (x) =
Y
n
µ(d)
xd − 1
.
d|n
I jeszcze bardziej skomplikowane zastosowanie wzoru inwersyjnego. Konstrun
ując ciało o pn elementach zbudowaliśmy ciało F rozkładu wielomianu xp − x.
Co więcej, ciało F okazało się zbiorem pierwiastków tego równania. Ciało F ma
charakterystykę p i zawiera ciało Zp . Każdy element F jest algebraiczny nad Zp .
Będziemy teraz badać wielomiany stopnia ¬ n nierozkładalne nad Zp . Wiemy też,
że funkcja σ : F → F taka, że σ(a) = ap jest automorfizmem ciała F .
Lemat 2.6 Jeżeli F 0 ⊆ F jest podciałem ciała F , to ma pm elementów dla pewnego m | n.
Dowód. Ciało F 0 jest przestrzenią liniową nad Zp , a więc ma pm elementów, gdzie
m jest wymiarem F 0 . Podobnie, ciało F jest przestrzenią liniową nad F 0 , a więc
ma (pm )k elementów. Z równości pmk = pn wynika, że m dzieli n. 2
Lemat 2.7 Jeżeli m | n, to zbiór
m
F 0 = {a ∈ F : σ m (a) = a} = {a ∈ F : ap = a}
jest podciałem F , które ma pm elementów.
Dowód. Ponieważ σ jest automorfizmem, więc zbiór F 0 jest zamknięty ze względu
na dodawanie i mnożenie, a więc jest podciałem.
Przyjmijmy, że n = mk. Liczba pm − 1 dzieli liczbę pn − 1, ponieważ
n
m k
m
p − 1 = (p ) − 1 = (p − 1)
k−1
X
!
m i
.
(p )
i=0
Stąd
x
pn
−x=x x
pn −1
−1 =x x
(pm −1)l
−1 =x x
pm −1
l−1
X
−1
(x
pm −1
!
)i .
i=0
n
Jeżeli wielomian xp − x rozkłada się w F na czynniki liniowe, to także dzielący
m
go wielomian xp − x rozkłada się na czynniki liniowe. Wiemy już, że wielomian
m
xp − x ma pm pierwiastków w F , a więc F 0 też ma pm elementów. 2
Lemat 2.8 Jeżeli ψk (x) jest iloczynem wszystkich wielomianów stopnia k nierozkładalnych nad Zp , to
Y
n
xp − x =
ψk (x).
k|n
Dowód. Niech w(x) będzie wielomianem nierozkładalnym stopnia m takim, że
w(a) = 0 dla pewnego a ∈ F . Najmniejsze podciało zawierające a jest izomorficzne
z ciałem Zp [x] z działaniami modulo w(x), a więc z ciałem, które ma pm elementów.
n
Stąd m | n. Ponieważ a jest też pierwiastkiem pierwiastkiem xp −x, więc w(x) jest
n
n
dzielnikiem xp −x. Tak więc xp −x jest iloczynem wielomianów nierozkładalnych
Q
stopnia dzielącego n i dzieli wielomian k|n ψk (x).
Wystarczy jeszcze pokazać, że dowolny nierozkładalny wielomian stopnia będąn
cego dzielnikiem n dzieli xp − x. Niech w(x) bedzie wielomianem nierozkładalnym
stopnia m takiego, że m | n. Utwórzmy ciało Zp [x] z działaniami modulo w(x).
ciało to ma pm elementów, a więc jest izomorficzne z pewnym podciałem F . Tak
więc w F jest pierwiastek wielomianu w(x). Ponieważ jest to także pierwiastek
n
n
xp − x, więc w(x) dzieli xp − x. 2
Twierdzenie 2.9 Istnieje wielomian nierozkładalny nad Zp stopnia n.
Dowód. Niech s(d) będzie stopniem wielomianu ψd (x). Z poprzedniego lematu
mamy
X
pn =
s(d).
d|n
Z lematu inwersyjnego otrzymujemy, że
s(n) =
n
µ( )pd .
d
d|n
X
Gdyby s(n) = 0, to
0=
n
µ( )pd .
d
d|n
X
Ponieważ dla d = n współczynnik przy pd jest równy 1, a dla d = nq (q to dowolna
liczba pierwsza dzieląca n) współczynnik przy pd jest równy -1, więc powyższa
równość oznacza, że pewna liczba naturalna ma dwa rózne przedstawienia przy
podstawie p, a to jest niemożliwe. Uzyskana sprzeczność dowodzi, s(n) > 0. To
oznacza, że jest wielomian nierozkładalny stopnia n. 2
Wniosek 2.10 Dla dowolnej liczby naturalnej n pewne ciało Zp [x] z działaniami
modulo w ma pn elementów. Każde ciało skończone jest izomorficzne z ciałem
Zp [x] z działaniami modulo w. 2
2.6
Rozkład wielomianów na czynniki nierozkładalne
Lemat 2.11 Zbiór Zp ⊆ F jest zbiorem punktów stałych automorfizmu σ.
Dowód. Z twierdzenia Lagrange mamy ap−1 = 1 dla dowolnej liczby a ∈ Zp . Stąd
Zp jest (pewnym) zbiorem punktów stałych automorfizmu σ. Z drugiej strony,
punkty stałe σ spełniają równanie xp = x, a więc nie może być ich więcej, niż p. 2
Lemat 2.12 Jeżeli a ∈ F jest pierwiastkiem wielomianu w(x) ∈ Zp [x], to także
w(σ(a)) = 0.
Dowód. Ponieważ w(a) = 0, więc
k
X
0 = σ(w(a)) = σ(
i
bi a ) =
i=0
k
X
i=0
i
σ(bi )σ(a) =
k
X
bi σ(a)i = w(σ(a))
i=0
dla wszystkich w(x) ∈ Zp [x] (patrz poprzedni lemat). 2
2.7
Kody Hamminga
Przypuśćmy, że F jest ciałem charakterystyki 2 o 2k elementach i β ∈ F jest
generatorem grupy F ∗ . Rozważmy Hn = {w ∈ Z2 [x] : stopien(w) < n∧w(β) = 0}.
Jest to oczywiście przestrzeń liniowa. Wiemy też, że β jest pierwiastkiem pewnego
wielomianu nierozkładalnego f (x) ∈ Z2 [x]. Oczywiście, f (x) jest też wielomianem
pierwotnym. Kod liniowy Hn możemy też zdefiniować równością Hn = {w ∈ Z2 [x] :
stopien(w) < n ∧ f (x) | w(x)}. Aby Hn był kodem cyklicznym, wielomian f (x)
powinien dzielić xn − 1. Wiemy, że najmniejszą liczbą n o tej własności jest n =
| F | − 1 = 2k − 1. Kod H2k −1 jest cykliczny i jest nazywany kodem Hamminga.
P
i
Niech d(u, w) oznacza odległość Hamminga wielomianów u = n−1
i=0 ai x i w =
Pn−1
i
i=0 bi x . Jest to liczba d(u, w) definiowana wzorem
d(u, w) =
n−1
X
| ai − bi | = | {i < n : ai 6= bi } |.
i=0
Przyjmijmy, że
S1 (w) = {u : d(u, w) ¬ 1}.
Lemat 2.13 Jeżeli u, w ∈ H2k −1 i u 6= w, to S1 (u) ∩ S1 (w) = ∅.
Dowód. Przypuśćmy, że S1 (u) ∩ S1 (w) 6= ∅. Wtedy albo istnieje i < 2k − 1 takie,
że u(x) + xi = w(x), albo u(x) + xi = w(x) + xj dla pewnych i < j < 2k − 1. W
pierwszym przypadku mamy β i = 0, w drugim – β i = β j . Pierwszy przypadek nie
może zajść z przyczyn oczywistych. Drugi także, ponieważ imlikuje, że β j−i = 1,
a to przeczy założeniu, że β ma rząd 2k − 1. 2
Udowodniony lemat oznacza, że kody Hamminga pozwalają korygować jeden
błąd.
Zauważmy, że
[
k
S1 (w) ⊆ (Z2 )2 −1 ,
w∈H2k −1
| S1 (w) | = 2k
dla wszystkich w ∈ H2k −1 oraz
k −1−k
| H2k −1 | = 22
.
Z poprzedniego lematu otrzymujemy, że zbiory po obu stronach podanego zawierania mają tyle samo elemntów, a więc są równe, czyli
[
k −1
S1 (w) = (Z2 )2
.
w∈H2k −1
Z udowodnionej równości wynika, że
Lemat 2.14 Kody Hamminga są doskonałe, a więc każde możliwe słowo albo jest
słowem kodowym, albo różni się od słowa kodowego na jednym miejscu. 2
3
Pierwiastkowanie w grupach przemiennych
3.1
Fakty ogólne
W dalszym ciągu będziemy zakładać, że rozważamy grupy przemienne. Niech więc
G będzie taką grupą. Przyjmijmy, że funkcja hn : G → G jest zdefiniowana wzorem
hn (g) = g n .
Nietrudno zauważyć, że
Lemat 3.1 Jeżeli grupa G jest przemienna, to funkcja hn jest homomorfizmem
grupy G w siebie. 2
Jądro homomorfizmu hn
ker(hn ) = {g ∈ G : g n = 1}
może być nazywane zbiorem pierwiastków n-tego stopnia z jedności. Obraz hoomorfizmu hn
hn (G) = {h ∈ G : ∃x ∈ G h = xn } = {g n : g ∈ G}
z kolei może być nazywane zbiorem elementów, które mają pierwiastek n-tego
stopnia, czyli są pierwiastkowalne. Mamy więc następujący
Lemat 3.2 Jeżeli G jest przemienną grupą skończoną, to iloczyn liczby pierwiastków n-tego stopnia z jedności i liczby elementów pierwiastkowalnych jest równy
rzędowi grupy G. 2
Z teorii homomorfizmów wynika jeszcze
Lemat 3.3 Każdy pierwiaskowalny element grupy G ma tyle samo pierwiastków
n-tego stopnia, i ma ich tyle, ile pierwiastków n-tego stopnia ma jedność grupy. 2
Lemat 3.4 Element g w grupie G rzędu m jest pierwiastkiem stopnia n z jedności
wtedy i tylko wtedy, gdy jest pierwiastkiem z jedności stopnia gcd(m, n). W szczególności, jeżeli n jest względnie pierwsze z m, to tylko 1 jest pierwiastkiem stopnia
n z jedności. 2
Szczególnie ważne będą pierwiastki kwadratowe. Dla takich pierwiastków mamy
Lemat 3.5 Jeżeli grupa G jest rzędu 2m, to wszystkie elementy G, które mają
pierwiastek kwadratowy, należą do jądra homomorfizmu hm , a więc
h2 (G) = {g 2 : g ∈ G} ⊆ ker(hm ). 2
3.2
Przypadek grup cyklicznych
Lemat 3.6 Jeżeli G jest grupą cykliczną rzędu m, to jedność grupy G ma w tej
grupie gcd(m, n) pierwiastków stopnia n.
Dowód. Niech G będzie grupą cykliczną rzędu m i H = {g ∈ G : g n = 1}. Z
lematu 3.4 otrzymujemy, że H = {g ∈ G : g gcd(n,m) = 1}. Ponieważ gcd(m, n)
m/gcd(m,n)
dzieli rząd G, więc w G jest element rzędu gcd(m, n) (jest to g0
, gdzie g0
jest generatorem grupy G). Stąd wynika, że do H należy element rzędu gcd(m, n)
i wszystkie jego potęgi, a więc H ma przynajmniej gcd(m, n) elementów. Z drugiej
strony, grupa H jest podgrupą G, a więc sama jest grupą cykliczną. Przyjmijmy,
że r jest rzędem H, a h ∈ H jest generatorem H. Ponieważ h ∈ H, więc także
hgcd(m,n) = 1. Stąd rząd h, czyli r, dzieli gcd(m, n). Oznacza to, że grupa H ma
najwyżej gcd(m, n) elementów. 2
Wniosek 3.7 Jeżeli G jest grupą cykliczną rzędu 2m+1, to h2 jest automorfizmem
grupy G i każdy element g grupy G ma jednoznacznie wyznaczony pierwiastek
kwadratowy dany wzorem g m+1 . 2
Wniosek 3.8 W grupie cyklicznej parzystego rzędu istnieje dokładnie jeden element rzędu 2. 2
Jeżeli G jest grupą cykliczną parzystego rzędu, to symbolem −1 będziemy oznaczać jedyny element G rzędu 2. Tak więc −1 zostało zdefiniowane bez korzystania
z operacji dodawania. Jeżeli p > 2 jest liczbą pierwszą, to grupa Zp∗ jest grupą
multiplikatywną pewnego ciała (ciała Zp ), jest w niej element przeciwny do jedności i jest to w Zp∗ jedyny element rzędu 2. Dla grup Zp∗ jest stosowana specjalna
terminologia: te elementy, które są kwadratami (które można pierwiastkować) są
nazywane resztami kwadratowymi modulo p, pozostałe - resztami niekwadratowymi modulo p. Pojęcia te można stosować odpowiednio także dla wszystkich liczb
względnie pierwszych z p, nie tylko mniejszych od p.
Wniosek 3.9 Jeżeli G jest grupą cykliczną rzędu 2m, to ker(h2 ) = {1, −1} i
ma dwa elementy, a h2 (G) ma m elementów. Także ker(hm ) ma m elementów.
Oznacza to, że zachodzi równość ker(hm ) = h2 (G). 2
Ostatnią równość z powyższego wniosku implikuje następujący
Wniosek 3.10 (kryterium Eulera) Jeżeli p > 2 jest liczbą pierwszą, to x jest
resztą kwadratową modulo p wtedy i tylko wtedy, gdy x(p−1)/2 ≡ 1 mod p.
Z kryterium Eulera można wyprowadzić wzór na pierwiastkowanie w niektórych grupach cyklicznyczch parzystego rzędu. Przypuśćmy, że g jest elementem
pierwiastkowalnym w grupie cyklicznej rzędu 2 · m. Wtedy g m = 1 oraz g m+1 = g.
Jeżeli m + 1 jest liczbą parzystą, to g (m+1)/2 jest pierwiastkiem z g. Zmieniają
oznaczenia otrzymujemy
Lemat 3.11 Jeżeli G jest grupą cykliczną rzędu 4m + 2 i g ∈ G jest elementem
pierwiastkowalnym, to g ma w grupie G dwa różne pierwiastki kwadratowe dane
wzorami g m+1 oraz (−1) · g m+1 . Jeżeli element g nie jest pierwiastkowalny, to
(g m+1 )2 = (−1) · g. 2
Podobne rezultaty można uzyskać posługując się pojęciem indeksu elementu.
W grupie cyklicznej G generowanej przez g0 indeks elementu g względem g0 jako
najmniejszą liczbę naturalną l taką, że g = g0l . Czasem zamiast o indeksie mówi
się o logarytmie przy podstawie g0 . Zauważmy, że
Lemat 3.12 Jeżeli G jest grupą cykliczną rzędu parzystego generowaną przez g0 ,
to element g ∈ G jest kwadratem (jest pierwiastkowalny) wtedy i tylko wtedy, gdy
ma parzysty indeks (względem g0 ). 2
Lemat 3.13 Jeżeli G jest grupą cykliczną rzędu 4m + 2 i
H = {g 2 ∈ G : g ∈ G}
jest podgrupą elementów pierwiastkowalnych, to każdy element g ∈ H ma pierwiastek także należący do H i ten pierwiastek jest jednoznacznie wyznaczony. Drugi
pierwiastek z g jest iloczynem −1 i pierwiastka z g należącego do H. Ponadto grupa
H jest generowana przez kwadrat dowolnego generatora grupy G. 2
Lemat 3.14 Niech G będzie grupą cykliczną parzystego rzędu. Rząd grupy G dzieli
się przez 4 wtedy i tylko wtedy, gdy −1 jest kwadratem w grupie G.
Dowód. Jeżeli −1, czyli element rzędu 2, jest kwadratem, to w grupie jest element
rzędu 4, a więc rząd grupy jest podzielny przez 4. Implikacja w drugą stronę jest
oczywista. 2
4
Algorytm Adlemana, Mandersa i Millera
Algorytm Adlemana, Mandersa i Millera znajduje pierwiastek kwadratowy elementu grupy cyklicznej. Dalej zakładamy, że liczymy w grupie cyklicznej G o parzystej
liczbie elementów równej 2k m dla nieparzystej liczby m. Tak więc k > 0. Główna
procedura tego algorytmu ma następującą postać:
1) Dane: element g z grupy G.
2) wylosuj h z grupy G;
k−1 m
3) if h2
= 1 then ”niepowodzenie” else
4) return( oblicz pierwiastek(g,h) )
k−1
Jak widać jest algorytm probabilistyczny. Warunek h2 m = 1, zgodnie z uogólnionym kryterium Eulera (wniosek 3.9), sprawdza, czy h jest kwadratem pewnego
elementu G. Warunek ten spenia połowa elementów grupy G. Z prawdopodobieństwem 12 działanie algorytmu kończy się niepowodzeniem. Jeżeli zostanie wylosowany element h nie będący kwadratem, to jest uruchamiana deterministyczna
funkcja oblicz pierwiastek z dodatkowym parametrem h, szukająca pierwiastka,
która także rozstrzyga, czy pierwiastek istnieje.
k−1
k−1
Zauważmy, że jeżeli h2 m 6= 1, to h2 m = −1. Wynika to na przykład z
wniosku 3.9.
Zdefiniujemy teraz pomocniczą funkcję rekurencyjną oblicz pierwiastek z
dwoma parametrami g i h:
k−1 m
1) Dane: g ∈ G oraz h ∈ G taki, że h2
kwadratowy z g.
= −1, chcemy obliczyć pierwiastek
2) a := gm ; i := 0;
3) while a <> 1 do begin a := a2 ; i := i+1 end;
4) if i = k then ”g nie jest pierwiastkowalny” else
5) if i = 0 then return( g(m+1)/2 ) else
6) s := oblicz pierwiastek(gh2
k−i−1
7) return( sh−2
k−i
, h);
)
Twierdzenie 4.1 (Adlemana, Mandersa i Millera) Niech G będzie grupą cykliczną parzystego rzędu 2k m dla pewnej nieparzystej liczby m. Wyżej podany algorytm jest poprawnym probabilistycznym algorytmem, który z prawdopodobieństwem
1
rozstrzyga, czy dany element grupy G ma pierwiastek kwadratowy i jeżeli ma, to
2
znajduje jeden z pierwiastków.
Dowód. Skupimy się na poprawności wywołania rekurencyjnego. Niech g ∈ G
będzie elementem, który ma pierwiastek kwadratowy. Na mocy wniosku 3.9, g
należy do Gk−1 = h2 (G).
Przyjmijmy, że Gj = ker(h2j m ) dla indeksów j takich, że j ¬ k. W ten sposób
został zdefiniowany ciąg G0 ⊆ G1 ⊆ . . . ⊆ Gk = G podgrup grupy G. Nietrudno
zauważyć, że dla wszystkich j ¬ k (na mocy lematu 3.6) podgrupa Gj ma rząd
2j · m.
k−1
Niech h będzie elementem G takim, że h2 m = −1. Przypuśćmy, że po uruchomieniu obliczeń funkcji oblicz pierwiastek z parametrami g i h, w wyniku
wykonania pętli while z punktu 3) zmienna i przyjęła wartość i oraz, że jest to
i
wartość > 0. Wtedy mamy g 2 m = 1, a więc g ∈ ker(h2i m ) = Gi . Dokładniej:
g ∈ Gi \ Gi−1 .
k−i
Weźmy g 0 = gh2 . Zauważmy, że
i−1 m
(g 0 )2
= g2
i−1 m
k−i
(h2
)2
i−1 m
i−1 m
= g2
k−1 m
h2
= (−1)(−1) = 1.
Tak więc g 0 ∈ Gi−1 . Na mocy założenia indukcyjnego to oznacza, że wartość s funkcji oblicz pierwiastek dla parametrów g 0 i h jest pierwiastkiem kwadratowym z
k−i−1
g 0 , a więc s2 = g 0 . Wobec tego zwracana wartość sh−2
spełnia
(sh−2
k−i−1
k−i
)2 = s2 h−2
k−i
= g 0 h−2
k−i
= gh2
h−2
k−i
= g.
Poprawność obliczeń w innych przypadkach została pozostawiona Czytelnikowi do
uzupełnienia. 2
5
System szyfrujący Riversa, Shamira i Adlemanna
6
System szyfrujący Rabina
6.1
Kiedy 2 jest resztą kwadratową
Niech p będzie liczbą pierwszą. Niezerowa liczba a < p jest resztą kwadratową,
jeżeli równanie x2 = a ma rozwiązanie w ciele Zp . Wiele własności reszt kwadratowych wynika z materiału z rozdziału 3.1. W szczególności, lemat 3.14 w wersji
dla reszt kwadratowych przyjmuje postać
Lemat 6.1 Przypuśćmy, że p jest nieparzystą liczbą pierwszą. Liczba −1 = p−1 ∈
Zp jest kwadratem wtedy i tylko wtedy, gdy 4 | p − 1.
Dowód. Niech g będzie generatorem Zp∗ . Przypuśćmy, że 4 | p − 1. W Zp∗ są dwa
p−1
(różne!) elementy x takie, że x2 = 1. Są to ±1. Wobec tego, g 2 = −1 i oczywiście
p−1
4
(g
)2 = −1.
Jeżeli −1 jest kwadratem, to −1 = g 2i dla pewnej dodatniej liczby naturalnej
i < p − 1. Wtedy g 4i = 1, a ponieważ g jest generatorem grupy rzędu p − 1, więc
p − 1 | 4i. Mamy trzy możliwości: 4i = p − 1, 4i = 2(p − 1) oraz 4i = 3(p − 1).
Druga z możliwoci nie zachodzi ponieważ implikuje, że g 2i = g p−1 = 1, a 1 i −1 są
różnymi elementami. Pozostałe możliwości implikują tezę w oczywisty sposób. 2
Zbadamy jeszcze, kiedy 2 jest resztą kwadratową. mamy
Lemat 6.2 Jeżeli p jest nieparzystą liczbą pierwszą, to
2
p−1
2
= (−1)
p2 −1
8
mod p.
Dowód. Będziemy zajmować się liczbą
A=2
p−1
2
p−1
2
Y
p−1
2
i=
i=1
Y
2·i=
Y
2·i¬ p−1
2
i=1
Y
2·i
2 · i.
2·i> p−1
2
Dalsze przekształcenia wymagają skorzystania z funkcji
p−1
p−1
< x} → {x < p : 2 6 | x ∧
­ x}
2
2
takiej, że f (x) = p − x. Nietrudno zauważyć, że f jest bijekcją przekształcającą
podane zbiory oraz x = (−1) · f (x) mod p. Wobec tego, jeżeli k oznacza liczbę
elementów zbioru B = {x < p : 2 | x ∧ p−1
< x}, to interesująca nas liczba A jest
2
równa
p−1
f : {x < p : 2 | x ∧
A=
Y
2·i
2·i¬ p−1
2
Y
(−1)(p − 2 · i) = (−1)k
2
Y
i mod p.
i=1
2·i∈B
Tak więc
2
p−1
2
= (−1)k mod p.
Dalej trzeba rozważać dwa przypadki: albo p−1
jest liczbą parzystą, albo nie.
2
p−1
W pierwszym przypadku zbiór B ma 4 elementów. Wtedy też liczba p+1
jest
2
nieparzysta i
(−1)
p2 −1
8
= ((−1)
p+1
2
)
p−1
4
= (−1)
p−1
4
= (−1)k .
W drugim przypadku zbiór B ma p+1
elementów i liczba
4
Podobne obliczenia dają tezę też w tym przypadku. 2
p−1
2
jest nieparzysta.
Wniosek 6.3 Liczba 2 jest resztą kwadratową modulo liczba pierwsza p > 2 wtedy
i tylko wtedy, gdy 8 dzieli jedną z liczb p ± 1. 2
Wniosek 6.4 Liczba 2 jest resztą, a liczba −1 jest nieresztą kwadratową modulo
liczba pierwsza p > 2 wtedy i tylko wtedy, gdy 8 dzieli p + 1. 2
6.2
Inaczej o kodach cyklicznych
Niech Z2n [x] oznacza zbiór wielomianów stopnia < n o współczynnikach z Z2 . Ten
zbiór uważamy za pierścień ze zwykłym dodawaniem wielomianów i mnożeniem
modulo xn −1. Mnożenie modulo xn −1 oznaczamy symbolem ◦, a zwykłe mnożenie
– symbolem ·.
Lemat 6.5 Dla dowolnego w(x) ∈ Z2n [x] zbiór
Kw = {a(x) ◦ w(x) : a(x) ∈ Z2n [x]}
jest kodem cyklicznym.
Dowód. Zamkniętość ze względu na sumę jest oczywista.
Załózmy teraz, że stopień a(x)◦w(x) jest < n−1. Wtedy przesunięcie cykliczne
a(x) ◦ w(x) jest równe x · (a(x) ◦ w(x)). W tym przypadku mamy
x · (a(x) ◦ w(x)) = x ◦ (a(x) ◦ w(x)) = (x ◦ a(x)) ◦ w(x) ∈ Kw .
Jeżeli stopień a(x) ◦ w(x) jest równy n − 1, to przesuniecie cykliczne tego wielomianu jest równe x · (a(x) ◦ w(x)) + 1 − xn .
Spróbujmy wyliczyć x◦(a(x)◦w(x)). W tym celu dzielimy x·(a(x)◦w(x)) przez
n
x − 1. Wielomian x · (a(x) ◦ w(x)) jest stopnia n i współczynnik przy najwyższej
potędze jest równy 1 (ponieważ nie ma innych niezerowych współczynników). Tak
więc pierwszy krok algorytmu dzielenia polega na odjęciu xn − 1 od wielomianu
dzielonego. W wyniku otrzymujemy wielomian stopnia < n, a więc na tym dzielenie
kończymy. Oznacza to, że reszta x ◦ (a(x) ◦ w(x)) z dzielenia x · (a(x) ◦ w(x)) przez
xn − 1 jest równa x · (a(x) ◦ w(x)) − xn + 1. Tak więc
x · (a(x) ◦ w(x)) + 1 − xn = x ◦ (a(x) ◦ w(x)) = (x ◦ a(x)) ◦ w(x) ∈ Kw . 2
Zauważmy jeszcze, że
Lemat 6.6 Jeżeli K jest kodem cyklicznym generowamym przez g(x), to K = Kg .
Dowód. Oczywiście, K ⊆ Kg , ponieważ dla wielomianów a(x) małego stopnia
mamy a(x) · g(x) = a(x) ◦ g(x).
Pokażemy jeszcze, że Kg ⊆ K. Weźmy dowolny element a(x) ◦ g(x) ∈ Kg .
Pokażemy, że jest to wielomian podzielny przez g(x). Podzielmy a(x) · g(x) przez
xn − 1. Otrzymamy a(x) · g(x) = i(x) · (xn − 1) + a(x) ◦ g(x). Stąd otrzymujemy,
że a(x) ◦ g(x) = a(x) · g(x) − i(x) · (xn − 1). Z tego wzoru wynika, że c(x) ◦ g(x)
jest podzielny przez g(x) (gdyż g(x) dzieli xn − 1). 2
Lemat 6.7 Przypuśćmy, że K ⊆ Z2n [x] jest kodem cyklicznym dla nieparzystej
liczby n. Wtedy istnieje wielomian w(x) taki, że K = Kw oraz w(x) ◦ w(x) = w(x).
Dowód. Przypuśćmy, że K jest kodem generowanym (w zwykłym sensie) przez
wielomian g(x). Wobec tego g(x) · h(x) = xn − 1 dla pewnego wielomianu h(x).
Ponieważ n jest liczbą nieparzystą, więc xn −1 nie ma pierwiastków wielokrotnych.
Stąd g(x) i h(x) są względnie pierwsze. Mamy więc dwa wielomiany p(x) i q(x)
takie, że
1 = p(x) · g(x) + q(x) · h(x).
Przyjmijmy, że w(x) = p(x) ◦ g(x). Z powyższej równości otrzymujemy, że
g(x) = g(x) ◦ w(x).
Stąd g(x) ∈ Kw oraz K ⊆ Kw . Jeżeli ostatnią równość przemnożymy przez p(x),
to otrzymamy, że w(x) = w(x) ◦ w(x). 2
Tak więc rozważany sposób opisu kodów cyklicznych wygląda na niejednoznaczny (trzeba by jeszcze podać konkretny przykład różnych wielomianów g i w
takich, że Kg = Kw ).
6.3
Konstrukcja pewnego kodu
Niech p będzie liczbą pierwszą taką, że p + 1 dzieli się przez 8. Symbole Q i N
oznaczają zbiory reszt kwadratowych i odpowiednio pozostałych elementów grupy
Zp∗ (0 6∈ Q oraz 0 6∈ N ).
Założenie, że 8 dzieli p + 1 (patrz wniosek ??) implikuje pewne związki między
zbiorami Q i N . Tak więc w tym przypadku oba te zbiory są permutowane przez
funkcję, która argumentowi x przyporządkowuje x mod p. Ponadto funkcja, która
liczbie x przyporządkowuje liczbę przeciwną do x modulo p przekształca wzajemnie
jednoznacznie zbiór Q na N i zbiór N na Q.
Zdefiniujmy dwa wielomiany:
q(x) =
X
xi oraz n(x) =
X
xi .
i∈N
i∈Q
Będziemy rozważać dwa kody Kq , Kn ⊆ Z2p [x]. Teraz symbol ◦ oznacza mnożenie
modulo xp − 1.
Lemat 6.8 Jeżeli p = −1 mod 8, to wielomiany q(x) i n(x) są idempotentami, a
więc np. q(x) ◦ q(x) = q(x).
Dowód. Zauważmy, że wielomian
q(x) · q(x) =
X
x2i
i∈Q
i przystaje do
X
x2i
mod p
i∈Q
p
modulo x − 1. Tak więc
q(x) ◦ q(x) =
X
i∈Q
x2i
mod p
=
X
xi = q(x),
i∈Q
ponieważ warunek p = −1 mod 8 implikuje, że 2 jest resztą kwadratową i mnożenie
przez dowolną stałą (np. 2) jest permutacją dowolnej grupy (także grupy reszt
kwadratowych).
Analogicznie pokazujemy, że n(x) jest idempotentem. 2
Lemat 6.9 Jeżeli g(x) generuje kod cykliczny K ⊆ Z2t [x], to x − 1 dzieli g(x)
wtedy i tylko wtedy, gdy K składa się ze słów mających parzystą liczbę jedynek. 2
Lemat 6.10 Jeżeli kod cykliczny generowany przez g(x) zawiera słowo mające
nieparzystą liczbę jedynek, to zawiera też słowo złożone z samych jedynek. 2
Lemat 6.11 Jeżeli p = −1 mod 8, to przekrój Kq ∩ Kn ma dokładnie jeden nieP
i
zerowy element h(x) = p−1
i=0 x .
elementów, podobnie zbiór niekwadratów N . Jeżeli p + 1
Dowód. Zbiór Q ma p−1
2
jest nieparzysta. Tak więc wielomiany q i n nają
dzieli się przez 8 to liczba p−1
2
nieparzystą liczbę współczynników równych 1. Oznacza to, że h ∈ Kq ∩ Kn i, co
więcej, Kh ⊆ Kq ∩ Kn .
Jeżeli h ∈ Kq , to h(x) = c(x) ◦ q(x) dla pewnego wielomianu c(x). Pomnóżmy
tę równość przez q(x). Ponieważ q(x) jest idempotentem, to otrzymujemy, że
h(x) ◦ q(x) = c(x) ◦ q(x) ◦ q(x) = c(x) ◦ q(x) = h(x).
Podobnie otrzymujemy, że h(x)◦n(x) = h(x). Mamy też oczywistą równość h(x) =
1 + q(x) + n(x). Mnożąc ją przez q(x) otrzymujemy
h(x) = h(x) ◦ q(x) = q(x) + q(x) ◦ q(x) + n(x) ◦ q(x) = n(x) ◦ q(x).
Przypuśćmy, że pewien wielomian w(x) ∈ Kq ∩Kn . Wtedy w(x) = a(x)◦q(x) =
b(x)◦n(x) dla pewnych wielomianów a(x), b(x). Mnożąc ostatnią z dwóch równości
przez q(x) otrzymujemy
w(x) = a(x) ◦ q(x) = a(x) ◦ q(x) ◦ q(x) = b(x) ◦ n(x) ◦ q(x) = b(x) ◦ h(x).
Z tej równości wynika, że
Kq ∩ Kn ⊆ Kh i dalej Kq ∩ Kn = Kh .
Obliczymy teraz Kh . Zauważmy, że xi ◦ h(x) = h(x). Stąd także w(x) ◦ h(x) =
h(x) dla dowolnego niezerowego wielomianu w(x). Oznacza to, że Kh = Kq ∩ Kn =
{0, h(x)}. 2
Lemat 6.12 Jeżeli p = −1 mod 8, to kody Kq i Kn są tego samego wymiaru.
Dowód. Rozważmy funkcję f : Z2p [x] → Z2p [x] taką, że
f(
p−1
X
i=0
ai x i ) =
p−1
X
ai xp−i .
i=0
Funkcja ta jest homomorfizmem pierścienia Z2p [x] z mnożeniem modulo xp −1. Jest
to też funkcja liniowa, ponieważ f (a) = a dla wielomianu a stopnia 0. Ponieważ
f (f (w(x))) = w(x), więc f jest izomorfizmem.
Nietrudno zauważyć, że f (q(x)) = n(x). Stąd f przekształca Kq na Kn . Oba
kody są więc izomorficznymi przestrzeniami liniowymi. 2
Lemat 6.13 Najmniejszą przestrzenią generowaną przez Kq ∪ Kn jest Z2p [x].
Dowód. Jest to konsekwencja oczywistego wzoru h(x) = 1 + q(x) + n(x). Wobec
tego, 1 = h(x) + q(x) + n(x) oraz w(x) = w(x) ◦ h(x) + w(x) ◦ q(x) + w(x) ◦ n(x).
Prawa strona ostatniej równości należy do przestzreni generowanej przez Kq ∪ Kn ,
a więc do tej przestrzeni należy dowolny wielomian w(x). 2
Wniosek 6.14 Kody Kq i Kn są przestrzeniami liniowymi wymiaru
p+1
.
2
2
Lemat 6.15 Dla kodów Kq i Kn minimalna odległóść słów kodowych od 0 jest
taka sama.
Dowód. Wynika to stąd, że izomorfizm f z wcześniejszego lematu przekształca
jeden z kodów na drugi i zachowuje odległość od 0. 2
Lemat 6.16 Dla kodów Kq i Kn minimalna odległóść d słów kodowych od 0 jest
√
większa od p.
Dowód. Weżmy wielomian w(x) ∈ Kq z d niezerowymi współczynnikami. Korzystając z cykliczności kodu możemy założyć, że w(0) = 1
i wymnóżmy tworząc d2 iloczynów z niezerowymi współczynnikami.

Podobne dokumenty