21.02 |
Wprowadzenie |
- Parę słów o tym co to jest kryptografia. Dyskuja o tym że nie istnieją idealne zabezpieczenia, a szyfrowanie jest kompromisem pomiędzy kosztem zabezpieczenia a kosztem dostania się do chronionych danych.
- Stosowane proste sposoby szyfrowania: rot13,
szyfry permutacyjne i przestawieniowe.
- Łamanie szyfrów przez
analizę częstotliwości.
- Idealna tajność: szyfr jednorazowy. Pokazanie że niezależnie od rozkładu wiadomości, idealna losowość klucza gwarantuje idealną losowość szyfrogramów.
- Ataki kryptologiczne:
|
28.02 |
Szyfry symetryczne |
- Czego dowiaduje się przeciwnik, jeśli użyjemy tego samego klucza szyfru jednorazowego do zakodowania wiadomości M1 i M2? Jakie to ma znaczenie dla wiadomości będących np. tekstem albo obrazem?
- Pokazać że złożenie dwóch (niezależnych) systemów idealnie tajnych daje system idealnie tajny.
- LFSR to efektywna metoda generowania pseudolosowych ciągów, używanych do szyfrowania min. w kartach chipowych i tokenach. W przypadku używania pojedynczego LFSR, ile potrzeba bitów do odtworzenia całego generowanego przez niego ciągu (w praktyce używa się kombinacji kilku generatorów)?
- Szyfr Hilla polega na traktowaniu liter alfabetu jako elementów grupy Z26 i mnożeniu każdego bloku d liter przez wybraną (odwracalną) macierz d * d. Pokazać że taki szyfr można złamać za pomocą ataku z wybranym tekstem jawnym i określić jak długi tekst jest potrzebny do odtworzenia klucza.
- System nazywamy parami bezpiecznym, jeśli dla dowolnej pary wiadomości M1 i M2, prawdopodobieństwo że M1 zostanie zaszyfrowane jako C jest takie samo jak że M2 zostanie zaszyfrowane jako C. Pokazać że ta własność jest równoważna idealnej tajności.
|
07.03 |
DES |
- Opis działania DES.
- Jakie są znane ataki na DES. Krótkie wprowadzenie do kryptoanalizy.
- Używanie "Podwójnego DES" nie jest przydatne ze względu na atak pamięciowy. Pokazać jak wygląda zależność użytej pamięci do liczby potrzebnych operacji w tym ataku. W praktyce używa się potrójnego DES. Pokazać jakie są koszty analogicznego ataku w tym przypadku.
- Omówienie modeli używania szyfrów blokowych.
|
14.03 |
Szyfry asymetryczne: RSA |
- Opis działania RSA.
- Własności funkcji fi.
- Pokazać że znajdowanie wartości funkcji fi jest równie trudne jak faktoryzacja.
- Pokazać że dla klucza publicznego RSA równego (n,3) znajomość szyfrogramów C(M) oraz C(M+1) pozwala odtworzyć wiadomość M.
- Pokazać że jeśli wiadomość M została zaszyfrowana RSA za pomocą klucza (n,e) oraz za pomocą nieprawidłowego klucza (n,e'), gdzie e' różni się od e na jednym bicie, to przeciwnik znając te dwa szyfrogramy jest w stanie odtworzyć M bez pomocy klucza prywatnego.
|
21.03 |
Inne szyfry asymetryczne |
- Opis działania ElGamal.
- Opis działania protokołu Diffie-Hellmana.
- Opis działania szyfru Rabina.
- Szyfry oparte o krzywe eliptyczne.
- Szyfry oparte na problemie plecakowym: Merkle-Hellman.
|
4.04 |
Kryptografia kwantowa |
- Wprowadzenie: co to jest kubit i jak ma działać hipotetyczny komputer kwantowy.
- Przy pomocy kubitów można robić uzyskiwać różne nieintuicyjne efekty. Przykładem jest kwantowa teleportacja.
- Zbudowanie komputera kwantowego pozwoliłoby łamać szyfry RSA, ElGamal, Diffie-Hellmana i ogólnie wszystkie szyfry teorioliczbowe. Przykładem jak to działa jest kwantowy algorytm faktoryzacji.
- Komputera kwantowego póki co nikt nie zbudował, ale operowanie na pojedynczych kubitach jest łatwe w realizacji. To wystarczy do stworzenia idealnie bezpiecznego protokołu wymiany klucza, np. Protokołu BB84.
- Urządzenia korzystające z kryptografii kwantowej można już kupić w sklepach: MagiQ Technologies (warto obejrzeć prezentację).
|
18.04 |
Funkcje jednokierunkowe |
- Pokazać że jeśli g i h są różnymi pierwiastkami modulo liczba pierwsza p, to umiejętność szybkiego rozwiązywania logarytmu dyskretnego przy podstawie g (czyli dla dowolnej liczby 0 < x < p możemy łatwo znaleźć y takie że gy=x (mod p)), daje też możliwość szybkiego rozwiązywania logarytmu dyskretnego przy podstawie h.
- Funckja zaniedbywalna to funkcja f : R+ -> R+ malejąca tak szybko, że dla dowolnej liczby naturalnej c istnieje argument począwszy od którego jest już mniejsza od n-c. Jeśli f(x) i g(x) są zaniedbywalne, to czy zaniedbywalne są:
- f(x)+g(x)
- f(x)g(x)
- f(g(x))?
- Funkcja (silnie) jednokierunkowa to funkcja f:{0,1}*->{0,1}* spełniająca warunki:
* f jest obliczalna w wielomianowym czasie
* dla dowolnego wielomianowego algorytmu probabilistycznego, prawdopodobieństwo że mając daną wartość y algorytm ten znajdzie x takie że f(x)=y, jest funkcją zaniedbywalną (od sumy długości x i y).
- Czy złożenie funkcji jednokierunkowych może (musi) być funkcją jednokierunkową?
- Czy dla dowolnej funkcji jednokierunkowej f, funkcja g=f(x) xor x
jest jednokierunkowa? (xor wykonujemy bit po bicie, pozostawiając fragment dłuższego argumentu nietknięty)
- Predykat hard-core dla funkcji jednokierunkowej f, to boolowska funkcja b : {0,1}k->{0,1} taka, że odgadnięcie b(x) na podstawie f(x) jest trudne. Formalnie, żaden wielomianowy algorytm probabilistyczny nie odgaduje go z prawdopodobieństwem większym od 1/2 o nie-zaniedbywalną funkcję k.
- Uniwersalny predykat hard-core, to funkcja b(x) taka, że dla dowolnej funkcji jednokierunkowej jest on jej predykatem hard-core. Pokazać że nie istnieje coś takiego.
|
25.04 |
Funkcje jednokierunkowe i generatory pseudolosowe |
- Pokazać że istnienie funkcji słabo jednokierunkowych implikuje istnienie funkcji silnie jednokierunkowych.
- Pokazać że istnienie funkcji jednokierunkowych implikuje że P=/=NP, a nawet że BPP=/=NP.
- Zdefiniujmy następujący język:
L={n#k: n ma nietrywialny dzielnik d < k }
- pokazać że L należy do NP i do co-NP
- pokazać że jeśli L jest NP-zupełny, to NP=co-NP
- pokazać że jeśli L należy do klasy BPP, to faktoryzacja jest problemem łatwo rozwiązywalnym
- wywnioskować że jeśli L nie należy do BPP, to (NP ^ co-NP)\BPP jest niepusty (zauważyć że jest to silniejszy wynik niż P=/=NP).
- Generator pseudolosowy to deterministyczny algorytm wielomianowy wyliczający funkcję G:{0,1}k->{0,1}l taką że l > k, oraz żaden wielomianowy algorytm nie jest w stanie odróżnić wyniku działania generatora od ciągu losowego. Formalnie:
Dla dowolnego wielomianowego algorytmu probabilistycznego A, jeśli weźmiemy losowy ciąg y o długości l, i losowy ciąg x o długości k, to |Pr[A(G(x))=1]-Pr[A(y)=1]| jest zaniedbywalną funkcją k.
- Czy dla dowolnych generatorów pseudolosowych G1 i G2 wynik operacji G1 xor G2 jest generatorem pseudolosowym?
- Pokazać, że istnienie generatorów pseudolosowych implikuje istnienie funkcji jednokierunkowych.
|
9.05 |
Podpisy cyfrowe |
- Co to jest Podpis cyfrowy.
- Ataki kryptologiczne na podpis cyfrowy:
- Atak bezpośredni - jedynie przy wykorzystaniu klucza
- Atak ze znanymi podpisami - dysponując kolekcją jakichś wiadomości i podpisów wygenerowanych przez właściciela klucza
- Atak z wybranymi podpisami - dysponując kolekcją wybranych przez siebie wiadomości, podpisanych przez właściciela klucza (innych niż podpisywane w czasie ataku)
- Sposoby złamania podpisu:
- Złamanie egzystencjalne - wygenerowanie jakiegoś poprawnego podpisu (potencjalnie do bezsensownej wiadomości)
- Złamanie selektywne - wygenerowanie podpisu do jednej z wybranych przez siebie wiadomości
- Złamanie uniwersalne - wygenerowanie podpisu do każdej wybranej wiadomości
- Złamanie totalne - poznanie klucza prywatnego podpisującego
- Pokazać że podpis oparty o RSA można
a) Złamać egzystencjalnie przy pomocy ataku bezpośredniego
b) Złamać uniwersalnie za pomocą ataku z wybranymi podpisami
- Opis działania DSA. Pokazać że ten system można złamać egzystencjalnie za pomocą ataku bezpośredniego.
|