Podstawy kryptografii


Informacje ogólne

Typ:fakultatywny
Kierunek: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ęzyku

Zał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ązaniach

Program

  • 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 pisemny
Wykł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.