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.