Wydział Informatyki
Kierunek studiów Informatyka Poziom i forma studiów drugiego stopnia niestacjonarne
Specjalność / Ścieżka dyplomowania Systemy Inteligentne Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Elementy kryptologii Kod przedmiotu INZ2ELK
Rodzaj przedmiotu obieralny
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 2/3
10 20 Punkty ECTS 3
Przedmioty wprowadzające Algorytmika - wybrane zagadnienia (INZ2AWZ),  
Cele przedmiotu

Zapoznanie studentów z podstawami matematycznymi wykorzystywanymi w kryptografii. Wprowadzenie znanych systemów kryptograficznych i przedstawienie metod ich kryptoanalizy. Wyrobienie nawyku korzystania z własnych (Java / C++) i gotowych implementacji algorytmów w sytuacji gdy wykonanie tych samych operacji ręcznie jest skrajnie długotrwałe. Wykształcenie nawyku korzystania z pomocy dydaktycznych i literatury fachowej.

Treści programowe

Wykład i pracownia specjalistyczna:
1. Podstawy matematyczny (kongruencje, małe twierdzenie Fermata, podzielność, operacje binarne, reprezentacje liczb całkowitych, największy wspólny dzielnik, faktoryzacja, własności działań).
2. Definicja systemu kryptograficznego. Klasyczne szyfry podstawieniowe (szyfr Cezara, szyfr podstawieniowy monoalfabetyczny), przestawieniowe (szyfr permutacyjny), polialfabetyczne (szyfr Vigenere’a).
3. Szyfr afiniczny (rozszerzony algorytm Euklidesa), szyfr Hilla (konstrukcja macierzy odwrotnej do macierzy Zm o rozmiarze nxn) i ich kryptoanaliza.
4. Kryptoanaliza systemu Vigenere’a (odgadywanie długości klucza (klasyczna metoda Kasiskiego, statystyczna metoda Friedmana), ustalanie klucza przy znajomości jego długości).
5. Entropia, kodowania Huffmana.
6. System kryptograficzny RSA (generowanie kluczy (publicznego i prywatnego), szyfrowanie, deszyfrowanie), sito Eratostenesa, szybki algorytm potęgowania a^e (mod n).
7. Testy pierwszości liczb i faktoryzacja, algorytm Solovaya-Strassena - probabilistyczny test na liczby pierwsze.
8. Szyfr Rabina, szyfr ElGamala.
9. Grupy (niezbędne fakty i definicje), problem logarytmu dyskretnego, algorytm Shanksa dla problemu logarytmu dyskretnego, protokół wymiany kluczy Diffiego-Hellmana, schematy podpisów, schemat podpisu ElGamala.
10. Algorytmy różne: algorytm Millera-Rabina, sito kwadratowe, algorytm p-1 Pollarda, algorytm Fermata, wielomiany i krzywe eliptyczne.

Metody dydaktyczne

wykład problemowy,   programowanie z użyciem komputera,  

Forma zaliczenia

Wykład - zaliczenie w formie testu przy komputerze.
Pracownia specjalistyczna - ocena wybranych programów realizowanych na zajęciach i w domu.

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 posiada wiedzę w zakresie podstaw arytmetyki i algebry wykorzystywanych w kryptologii INF2_W01
INF2_U01
EU2 posiada wiedzę w zakresie proponowanych systemów kryptograficznych i metod ich kryptoanalizy INF2_W01
INF2_U01
EU3 potrafi sprawnie rozwiązywać wybrane problemy z arytmetyki i algebry przy pomocy dostępnych narzędzi INF2_W01
INF2_U01
INF2_U04
INF2_U06
EU4 potrafi rozwiązać zadany problem z kryptologii posługując się narzędziami gotowymi lub zaimplementowanymi samodzielnie INF2_U01
INF2_U04
INF2_U06
EU5 potrafi zaprojektować, zaimplementować i przetestować zaproponowany system kryptograficzny (lub jego elementy) na podstawie dostarczonych pomocy dydaktycznych INF2_U01
INF2_U04
INF2_U08
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 zaliczenie pisemne, ocena realizacji zadań W, Ps
EU2 zaliczenie pisemne, ocena realizacji zadań W, Ps
EU3 zaliczenie pisemne, ocena realizacji zadań W, Ps
EU4 zaliczenie pisemne, ocena realizacji zadań W, Ps
EU5 ocena realizacji zadań Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - Udział w wykładach - 10x1h 10
2 - Udział w pracowni specjalistycznej - 10x2h 20
3 - Przygotowanie do pracowni specjalistycznej i realizacja zadań 35
4 - Udział w konsultacjach 2
5 - Przygotowanie do zaliczenia 8
RAZEM: 75
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 32
(2)+(4)+(1)
1.3
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 55
(2)+(3)
2.2
Literatura podstawowa

1. N. Koblitz, Wykłady z teorii liczb i kryptografii, Wydawnictwa Naukowo-Techniczne, Warszawa, 2006.
2. D. R. Stinson, Kryptografia w teorii i w praktyce, Wydawnictwa Naukowo-Techniczne, Warszawa, 2005.
3. J. A. Buchmann, Wprowadzenie do kryptografii, Wydawnictwo Naukowe PWN, Warszawa 2006.
4. J. Pieprzyk, T. Hardjono, J. Seberry, Teoria bezpieczeństwa systemów komputerowych, Helion, Gliwice, 2003.

Literatura uzupełniająca

1. W. Sierpiński, Teoria liczb, Wydawnictwo Naukowe PWN, Warszawa, 1959.
2. A. Białynicki-Birula, Algebra, Wydawnictwo Naukowe PWN, Warszawa, 2014.
3. B. Gleichgewicht, Algebra, Oficyna Wydawnicza GIS, Warszawa, 2004.
4. T. H. Cormen, C. E. Leiserson, R. L Rivest, Wprowadzenie do algorytmów, Wydawnictwa Naukowo-Techniczne, Warszawa, 2000.
5. B. Eckel, Thinking in C++, Helion, 2002.

Jednostka realizująca Katedra Informatyki Teoretycznej Data opracowania programu
Program opracował(a) dr inż. Anna Borowska 2020.05.22