Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Kryptografia
Tok studiów:
2014/2015
Kod:
IIN-1-784-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka
Semestr:
7
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
Topa Paweł (topa@agh.edu.pl)
Osoby prowadzące:
Topa Paweł (topa@agh.edu.pl)
Krótka charakterystyka modułu

Celem przedmiotu jest zaznajomienie studentów z tematyką kryptografii w współczesnym świecie. Przedstawione są najważniejsze algorytmy i protokoły kryptograficzne.

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Zna i rozumie podstawowe pojęcia kryptografii i kryptoanalizy. IN1A_W10 Kolokwium
M_W002 Zna historię kryptografii i jej rozwoju. IN1A_W04 Kolokwium
M_W003 Dysponuje wiedzą na temat teoretycznych podstaw kryptografii: teorii informacji, teorii złożoności obliczeniowe i teorii liczba. IN1A_W01 Kolokwium
M_W004 Zna i rozumie sposób działania najważniejszych algorytmów kryptografii symetrycznej i asymetrycznej. IN1A_W03 Kolokwium
M_W005 Zna narzędzia i protokoły, wykorzystujące w sposób praktyczny algorytmy kryptograficzne. IN1A_W04 Kolokwium
Umiejętności
M_U001 Potrafi posługiwać się gotowymi narzędziami szyfrujący lub generującymi podpis elektroniczny np. PGP IN1A_U12 Wykonanie ćwiczeń laboratoryjnych
M_U002 Potrafi skonfigurować autoryzację dostępu do systemu zabezpieczoną narzędziami kryptograficznymi np. z wykorzystaniem protokołu Kerberos IN1A_U12 Wykonanie ćwiczeń laboratoryjnych
M_U003 Potrafi zaimplementować program wykorzystujący gotowe biblioteki kryptograficzne np. OpenSSL IN1A_U12 Wykonanie ćwiczeń laboratoryjnych
M_U004 Potrafi skonfigurować dostęp do usług HTTPS z wykorzystanie Infrastruktury Klucza Publicznego. IN1A_U11 Wykonanie ćwiczeń laboratoryjnych
Kompetencje społeczne
M_K001 Ma świadomość potrzeby zapewnienia bezpieczeństwa i poufności informacji. IN1A_K02 Aktywność na zajęciach
M_K002 Orientuje się w charakterystykach istniejących narzędzi i algorytmów kryptograficznych i potrafi dobierać je w zależności od potrzeb i obszaru zastosowań. IN1A_K02 Aktywność na zajęciach
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Zna i rozumie podstawowe pojęcia kryptografii i kryptoanalizy. + - - - - - - - - - -
M_W002 Zna historię kryptografii i jej rozwoju. + - - - - - - - - - -
M_W003 Dysponuje wiedzą na temat teoretycznych podstaw kryptografii: teorii informacji, teorii złożoności obliczeniowe i teorii liczba. + - - - - - - - - - -
M_W004 Zna i rozumie sposób działania najważniejszych algorytmów kryptografii symetrycznej i asymetrycznej. + - - - - - - - - - -
M_W005 Zna narzędzia i protokoły, wykorzystujące w sposób praktyczny algorytmy kryptograficzne. + - - - - - - - - - -
Umiejętności
M_U001 Potrafi posługiwać się gotowymi narzędziami szyfrujący lub generującymi podpis elektroniczny np. PGP - - + - - - - - - - -
M_U002 Potrafi skonfigurować autoryzację dostępu do systemu zabezpieczoną narzędziami kryptograficznymi np. z wykorzystaniem protokołu Kerberos - - + - - - - - - - -
M_U003 Potrafi zaimplementować program wykorzystujący gotowe biblioteki kryptograficzne np. OpenSSL - - + - - - - - - - -
M_U004 Potrafi skonfigurować dostęp do usług HTTPS z wykorzystanie Infrastruktury Klucza Publicznego. - - + - - - - - - - -
Kompetencje społeczne
M_K001 Ma świadomość potrzeby zapewnienia bezpieczeństwa i poufności informacji. + - - - - - - - - - -
M_K002 Orientuje się w charakterystykach istniejących narzędzi i algorytmów kryptograficznych i potrafi dobierać je w zależności od potrzeb i obszaru zastosowań. - - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:
Wykład

  1. Wprowadzenie do kryptografii. Podstawowe pojęcia (2 godz.)
    Podstawowe pojęcia kryptografii i kryptoanalizy. Różnica między kodowaniem i szyfrowaniem. Klasyfikacja i omówienie ataków na systemy kryptograficzne. Historia i rozwój kryptografii i kryptoanalizy. Historyczne systemy kryptograficzne. Sposoby utajniania informacji w przeszłości. Matematyzacja i algorytmizacja kryptografii. Współczesny stan metod kryptograficznych.
  2. Podstawy teoretyczne kryptografii, teoria informacji, teoria złożoności obliczeniowej, teoria liczb (4 godz.)
    Formalna definicja systemu kryptograficznego. Teoria informacji Shannona: ilość informacji, entropia wiadomości, nadmiarowość języka. Teoretyczne bezpieczeństwo systemu kryptograficznego. Złożoność obliczeniowa algorytmu. Teza Cooka-Karpa. Bezpieczeństwo systemu kryptograficznego z punktu widzenia teorii złożoności obliczeniowej. Praktyczne bezpieczeństwo systemów kryptograficznych. Teoria liczb. Liczby pierwsze. Arytmetyka modulo.
  3. Algorytmy kryptografii symetrycznej (6 godz.)
    Kryptografia z kluczem tajnym. Algorytmy strumieniowe i blokowe. Budowa szyfrów strumieniowych. Liniowe rejestry przesuwające. Algorytm RC4. Algorytmy blokowe. Tryby pracy algorytmów blokowych. Przekształcenie Feistela. Algorytm DES i jego rozszerzenia. Algorytm Blowfish. Algorytm AES.
  4. Algorytmy kryptografii asymetrycznej (6 godz.)
    Kryptografia z kluczem publicznym. Klucz publiczny i klucz prywatny. Podpis elektroniczny. Protokół wymiany kluczy Diffiego-Hellmana-Merkla. System kryptograficzny RSA. System kryptograficzny ElGamal. System kryptograficzny DSA.
  5. Funkcje skrótu i kody uwierzytelnienia wiadomości (4 godz.)
    Integralność i niezaprzeczalność wiadomości. Funkcje skrótu. Bezkonfliktowość funkcji skrótu. Algorytm MD5 i SHA-1. Kody uwierzytelniania wiadomości MAC.
  6. Infrastruktura klucza publicznego PKI (4 godz.)
    Infrastruktura klucza publicznego PKI. Certyfikat klucza publicznego. Centra Certyfikacji. Standard X.509. Hierarchia certyfikatów. Unieważnianie certyfikatów. Protokół SSL/TLS. Biblioteka OpenSSL.
  7. Wybrane zastosowania kryptografii: protokół Kerberos, PGP. (2 godz.)
    Autoryzacja w systemie rozproszonum z wykorzystaniem protokołu Kerberos. Szyfrowanie poczty elektronicznej z użyciem oprogramowania PGP.

