Macierze Iloczyn skalarny wektorów a, b [ a, a,... a n Algebra. Mat.dyskretna v..3 egzamin mgr inf niestacj b b... b n n a i b i, a b (wektory są prostopadłe) a, b 0 i [, 0, 0 [0,, 0 [0, 0, (wersory w R 3 ), [, 3 [ 3, (bo [, 3 [ 3 ( 3) 3 0). Mnożenie macierzy Przykłady m r {}}{ [a ik i,...,m k,...,r [ 3 [3 [ [ 3 4 5 6 r n {}}{ [b kj k,...,r j,...,n 3 6 4 5 3 m n {}}{ [c ij i,...,m j,...,n [4, 5, 6 [ 3 4 5 6 r c ij a ik b kj i-ty wiersz k 3 j- ta kolum na 4 5 6 3 3 3 (nieprzemienność) [ 0 0 [ 0 0 0 [ 0 0 0, [ 0 0 0 [ 0 0 [ 0 0 (macierz identycznościowa) I [ 0 0... 0 0 0... 0 0 0... 0........... 0 0 0... 0 [ 6 4 5 3. Identyczność ma kolumny i wiersze będące wersorami, a zachowuje się względem mnożenia jak : I A A A I. (Formalnie: I stanowi element neutralny mnożenia). (macierz odwrotna) A A I A A. Kryterium odwracalności: A posiada macierz odwrotną A det A 0. Wyznacznik. a a... a j... a n a A a... a j... a n........................... [v, v,..., v n macierz kwadratowa n n, a n a n... a nj... a nn gdzie v j [ aj a j... a nj j-ta kolumna Definicja. [v,..., v j,..., v n A det det A det(v,..., v j,..., v n ) R to jedyna funkcja kolumn spełniająca: ) (i) (unormowanie) det ([ 0 0... 0 0 0... 0 0 0... 0........... 0 0 0... (wieloliniowość tensor) ; det(v, v..., α u j β w j,... v n ) α det(v, v..., u j,... v n ) β det(v, v..., w j,... v n ); słownie: liniowość ze względu na każdą kolumnę ;
Algebra. Mat.dyskretna v..3 egzamin mgr inf niestacj (iii) (antysymetria) det(v... v i...v j... v n ) det(v... v j...v i... v n ); słownie: zamiana miejscami kolumn kosztuje znak. Uwaga: Wyznacznik można zdefiniować tak samo jako funkcję wierszy; dzięki równości det(a) det(a T ), gdzie A T macierz transponowana do A zamieniająca kolumny na wiersze, wyznacznik wierszowy i kolumnowy są takie same. Przykłady. (zerowy wiersz lub kolumna daje 0) 5 0 3 5 0 3 4 0 4 0 0 5 0 5 7 6 0 7 6 0 W. (dwie te same kolumny lub wiersze dają 0) 5 3 5 4 9 4 6 8 6 W 3. (macierz dolnotrójkątna) 9 3 0 7 8 4 0 0 0 9 3 0 (iii) 9 3 0 7 0 4 0 0 0 7 0 4 0 0 5 3 5 4 9 4 6 8 6 } {{ } W 3 5 0 3 4 0 0 5 7 6 0 W W W W 0 W W W 0 0 0 9 0 0 7 4 4 0 0 0 0 9 3 0 9 0 0 7 0 4 7 4 4 0 3 0 0 0 7 0 0 0 4 7 3 3 3 0 4 3 7 4 0 4 4 0 0 0 3 3 3 0 7 0 0 0 4 4 0 4 0 0 0 0 (i) 3 4 0 0 3 4 0 0 Rozwinięcie Laplace a. a a... a (j )... a n a a... a (j )... a n A (ij) a (i) a (i)... a (i) (j )... a (i) n.................. a n a n... a n (j )... a nn minor powstały przez wykreślenie i-tego wiersza i j-tej kolumny w macierzy A det A n ( ) ik det A (ik) k det A n ( ) kj det A (kj) k (względem i-tego wiersza) (względem j-tej kolumny)
Algebra. Mat.dyskretna v..3 egzamin mgr inf niestacj 3 Układy równań liniowych Układ m równań o n niewiadomych x, x,..., x m Postać macierzowa a x a x... a n x n b a x a x... a n x n b................................ a m x a m x... a mn x n b m A X B, gdzie A [a ij i,...,m, X j,...,n [ x x..., B x n A macierz główna układu B kolumna wyrazów wolnych Wzory Cramera. m n, W det A 0 (wyznacznik główny układu) x Wx, x W Wx,..., x W n Wxn rozwiązanie układu, gdzie wyznacznik zmiennej x W j a a... b... a n W xj a a... b... a n (w macierzy A wymienia się j-tą kolumnę na B). a n a n... b n... a nn j n Rozwiązanie macierzowe układu: A X B X A B. [ b b..., b m 3 Wielomiany V (x) n a i x i a 0 a x a x... a n x n ; i0 Definicje. () c pierwiastek wielomianu V V (c) 0. () deg V max{i : a i 0} stopień wielomianu. Twierdzenie Bezouta: V (c) 0 (x c) V. Rozkład wielomianu. Nad R: Każdy wielomian rzeczywisty (tj. o współczynnikach a i R) posiada rozkład na iloczyn wielomianów rzeczywistych kwadratowych (stopnia co najwyżej ). Nad C: Każdy wielomian zespolony posiada rozkład na iloczyn wielomianów zespolonych liniowych (stopnia co najwyżej ). Przykłady:. x (x i) (x i) nierozkładalny nad R.. x 4 rozkład nad R (x x ) (x x ) rozkład nad C ( x ( i)) ( x ( i)) (x ( i)) ( x ( i)) Zasadnicze twierdzenie algebry: Każdy wielomian ma pierwiastek zespolony. Uwaga: Fakt ten jest równoważny z rozkładalnością wielomianów nad C na czynniki liniowe. Równanie kwadratowe. a z b z c 0 z, b a, wyróżnik trójmianu b 4ac. Możliwe pary pierwiastków równania kwadratowego różne rzeczywiste podwójny rzeczywisty zespolone sprzężone Przykład (zespolone sprzężone) z z 0 0, 36, 6i, z, 6i 3i.
4 Algebra. Mat.dyskretna v..3 egzamin mgr inf niestacj 4 Podzielność liczb Ogólnie pojęcie podzielności jest nietrywialne w pierścieniach takich jak Z, gdzie nie wszystkie elementy 0 są odwracalne. W ciałach takich jak Q i R wszystkie elementy są odwracalne, więc dla a 0 zawsze a b (bo b (b a ) a); tym samym w ciałach pojęcie podzielności jest trywialne ( wszystko dzieli wszystko ). Uwaga: i) Umawiamy się, że 0 N. ii) To co poniżej robimy dla N przepisuje się na Z. Definicje (podzielność ) a b (a dzieli b a jest dzielnikiem b b jest podzielne przez a) d N b d a (kongruencja ) a b mod m (a i b są kongruentne modulo m a i b przystają do siebie modulo m) m b a reszta(b : m) reszta(a : m) (gcd greatest common divisor) d NWD(a, b) (największy wspólny dzielnik a i b) d a d b wspólny dzielnik c (c a c b c d) największy Uwaga: Tak się składa, że d max{c : c a c b}, tzn. d jest elementem maksymalnym w zbiorze dzielników {c : c a c b} zarówno względem relacji porządku jak i. (lcm least common multiply, najmniejsza wspólna wielokrotność) NWW(a, b) min{k : a k b k} (pierwszość) p liczba pierwsza p > k N ( k p (k k p) ) Słownie: p ma dokładnie dwa dzielniki: oraz p., NWW(4, ) 4 najmniejszy wspólny mia- 3 Przykład (NWW). nownik. 5 9 0 9 4 4 4 4 Własności (podzielności).. a a.. a b b c a c 3. a b b a a b 4. a b a b c 5. a b a c a b ± c relacja porządku Własności (kongruencji).. } a a mod m.. a b b c a{{ c mod m 3. a b b a mod m} relacja równoważności a c b c 4. m a a 0 mod m 5. a a ± m mod m 6. a b c a c b mod m a k b k 7. a b c d a c b d mod m Przykład reszta (( 007 ) : 7) 0 tzn. 7 007. 007 ( 0 ) 00 (0 3 ) 00 0 600, więc nasza liczba ma ponad 600 cyfr. 3 8 mod 7, 007 : 3 669 007 ( 3 ) 669 669 mod 7 007 0 mod 7 Podstawowe twierdzenie arytmetyki: Każda liczba naturalna n > posiada jednoznaczny rozkład na czynniki pierwsze n k p i i, p i liczba pierwsza, k i krotność. i
Algebra. Mat.dyskretna v..3 egzamin mgr inf niestacj 5 (Jednoznaczność nie istnieje drugi rozkład, w którym występują inne liczby pierwsze lub z różną krotnością). Algorytm Euklidesa. NWD(a, b) #bez dzielenia repeat if a>b then (a,b) : (b,a); (a,b) : (a,b-a) until ab NWD : a #z dzieleniem repeat if a>b then (a,b) : (b,a); (a,b) : ( a,reszta(b:a) ) until b0 NWD : a Przykłady NWD(6, 33) 3 bez dzielenia (6, 33) (6, 33 6) (6, 7) (6, 7 6) (6, ) (6, 6) (6, 5) (6, 5 6) (6, 9) (6, 9 6) (6, 3) (3, 6) (3, 6 3) ( 3, 3) z dzieleniem (6, 33) 33 : 6 5 reszta 3 (6, 3) (3, 6) 6 : 3 reszta 0 (przewaga algorytmu z dzieleniem). NWD( 3, ). Algorytm bez dzielenia wykona miliard jałowych odejmowań, bo 30 ( 0 ) 3 (0 3 ) 3 0 9. Sito Eratostenesa. Chcemy wyznaczyć wszystkie liczby pierwsze wśród liczb 00000.. Wypisujemy liczby, 3, 4, 5, 6, 7,..., 00000.. Bierzemy liczbę i wykreślamy z listy jej krotności:, 3, 4, 5,... 50000. 3. Bierzemy kolejną liczbę 3 i wykreślamy z listy jej krotności: 3, 3 4, 3 5,..., 3 33333. 4. Bierzemy kolejną liczbę 4. Ona i jej krotności zostały już wykreślone (jako krotności ). 5. Bierzemy kolejną liczbę 5 i wykreślamy z listy jej krotności. 6. Postępujemy tak aż do ostatniej nieskreślonej liczby < 50000. (Dokładniej do k 33 00000). 7. Ostatecznie pozostaną na liście tylko liczby pierwsze. 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 - - - - - - - - - 3 - - - - - - Poprawność: Liczby, które pozostały nie były krotnościami żadnej liczby mniejszej od siebie; nie mają więc mniejszych od siebie dzielników tzn. są liczbami pierwszymi. Liczba złożona > 00000 musi mieć dzielnik 00000, bo inaczej iloczyn jej dzielników byłby > 00000 00000 00000; wystarczy więc wykreślać krotności liczb k 00000.
6 Algebra. Mat.dyskretna v..3 egzamin mgr inf niestacj 5 Definicje i równania rekurencyjne Ciąg arytmetyczny x n x n r x n x 0 n r Ciąg geometryczny. Definicja potęgi x n x n q x n q n x 0, { xn a x n x 0 x n a n Silnia Dwusilnia x n (n ) x n x x { xn (n ) x n x 0 x n n!! x n n! { 3 5 7... n, n 4 6 8... n, n Liczby Fibonacciego Symbol Newtona x n x n x n x 0 x x(n, k ) x(n, k) x(n, k ) x(n, 0) x(n, n) x(n, k) ( n k ) Interpretacja powyższej zależności rekurencyjnej jako trójkąt Pascala: Przykłady n! k! (n k)! 0 3 3 3 4 4 6 4 5 5 0 0 5 6 6 5 0 5 6.................................................................... n ( n 0 ).... ( k n ) ( n k ) ( k n ) ( k n ).... ( n n ) ) n......................................................... ( n k (Dwumian Newtona) (a b) n n ( n k ) a k b (n k) k0 (Hasła graficzne) Na obrazku wyróżniono 0 elementów. Zaznaczenie myszką 4 właściwych elementów stanowi hasło. Ile takich haseł można utworzyć? Odp: Kombinacje. 4 elementy spośród 0 można wybrać na ( 0 4 ) 0 sposobów.
Algebra. Mat.dyskretna v..3 egzamin mgr inf niestacj 7 (Klucz anagramowy) Poprzestawiane litery w słowie KARTOFEL stanowią klucz do szyfrogramu. Komputer sprawdza w ciągu każdej sekundy 00 możliwości (porównując dla każdego klucza początki odszyfrowanych wiadomości ze słownikiem). Po jakim czasie na pewno poznamy wiadomość? Odp. Permutacje. 8 znaków można ustawić w różnej kolejności na 8! 4030 sposobów. Maksymalny czas dekryptażu ok. 6 min 40 s. (PIN) Kod liczbowy do karty magnetycznej składa się z 4 cyfr. Jakie jest prawdopodobieństwo zgadnięcia kodu jeśli dopuszcza się 3 próby? Odp: Wariacje. Liczba potencjalnych kodów 0 4 0000. 0000 chybił trafił 0000 9999 chybił 9999 trafił 9998 9998 Pr( trafił ) } 0000 {{} trafił w I próbie 0000 0000 0000 chybił trafił ( ) } 0000 {{ 9999 } trafił w II próbie 0, 0003 0, 3. ( ) ( ) } 0000 {{ 9999 9998 } trafił w III próbie (Iteracja a rekursja) F ib(n) n-ta liczba Fibonacciego. #implementacja rekursywna Fib(0) : ; Fib() : ; Fib(n) : Fib(n-) Fib(n-) #implementacja iteracyjna (a,b) : (,); for i : to n (a,b) : (b,ab); Fib : b Rekursja jest kosztowniejsza obliczeniowo i dlatego należy ją zastępować iteracją, gdzie tylko się uda. Powyższy algorytm iteracyjny działa wyraźnie szybciej już dla Fib(8) 549, a wyniku Fib(00) 5734784403870840 raczej nie doczekamy stosując rekursję. Niestety nie zawsze znamy postać iteracyjną algorytmu, ale nawet w postaci rekursyjnej wiele można usprawnić (np. sortowanie bąbelkowe a sortowanie przez wstawianie). (RNG - generatory liczb losowych) (x n ) n0 ciąg liczb pseudolosowych (LCRNG) x n a x n b mod m, x 0 ziarno (liniowo-kongruencyjny) (LMCRNG) x n a x n b x n c mod m, x 0, x ziarno ( Fibonacciego ) (QCRNG) x n a x n b x n c mod m, x 0 ziarno (kwadratowo-kongruencyjny)
8 Algebra. Mat.dyskretna v..3 egzamin mgr inf niestacj (BBS) (Blum-Blum-Shub) { yn y n mod m x n najniższy (jednostkowy) bit w zapisie dwójkowym liczby y n y 0 ziarno, NWD(y 0, m), m p q, p, q 3 mod 4, p, q duże liczby pierwsze. Generatory: liniowy, kwadratowy i Fibonacciego zostały złamane, więc nadają się tylko do symulacji komputerowych, natomiast (BBS) uznaje się za kryptograficznie bezpieczny (podobnie jak RSA ze względu na trudności z rozkładem na czynniki pierwsze). Równanie rekurencyjne liniowe rzędu jednorodne. (LJ-) x n a x n b x n. Równanie charakterystyczne: (S) λ a λ b. Wyróżnik (S) Rozwiązanie ogólne (LJ-) (i) > 0, λ λ x n c λ n d λ n, c, d R 0, λ λ λ x n c λ n d n λ n, c, d R (iii) < 0, λ, r (cos α ± i sin α) x n r n (c cos nα d sin nα), c, d R Przykład (LJ-) x n 6 x n 9 x n, (S) λ 6λ 9 λ, 3, Rozwiązanie x n c 3 n d n 3 n (c d n) 3 n. 6 Kryptografia z kluczem publicznym. System El Gamala Kryptografia z kluczem publicznym. Kryptografia symetryczna: szyfrowanie i deszyfrowanie za pomocą wspólnego klucza, którego ujawnienie pozwala na deszyfrowanie wiadomości. Kryptografia asymetryczna: oddzielny klucz do szyfrowania i oddzielny do deszyfrowania. Klucz do szyfrowania można ujawnić wszystkim (tzw. klucz publiczny). Klucz do deszyfrowania pozostaje utajniony (tzw. klucz prywatny). Realizacja techniczna wymaga aby klucze prywatny i publiczny wzajemnie się odtwarzały, ale odtworzenie klucza prywatnego na podstawie klucza publicznego było bardzo czasochłonne obliczeniowo. Najczęściej wykorzystuje się trudności z rozkładem na czynniki pierwsze (np. RSA), trudności z logarytmem dyskretnym (np. Diffie-Hellmann), bądź krzywe eliptyczne. System ElGamala. Oznaczenia: p liczba pierwsza, Z p {,,..., p } grupa z mnożeniem mod p (formalnie: grupa multyplikatywna elementów odwracalnych w pierścieniu Z p ). α generator Z p Z p {α i : i,,..., p }. W szczególności: α p, α p α. Słownie: mnożąc wielokrotnie α przez siebie tworzymy ( generujemy) całą grupę. Przykład (grupy cyklicznej). p 7, Z p Z 7 {,, 3, 4, 5, 6}. 3 4 5 6 3 5 mod 7, bo reszta(5 : 7) ; 3 4 5 6 nie jest generatorem Z 4 6 3 5 7, bo { 3 3 6 5 4 4, 4, 3 } Z 7 (formalnie: element Z 4 4 5 6 3 7 ma rząd 3); α 3 stanowi generator Z 5 5 3 6 4 7, bo {α 6 6 5 4 3 3, α, α 3 6, α 4 4, α 5 5, α 6 } Z 7.
Algebra. Mat.dyskretna v..3 egzamin mgr inf niestacj 9 A. Tworzenie pary klucz prywatny - klucz publiczny dla Ali.. Wybrać dużą liczbę pierwszą p oraz generator α grupy Z p.. Wylosować liczbę naturalną k, k p oraz obliczyć potęgę β α k mod p. 3. Klucz prywatny: k, klucz publiczny: (p, α, β). B. Szyfrowanie za pomocą klucza publicznego. Bartek przesyła tajną wiadomość do Ali.. Zamienić informację na liczbę całkowitą m Z p.. Wylosować liczbę naturalną n, n p. 3. Obliczyć γ α n mod p oraz δ β n m mod p, gdzie p, α, β dane jako klucz publiczny. 4. Szyfrogram: c (γ, δ). C. Deszyfrowanie za pomocą klucza prywatnego. Ala czyta wiadomość.. Za pomocą klucza prywatnego k i modułu p danego w kluczu publicznym wyznaczyć liczbę m γ p k δ mod p.. Odtworzyć wiadomość zamieniając liczbę m z powrotem na informację. Poprawność. γ p k δ (α n ) p k β n m (α n ) p k (α k ) n m (α n ) (p k)k m (α}{{ p } ) n m m mod p. Przykład (komunikacji opartej na niebezpiecznie małej grupie). Klucz publiczny: (p, α, β) (34777777777,, 339693736). Wiadomość m 78888. Liczba losowa n 345965358. Szyfrogram c (γ, δ), γ 74498770, δ 50786439565. Klucz prywatny k 660366345. Zastosowany do c odtwarza m. Dyskusja. Wada: Podwaja dlugość szyfrogramu w stosunku do wiadomości odkrytej. Zaleta: Nawet ten sam klucz i ta sama wiadomość prowadzą do wielu różnych szyfrogramów w zależności od wylosowanej liczby pomocniczej n. Problem: Nie jest jasne na czym opiera się trudność złamania tego systemu. Jeśli zagadnienie logarytmu dyskretnego można łatwo rozwiązać, to i system El Gamala również. Ale czy na odwrót? Za bezpieczne uważa się liczby pierwsze czterokrotnie dłuższe niż w przypadku RSA. Zagadnienie logarytmu dyskretnego. Dla danych β Z p, α generator Z p rozwiązać α k β; k log α β. Z definicji generatora logarytm dyskretny k zawsze istnieje. Ale jak znaleźć k nie wypisując wszystkich potęg α i (i,..., p )?