Algorytmy transformacji wielomianowych i ich zastosowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Algorytmy transformacji wielomianowych i ich zastosowania"

Transkrypt

1 INSTYTUT BADAŃ SYSTEMOWYCH PAN mgr Joanna Kapusta Niestacjonarne Studia Doktoranckie IBS PAN Autoreferat pracy doktorskiej pt. Algorytmy transformacji wielomianowych i ich zastosowania Promotor: dr hab. Ryszard Smarzewski, prof. KUL

2

3 1. Wstęp 1.1. Cel pracy oraz motywy wyboru problematyki badawczej Istotnym elementem nauk informatycznych jest projektowanie i analiza algorytmów, mających najczęściej swoje korzenie w szeroko rozumianej matematyce. Prezentowana rozprawa skupia się na jednym z ważnych [Knuth, 2002] zagadnień z tego obszaru - zaprezentowano w niej nowe algorytmy obliczania transformacji wielomianowych, tj. metody przekształcania reprezentacji wielomianu jednej lub wielu zmiennych p (x) = a α H α (x) α Q n w bazie {H α (x)} α Qn do reprezentacji tego wielomianu p (x) = b α G α (x) α Q n w bazie {G α (x)} α Qn, gdzie Q n oznacza odpowiednio ustalony zbiór indeksów. Celem prezentowanej rozprawy doktorskiej było opracowanie nowych, szybkich algorytmów transformacji wielomianowych dla baz zależnych od specjalnych konfiguracji punktów. Proponowane algorytmy operują na zbiorach punktów rozszerzających klasę ciągów punktów, dla których znane są szybkie algorytmy tego rodzaju [Cooley i Tukey, 1965; Knuth, 2002; Aho i inni, 2003; Bostan i Schost, 2005]. Dokładniej, w pracy przedstawiono algorytmy dla jednowymiarowych, a następnie dla wielowymiarowych transformacji wielomianowych wykorzystujących bazy Lagrange a, Newtona i potęgową z uwzględnieniem punktów, których współrzędne są generowane przez równanie rekurencyjne pierwszego rzędu. Wspomniane algorytmy w istotny sposób wykorzystują jedno- i wielowymiarowe sploty. Zaprezentowano je w postaci łatwej do efektywnej implementacji. Ponadto przeprowadzono szczegółową analizę złożoności obliczeniowej tych algorytmów. Następnie podano ich zastosowania w aktualnych problemach kryptograficznych takich jak: dzielenie sekretu, głosowanie elektroniczne, wymiana kluczy z wykorzystaniem transmisji rozgłoszeniowej. Aktualność tych zagadnień wynika m.in. z szybkiego rozwoju internetu oraz jego stale rosnącego znaczenia w życiu jednostek i całych społeczeństw. W pracy szczególną uwagę zwrócono na głosowania elektroniczne ze względu na duży potencjał, jaki ze sobą niosą oraz na naturalne powiązanie prezentowanego modelu głosowań z omawianymi algorytmami transformacji wielomianowych. Głosowania z wykorzystaniem internetu umożliwiają partycypowanie w podejmowaniu decyzji dużej grupie uczestników bez konieczności przemieszczania się do miejsca głosowania, 1

4 co oszczędza czas, koszty i może być dodatkową zachętą do udziału w głosowaniu. Ponadto umożliwiają one oddanie głosu osobom, które z różnych względów (np. problemy zdrowotne) muszą rezygnować z udziału w tradycyjnych głosowaniach. Wspomniane zalety powodują, że systemy wykorzystujące nowoczesne technologie są ciągle przedmiotem zainteresowań i badań, zarówno w kontekście głosowań [Fujioka i inni, 1993], [Zwierko i Kotulski, 2007], wymiany opinii mającej na celu wypracowanie konsensusu [Kacprzyk i Zadrożny, 2010], czy też w kontekście wspierania procesu podejmowania decyzji [Kacprzyk i Zadrożny, 2005]. W pracy przedstawiono model, który może być wykorzystany do zbierania i zliczania głosów oddawanych przez internet oraz z wykorzystaniem maszyn do głosowania. Ustalenie sposobu interpretacji wyników głosowania i wskazania wariantu zwycięskiego może odbywać się przy pomocy różnych technik (np. Bordy, większościowej, aprobującej), które nie muszą prowadzić do takiego samego rezultatu. Okazuje się, że dla 100-osobowej grupy, w której głosy rozkładają się 48:23:22:6:1, mającej wybrać jeden wariant spośród 5 możliwych, nawet wariant o 6-głosowym poparciu może wygrać głosowanie [Hołubiec i Mercik, 2006]. Innym istotnym zastosowaniem algorytmów transformacji wielomianowych, rozważanym w pracy, jest transmisja rozgłoszeniowa. Polega ona na rozsyłaniu zaszyfrowanej wiadomości do dużej grupy użytkowników w taki sposób, że wiadomość może zostać odtworzona jedynie przez członków dynamicznie zmieniającej się, uprawnionej podgrupy. Przykładem zastosowania transmisji tego typu jest kodowana transmisja telewizyjnych platform cyfrowych - tylko użytkownicy, którzy dokonali opłaty mają dostęp do programów telewizyjnych. Wymienione zastosowania wykorzystują zaprezentowany w pracy hierarchiczny model dzielenia sekretu, który jest uogólnieniem klasycznego schematu Shamira [Shamir, 1979]. Schemat Shamira bazuje na interpolacji Lagrange a, natomiast proponowany hierarchiczny model dzielenia sekretu bazuje na interpolacji Hermite a. Zastosowanie interpolacji Hermite a pozwala na stosowanie tego schematu w grupach o ustalonej hierarchii. Rozważając rzeczywiste przypadki nie jest trudno znaleźć przykłady instytucji lub organizacji (np. bank, wojsko), w których istnieje ustalona hierarchia podyktowana autorytetem jednostek, czy odpowiedzialnością jaka na nich spoczywa. Rozdzielenie tajnej informacji wśród członków takiej grupy wymaga zazwyczaj uwzględnienia wspomnianej hierarchii. W pracy przedstawiono kilka wariantów schematu dzielenia sekretu umożliwiających dopasowanie go do potrzeb tego typu grup. Zaprezentowany model pozwala również na uwzględnienie sytuacji, w której do odzyskania sekretu konieczne jest uczestnictwo wybranych jednostek. 2

5 1.2. Tezy pracy Przeprowadzone studia literaturowe oraz dotychczasowe badania pozwoliły na sformułowanie następujących tez pracy: 1. Możliwe jest rozszerzenie klasy ciągów punktów, dla których znane są szybkie algorytmy interpolacyjne i ewaluacyjne. 2. Istnieją szybkie algorytmy obliczania jedno- i wielowymiarowych transformacji wielomianowych z uwzględnieniem baz wielomianowych Lagrange a, Newtona oraz potęgowej, dla punktów spełniających równanie rekurencyjne pierwszego rzędu. 3. Możliwe jest zastosowanie opracowanych algorytmów transformacji wielomianowych w protokołach kryptograficznych, tj. protokole dzielenia sekretu, głosowania elektronicznego oraz transmisji rozgłoszeniowej wykluczającej Struktura pracy Rozprawa składa się z 9 rozdziałów. Pierwszy rozdział stanowi wprowadzenie do tematyki rozważanej w pracy. Zawiera on opis celów badawczych, zakresu pracy oraz motywacji, które doprowadziły do opracowania nowych algorytmów i ich zastosowań. W pracy zostały wyodrębnione dwie zasadnicze części. Pierwsza z nich (rozdziały 2-5) dotyczy algorytmów obliczania transformacji wielomianowych, natomiast część druga (rozdziały 6-8) omawia zastosowania transformacji wielomianowych. Pierwszą część pracy rozpoczyna rozdział omawiający aktualny stan wiedzy z zakresu transformacji wielomianowych. Zawiera on przegląd wyników opublikowanych w uznanych i cenionych w świecie nauki czasopismach oraz monografiach. W rozdziale trzecim przytoczono podstawowe pojęcia dotyczące jedno- i wielowymiarowych splotów oraz podano metody ich obliczania z wykorzystaniem dyskretnej transformacji Fouriera. Algorytmy proponowane w niniejszej rozprawie należą do rodziny algorytmów wykorzystujących w sposób istotny te zagadnienia. Ponadto wprowadzono definicję cząstkowego splotu hipermacierzowego, która pozwala na przejrzysty zapis algorytmu obliczania splotu wielowymiarowego i ułatwia oszacowanie jego złożoności obliczeniowej. Następnie podano algorytmy obliczania jedno- i wielowymiarowych dekonwolucji, które bazują na iteracyjnej metodzie Newtona [Borwein i Borwein, 1987]. W kolejnych dwóch rozdziałach zaprezentowano nowe wyniki dotyczące transformacji wielomianowych z uwzględnieniem wybranych baz wielomianowych: potęgowej, Lagrange a i Newtona. Dokładniej, w czwartym rozdziale zaprezentowano algorytmy obliczania jednowymiarowej transformacji Lagrange a-newtona i transformacji do niej 3

6 odwrotnej z uwzględnieniem punktów spełniających równanie rekurencyjne pierwszego rzędu. Ponadto dla wymienionej klasy punktów przedstawiono algorytm ewaluacji wielomianów w reprezentacji potęgowej. Podana klasa punktów rozszerza zbiór klas punktów analizowanych w dotychczasowej literaturze przedmiotu, m.in. w pracach [Bini i Pan, 1994; Bostan i Schost, 2005]. W tym rozdziale znalazła się również analiza porównawcza opracowanych algorytmów z innymi znanymi algorytmami transformacji wielomianowych oraz ocena uzyskanych wyników. Część poruszanych w nim zagadnień została opublikowana w pracy [Smarzewski i Kapusta, 2007]. W rozdziale piątym idee z poprzedniego rozdziału uogólniono na wiele wymiarów. W obu przypadkach - jednoi wielowymiarowym, położono specjalny nacisk na szczegóły algorytmizacji. Niektóre rezultaty tego rozdziału, dla przypadku dwuwymiarowego zostały omówione w artykule [Kapusta i Smarzewski, 2007b], natomiast dla przypadku wielowymiarowego - w [Kapusta i Smarzewski, 2009]. Rozdział szósty rozpoczyna drugą część pracy poświęconą zastosowaniom transformacji wielomianowych. Został w nim przedstawiony szczegółowy opis hierarchicznego schematu dzielenia sekretu. W omawianym schemacie transformacje wielomianowe są wykorzystywane zarówno do uzyskania udziałów w dzielonym sekrecie, jak i przy odzyskiwaniu tego sekretu. W kolejnym rozdziale omówiono model głosowania elektronicznego wykorzystujący hierarchiczny schemat dzielenia sekretu. Zastosowanie tego schematu w prezentowanym modelu głosowania pozwala na podzielenie zadań i odpowiedzialności pomiędzy kilka uprawnionych jednostek. Treść ósmego rozdziału zawiera opis ogólnego modelu transmisji rozgłoszeniowej wykorzystującego transformacje wielomianowe. Proponowany model umożliwia wybranym użytkownikom odtworzenie klucza dostępu do systemu na podstawie specjalnie zbudowanej, rozgłaszanej wiadomości. Rozdział dziewiąty zawiera podsumowanie i wnioski dotyczące omawianych algorytmów transformacji wielomianowych oraz ich zastosowań. 2. Aktualny stan wiedzy Badania w zakresie szybkiego obliczania transformacji wielomianowych dla specjalnych konfiguracji punktów były prowadzone przez wiele lat. Szczególnym przypadkiem jest słynny algorytm FFT [Cooley i Tukey, 1965] obliczania dyskretnej transformacji Fouriera oraz algorytm obliczania transformacji do niej odwrotnej. Algorytmy te pozwalają na przechodzenie pomiędzy reprezentacją wielomianu względem bazy La- 4

7 grange a z węzłami interpolacji 1, ω,..., ω n 1, gdzie ω jest pierwiastkiem pierwotnym z jedności stopnia n = 2 k, a współczynnikami rozwinięcia tego wielomianu względem bazy potęgowej, nazywanej też bazą Maclaurina. Ich złożoność obliczeniowa wynosi O (n log n), podczas gdy złożoność obliczeniowa innych, klasycznych algorytmów jest równa O (n 2 ) lub w najlepszym przypadku O ( n log 2 n ), zob. np. [Bini i Pan, 1994]. Istotnymi wynikami z tego zakresu były zaprezentowane w pracach [Aho i inni, 1975] i [Bostan i Schost, 2005] algorytmy rzędu O (n log n) dla ewaluacji i interpolacji wielomianów w n punktach tworzących ciągi geometryczne albo arytmetyczne. Przegląd algorytmów zmiany bazy wielomianów można znaleźć w [Aho i inni, 2003], [Bini i Pan, 1994] i [Knuth, 2002], oraz artykule [Bostan i Schost, 2005]. Ponadto, w wymienionych pracach znajduje się dobre, obszerne omówienie literatury związanej z tą tematyką. 3. Preliminaria Niech K = (K+, ) będzie ciałem z pierwiastkiem pierwotnym ψ z jedności stopnia 2n. Zwiniętym splotem wektorów a = (a 0, a 1,..., a n 1 ) i b = (b 0, b 1,..., b n 1 ) o współrzędnych z ciała K jest wektor a b = (c 0, c 1,..., c n 1 ), zdefiniowany wzorami i c i = a k b i k, i = 0, 1,..., n 1. k=0 Algorytm obliczania zwiniętego splotu opiera się na równości a b = { F 1 [F (a) F (b)] + F 1 [F (Ψ a) F (Ψ b)] /Ψ } /2, (1) w której Ψ = (1, ψ,..., ψ n 1 ), ψ - pierwiastek pierwotny z jedności stopnia 2n, F = F ω : K n K n - dyskretna transformacja Fouriera, ω = ψ 2 oraz operacje wektorowe i / są zwykłym mnożeniem i dzieleniem odpowiednich współrzędnych wektorów. Zwinięty splot wektorów a i b może być obliczony algorytmem o złożoności obliczeniowej c (n) = O(n log n) [Aho i inni, 2003], [Bini i Pan, 1994]. Znane są również algorytmy pozwalające na obliczenie splotu z wykorzystaniem c(n) = O (n log n log log n) operacji, np. algorytm Schönhage-Strassena [Schönhage i Strassen, 1971; Bini i Pan, 1994]. W 2009 roku Martin Fürer 2007 podał algorytm szybszy dla astronomicznie dużej wartości n o złożoności obliczeniowej O (n log n) 2 O(log n)1. { } 1 log n = min i 0 : log (i) n 1, gdzie log (0) n = n i log (i+1) n = log log (i) n 5

8 Splot wielowymiarowy definiuje się podobnie, jak jednowymiarowy. Przyjmując, że n = (n 1, n 2,..., n d ) oznacza wektor dodatnich liczb całkowitych i Q n = {α = (α 1, α 2,.., α d ) : 0 α i < n i dla i = 1, 2,..., d} jest zbiorem n 1 n 2 n d wielowskaźników o współrzędnych całkowitych, wielowymiarowy splot hipermacierzy x = (x α ) α Qn i tablicy y = (y i ) d i=1 wektorów y i = (y i,0, y i,1,, y i,ni 1) jest z definicji hipermacierzą z = (z α ) α Qn określoną wzorem z = x 1 y 1 y 2 d y d. (2) W tym wzorze cząstkowe sploty i definiuje sie w następujący sposób: Definicja 1. Macierz wielowymiarową w = (w α ) α Qn = x i y i K n 1 n 2 n d, 1 i d, nazywamy i-tym cząstkowym splotem hipermacierzy x = (x α ) α Qn i wektora y i = (y i,0, y i,1,..., y i,ni 1) jeżeli każda kolumna w β1,...,β i 1,,β i+1,...,β d, 0 β j < n j, j = 1, 2,..., i 1, i + 1,..., d, macierzy w jest równa zwiniętemu splotowi kolumny x β1,...,β i 1,,β i+1,...,β d = ( ) ni 1 x β1,...,β i 1,j,β i+1,...,β d i wektora y i. Złożoność obliczeniowa C (N) algorytmu obliczania wielowymiarowego splotu opartego na wzorze (2) wynosi j=0 O (N log N), N = n 1 n 2... n d w przypadku obliczania zwiniętego splotu algorytmem wykorzystującym FFT [Aho i inni, 2003]. W przypadku stosowania innych ww. algorytmów można jedynie stwierdzić, że C (N) = N d i=1 c (n i ) n i. gdzie c(n i ) oznacza koszt wyznaczenia zwiniętego splotu wektorów o n i współrzędnych. 6

9 4. Nowe algorytmy ewaluacji i interpolacji jednowymiarowej W prezentowanej rozprawie przedstawione zostały jawne wzory wektorowe opisujące transformacje wielomianu jednej zmiennej pomiędzy wybranymi bazami wielomianowymi przy założeniu, że co najmniej jedna z baz zależy od parami różnych punktów x i = αx i 1 + β, i = 1, 2,..., n 1, x 0 = γ, (3) gdzie stałe α 0, β, γ należą do ciała K mającego więcej niż n elementów. Rozważone zostały bazy Lagrange a, Newtona i potęgowa. Częściowe wyniki dotyczące baz Lagrange a i Newtona zostały opublikowane w [Smarzewski i Kapusta, 2007]. Badania z tego zakresu zostały zainspirowane szybkimi algorytmami obliczania transformacji Lagrange a-newtona oraz transformacji do niej odwrotnej, zaprezentowanymi w [Bostan i Schost, 2005]. W wymienionej pracy autorzy przedstawili szybkie algorytmy dla szczególnego przypadku, gdy β = 0 i γ = 1 lub α = 1. Wielomian p(x) należący do n - wymiarowej przestrzeni P n (K) wielomianów stopnia mniejszego od n nad ciałem K możemy zapisać w postaci: (a) Lagrange a (b) Newtona (c) potęgowej p(x) = p(x) = n 1 i=0 i 1 c i k=0 p(x) = n 1 i=0 n 1 y i k=0 k i x x k x i x k, y i = p(x i ), (4) (x x k ), c i = n 1 i j= Transformacja Newtona-Lagrange a i=0 Transformacja Newtona-Lagrange a b j, (5) i (x j x k ) k=0 k j a i x i, a i = p(i) (0). (6) i! N : (c i ) n 1 i=0 (y i) n 1 i=0, opisuje przejście od rozwinięcia wielomianu względem bazy Newtona (5) do rozwinięcia wielomianu względem bazy Lagrange a (4). W przypadku węzłów generowanych wzorami (3) prawdziwe jest następujące twierdzenie: 7

10 Twierdzenie 1. Jeżeli N : K n K n oznacza transformację Newtona-Lagrange a dla parami różnych punktów spełniających zależność rekurencyjną x i = αx i 1 + β (i = 0, 1,..., n 1, x 0 = γ), to N (c) = ( p 1 ) r, (7) r gdzie współrzędne wektorów p = (p j ) n 1 j=0 i r = (r j ) n 1 j=0 są zdefiniowane wzorami p j = c j [(α 1) γ + β] j j 1 j 1 α k k, r j = α ν. k=0 k=0 ν=0 Ponadto jeśli w ciele K istnieją pierwiastki pierwotne z jedności ψ i ω = ψ 2, odpowiednio stopni 2n i n, to algorytm bazujący na wzorze (7) ma złożoność obliczeniową równą c(n)+o(n), gdzie c(n) oznacza koszt obliczenia zwiniętego splotu. W szczególnym przypadku stosowania algorytmu bazującego na wzorze (1) rząd tego algorytmu jest równy O(n log n). Poniższy algorytm prezentuje szczegóły szybkiego obliczania transformacji Newtona - Lagrange a ułatwiające jego implementacje i oszacowanie złożoności obliczeniowej. Algorytm 1. Transformacja Newtona-Lagrange a dla parami różnych węzłów x 0, x 1,..., x n 1 generowanych wzorem x i = αx i 1 + β, i = 1, 2,..., n 1, x 0 = γ. Input: Wektor c = (c 0, c 1,..., c n 1 ) K n, skalary α 0, β i γ K. Output: y = N(c) K n. 1. Przypisz p 0 = c 0, r 0 = 1, δ = (α 1) γ + β, s = 0, v = 1/α i w = Dla k od 1 do n 1 wykonaj: 2.1. v = v α, w = w v δ, p k = c k w, 2.2. s = s α + 1, r k = r k 1 s. 3. Oblicz y = p 1. r 4. Wykonaj mnożenie po współrzędnych y = y r. Analogiczne twierdzenia i algorytmy uzyskano w przypadku transformacji Lagrange a-newtona i transformacji Maclaurina - Lagrange a Szczegóły zamieszczono odpowiednio w podrozdziałach 4.2 i 4.4 prezentowanej rozprawy Analiza porównawcza algorytmów Proponowane w pracy algorytmy porównano ze znanymi algorytmami obliczania transformacji wielomianowych. Przykładowe zestawienie liczby wykonywanych opera- 8

11 cji arytmetycznych przez algorytmy obliczania transformacji Newtona - Lagrange a zostało zaprezentowane na Rysunku 1. Na rysunku została przedstawiona ilość operacji arytmetycznych dla Algorytmu 1, klasycznego algorytmu rzędu O (n 2 ) [Kincaid i Cheney, 2006] i algorytmu wykorzystującego FFT o złożoności obliczeniowej O ( n log 2 n ) [Bostan i Schost, 2005]. Ze względu na dużą różnicę pomiędzy liczbą operacji porównywanych algorytmów na wykresie zastosowano skalę logarytmiczną. Rysunek 1: Porównanie liczby operacji arytmetycznych wykonywanych przez algorytmy obliczania transformacji Newtona-Lagrange a dla punktów generowanych przez równanie rekurencyjne pierwszego rzędu Warto zwrócić uwagę, że wykonanie obliczeń dla n = 2 16 przy pomocy Algorytmu 1 zamiast algorytmu klasycznego, pozwala na zaoszczędzenie około 99, 6% operacji arytmetycznych. W porównaniu z algorytmem wykorzystującym FFT ta oszczędność wynosi około 95%. Podobne rezultaty uzyskuje się w przypadku pozostałych transformacji. 5. Interpolacyjne i ewaluacyjne transformacje wielowymiarowe 5.1. Sformułowanie problemu Niech n = (n 1, n 2,..., n d ) będzie wektorem dodatnich liczb całkowitych i niech Q n będzie siatką α = (α 1, α 2,..., α d ) ze współrzędnymi całkowitymi spełniającymi nierówność 0 α i < n i dla i = 1, 2,..., d. 9

12 Korzystając z notacji wielowskaźnikowej, definiuje się przestrzeń P d n = P d n (K) wszystkich wielomianów p (x) = α Q n a α x α (8) zmiennej x = (x 1, x 2,..., x d ) K d, ze współczynnikami a α = a α1,α 2,...,α d z ciała K. Wzór (8) przedstawia wielomian w reprezentacji potęgowej x α = x α 1 1 x α x α d d. Zakładając, że parami różne punkty x i,0, x i,1,..., x i,ni 1, x i,j x i,k dla j k, należą do ciała K dla każdego i = 1, 2,..., d, w przestrzeni P d n (K), n = (n 1, n 2,..., n d ), można zdefiniować inne bazy wielomianowe, m. in. bazę Lagrange a i bazę Newtona L α (x) = B α (x) = d n i 1 i=1 j=0 j α i d α i 1 i=1 j=0 x i x i,j x i,αi x i,j, α = (α 1, α 2,..., α d ) Q n, (9) (x i x i,j ), α = (α 1, α 2,..., α d ) Q n. (10) Wiadomo, że wielomian interpolacyjny zdefiniowany przez następujące warunki interpolacji p (x α ) = f α, α Q n, w węzłach x α = (x 1,α1, x 2,α2,..., x d,αd ) K d, gdzie f α = f (x α ) są wartościami funkcji f : K d K, istnieje i jest określony jednoznacznie. Może on zostać zapisany w postaci Lagrange a lub Newtona p (x) = p (x) = α Q n f α L α (x) (11) α Q n c α B α (x), (12) gdzie L α (x) i B α (x) są wielomianami zdefiniowanymi odpowiednio wzorami (9) i (10). Ponadto współczynniki c α, występujące we wzorze (12), oznaczają wielowymiarowe ilorazy różnicowe zdefiniowane wzorami c α = f [x 1,0,..., x 1,α1 ;... ; x d,0,..., x d,αd ] = β clq α d α i i=1 j=0 f β, (13) (x i,βi x i,j ) j β i gdzie clq α = {β = (β 1, β 2,.., β d ) : 0 β i α i dla i = 1, 2,..., d}. 10

13 W pracy zostały zaprezentowane nowe, szybkie algorytmy obliczania wielowymiarowych transformacji z uwzględnieniem baz Lagrange a, Newtona i potęgowej w przypadku, gdy punkty x α = (x 1,α1, x 2,α2,..., x d,αd ), α Q n, są generowane przez następujące wzory rekurencyjne x i,j = λ i x i,j 1 + δ i, i = 1, 2,..., d, j = 1, 2,..., n i 1, (14) gdzie λ i 0, δ i i x i,0 = κ i (i = 1, 2,..., d) są stałymi z ciała K. Rząd tych algorytmów wynosi O (C (N)), gdzie N = n 1 n 2... n d i C (N) oznacza koszt obliczenia splotu d- wymiarowego Transformacja Lagrange a-newtona Transformacja Lagrange a-newtona L : (f α ) α Qn (c α ) α Qn. jest przekształceniem odwzorowującym macierz współczynników wielomianu wielu zmiennych zapisanego w bazie Lagrange a (9) w macierz współczynników rozwinięcia tego wielomianu względem bazy Newtona (10). Zakładając, że węzły interpolacyjne x α spełniają zależności rekurencyjne (14) oraz wykorzystując notację cząstkowego splotu hipermacierzowego, otrzymano metodę obliczania wielowymiarowych ilorazów różnicowych c = (c α ) α Qn w postaci następującego wzoru c = (... ((a 1 b 1 ) 2 b 2 ) 3 d b d ) /r, (15) w którym b i = (b i,0, b i,1,..., b i,ni 1), a = (a α ) α Qn i r = (r α ) α Qn są takie, że gdzie a β = f β, r β = u β s β, z β d d d u β = u i,βi, z β = z i,βi, s β = s i,βi, i=1 i=1 i=1 s i,j = (κ i (λ i 1) + δ i ) j, r i,j = s i,j u i,j, b i,j = ( 1)j u i,j, z i,j j 1 j 1 u i,j = λ k k i, z i,j = λ r i, i = 1, 2,.., d, j = 0, 1,..., n i 1. k=0 k=0 r=0 11

14 We wzorze (15) dzielenie macierzy wielowymiarowych jest zdefiniowane po współrzędnych. Złożoność obliczeniowa algorytmu obliczania transformacji Lagrange a-newtona opartego na wzorze (15) wynosi C (N) + O (dn), gdzie C (N) oznacza koszt obliczenia splotu wielowymiarowego (2) oraz N = n 1 n 2... n d oznacza ilość punktów tego przekształcenia. Podobne rezultaty uzyskano dla wielowymiarowych transformacji Newtona-Lagrange a i Maclaurina-Lagrange a. Szczegóły zostały przedstawione w rozdziale 5 prezentowanej rozprawy. 6. Hierarchiczne dzielenie sekretu Podział sekretu polega na rozdzieleniu pewnej informacji, zwanej kluczem bądź sekretem, pomiędzy członków ustalonej grupy osób w taki sposób, aby tylko cała grupa, bądź uprawniona podgrupa mogła tą informację odzyskać. Zadanie dzielenia sekretu można klasyfikować ze względu na wiele różnych kryteriów, np. rodzaj uzyskiwanych udziałów lub wzajemne relacje uczestników [Chang i inni, 2004; Feng i inni, 2005; Ghodosi i inni, 1998]. Interesujące hierarchiczne modele dzielenia sekretu uzyskuje się poprzez zastosowanie interpolacji Hermite a [Smarzewski i Kapusta, 2005] oraz Hermite a-birkoffa [Tassa, 2007]. Poza szczególnymi przypadkami opisanymi w [Kapusta i Smarzewski, 2006], [Kapusta i Smarzewski, 2007a] i [Aho i inni, 1975] nie są znane szybkie algorytmy zmiany bazy dla interpolacji Hermite a. Z drugiej strony, klasyczne algorytmy o złożoności kwadratowej wydają się być w wielu przypadkach wystarczające w schematach bazujących na interpolacji Hermite a, gdyż odpowiednia organizacja obliczeń [Smarzewski i Kapusta, 2005] i niezbyt duże rozmiary rozważanych zadań redukują do minimum zyski z ewentualnego przyśpieszenia algorytmów. We wprowadzonym w pracy [Smarzewski i Kapusta, 2005] hierarchicznym modelu podziału sekretu z losowo wybranym sekretem s = a 0 K, dealer (zaufany podmiot dzielący sekret) wybiera losowo niekoniecznie parami różne argumenty x 0, x 1,, x n 1 K\0 i współczynniki a 1, a 2,, a m 1 wielomianu p (x) = m 1 k=0 a k x k, m n. Następnie, wykorzystując uogólniony schemat Hornera, oblicza transformacje Maclau- 12

15 rina-lagrange a M H : (a i ) n 1 i=0 (y i ) n 1 i=0, w której i y i = p(ki) (x i ), i = 0, 1,..., n 1, k i! k i = max {k : x i k = x i } jest lewostronną krotnością węzła x i. Przy tych oznaczeniach n uczestników podziału sekretu otrzymuje udziały zdefiniowane w postaci trójek U i = (k i, x i, y i ), i = 0, 1,, n 1. Do odtworzenia sekretu s = a 0 = p (0), combiner (zaufany podmiot, który w imieniu grupy uczestników odzyskuje sekret) musi otrzymać r udziałów U ij = ( k ij, x ij, y ij ), j = 0, 1,, r 1, gdzie m r n oraz 0 i 0 < i 1 < < i r 1 < n. Ponadto udziały te muszą spełniać warunki p (k i) (x i ) = k i!y i, i = 0, 1,, r 1, typowe dla interpolacji typu Hermite a, tzn. musi być k i0 = 0 oraz i j 1 = i j 1, i j 2 = i j 2,..., i j kij = i j k ij w przypadku gdy k ij > 0. Z tego względu proponowany podział sekretu jest hierarchiczny, gdyż posiadacz udziału U ij = (k ij, x ij, y ij ) (j > 0) nie może partycypować w odtworzeniu sekretu, o ile nie zrobią tego jego kolejni zwierzchnicy, posiadający udziały U ij 1, U ij 2,..., U ij k ij. Bez zmniejszenia ogólności rozważań można przyjąć założenie, że indeksy i 0, i 1,..., i r 1 są równe odpowiednio indeksom 0, 1,..., r 1. Odtworzenie sekretu s = p (0) wymaga wówczas obliczenia uogólnionych ilorazów różnicowych (z k ) r 1 k=0 w rozwinięciu p (x) = z 0 + z 1 (x x 0 ) + + z r 1 (x x 0 ) (x x r 2 ). Uogólnione ilorazy różnicowe z k = p [x 0, x 1,, x k ], k = 0, 1,, r 1, są zdefiniowane następującymi wzorami rekurencyjnymi { yi+k ki, gdy x i = x i+k, p [x 0, x 1,, x k ] = p[x i+1,x i+2,,x i+k ] p[x i,x i+1,,x i+k 1 ] x i+k x i, gdy x i x i+k, 13

16 w których 0 i, i + k < r. Oczywiście, musi być z k = 0, k = m, m + 1,, r 1. Ostatnie identyczności mogą być wykorzystywane do weryfikacji udziałów, czyli do sprawdzenia, czy wśród otrzymanych udziałów U 0, U 1,, U r 1 nie ma udziałów niedopuszczalnych tzn. takich, w których trzecia współrzędna nie należy do zbioru wartości wielomianu w (x) lub jego pochodnych. 7. Model głosowania elektronicznego W proponowanym modelu głosowania elektronicznego głosowanie odbywa się w czterech etapach: I. Inicjalizacja - przygotowanie systemu. II. Głosowanie - oddanie głosów. III. Weryfikacja - odrzucenie głosów, które zostały oddane przez jednostki nieuprawione do głosowania. IV. Zliczenie głosów i publikacja wyników. Rysunek 2: Model głosowania elektronicznego Uczestnikami schematu są głosujący G i, i = 0, 1,..., n 1, komisja wyborcza oraz dwa zaufane podmioty: T A - odpowiedzialny za przygotowanie głosowania i T C - odpowiedzialny za zliczenie głosów i publikację wyników. W modelu zakłada się, że każda z jednostek uprawnionych jest niezależna i nie kooperuje z inną poza czynnościami wynikającymi z ich uprawnień. Etap I - Inicjalizacja Zaufana jednostka T A przygotowuje listę upoważnionych do głosowania i dostarcza certyfikaty upoważniające do głosowania poszczególnym głosującym oraz komisji, po 14

17 uprzednim potwierdzeniu uprawnień. Przesłanie certyfikatów głosującym odbywa się przy pomocy zaufanego mieszacza tak, jak w protokole wyborczym zaproponowanym przez Davida Chauma [1981]. Mieszacz zapewnia anonimowość głosujących - dzięki niemu jednostka T A nie potrafi połączyć głosującego z certyfikatem. T A wybiera bazę wielomianową, ustala liczbę głosujących oraz członków komisji, bez których przeprowadzenie głosowania nie jest możliwe. Członkom komisji przekazuje certyfikaty dobrane w taki sposób, aby wszyscy byli zobowiązani do uczestnictwa w procesie weryfikacji certyfikatów głosów. Dla uproszczenia rozważań poniżej przyjmuje się założenie, że w modelu wykorzystywane są jednowymiarowe transformacje wielomianowe względem baz Newtona i Lagrange a oraz, że komisja wyborcza składa się z przewodniczącego B i administratora A. W tym przypadku T A wybiera wielomian p(x) stopnia r w bazie Newtona i ustala liczbę głosujących n. Przewodniczący otrzymuje certyfikat postaci U B = ( x a, p (0) (x a ), p (1) (x a ),..., p (m 1) (x a ) ), natomiast administrator U A = ( x a, p (m) (x a ), p (m+1) (x a ),..., p (r) (x a ) ). Z kolei głosujący otrzymują upoważnienia do głosowania U i = (x i, y i ), i = 0, 1,..., n 1, x i x j dla i j, gdzie y i = p(x i ) jest współczynnikiem rozwinięcia wielomianu w bazie Lagrange a. Ponadto zakłada się, że x i x a dla i = 0, 1,..., n 1 oraz n < min{m, r m + 1}. Ostatnie założenie gwarantuje, że ani administrator ani przewodniczący nie może samodzielnie przeprowadzić podliczenia głosów oraz, że koalicja któregokolwiek z nich z głosującymi nie może dokonać weryfikacji certyfikatów. W przypadku dużej liczby głosujących, np. rzędu kilku tysięcy, T A może dobrać wartości x i tak, aby spełniały równania rekurencyjne pierwszego rzędu i wykorzystać algorytm 1 do obliczenia udziałów poszczególnych głosujących. Po obliczeniu certyfikatów T A może w sposób losowy wybrać certyfikaty, które zostaną przekazane głosującym. Lista rozdysponowanych wartość x i jest zapamiętywana przez administratora. Ponadto na etapie inicjalizacji podmiot zliczający T C udostępnia głosującym funkcję szyfrującą E C, którą tylko on potrafi deszyfrować. Funkcja ta ma na celu zapewnienie anonimowości głosów i będzie wykorzystywana przez głosujących w momencie przesyłania głosów. 15

18 Etap II - Głosowanie Podczas głosowania uczestnicy, którzy zdecydowali się na udział w głosowaniu, przesyłają anonimowym kanałem odpowiednio przygotowaną wiadomość do administratora. Wiadomość głosującego ma postać g i = (x i, y i, E C (v i ), proof vi ), gdzie (x i, y i ) jest certyfikatem głosującego, E C (v i ) - szyfrogramem głosu i proof vi jest potwierdzeniem autentyczność przesłanego głosu, zwanym dowodem głosu. Następnie wiadomość g i jest szyfrowana algorytmem znanym administratorowi A, w celu zapewnienia bezpieczeństwa wiadomości na drodze komunikacji pomiędzy głosującym a administratorem. Administrator zbiera wszystkie głosy. Etap III - Weryfikacja Administrator wspólnie z przewodniczącym inicjalizuje proces weryfikacji certyfikatów - głosy, które mają niepoprawny certyfikat, są odrzucane. Proces weryfikacji głosowania z wykorzystaniem jednowymiarowej transformacji Lagrange a-newtona rozpoczynają oni od utworzenia wektora zmodyfikowanych ilorazów różnicowych b = (b 0, b 1,..., b r ), b k = p(r k) (x a ) (r k)!. Następnie stosują algorytm 2 w celu wskazania każdego certyfikowanego głosu. Oczywiście, głosy ważne to te, dla których algorytm 2 wygeneruje b 0 = 0. Algorytm 2. Weryfikacja certyfikatu głosu. Input: r - indeks, U i = (x i, y i ), b = (b 0, b 1,..., b r ), gdzie b k = p (r k) (x a )/(r k)!. 1. Podstaw b r+1 = y i, x r+1 = x i. 2. Dla k od r do 0: 2.1. Oblicz b k = (b k+1 b k ) / (x k+1 x a ). 3. Jeśli b 0 0 odrzuć głos odpowiadający certyfikatowi U i. Etap IV - Zliczenie głosów i publikacja wyników Lista identyfikatorów x i oraz odpowiadających im szyfrogramów E C (v i ) głosów ważnych i dowodów głosów proof vi jest przekazywana zliczającemu T C, który sprawdza poprawność dowodów, zlicza głosy i publikuje wyniki. Ponadto publikuje on listę identyfikatorów x i głosów ważnych wraz ze związanymi z nimi dowodami głosów, która umożliwia sprawdzenie przez głosujących, czy ich głosy zostały poprawnie policzone. Warto podkreślić, że dowód głosu nie ujawnia wyboru głosującego. Stanowi on potwierdzenie - tylko dla głosującego, poprawnego odczytania jego głosu przez jednostkę 16

19 T C. W końcu administrator T A sprawdza, czy lista jego wartości x i zawiera wszystkie opublikowane wartości identyfikatorów x i. 8. Protokół transmisji rozgłoszeniowej w oparciu o hierarchiczny schemat dzielenia sekretu W pracy został podany ogólny model transmisji rozgłoszeniowej wykorzystujący hierarchiczny schemat dzielenia sekretu. Rozważany system transmisji rozgłoszeniowej jest w zasadzie schematem dzielenia sekretu, w którym nieco inaczej ustalono reguły postępowania dealera i uczestników podziału sekretu, a także zwiększono bezpieczeństwo systemu poprzez prowadzenie funkcji szyfrującej e : K K. Opis systemu transmisji rozgłoszeniowej podzielony został na dwie części. Pierwsza z nich omawia etap inicjalizacji systemu, polegający na wygenerowaniu przez jednostkę GC kluczy prywatnych użytkowników. Część druga dotyczy właściwego etapu transmisji rozgłoszeniowej. Omawia ona generowanie bloku aktywującego oraz podaje algorytm odtworzenia klucza sesyjnego S na podstawie tego bloku i klucza prywatnego użytkownika K U. I. Inicjalizacja systemu Jednostka GC wybiera w sposób losowy wielomian m p (x) = a k x k, a k K, k=0 stopnia m i dostarcza każdemu użytkownikowi udział K i = (x i, p(x i )), i = 0, 1,..., n 1, x i x j dla i j, będący jego kluczem prywatnym. W szczególnym przypadku GC może wybrać punkty x i tak, aby spełniały równanie rekurencyjne pierwszego rzędu, co pozwala na zastosowanie efektywnego algorytmu obliczania transformacji Maclaurina-Lagrange a proponowanego w pracy i w konsekwencji na redukcję kosztu obliczenia kluczy prywatnych użytkowników. II. Cykl transmisji rozgłoszeniowej Pojedynczy cykl transmisji rozgłoszeniowej jednostka GC rozpoczyna od przygotowania bloku aktywującego T dla wybranego przez nią klucza sesyjnego S. W tym celu przygotowuje m kluczy prywatnych, z których klucze K ji (i = 0, 1,..., v 1, v m) stanowią klucze nieskojarzone z żadnym użytkownikiem, natomiast pozostała część to klucze prywatne K ji = (x ji, y ji ), y ji = p(x ji ), i = v, v + 1,..., m 1, (16) 17

20 użytkowników wykluczanych tzn. takich, którzy w bieżącym cyklu nie będą mogli obliczyć klucza sesyjnego S na podstawie bloku aktywującego T. W sytuacji, gdy stosuje się hierarchiczny model dzielenia sekretu, klucze prywatne nieskojarzone z żadnym odbiorcą mogą składać się z wartości wielomianu i jego kolejnych pochodnych np. w jednym punkcie. Bez zmniejszenia ogólności rozważań można założyć, że te klucze są postaci: K ji = (i, x i, y i ), i = 0, 1,..., v 1, gdzie x 0 = x 1 =... = x v 1 i y i = p(i) (x 0 ). i! W celu uproszczenia zapisu przyjmuje się również założenie, że indeksy j 0, j 1,..., j m 1 są równe odpowiednio indeksom 0, 1,..., m 1. Przy tym założeniu przygotowany przez jednostkę GC blok aktywujący ma następującą postać T = [x 0, x v, x v+1,..., x m 1 ; e (r), e (ry 0 ), e (ry 1 ),..., e (ry m 1 )], gdzie r K\{0} wybrano w sposób losowy. Następnie GC rozgłasza blok aktywujący T oraz kryptogram E (S, M). Użytkownik odtwarza komunikat M z kryptogramu E (S, M) przy pomocy klucza sesyjnego S, który oblicza na podstawie bloku aktywującego T i swojego klucza prywatnego. Kluczem sesyjnym może być dowolny klucz wielomianowy, tzn. można przyjąć S = e(ra i0 )e(ra i1 ) e(ra it ), 0 i 0 < i 1 <... < i t m. W celu odtworzenia wielomianowego klucza sesyjnego S można korzystać ze wzoru e (ra i ) = e r m d i k 1 z k (x x i! dx i j ) (17) k=i j=0 x=0 otrzymanego przez i-krotne zróżniczkowanie wzoru interpolacyjnego Hermite a w postaci Newtona m p(x) = k 1 z k k=0 j=0 (x x j ), z k = p[x 0, x 1,..., x k ]. Odtworzenie klucza S = e(ra i0 )e(ra i1 )... e(ra it ) ze wzoru (17) przy założeniach, że dysponuje się jedynie blokiem aktywującym T i kluczem prywatnym użytkownika K U = (x m, p (x m )) i, że nie jest możliwe znalezienie funkcji odwrotnej do e, jest zadaniem ekstremalnie trudnym, a nawet niewykonalnym w klasie dopuszczalnych funkcji e. 18

21 Z drugiej strony jest jasne, że może to być wykonalne w przypadku, gdy prawą stronę wzoru (17) da się zapisać w postaci funkcji o 2m v + 4 zmiennych wymienionych w bloku T i kluczu K U, dla której istnieją efektywne algorytmy obliczania jej wartości. Szczegóły dotyczące odtworzenia klucza przy założeniu, że funkcja e spełnia warunki e(x + y) = e(x)e(y) i e(xy) = e(x) y zostały omówione w podrozdziale 8.2 prezentowanej pracy. 9. Podsumowanie W pracy przedstawiono jednowymiarowe oraz d-wymiarowe transformacje wielomianowe z uwzględnieniem baz: Lagrange a, Newtona i potęgowej. Podano nowe, szybkie algorytmy obliczania tych transformacji oraz transformacji do nich odwrotnych dla specjalnych konfiguracji punktów, tzn. punktów, których współrzędne spełniają równania rekurencyjne pierwszego rzędu. Wybrany zbiór punktów rozszerza klasę ciągów punktów, dla których znane są szybkie algorytmy tego rodzaju. Powszechnie znanym przykładem takiego zbioru punktów jest zbiór pierwiastków z jedności wykorzystywany w algorytmie FFT. Główną cechą proponowanych w pracy algorytmów jest rozdzielenie obliczeń na dwa etapy. Pierwszy z nich to wykonanie obliczeń wstępnych, tj. wyznaczenie wektorów pomocniczych. Drugi etap, bardziej kosztowny ze względu na liczbę wykonywanych operacji arytmetycznych, to obliczenie d-wymiarowego splotu. Stąd złożoność obliczeniowa algorytmu wyznaczenia wielowymiarowej transformacji wielomianowej jest tego samego rzędu, co złożoność obliczeniowa algorytmu obliczenia splotu wielowymiarowego. Efektywne algorytmy obliczenia transformacji wielomianowych wymagają założenia, że dziedziną rozważanych wielomianów są ciała zawierające pierwiastek pierwotny z jedności odpowiedniego stopnia. Efektywność wspomnianych algorytmów jest tym większa, im większy jest stopień wielomianów. Na przykład, porównując zaproponowany w pracy algorytm obliczania jednowymiarowej transformacji Newtona - Lagrange a z klasycznym algorytmem obliczania tej transformacji uzyskuje się oszczędność operacji przekraczającą 99% dla stopnia wielomianu równego Dla tego samego stopnia wielomianu oszczędność - przy porównaniu z algorytmem wykorzystującym FFT, przekracza 95%. Między innymi z tego względu takie algorytmy mogą być z powodzeniem stosowane w dzieleniu sekretu, głosowaniu elektronicznym, czy transmisji rozgłoszeniowej, w których wykorzystuje się wielomiany wysokiego stopnia. 19

22 Przedstawiony w pracy schemat dzielenia sekretu umożliwia współdzielenie sekretu przez grupę uczestników o ustalonej hierarchii. Wykorzystuje on algorytmy transformacji wielomianowych zarówno podczas obliczania udziałów dla poszczególnych uczestników, jak i przy odzyskiwaniu sekretu. Jest również punktem wyjścia dla dwóch innych omówionych w pracy zastosowań transformacji wielomianowych, jakimi są modele głosowań elektronicznych i transmisji rozgłoszeniowej. Zaprezentowany bezpieczny model głosowania elektronicznego cechuje rozproszenie odpowiedzialności pomiędzy kilka jednostek. Struktura głosu dla tego modelu może być dowolna - jest ona uzależniona jedynie od typu wyborów. Głosujący nie muszą przeprowadzać skomplikowanych obliczeń, dzięki czemu może on być wykorzystany do przeprowadzania głosowań za pośrednictwem internetu, maszyn do głosowania, czy innych urządzeń umożliwiających przesyłanie zaszyfrowanych wiadomości. Kolejnym zastosowaniem transformacji wielomianowych wymienionym w pracy jest zaprezentowany ogólny protokół transmisji rozgłoszeniowej, w którym stosuje się jednokierunkową funkcję spełniającą określone warunki. Prezentowane w pracy algorytmy transformacji wielomianowych służą poprawieniu wydajności protokołów tego typu. Omówiony ogólny model pozwala na przesłanie klucza grupie użytkowników za pośrednictwem kanału rozgłoszeniowego oraz wykluczanie z systemu użytkowników bez konieczności uaktualniania kluczy prywatnych pozostałych użytkowników systemu. Pomimo tego, że niniejsza rozprawa skupia się na zastosowaniach algorytmów transformacji wielomianowych w problemach o podłożu kryptograficznym, to należy podkreślić, że znajdują one również zastosowania w wielu innych zagadnieniach współczesnej informatyki i matematyki obliczeniowej. Literatura Aho, A. V., Hopcroft, J. E., i Ullman, J. D. (2003). Projektowanie i analiza algorytmów. Helion. Tytuł oryginału: The Design and Analysis of Computer Algorithms. Aho, A. V., Steiglitz, K., i Ullman, J. D. (1975). Evaluating polynomials at fixed sets of points. SIAM Journal on Computing, 4 (4), Bini, D. i Pan, V. (1994). Polynomial and matrix computation 1. Boston: Birkhäuser. Borwein, J. M. i Borwein, P. B. (1987). Pi and the AGM: A study in analytic number theory and computational complexity. New York: John Wiley and Sons. Bostan, A. i Schost, E. (2005). Polynomial evaluation and interpolation on special sets of points. Journal of Complexity, 21 (4),

23 Chang, C., Lin, C., Lee, W., i Hwang, P. (2004). Secret sharing with access structures in a hierarchy. Proceedings of the 18th International Conference on Advanced Information Networking and Applications, 2, Chaum, D. (1981). Untraceable electronic mail, return addresses and digital pseudonyms. Communications of the ACM, 24 (2), Cooley, J. W. i Tukey, J. W. (1965). An algorithm for the machine calculation of complex Fourier series. Mathematics of Computation, 19 (90), Feng, J., Wu, H., Tsai, C., i Chu, Y. (2005). A new multi-secret images sharing scheme using Largrange s interpolation. The Journal of Systems and Software, 76 (3), Fujioka, A., Okamoto, T., i Ohta, K. (1993). A practical secret voting scheme for large scale elections. Lecture Notes in Computer Science, 718, Fürer, M. (2007). Faster integer multiplication. SIAM Journal on Computing, 39 (3), Ghodosi, H., Pieprzyk, J., i Safavi-Naini, R. (1998). Secret sharing in multilevel and compartmented groups. Lecture Notes in Computer Science, 1438, Hołubiec, J. i Mercik, J. W. (2006). Techniki i tajniki głosowania. Warszawa: EXIT. Kacprzyk, J. i Zadrożny, S. (2005). Towards a synergistic combination of Web-based and data-driven decision support systems via linguistic data summaries. Advances in Web Intelligence. Lecture Notes in Computer Science, 3528, Kacprzyk, J. i Zadrożny, S. (2010). Soft computing and Web intelligence for supporting consensus reaching. Soft Computing - A Fusion of Foundations, Methodologies and Applications, 14 (8), Kapusta, J. i Smarzewski, R. (2006). Fast Hermite interpolating polynomial algorithm for a special configuration of knots. Academic Research, 19 (3), Kapusta, J. i Smarzewski, R. (2007a). Fast algorithms for polynomial evaluation and differentiation at special knots. Annales UMCS Informatica AI, VI, Kapusta, J. i Smarzewski, R. (2007b). Fast bivariate interpolating algorithms for special configurations of knots. Proceedings of the 3d International Conference Computational Methods in Applied Mathematics: CMAM-3, Kapusta, J. i Smarzewski, R. (2009). Algorithms for fast multivariate polynomial interpolation and evaluation. Journal of Complexity, 25 (4), Kincaid, D. i Cheney, W. (2006). Analiza numeryczna. Warszawa: Wydawnictwo 21

24 Naukowo-Techniczne. Knuth, D. E. (2002). Sztuka Programowania. Algorytmy Seminumeryczne. Wydawnictwo Naukowo-Techniczne. Tytuł oryginału: The Art of Computer Programming. Seminumerical Algorithms. Schönhage, A. i Strassen, V. (1971). Schnelle multiplikation großer zahlen. Computing, 7, Shamir, A. (1979). How to share a secret? Communications of the ACM, 22, Smarzewski, R. i Kapusta, J. (2005). Algorithms for multi-secret hierarchical sharing schemes of Shamir type. Annales UMCS Informatica AI, III, Smarzewski, R. i Kapusta, J. (2007). Fast Lagrange-Newton transformations. Journal of Complexity, 23 (3), Tassa, T. (2007). Hierarchical threshold secret sharing. Journal of Cryptology, 20 (2), Zwierko, A. i Kotulski, Z. (2007). A light-weight e-voting system with distributed trust. Electronic Notes in Theoretical Computer Science, 168,

Algorytmy transformacji wielomianowych i ich zastosowania

Algorytmy transformacji wielomianowych i ich zastosowania INSTYTUT BADAŃ SYSTEMOWYCH PAN mgr Joanna Kapusta Niestacjonarne Studia Doktoranckie Rozprawa doktorska pt. Algorytmy transformacji wielomianowych i ich zastosowania Promotor: dr hab. Ryszard Smarzewski,

Bardziej szczegółowo

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VII Kierunek Informatyka - semestr V Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Problem pakowania plecaka System kryptograficzny Merklego-Hellmana

Bardziej szczegółowo

Metody numeryczne. Ilorazy różnicowe. dr Artur Woike. Wzory interpolacyjne Newtona i metoda Aitkena.

Metody numeryczne. Ilorazy różnicowe. dr Artur Woike. Wzory interpolacyjne Newtona i metoda Aitkena. Ćwiczenia nr 3. Ilorazy różnicowe Niech będą dane punkty x 0,..., x n i wartości f (x 0 ),..., f (x n ). Definiujemy rekurencyjnie ilorazy różnicowe: f (x i, x i+1 ) = f (x i+1) f (x i ) x i+1 x i, i =

Bardziej szczegółowo

Analiza numeryczna Kurs INP002009W. Wykład 8 Interpolacja wielomianowa. Karol Tarnowski A-1 p.223

Analiza numeryczna Kurs INP002009W. Wykład 8 Interpolacja wielomianowa. Karol Tarnowski A-1 p.223 Analiza numeryczna Kurs INP002009W Wykład 8 Interpolacja wielomianowa Karol Tarnowski karol.tarnowski@pwr.wroc.pl A-1 p.223 Plan wykładu Wielomian interpolujący Wzór interpolacyjny Newtona Wzór interpolacyjny

Bardziej szczegółowo

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna 1. Wstęp Wprowadzenie do PKI Infrastruktura klucza publicznego (ang. PKI - Public Key Infrastructure) to termin dzisiaj powszechnie spotykany. Pod tym pojęciem kryje się standard X.509 opracowany przez

Bardziej szczegółowo

Parametry systemów klucza publicznego

Parametry systemów klucza publicznego Parametry systemów klucza publicznego Andrzej Chmielowiec Instytut Podstawowych Problemów Techniki Polskiej Akademii Nauk 24 marca 2010 Algorytmy klucza publicznego Zastosowania algorytmów klucza publicznego

Bardziej szczegółowo

Metody numeryczne. Sformułowanie zagadnienia interpolacji

Metody numeryczne. Sformułowanie zagadnienia interpolacji Ćwiczenia nr 4. Sformułowanie zagadnienia interpolacji Niech będą dane punkty x 0,..., x n i wartości y 0,..., y n, takie że i=0,...,n y i = f (x i )). Szukamy funkcji F (funkcji interpolującej), takiej

Bardziej szczegółowo

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Grzegorz Bobiński Uniwersytet Mikołaja Kopernika Toruń, 22.05.2010 Kodowanie a szyfrowanie kodowanie sposoby przesyłania danych tak, aby

Bardziej szczegółowo

Algorytmy asymetryczne

Algorytmy asymetryczne Algorytmy asymetryczne Klucze występują w parach jeden do szyfrowania, drugi do deszyfrowania (niekiedy klucze mogą pracować zamiennie ) Opublikowanie jednego z kluczy nie zdradza drugiego, nawet gdy można

Bardziej szczegółowo

Układy równań i nierówności liniowych

Układy równań i nierówności liniowych Układy równań i nierówności liniowych Wiesław Krakowiak 1 grudnia 2010 1 Układy równań liniowych DEFINICJA 11 Układem równań m liniowych o n niewiadomych X 1,, X n, nazywamy układ postaci: a 11 X 1 + +

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie

Bardziej szczegółowo

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów Treść wykładu Pierścienie wielomianów. Definicja Niech P będzie pierścieniem. Wielomianem jednej zmiennej o współczynnikach z P nazywamy każdy ciąg f = (f 0, f 1, f 2,...), gdzie wyrazy ciągu f są prawie

Bardziej szczegółowo

Obliczenia naukowe Wykład nr 6

Obliczenia naukowe Wykład nr 6 Obliczenia naukowe Wykład nr 6 Paweł Zieliński Katedra Informatyki, Wydział Podstawowych Problemów Techniki, Politechnika Wrocławska Literatura Literatura podstawowa [1] D. Kincaid, W. Cheney, Analiza

Bardziej szczegółowo

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory; Wykłady 8 i 9 Pojęcia przestrzeni wektorowej i macierzy Układy równań liniowych Elementy algebry macierzy dodawanie, odejmowanie, mnożenie macierzy; macierz odwrotna dr Mariusz Grządziel 15,29 kwietnia

Bardziej szczegółowo

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa. W rozdziale tym zajmiemy się dokładniej badaniem stabilności rozwiązań równania różniczkowego. Pojęcie stabilności w

Bardziej szczegółowo

Przestrzenie wektorowe

Przestrzenie wektorowe Rozdział 4 Przestrzenie wektorowe Rozważania dotyczące przestrzeni wektorowych rozpoczniemy od kilku prostych przykładów. Przykład 4.1. W przestrzeni R 3 = {(x, y, z) : x, y, z R} wprowadzamy dwa działania:

Bardziej szczegółowo

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego. . Metoda eliminacji. Treść wykładu i ich macierze... . Metoda eliminacji. Ogólna postać układu Układ m równań liniowych o n niewiadomych x 1, x 2,..., x n : a 11 x 1 + a 12 x 2 + + a 1n x n = b 1 a 21

Bardziej szczegółowo

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna Interpolacja Marcin Orchel 1 Wstęp Mamy daną funkcję φ (x; a 0,..., a n ) zależną od n + 1 parametrów a 0,..., a n. Zadanie interpolacji funkcji φ polega na określeniu parametrów a i tak aby dla n + 1

Bardziej szczegółowo

Analiza numeryczna kolokwium2a-15grudnia2005

Analiza numeryczna kolokwium2a-15grudnia2005 kolokwium2a-15grudnia2005 1.Niechf(x)=a n x n +a n 1 x n 1 +...+a 0.Jakąwartośćprzyjmujeilorazróżnicowy f[x 0,...,x n ]dladowolnychn+1paramiróżnychwęzłówx j?odpowiedźuzasadnić. 2. Pokazać, że zamiana zmiennych

Bardziej szczegółowo

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa SIMR 06/07, Analiza, wykład, 07-0- Przestrzeń wektorowa Przestrzeń wektorowa (liniowa) - przestrzeń (zbiór) w której określone są działania (funkcje) dodawania elementów i mnożenia elementów przez liczbę

Bardziej szczegółowo

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łanc Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn Metody numeryczne Wykład 3 Dr inż. Michał Łanczont Instytut Elektrotechniki i Elektrotechnologii E419, tel. 4293, m.lanczont@pollub.pl, http://m.lanczont.pollub.pl Zakres wykładu Pojęcia podstawowe Algebra

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

5. Rozwiązywanie układów równań liniowych 5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a

Bardziej szczegółowo

Wielomian interpolacyjny Hermite a

Wielomian interpolacyjny Hermite a Wielomian interpolacyjny Hermite a Witold Bołt 15 listopada 2005 1 Sformułowaniezadania Dlafunkcjif:[a,b] Rdanejwzorem: f(t)=e 2t +1 wyznaczyć wielomian interpolacyjny Hermite a na zadanych węzłach. Wypisać

Bardziej szczegółowo

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 24 czerwca 2019 roku Egzamin pisemny zestaw. ( pkt.) Udowodnić, że jeśli funkcja g interpoluje funkcję f w węzłach x 0, x, K, x n, a funk- cja h interpoluje funkcję f w węzłach x, x, K, x n, to funkcja x0 x gx ( ) + [ gx (

Bardziej szczegółowo

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński

Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński Obliczenia Naukowe Wykład 12: Zagadnienia na egzamin Bartek Wilczyński 6.6.2016 Tematy do powtórki Arytmetyka komputerów Jak wygląda reprezentacja liczb w arytmetyce komputerowej w zapisie cecha+mantysa

Bardziej szczegółowo

Układy równań i równania wyższych rzędów

Układy równań i równania wyższych rzędów Rozdział Układy równań i równania wyższych rzędów Układy równań różniczkowych zwyczajnych Wprowadzenie W poprzednich paragrafach zajmowaliśmy się równaniami różniczkowymi y = f(x, y), których rozwiązaniem

Bardziej szczegółowo

Transformaty. Kodowanie transformujace

Transformaty. Kodowanie transformujace Transformaty. Kodowanie transformujace Kodowanie i kompresja informacji - Wykład 10 10 maja 2009 Szeregi Fouriera Każda funkcję okresowa f (t) o okresie T można zapisać jako f (t) = a 0 + a n cos nω 0

Bardziej szczegółowo

Macierze. Rozdział Działania na macierzach

Macierze. Rozdział Działania na macierzach Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy

Bardziej szczegółowo

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Podstawy systemów kryptograficznych z kluczem jawnym RSA Podstawy systemów kryptograficznych z kluczem jawnym RSA RSA nazwa pochodząca od nazwisk twórców systemu (Rivest, Shamir, Adleman) Systemów z kluczem jawnym można używać do szyfrowania operacji przesyłanych

Bardziej szczegółowo

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa Sformułowanie zadania interpolacji Metody Numeryczne Wykład 4 Wykład 5 Interpolacja wielomianowa Niech D R i niech F bȩdzie pewnym zbiorem funkcji f : D R. Niech x 0, x 1,..., x n bȩdzie ustalonym zbiorem

Bardziej szczegółowo

Układy równań liniowych. Krzysztof Patan

Układy równań liniowych. Krzysztof Patan Układy równań liniowych Krzysztof Patan Motywacje Zagadnienie kluczowe dla przetwarzania numerycznego Wiele innych zadań redukuje się do problemu rozwiązania układu równań liniowych, często o bardzo dużych

Bardziej szczegółowo

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku

ELEMENTY ANALIZY NUMERYCZNEJ ELEMENTY ANALIZY NUMERYCZNEJ. Egzamin pisemny zestaw 1 26 czerwca 2017 roku Egzamin pisemny zestaw czerwca 0 roku Imię i nazwisko:.... ( pkt.) Udowodnić, że jeśli funkcja g interpoluje funkcję f w węzłach x 0, x, K, x n, a funk- cja h interpoluje funkcję f w węzłach x, x, K, x

Bardziej szczegółowo

Matematyka stosowana i metody numeryczne

Matematyka stosowana i metody numeryczne Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładu 8 Interpolacja Interpolacja polega na budowaniu tzw. funkcji interpolujących ϕ(x) na podstawie zadanych

Bardziej szczegółowo

Baza w jądrze i baza obrazu ( )

Baza w jądrze i baza obrazu ( ) Przykład Baza w jądrze i baza obrazu (839) Znajdź bazy jądra i obrazu odwzorowania α : R 4 R 3, gdzie α(x, y, z, t) = (x + 2z + t, 2x + y 3z 5t, x y + z + 4t) () zór ten oznacza, że α jest odwzorowaniem

Bardziej szczegółowo

Wielomiany podstawowe wiadomości

Wielomiany podstawowe wiadomości Rozdział Wielomiany podstawowe wiadomości Funkcję postaci f s = a n s n + a n s n + + a s + a 0, gdzie n N, a i R i = 0,, n, a n 0 nazywamy wielomianem rzeczywistym stopnia n; jeżeli współczynniki a i

Bardziej szczegółowo

INTERPOLACJA I APROKSYMACJA FUNKCJI

INTERPOLACJA I APROKSYMACJA FUNKCJI Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Wprowadzenie Na czym polega interpolacja? Interpolacja polega

Bardziej szczegółowo

Wymagania edukacyjne z matematyki klasa II technikum

Wymagania edukacyjne z matematyki klasa II technikum Wymagania edukacyjne z matematyki klasa II technikum Poziom rozszerzony Obowiązują wymagania z zakresu podstawowego oraz dodatkowo: 1. JĘZYK MATEMATYKI I FUNKCJE LICZBOWE Uczeń otrzymuje ocenę dopuszczającą

Bardziej szczegółowo

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1

Weryfikacja hipotez statystycznych. KG (CC) Statystyka 26 V / 1 Weryfikacja hipotez statystycznych KG (CC) Statystyka 26 V 2009 1 / 1 Sformułowanie problemu Weryfikacja hipotez statystycznych jest drugą (po estymacji) metodą uogólniania wyników uzyskanych w próbie

Bardziej szczegółowo

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH

ROZWIĄZYWANIE RÓWNAŃ NIELINIOWYCH Transport, studia I stopnia Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym

Bardziej szczegółowo

Matematyka dyskretna

Matematyka dyskretna Matematyka dyskretna Wykład 12: Krzywe eliptyczne Gniewomir Sarbicki Rozważać będziemy przestrzeń K n Definicja: x y λ K x = λy. Relację nazywamy różnieniem się o skalar Przykład: [4, 10, 6, 14] [6, 15,

Bardziej szczegółowo

Wykład z równań różnicowych

Wykład z równań różnicowych Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.

Bardziej szczegółowo

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która

3. Interpolacja. Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która 3. Interpolacja Interpolacja w sensie Lagrange'a (3.1) Dana jest funkcja y= f x określona i ciągła w przedziale [a ;b], która przyjmuje wartości y 1, y 2,, y n, dla skończonego zbioru argumentów x 1, x

Bardziej szczegółowo

Maciej Grzesiak. Wielomiany

Maciej Grzesiak. Wielomiany Maciej Grzesiak Wielomiany 1 Pojęcia podstawowe Wielomian definiuje się w szkole średniej jako funkcję postaci f(x) = a 0 + a 1 x + a 2 x + + a n x n Dogodniejsza z punktu widzenia algebry jest następująca

Bardziej szczegółowo

Wykład 9. komputerowych Głosowanie internetowe - główne slajdy. 23 listopada Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Wykład 9. komputerowych Głosowanie internetowe - główne slajdy. 23 listopada Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński Wykład 9 Głosowanie internetowe - główne slajdy 23 listopada 2011 Instytut Informatyki Uniwersytet Jagielloński 9.1 rodzaje e-voting elektroniczne (tzw kiosk-voting) w wyznaczonym miejscu użycie specjalnych

Bardziej szczegółowo

Matematyka dyskretna dla informatyków

Matematyka dyskretna dla informatyków Matematyka dyskretna dla informatyków Część I: Elementy kombinatoryki Jerzy Jaworski Zbigniew Palka Jerzy Szymański Uniwersytet im. Adama Mickiewicza Poznań 2007 4 Zależności rekurencyjne Wiele zależności

Bardziej szczegółowo

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność

Bardziej szczegółowo

2 Kryptografia: algorytmy symetryczne

2 Kryptografia: algorytmy symetryczne 1 Kryptografia: wstęp Wyróżniamy algorytmy: Kodowanie i kompresja Streszczenie Wieczorowe Studia Licencjackie Wykład 14, 12.06.2007 symetryczne: ten sam klucz jest stosowany do szyfrowania i deszyfrowania;

Bardziej szczegółowo

Metody Obliczeniowe w Nauce i Technice

Metody Obliczeniowe w Nauce i Technice 8. Wyznaczanie pierwiastków wielomianów Marian Bubak Department of Computer Science AGH University of Science and Technology Krakow, Poland bubak@agh.edu.pl dice.cyfronet.pl Contributors Magdalena Nowak

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo

Wykład 14. Elementy algebry macierzy

Wykład 14. Elementy algebry macierzy Wykład 14 Elementy algebry macierzy dr Mariusz Grządziel 26 stycznia 2009 Układ równań z dwoma niewiadomymi Rozważmy układ równań z dwoma niewiadomymi: a 11 x + a 12 y = h 1 a 21 x + a 22 y = h 2 a 11,

Bardziej szczegółowo

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.)

PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY. I. Proste na płaszczyźnie (15 godz.) PLAN WYNIKOWY DLA KLASY DRUGIEJ POZIOM PODSTAWOWY I ROZSZERZONY I. Proste na płaszczyźnie (15 godz.) Równanie prostej w postaci ogólnej Wzajemne połoŝenie dwóch prostych Nierówność liniowa z dwiema niewiadomymi

Bardziej szczegółowo

Interpolacja funkcji

Interpolacja funkcji Interpolacja funkcji Interpolacja funkcji Interpolacja funkcji Wielomianowa Splajny Lagrange a Trygonometryczna Interpolacja Newtona (wzór I ) Czebyszewa Newtona (wzór II ) ( Wielomiany Czebyszewa ) Załóżmy,

Bardziej szczegółowo

Wykład 12 i 13 Macierz w postaci kanonicznej Jordana , 0 A 2

Wykład 12 i 13 Macierz w postaci kanonicznej Jordana , 0 A 2 Wykład 12 i 13 Macierz w postaci kanonicznej Jordana Niech A - macierz kwadratowa stopnia n Jak obliczyć np A 100? a 11 0 0 0 a 22 0 Jeśli A jest macierzą diagonalną tzn A =, to Ak = 0 0 a nn Niech B =

Bardziej szczegółowo

KADD Minimalizacja funkcji

KADD Minimalizacja funkcji Minimalizacja funkcji Poszukiwanie minimum funkcji Foma kwadratowa Metody przybliżania minimum minimalizacja Minimalizacja w n wymiarach Metody poszukiwania minimum Otaczanie minimum Podział obszaru zawierającego

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

Matematyka dyskretna. Andrzej Łachwa, UJ, /10 Matematyka dyskretna Andrzej Łachwa, UJ, 2018 andrzej.lachwa@uj.edu.pl 10/10 Podziały i liczby Stirlinga Liczba Stirlinga dla cykli (często nazywana liczbą Stirlinga pierwszego rodzaju) to liczba permutacji

Bardziej szczegółowo

VI. Równania różniczkowe liniowe wyższych rzędów

VI. Równania różniczkowe liniowe wyższych rzędów VI. 1. Równanie różniczkowe liniowe n-tego rzędu o zmiennych współczynnikach Niech podobnie jak w poprzednim paragrafie K = C lub K = R. Podobnie jak w dziedzinie rzeczywistej wprowadzamy pochodne wyższych

Bardziej szczegółowo

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A

Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A Egzamin z Metod Numerycznych ZSI, 06.2007. Egzamin, Gr. A Imię i nazwisko: Nr indeksu: Section 1. Test wyboru, max 33 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa odpowiedź

Bardziej szczegółowo

1 Zbiory i działania na zbiorach.

1 Zbiory i działania na zbiorach. Matematyka notatki do wykładu 1 Zbiory i działania na zbiorach Pojęcie zbioru jest to pojęcie pierwotne (nie definiuje się tego pojęcia) Pojęciami pierwotnymi są: element zbioru i przynależność elementu

Bardziej szczegółowo

Aproksymacja funkcji a regresja symboliczna

Aproksymacja funkcji a regresja symboliczna Aproksymacja funkcji a regresja symboliczna Problem aproksymacji funkcji polega na tym, że funkcję F(x), znaną lub określoną tablicą wartości, należy zastąpić inną funkcją, f(x), zwaną funkcją aproksymującą

Bardziej szczegółowo

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

Przekształcanie równań stanu do postaci kanonicznej diagonalnej Przekształcanie równań stanu do postaci kanonicznej diagonalnej Przygotowanie: Dariusz Pazderski Liniowe przekształcenie równania stanu Rozważmy liniowe równanie stanu i równanie wyjścia układu niesingularnego

Bardziej szczegółowo

Prawdopodobieństwo i statystyka

Prawdopodobieństwo i statystyka Wykład XIV: Metody Monte Carlo 19 stycznia 2016 Przybliżone obliczanie całki oznaczonej Rozważmy całkowalną funkcję f : [0, 1] R. Chcemy znaleźć przybliżoną wartość liczbową całki 1 f (x) dx. 0 Jeden ze

Bardziej szczegółowo

Wektory i wartości własne

Wektory i wartości własne Treść wykładu Podprzestrzenie niezmiennicze Podprzestrzenie niezmiennicze... Twierdzenie Cayley Hamiltona Podprzestrzenie niezmiennicze Definicja Niech f : V V będzie przekształceniem liniowym. Podprzestrzeń

Bardziej szczegółowo

Wersja testu A 18 czerwca 2012 r. x 2 +x dx

Wersja testu A 18 czerwca 2012 r. x 2 +x dx 1. Funkcja f : R R jest różniczkowalna na całej prostej, a ponadto dla każdej liczby rzeczywistej x zachodzi nierówność f x

Bardziej szczegółowo

1 Pochodne wyższych rzędów

1 Pochodne wyższych rzędów 1 Pochodne wyższych rzędów Definicja 1.1 (Pochodne cząstkowe drugiego rzędu) Niech f będzie odwzorowaniem o wartościach w R m, określonym na zbiorze G R k. Załóżmy, że zbiór tych x G, dla których istnieje

Bardziej szczegółowo

DOPASOWYWANIE KRZYWYCH

DOPASOWYWANIE KRZYWYCH DOPASOWYWANIE KRZYWYCH Maciej Patan Uniwersytet Zielonogórski Motywacje Przykład 1. Dane o przyroście światowej populacji są aktualizowane co każde 10 lat, celem szacowania średniego przyrostu rocznego.

Bardziej szczegółowo

Algebra liniowa. 1. Macierze.

Algebra liniowa. 1. Macierze. Algebra liniowa 1 Macierze Niech m oraz n będą liczbami naturalnymi Przestrzeń M(m n F) = F n F n będącą iloczynem kartezjańskim m egzemplarzy przestrzeni F n z naturalnie określonymi działaniami nazywamy

Bardziej szczegółowo

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago

Transformata Fouriera. Sylwia Kołoda Magdalena Pacek Krzysztof Kolago Transformata Fouriera Sylwia Kołoda Magdalena Pacek Krzysztof Kolago Transformacja Fouriera rozkłada funkcję okresową na szereg funkcji okresowych tak, że uzyskana transformata podaje w jaki sposób poszczególne

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA) Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, 7.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)

Bardziej szczegółowo

Rijndael szyfr blokowy

Rijndael szyfr blokowy Rijndael szyfr blokowy Andrzej Chmielowiec 24 lipca 2002 1 Podstawy matematyczne Kilka operacji w standardzie Rijndael jest zdefiniowanych na poziomie bajta, przy czym bajty reprezentują elementy ciała

Bardziej szczegółowo

Wektory i wartości własne

Wektory i wartości własne Treść wykładu Podprzestrzenie niezmiennicze... Twierdzenie Cayley Hamiltona Podprzestrzenie niezmiennicze Definicja Niech f : V V będzie przekształceniem liniowym. Podprzestrzeń W V nazywamy niezmienniczą

Bardziej szczegółowo

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony

Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych klasa druga zakres rozszerzony Wymagania konieczne (K) dotyczą zagadnień elementarnych, stanowiących swego rodzaju podstawę, zatem

Bardziej szczegółowo

Funkcje charakterystyczne zmiennych losowych, linie regresji 1-go i 2-go rodzaju

Funkcje charakterystyczne zmiennych losowych, linie regresji 1-go i 2-go rodzaju Funkcje charakterystyczne zmiennych losowych, linie regresji -go i 2-go rodzaju Dr Joanna Banaś Zakład Badań Systemowych Instytut Sztucznej Inteligencji i Metod Matematycznych Wydział Informatyki Politechniki

Bardziej szczegółowo

, to liczby γ +δi oraz γ δi opisują pierwiastki z a+bi.

, to liczby γ +δi oraz γ δi opisują pierwiastki z a+bi. Zestaw 1 Liczby zespolone 1 Zadania do przeliczenia Nie będziemy robić na ćwiczeniach S 1 Policz wartość 1 + i + (2 + i)(i 3) 1 i Zadania domowe x y(1 + i) 1 Znajdź liczby rzeczywiste x, y takie, że +

Bardziej szczegółowo

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Uwarunkowanie zadania numerycznego Niech ϕ : R n R m będzie pewna funkcja odpowiednio wiele

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

Algorytmy i struktury danych. Wykład 4 Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych

Bardziej szczegółowo

Metody numeryczne I Równania nieliniowe

Metody numeryczne I Równania nieliniowe Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem

Bardziej szczegółowo

Zaawansowane algorytmy i struktury danych

Zaawansowane algorytmy i struktury danych Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 4. Metody kierunków poprawy (metoda spadku wzdłuż gradientu) Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 21.03.2019 1 / 41 Plan wykładu Minimalizacja

Bardziej szczegółowo

Optymalizacja ciągła

Optymalizacja ciągła Optymalizacja ciągła 5. Metody kierunków poparwy (metoda Newtona-Raphsona, metoda gradientów sprzężonych) Wojciech Kotłowski Instytut Informatyki PP http://www.cs.put.poznan.pl/wkotlowski/ 28.03.2019 1

Bardziej szczegółowo

0.1 Pierścienie wielomianów

0.1 Pierścienie wielomianów 0.1 Pierścienie wielomianów Zadanie 1. Znaleźć w pierścieniu Z 5 [X] drugi wielomian określający tę samą funkcję, co wielomian X 2 X + 1. (Odp. np. X 5 + X 2 2X + 1). Zadanie 2. Znaleźć sumę i iloczyn

Bardziej szczegółowo

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze. Wykład 2 Temat: Algorytm kryptograficzny RSA: schemat i opis algorytmu, procedura szyfrowania i odszyfrowania, aspekty bezpieczeństwa, stosowanie RSA jest algorytmem z kluczem publicznym i został opracowany

Bardziej szczegółowo

W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1

W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1 W. Guzicki Zadanie IV z Informatora Maturalnego poziom rozszerzony 1 Zadanie IV. Dany jest prostokątny arkusz kartony o długości 80 cm i szerokości 50 cm. W czterech rogach tego arkusza wycięto kwadratowe

Bardziej szczegółowo

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA) Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, 19.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)

Bardziej szczegółowo

Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych

Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych Tomasz Stroiński 23.06.2014 Po co faktoryzować tak duże liczby? System RSA Działanie systemu RSA Każdy użytkownik wybiera duże liczby pierwsze

Bardziej szczegółowo

Przestrzenie liniowe

Przestrzenie liniowe Rozdział 4 Przestrzenie liniowe 4.1. Działania zewnętrzne Niech X oraz F będą dwoma zbiorami niepustymi. Dowolną funkcję D : F X X nazywamy działaniem zewnętrznym w zbiorze X nad zbiorem F. Przykład 4.1.

Bardziej szczegółowo

Matematyka stosowana i metody numeryczne

Matematyka stosowana i metody numeryczne Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładu 6 Rozwiązywanie równań nieliniowych Rozwiązaniem lub pierwiastkiem równania f(x) = 0 lub g(x) = h(x)

Bardziej szczegółowo

Analiza korespondencji

Analiza korespondencji Analiza korespondencji Kiedy stosujemy? 2 W wielu badaniach mamy do czynienia ze zmiennymi jakościowymi (nominalne i porządkowe) typu np.: płeć, wykształcenie, status palenia. Punktem wyjścia do analizy

Bardziej szczegółowo

Zadanie 1. Suma silni (11 pkt)

Zadanie 1. Suma silni (11 pkt) 2 Egzamin maturalny z informatyki Zadanie 1. Suma silni (11 pkt) Pojęcie silni dla liczb naturalnych większych od zera definiuje się następująco: 1 dla n = 1 n! = ( n 1! ) n dla n> 1 Rozpatrzmy funkcję

Bardziej szczegółowo

Interpolacja i modelowanie krzywych 2D i 3D

Interpolacja i modelowanie krzywych 2D i 3D Interpolacja i modelowanie krzywych 2D i 3D Dariusz Jacek Jakóbczak Politechnika Koszalińska Wydział Elektroniki i Informatyki Zakład Podstaw Informatyki i Zarządzania e-mail: Dariusz.Jakobczak@tu.koszalin.pl

Bardziej szczegółowo

Wykład 3 Równania rózniczkowe cd

Wykład 3 Równania rózniczkowe cd 7 grudnia 2010 Definicja Równanie różniczkowe dy dx + p (x) y = q (x) (1) nazywamy równaniem różniczkowym liniowym pierwszego rzędu. Jeśli q (x) 0, to równanie (1) czyli równanie dy dx + p (x) y = 0 nazywamy

Bardziej szczegółowo

Równania różniczkowe liniowe wyższych rzędów o stałych współcz

Równania różniczkowe liniowe wyższych rzędów o stałych współcz Równania różniczkowe liniowe wyższych rzędów o stałych współczynnikach Katedra Matematyki i Ekonomii Matematycznej SGH 12 maja 2016 Równanie liniowe n-tego rzędu Definicja Równaniem różniczkowym liniowym

Bardziej szczegółowo

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje

Bardziej szczegółowo

Liczby zespolone. x + 2 = 0.

Liczby zespolone. x + 2 = 0. Liczby zespolone 1 Wiadomości wstępne Rozważmy równanie wielomianowe postaci x + 2 = 0. Współczynniki wielomianu stojącego po lewej stronie są liczbami całkowitymi i jedyny pierwiastek x = 2 jest liczbą

Bardziej szczegółowo

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH Transport, studia niestacjonarne I stopnia, semestr I Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Postać układu równań liniowych Układ liniowych równań algebraicznych

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Formalne podstawy informatyki Rok akademicki: 2013/2014 Kod: EIB-1-220-s Punkty ECTS: 2 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek: Inżynieria Biomedyczna

Bardziej szczegółowo

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład VIII Kierunek Matematyka - semestr IV Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Egzotyczne algorytmy z kluczem publicznym Przypomnienie Algorytm

Bardziej szczegółowo

Programowanie celowe #1

Programowanie celowe #1 Programowanie celowe #1 Problem programowania celowego (PC) jest przykładem problemu programowania matematycznego nieliniowego, który można skutecznie zlinearyzować, tzn. zapisać (i rozwiązać) jako problem

Bardziej szczegółowo

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Metody numeryczne Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Elektrotechnika stacjonarne-dzienne pierwszego stopnia

Bardziej szczegółowo

Ciała skończone. 1. Ciała: podstawy

Ciała skończone. 1. Ciała: podstawy Ciała skończone 1. Ciała: podstawy Definicja 1. Każdy zbiór liczb, w którym są wykonalne wszystkie cztery działania z wyjątkiem dzielenia przez 0 i który zawiera więcej niż jedną liczbę, nazywamy ciałem

Bardziej szczegółowo

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1

Wstęp do metod numerycznych Zadania numeryczne 2016/17 1 Wstęp do metod numerycznych Zadania numeryczne /7 Warunkiem koniecznym (nie wystarczającym) uzyskania zaliczenia jest rozwiązanie co najmniej 3 z poniższych zadań, przy czym zadania oznaczone literą O

Bardziej szczegółowo