Algebraiczne aspekty kodowania i kryptografii Lista zadań nr 3, 5
Transkrypt
Algebraiczne aspekty kodowania i kryptografii Lista zadań nr 3, 5
Algebraiczne aspekty kodowania i kryptografii Lista zadań nr 3, 5 listopada 2012 Zad. 1. Przyjrzyj się macierzom generującym kody R(1, m) i porównaj je z macierzami kontrolnymi kodów Hamminga. Po obejrzeniu tych macierzy scharakteryzuj kody R(m − 2, m). Zad. 2. Spróbuj w bardziej zwykły sposób wyliczyć minimalną odległość słów kodu R(r, m). W tym celu pokaż, że 1) jeżeli wielomian nie zawiera zmiennej x0 , to wyznacza on zbiór X taki, że (0, a1 , . . . , am−1 ) ∈ X ⇔ (1, a1 , . . . , am−1 ) ∈ X i analogiczna własność zachodzi dla pozostałych zmiennych, 2) każdy zbiór X ∈ R(r, m) ma przynajmniej 2m−r elementów. Tę ostatnią własność powinno dać się dowieść przez indukcję ze względu na liczbę zmiennych występujących w wielomianie definiującym X. Zad. 3. Weźmy kod R(r, m) i usuńmy z każdego słowa kodowego ostatni znak. Pokaż, że w ten sposób otrzymujemy kod liniowy. Zbadaj minimalną odległość słów tego kodu i możliwości korygowania przez niego błędów. Zad. 4. Pokaż, że 11100001 6∈ R(1, 3). Czy z tego przykładu wynika coś ciekawego? Zad. 5. Dla kodu R(1, 3) mamy bardzo prosty algorytm korygujący 1 błąd, polegający na przedstawieniu danego słowa w postaci wielomianu i obejrzenia otrzymanego wyrażenia. Podaj algorytm korygujący błąd, działający zgodnie z tą ideą. Zad. 6. Znajdowanie wielomianu opisującego daną funkcję z punktu widzenia algebry liniowej polega na przedstawieniu w jakiejś bazie wektora danego w innej (wektor dany w bazie standardowej chcemy przedstawić w bazie złożonej z jednomianów). Zadanie to zwykle rozwiązuje się znajdując macierz przejścia od jednej bazy do drugiej, a więc macierz M taką, że mając współrzędne ~x wektora w jednej bazie i obliczając iloczyn M~x znajdujemy współrzędne tego wektora w drugiej bazie. Znajdź macierze przejścia między bazą standardową i bazą złożoną z jednomianów dla przestrzeni Z28 . Zad. 7. Podaj kilka sposobów kodowania informacji za pomocą kodu R(1, 3), a więc funkcji liniowych f : Z24 → R(1, 3). Wiemy, że kodowanie za pomocą kodu liniowego może polegać na dopisywaniu sum kontrolnych. Przedstaw w szczególności w ten sposób kodowanie za pomocą kodu R(1, 3). Spróbuj zrobić to samo dla bardziej skomplikowanych kodów Reeda - Mullera. 1