II. Karty przedmiotów obieralnych
8. Kryptografia
Nazwa przedmiotu w języku polskim
Kryptografia
53 Nazwa przedmiotu
w języku angielskim
Cryptography A. Usytuowanie przedmiotu w systemie studiów
Poziom kształcenia Studia pierwszego / drugiego stopnia Forma i tryb prowadzenia
studiów
Stacjonarne
Kierunek studiów Informatyka i Systemy Informacyjne, Matematyka, Inżynieria i Analiza Danych (drugi stopień)
Profil studiów Profil ogólnoakademicki
Specjalność -
Jednostka prowadząca Wydział Matematyki i Nauk Informacyjnych Jednostka realizująca Wydział Matematyki i Nauk Informacyjnych Koordynator przedmiotu
dr Robert Dryło Osoby prowadzące zajęcia dr Robert Dryło B. Ogólna charakterystyka przedmiotu Blok przedmiotów Kierunkowe
Poziom przedmiotu Średniozaawansowany Grupa przedmiotów Obieralne
Status przedmiotu Obieralny Język prowadzenia zajęć Polski
Semestr nominalny 2,4 (drugi stopień) Minimalny numer semestru Czwarty
Usytuowanie realizacji w roku akademickim
Semestr letni Wymagania wstępne /
przedmioty poprzedzające Podstawowe wiadomości z algebry liniowej Limit liczby studentów Liczba grup: bez ograniczeń
Laboratoria – 15 osób / grupa C. Efekty kształcenia i sposób prowadzenia zajęć
Cel przedmiotu Przedstawienie metod szyfrowania, protokołów kryptograficznych i ich zastosowań
Przedstawienie metod i podstaw matematycznych stosowanych kryptografii Przedstawienie implementacji w praktyce podstawowych kryptosystemów i metod stosowanych w kryptografii
Omówienie wybranych zagadnień związanych z zastosowaniami kryptografii w praktyce
Rozwiązywanie praktycznych zadań w celu wykorzystania i lepszego zrozumienia metod
Efekty kształcenia Patrz TABELA 1.
Formy zajęć i ich wymiar (semestralny)
Wykład 30
Ćwiczenia 0
Laboratorium 30
Projekt 0
54 Treści kształcenia Wykład:
1. Podstawowe pojęcia kryptografii: szyfry symetryczne strumieniowe i blokowe, funkcje skrótu, kryptografia asymetryczna, wymiana kluczy, szyfrowanie z kluczem publicznym, podpisy cyfrowe, certyfikaty, uwierzytelnienie, przykład zastosowania bitcoin.
2. Kod ASCII, rozwinięcia liczb przy danej podstawie, kodowanie bloku tekstu jawnego jako liczby mod n, arytmetyka mod n, szybkie potęgowanie mod n, rozszerzony algorytm Euklidesa, wyznaczanie elementu odwrotnego mod n, przykłady szyfrów klasycznych Viegenere i Hilla.
3. Podstawowe własności grup, grupy cykliczne, funkcja phi Eulera, małe tw.
Fermata i tw. Eulera, chińskie twierdzenie o resztach, podstawowe własności ciał skończonych, testowanie nierozkładalności wielomianów nad ciałami skończonymi.
4. Twierdzenie o liczbach pierwszych, testy pierwszości Fermata i Millera-Rabina, kryptosystem RSA, podpis RSA.
5. Kryptosystemy oparte na problemie logarytmu dyskretnego w ciałach skończonych, wymiana kluczy Diffiego-Hellmana, szyfrowanie i podpis ElGamala, podpis DSA, sigma protokół, uwierzytelnienie i podpis Schnorra.
6. Krzywe eliptyczne o równaniu Weierstrassa, dodawanie punktów na krzywej, ślad krzywej, twierdzenia Hassego, równanie charakterystyczne endomorfizmu Frobeniusa, obliczanie liczby punktów na krzywej, kodowanie wiadomości na krzywej, schematy na krzywych eliptycznych, wymiana kluczy, szyfrowania ElGamala, podpis ECDSA.
7. Ataki na problem logarytmu dyskretnego Pohliga-Hellmana, rho Pollarda, metoda indeksu w ciałach skończonych, metoda baz rozkładu faktoryzacji liczb.
Porównanie poziomów bezpieczeństwa dla RSA kryptosystemów opartych na problemie logarytmu dyskretnego w ciałach skończonych i na krzywych eliptycznych.
8. Metoda faktoryzacji p-1 Pollarda, metoda faktoryzacji Lenstry na krzywych eliptycznych, wielomianowy kwantowy algorytm Shora rozwiązujący problemy faktoryzacji i logarytmu dyskretnego.
9. Iloczyny dwuliniowe Weila i Tate na krzywych eliptycznych, algorytm Millera obliczania iloczynów dwuliniowych, konstruowanie krzywych dla których można efektywnie obliczyć iloczyny dwuliniowe, wymiana kluczy między trzema osobami w jednej rundzie, krótkie podpisy, kryptografia oparta na tożsamości.
10. Schematy kryptografii postkwantowej oparte na rozwiązywaniu układów równań wielomianowych, kryptosystemy na kratach NTRU i oparte na uczeniu z błędami w pierścieniach, podpisy oparte na funkcji skrótu.
11. Szyfrowanie homomorficzne, schemat Pailliera, fully homomorphic encryption, elektroniczne głosowania.
12. Współdzielenie sekretów, obliczenia wielostronne, szyfrowania i podpisy grupowe.
13. Szyfry blokowe DES, 3DES, AES, tryby szyfrowania ECB, CBC, CFB 14. Funkcje skrótu SHA-1,2,3, kody uwierzytelniające MAC.
Ćwiczenia:
Laboratorium: Implementacja algorytmów i protokołów poznanych na wykładzie w programie Magma lub Sage,
Rozwiązywanie zadań w celu zastosowania i lepszego zrozumienia metod z wykładu
Przedstawienie własnych implementacji (w wybranym języku programowania) lub prezentacji z wybranych zastosowań kryptografii
Projekt:
55
Metody dydaktyczne Wykład z wykorzystaniem metod multimedialnych, laboratorium z przedstawieniem przykładów implementacji w programach Magma lub Sage Metody i kryteria oceniania /
regulamin zaliczenia
Zaliczenie laboratorium i wykładu:
1. Implementacja wybranego algorytmu stosowanego w kryptografii lub przedstawienie prezentacji na laboratorium z wybranych zastosowań kryptografii.
2. Pisemny sprawdzian pod koniec zajęć z podstawowych wiadomości i metod.
Ocena na koniec jest otrzymana z sumy punktów uzyskanych z 1, 2 i aktywności Metody sprawdzania efektów
kształcenia
Patrz TABELA 1.
Egzamin Nie
Literatura i oprogramowanie 1. Programy Magma lub Sage na laboratorium (Sage można ściągnąć za darmo) Literatura
Podstawowa
1. Koblitz, Neal. Wykład z teorii liczb i kryptografii. Wydawnictwa Naukowo-Techniczne, 1995.
2. Koblitz, Neal, et al. Algebraiczne aspekty kryptografii. Wydawnictwa Naukowo-Techniczne, 2000.
3. Stinson, Douglas Robert. Kryptografia: w teorii iw praktyce. Wydawnictwa Naukowo-Techniczne, 2005.
4. Paar, Christof, and Jan Pelzl. Understanding cryptography: a textbook for students and practitioners. Springer Science & Business Media, 2009.
5. J. Hoffstein et al., An introduction to mathematical cryptography Vol. 1, New York, Springer, 2008.
Uzupełniająca
1.H. Cohen, G. Frey, R. Avanzi, C. Doche, T. Lange, K. Nguyen & F.
Vercauteren (Eds.), Handbook of elliptic and hyperelliptic curve cryptography, CRC press (2005).
2. Galbraith, Steven D., Mathematics of public key cryptography. Cambridge University Press, 2012.
3. Katz, Jonathan, and Yehuda Lindell. Introduction to modern cryptography.
CRC press, 2014.
4. Shoup, Victor. A computational introduction to number theory and algebra.
Cambridge university press, 2009.
5. Smart, Nigel P. Cryptography made simple. Vol. 481. Heidelberg: Springer, 2016.
6. D. Stinson, M. Paterson, Cryptography. Theory and Practice, 2019, CRC Press, Taylor & Francis Group.
7. J. Von Zur Gathen and J. Gerhard, Modern computer algebra, Cambridge University Press, 2013.
Witryna www przedmiotu D. Nakład pracy studenta
Liczba punktów ECTS 4 pkt Liczba godzin pracy studenta związanych z osiągnięciem efektów kształcenia
1. godziny kontaktowe – 65 h; w tym a) obecność na wykładach – 30 h
b) obecność na laboratoriach – 30 h c) konsultacje – 5 h
2. praca własna studenta – 40 h; w tym a) zapoznanie się z literaturą – 10 h
b) przygotowanie do zajęć laboratoryjnych – 23 h f) przygotowanie raportu/prezentacji – 7 h Razem 105 h, co odpowiada 4 pkt. ECTS Liczba punktów ECTS na
zajęciach wymagających bezpośredniego udziału
1. obecność na wykładach – 30 h 2. obecność na laboratoriach – 30 h 3. konsultacje – 5 h
56
nauczycieli akademickich Razem 65 h, co odpowiada 2 pkt. ECTS Liczba punktów ECTS, którą
student uzyskuje w ramach zajęć o charakterze praktycznym
1. obecność na laboratoriach – 30 h
2. przygotowanie do zajęć laboratoryjnych – 30 h Razem 60 h, co odpowiada 2 pkt. ECTS
E. Informacje dodatkowe
Uwagi -
TABELA 1. EFEKTY PRZEDMIOTOWE
1. Efekty kształcenia i ich odniesienie do charakterystyk drugiego stopnia Polskiej Ramy Kwalifikacji oraz efektów kształcenia dla kierunków Informatyka i Systemy Informacyjne, Matematyka oraz Inżynieria i Analiza Danych
Efekty kształcenia dla modułu
OPIS EFEKTÓW KSZTAŁCENIA Absolwent studiów I/II stopnia na kierunku
Informatyka i Systemy Informacyjne / Matematyka / Inżynieria i Analiza Danych
Odniesienie do charakterystyk
drugiego stopnia PRK
Odniesienie do efektów kształcenia
dla kierunków WIEDZA
W01 Zna podstawowe pojęcia kryptografii i ich zastosowania M2_W01 P7S_WG W02 Zna standardowe schematy szyfrowania, protokoły
kryptograficzne i ich zastosowania
M2_W01 P7S_WG
W03 Zna podstawowe metody i twierdzenia matematyczne stosowane w kryptografii
M2_W01 P7S_WG
W04 Zna zastosowania kryptografii dla zapewnienia bezpieczeństwa
M2_W01 P7S_WG
W05 Zna metody matematyczne stosowane w kryptografii i w atakach na kryptosystemy
M2_W01 P7S_WG
UMIEJĘTNOŚCI
U01 Potrafi opisać protokoły kryptograficzne oraz matematyczne metody stosowane w ich
implementacji
M2MNI_U02 P7S_UW
U02 Potrafi zaimplementować schematy kryptograficzne i stosowane metody matematyczne w wybranym języku programowania
M2MNI_U02 P7S_UW
U03 Potrafi opisać ataki na kryptosystemy i podać parametry odpowiednie dla danego poziomu bezpieczeństwa.
M2MNI_U02 P7S_UW
U04 Potrafi w praktyce wykorzystać wiedzę M2MNI_U02 P7S_UW
2. Formy prowadzenia zajęć i sposób weryfikacji efektów kształcenia Zamierzone
efekty Forma zajęć Sposób weryfikacji
W01 - W05 Wykład Sprawdzian
U01 - U04 laboratoria Prezentacja implementacji
Opis przedmiotu
9. SEMANTYCZNE PRZETWARZANIE DANYCH