Ćwiczenia laboratoryjne:
Ćwiczenia laboratoryjne

  1. Implementacja programu szyfrującego z wykorzystaniem biblioteki OpenSSL (3 godz.)
  2. Implementacja programu generującego podpis elektroniczny z wykorzystaniem biblioteki OpenSSL (3 godz.)
  3. Konfiguracja serwera HTTPS i dostępu z wykorzystaniem certyfikatów klucza publicznego (3 godz.)
  4. Szyfrowanie i podpisywanie wiadomości z wykorzystaniem oprogramowania PGP (3 godz.)
  5. Konfiguracja bezpiecznej autoryzacji z wykorzystaniem protokołu Kerberos (2 godz.)

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 78 godz
Punkty ECTS za moduł 3 ECTS
Egzamin lub kolokwium zaliczeniowe 2 godz
Udział w wykładach 14 godz
Udział w ćwiczeniach laboratoryjnych 14 godz
Samodzielne studiowanie tematyki zajęć 25 godz
Przygotowanie do zajęć 15 godz
Udział w zajęciach e-learningowych 8 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:
  1. Aby uzyskać pozytywną ocenę końcową niezbędne jest uzyskanie pozytywnych ocen z wykonania wszystkich laboratoriów oraz z egzaminu z wykładu.
  2. Obliczamy średnią ważoną z każdej oceny z laboratorium (wagi 5*0.15) oraz z oceny z egzaminu (waga 0.25) uzyskanych we wszystkich terminach.
  3. Wyznaczmy ocenę końcową na podstawie zależności:
    if sr>4.75 then OK:=5.0 else
    if sr>4.25 then OK:=4.5 else
    if sr>3.75 then OK:=4.0 else
    if sr>3.25 then OK:=3.5 else
    OK:=3
Wymagania wstępne i dodatkowe:

Znajomość matematyki (teoria liczb), znajomość poleceń i administracji systemem UNIX.

Zalecana literatura i pomoce naukowe:
  1. Łamacze kodów. Historia kryptologii, David Kahn, WNT 2004.
  2. Kryptografia. W teorii i praktyce, Douglas R. Stinson, WNT 2005.
  3. Kryptografia dla praktyków, Bruce Schneier, WNT 2002.
  4. Kryptografia stosowana, Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone, WNT 2005.
  5. Krzywe eliptyczne w kryptografii, Ian Blake, Gadiel Seroussi, Nigel Smart, WNT 2004.
  6. Teoria liczb w praktyce, Song Y. Yan, PWN, 2006.
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak