prezentacja - Andrzej Chmielowiec
Transkrypt
prezentacja - Andrzej Chmielowiec
Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Współczesna kryptografia – schematy bazujące na parowaniu punktów krzywej eliptycznej Andrzej Chmielowiec Centrum Modelowania Matematycznego Sigma, [email protected] 26 maja 2010 Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Wprowadzenie Problem logarytmu dyskretnego Odwzorowania dwuliniowe Podstawy matematyczne Zastosowanie w kryptografii Krzywe eliptyczne Definicja Działanie grupowe Problem logarytmu dyskretnego Iloczyn Tate Algorytm Millera Podsumowanie Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Problem logarytmu dyskretnego Logarytm dyskretny Niech G będzie grupą cykliczną, w której element g jest generatorem. Logarytmem dyskretnym z elementu h ∈ G nazywamy taką liczbę x, dla której spełnione jest równanie g x = h. Znalezienie logarytmu dyskretnego jest w ogólności zadaniem obliczeniowo trudnym. W szczególności najszybsza metoda pozwalająca na jego wyznaczenie w grupie punktów krzywej eliptycznej ma złożoność 2r /2 , gdzie r jest największym dzielnikiem pierwszym rzędu generatora. Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Problem logarytmu dyskretnego Uzgadnianie klucza metodą Diffiego-Hellmana A B ga → ← h = gb a = g ab Andrzej Chmielowiec gb h = (g a )b = g ab Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Problem logarytmu dyskretnego Problem Diffiego-Hellmana Z problemem logarytmu dyskretnego związany jest problem Diffiego-Hellmana. Polega on na znalezieniu wielkości g ab na podstawie g , g a i g p . Można wykazać, że dla dowolnej grupy problem logarytmu dyskretnego jest wielomianowo redukowalny do problemu Diffiego-Hellmana (problem logarytmu dyskretnego nie jest łatwiejszy obliczeniowo niż problem Diffiego-Hellmana). Odwrotna redukowalność została wykazana tylko w niektórych przypadkach. Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Problem logarytmu dyskretnego Trójstronne uzgadnianie klucza Runda pierwsza A, a, g a → ga ↑ gc ← C , c, g c → B, b, g b ↓ ← gb Runda druga A, a, g a , g c ↑ g bc → g ac ← C , c, g c , g b Andrzej Chmielowiec → B, b, g b , g a ↓ ← g ab Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Podstawy matematyczne Zastosowanie w kryptografii Definicja odwzorowania dwuliniowego Odwzorowaniem dwuliniowym na (G1 , GT ) nazywamy takie przekształcenie ê : G1 × G1 → GT , które spełnia następujące warunki: 1. (Dwuliniowość) Dla każdego R, S, T ∈ G1 mamy ê(R + S, T ) = ê(R, T )ê(S, T ), ê(R, S + T ) = ê(R, S)ê(R, T ). 2. (Niezdegenerowanie) ê(P, P) 6= 1. 3. (Obliczalność) Wartość ê(P, R) może być efektywnie wyznaczona. Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Podstawy matematyczne Zastosowanie w kryptografii Własności odwzorowania dwuliniowego (1) Można wykazać, że odwzorowania dwuliniowe mają następujące własności: 1. ê(S, ∞) = 1 i ê(∞, S) = 1. 2. ê(S, −T ) = ê(−S, T ) = ê(S, T )−1 . 3. ê(aS, bT ) = ê(S, T )ab dla wszystkich a, b ∈ Z. 4. ê(S, T ) = ê(T , S). 5. Jeśli ê(S, R) = 1 dla wszystkich R ∈ G1 , to S = ∞. Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Podstawy matematyczne Zastosowanie w kryptografii Własności odwzorowania dwuliniowego (2) Jedną z konsekwencji istnienia odwzorowania dwuliniowego jest to, że problem logarytmu dyskretnego w grupie G1 może być efektywnie zredukowany do problemu logarytmu dyskretnego w grupie GT . Jeśli bowiem szukamy rozwiązania równania Q = xP w grupie G1 , to szukana liczba x jest również rozwiązaniem równania ê(P, Q) = ê(P, xP) = ê(P, P)x w grupie GT . Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Podstawy matematyczne Zastosowanie w kryptografii Dwuliniowy problem Diffiego-Hellmana Jeśli ê jest odwzorowaniem dwuliniowym, to dwuliniowy problem Diffiego-Hellmana definiujemy następująco: Mając dane P, aP, bP i cP należy wyznaczyć ê(P, P)abc . Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Podstawy matematyczne Zastosowanie w kryptografii Własności dwuliniowego problemu DH Trudność obliczeniowa dwuliniowego problemu DH implikuje trudność problemu DH zarówno w grupie G1 jak i GT . Jeżeli na podstawie aP i bP możemy wyznaczyć abP, to możemy również wyznaczyć ê(abP, cP) = ê(P, P)abc . Jeżeli na podstawi g ab = ê(aP, bP) i g c = ê(P, cP) możemy wyznaczyć g abc to znajdziemy g abc = ê(P, P)abc . Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Podstawy matematyczne Zastosowanie w kryptografii Jednorundowe uzgodnienie klucza przez trzy strony (1) 1. Strona A losuje liczbę a ∈ [0, n − 1], wyznacza aP i wysyła stronom B, C . 2. Strona B losuje liczbę b ∈ [0, n − 1], wyznacza bP i wysyła stronom A, C . 3. Strona C losuje liczbę c ∈ [0, n − 1], wyznacza cP i wysyła stronom A, B. Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Podstawy matematyczne Zastosowanie w kryptografii Jednorundowe uzgodnienie klucza przez trzy strony (2) Posiada Wyznacza Strona A Strona B Strona C a, bP, cP b, aP, cP c, aP, bP K = ê(bP, cP)a = ê(P, P)abc K = ê(aP, cP)b = ê(P, P)abc K = ê(aP, bP)c = ê(P, P)abc Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Podstawy matematyczne Zastosowanie w kryptografii Kryptografia oparta na identyfikatorach (1) W roku 1984 Shamir przedstawił koncepcję kryptografii opartej na identyfikatorach: 1. Kluczem publicznym użytkownika będzie jego identyfikator (na przykład adres e-mail). 2. Będzie istniała zaufana trzecia strona odpowiedzialna za tworzenie kluczy prywatnych dla użytkowników. 3. Szyfrowanie będzie można wykonać nawet przed wygenerowaniem klucza prywatnego użytkownika (operacja szyfrowania wymagać będzie jedynie identyfikatora użytkownika i klucza publicznego zaufanej trzeciej strony). Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Podstawy matematyczne Zastosowanie w kryptografii Kryptografia oparta na identyfikatorach (2) Schemat Boneha-Franklina zakłada, że: 1. Dysponujemy dwuliniowym odwzorowaniem ê : G1 → GT . 2. Istnieją funkcje skrótu H1 i H2 takie, że: H1 : {0, 1}∗ → G1 \ {∞} i H2 : GT → {0, 1}l . gdzie l jest liczbą bitów tekstu jawnego. 3. Zaufana trzecia strona dysponuje swoim kluczem prywatnym t ∈ [0, n − 1] oraz kluczem publicznym T = tP. Klucz prywatny dA , wyznaczany jest na podstawie identyfikatora IDA : dA = tQA = tH1 (IDA ). Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Podstawy matematyczne Zastosowanie w kryptografii Kryptografia oparta na identyfikatorach (3) Szyfrowanie wiadomości m ∈ {0, 1}l : 1. Wyznaczamy klucz publiczny QA = H1 (IDA ). 2. Wybieramy losowo liczbę r ∈ [0, n − 1] i obliczamy R = rP. 3. Tworzymy szyfrogram c = m ⊕ H2 (ê(QA , T )r ). 4. Wysyłamy parę (R, c) do odbiorcy. W celu odszyfrowania wiadomości użytkownik wykorzystuje swój klucz prywatny dA i wyznacza tekst jawny m = c ⊕ H2 (ê(dA , R)). Proces deszyfrowania wiadomości działa poprawnie, ponieważ prawdziwa jest następująca równość: ê(dA , R) = ê(tQA , rP) = ê(QA , P)tr = ê(QA , tP)r = ê(QA , T )r . Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Definicja Działanie grupowe Problem logarytmu dyskretnego Iloczyn Tate Algorytm Millera Krzywa eliptyczna Jednorodne równanie Weierstrassa: E : Y 2 Z + a1 XYZ + a3 YZ 2 = X 3 + a2 X 2 Z + a4 XZ 2 + a6 Z 3 Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Definicja Działanie grupowe Problem logarytmu dyskretnego Iloczyn Tate Algorytm Millera Grupa punktów krzywej eliptycznej Punkty krzywej eliptycznej tworzą grupę. Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Definicja Działanie grupowe Problem logarytmu dyskretnego Iloczyn Tate Algorytm Millera Metody rozwiązywania logarytmu dyskretnego na krzywej eliptycznej Aktualnie najlepszą metodą rozwiązywania tego problemu jest algorytm ρ-Pollarda, którego oczekiwany czas działania jest rzędu √ O( n). Istnieją również metody rozwiązywania problemu logarytmu dyskretnego, które mają zastosowanie dla konkretnych rodzajów krzywych. W szczególności można zastosować iloczyn Weila i Tate, aby przenieść problem z grupy punktów krzywej, do grupy multyplikatywnej ciała skończonego Fqk . Stopniem osadzenia hPi ⊂ E nazywamy najmniejszą liczbę całkowitą k, dla której zachodzi n | q k − 1. Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Definicja Działanie grupowe Problem logarytmu dyskretnego Iloczyn Tate Algorytm Millera Iloczyn Tate - definicja Niech P, Q ∈ E [n] i niech fP będzie funkcją spełniającą warunek div(fP ) = n(P) − n(∞). Przyjmijmy ponadto, że R ∈ E [n] jest punktem spełniającym warunek R 6∈ {∞, P, −Q, P − Q} oraz DQ jest dywizorem zdefiniowanym następująco DQ = (Q + R) − (R). Przez iloczyn Tate rozumiemy odwzorowanie: e : E [n] × E [n] → µn zdefiniowane następująco: (q k −1)/n e(P, Q) = fP (DQ ) Andrzej Chmielowiec = fP (Q + R) fP (R) (qk −1)/n . Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Definicja Działanie grupowe Problem logarytmu dyskretnego Iloczyn Tate Algorytm Millera Algorytm Millera (1) Jeśli P ∈ E [n], l jest linią przechodzącą przez punkty iP, jP, a v jest linią pionową przechodzącą przez punkt iP + jP, to l fi +j = fi fj . v Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Definicja Działanie grupowe Problem logarytmu dyskretnego Iloczyn Tate Algorytm Millera Algorytm Millera (2) 1. n = (nt , . . . , n1 , n0 )2 , R ∈ E [n] \ {∞, P, −Q, P − Q}. 2. Przyjmujemy f ← 1, T ← P. 3. Dla i od t do 0 wykonujemy: 3.1 3.2 3.3 3.4 3.5 Wyznaczamy prostą l, styczną do krzywej w T . Wyznaczamy pionową prostą v przechodzącą przez 2T . T ← 2T . l(Q+R) v(R) f ← f 2 · v(Q+R) · l(R) . Jeśli ni = 1 to 3.5.1 3.5.2 3.5.3 3.5.4 Wyznaczamy prostą l przechodzącą przez T i P. Wyznaczamy pionową prostą v przechodzącą przez T + P. T ← T + P. l (Q+R) · v(R) . f ← f · v(Q+R) l (R) 4. Obliczamy f (q k −1)/n . Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p Spis treści Wprowadzenie Odwzorowania dwuliniowe Krzywe eliptyczne Podsumowanie Pytania Czy mają Państwo pytania? Andrzej Chmielowiec Współczesna kryptografia – schematy bazujące na parowaniu p