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