Podstawy kryptografii
Informacje ogólne
Typ:fakultatywnyKierunek:Informatyka
Semestr:letni
Wymiar zajęć:30h wykładu i 30h laboratorium
Punkty ECTS:6
Wymogi wstępne
matematyka dyskretna, umiejętność programowania w jakimkolwiek językuZałożenia i cele przedmiotu
Celem przedmiotu jest przedstawienie podstaw teoretycznych współczesnej kryptografii (elementy teorii liczb) oraz przedstawienie głównych problemów dotyczących kryptografii wraz z odpowiednimi algorytmami stosowanymi w rozwiązaniachProgram
- Klasyczna kryptografia : szyfr z przesunięciem, Vigenere'a, podstawieniowy, szyfr jednorazowy, Enigma..
- Teoria liczb: kongruencje, chińskie twierdzenie o resztach, tw. Fermata i Eulera, testy pierwszości, pierwiastki kwadratowe..
- DES, tryby działania algorytmów blokowych, atak man-in-the-middle, Rijndael.
- Kryptografia klucza publicznego: algorytm RSA, problem logarytmu dyskretnego, zobowiązanie bitowe, algorytm Diffie-Hellmana, ElGamal.
- Funkcje skrótu: własności, atak urodzinowy, zastosowania w kryptografii.
- Podpis cyfrowy.
- Protokoły kryptograficzne: atak man-in-the-middle, dystrybucja kluczy, Kerberos, klucz publiczny, certyfikaty X.590, PGP, SSL.
- Dalsze zagadnienia: podział sekretu, pieniądz cyfrowy, zobowiązania (gry na odległość), protokoły wiedzy zerowej, uwierzytelnianie.
Sposób zaliczenia
Laboratorium: systematyczna praca + sprawdzian pisemnyWykład: egzamin pisemny z teorii
Umiejętności i kompetencje
Po ukończeniu przedmiotu student będzie rozumieć zasady podpisu cyfrowego, będzie potrafił utworzyć/otrzymać i zainstalować certyfikaty, będzie rozumiał podstawy działania np. ssh, będzie świadomie podejmował decyzje dotyczące właściwego użycia narzędzi kryptografii.Literatura
- A.J. Menezes, P.C. van Oorschot and S.A. Vanstone . Handbook of Applied Cryptography
- B. Schneier. Kryptografia dla praktyków. Protokoły, algorytmy i programy źródłowe w języku C
- L.C. Washington, W. Trappe.. Introduction To Cryptography With Coding Theory
- M. Kutyłowski, W.-B. Strothmann. Kryptografia, teoria i praktyka zabezpieczania systemów komputerowych.
