Warunki zaliczenia

Końcowa ocena składa się z testu i zadań wykonywanych podczas zajęć. Zadania należy wysyłać na adres mailowy osoby prowadzącej z tytułem wiadomości w następującym formacie:

Bezpieczeństwo informatyczne <nr indeksu> zadanie <nr zadania>, <nr zadania 2>, ...

Każdy zbiór zadań posiada określony termin. Zadania zwrócone po terminie mają połowę oryginalnych punktów.

Test odbędzie się dnia 2025-12-06 i stanowi 30% końcowej sumy punktów.

Zadania (termin 2025-12-06)

Zadanie 1 (1pkt)

Opisz paradoks dni urodzin i jego zastosowanie do łamania funkcji skrótu.

Zadanie 2 (2pkt)

Wykorzystaj algorytm Floyda do znalezienia kolizji dla wybranej funkcji skrótu.

Zadanie 3 (2pkt)

Wykorzystaj program Hashcat do złamania prostego hasła. Opisz i uzasadnij wykorzystaną konfigurację.

Zadanie 4 (2pkt)

Stwórz konfigurację serwera nginx pozwalającą na szyfrowanie ruchu prostego serwera HTTP (takiego jak python -m http.server). Stwórz wymagane klucze samodzielnie (nie wykorzystujemy Let’s Encrypt czy innych serwisów generujących certyfikaty!)

Zadanie 5 (2pkt)

Stwórz bazę haseł z wykorzystaniem KeePassXC. Skonfiguruj hasło oraz mechanizm uwierzytelniania dwuskładnikowego dla wybranego serwisu (można założyć konto na adres email uniwersytetu lub wydziałowy).

Zadanie 6 (3pkt)

Skonfiguruj szyfrowanie end-to-end w ramach poczty email z użyciem PGP / GPG. Następnie wyślij do innej osoby następujące wiadomości:

  • wiadomość podpisana

  • wiadomość zaszyfrowana

  • wiadomość zaszyfrowana z załącznikami

Porównaj źródła pomiędzy różnymi typami wiadomości oraz opisz wnioski.

Zadanie 7 (1pkt)

Stwórz listę 3 rekomendacji dot. dobrych haseł.

Zadanie 8 (2pkt)

Osoba prowadząca prześle treść zadania mailem.

Zagadnienia na test 2025-12-06

  • Definicje: kryptologia, kryptografia, kryptoanaliza, CIA

  • Kodowanie little endian, big endian, network order, UTF-8

  • Rekomendowane szyfry blokowe, rekomendowane szyfry strumieniowe

  • Przykładowe metody steganografii

  • Cechy dobrego generatora liczb losowych

  • Cechy bezpiecznego kryptograficznie generatora liczb losowych

  • Definicja funkcji jednokierunkowej, przykłady

  • Cechy funkcji skrótu

  • Cechy bezpiecznej kryptograficznie funkcji skrótu

  • Zastosowania kryptograficznie bezpiecznych funkcji skrótu

  • Rekomendacje dot. silnych haseł

Funkcje jednokierunkowe

Funkcja jednokierunkowa jest to funkcja, której wartość można obliczyć w czasie wielomianowym; natomiast jej odwrotność jest trudna obliczeniowa (brak skutecznych algorytmów o czasie wielomianowym).

Kryptograficznie bezpieczna funkcje skrótu

  • Funkcja jednokierunkowa - Odporność na łatwe znajdowanie przykładowego wejścia dla wyniku

  • Słaba odporność na kolizje - posiadając dane wejście, trudno znaleźć inne, które da ten sam wynik

  • Silna odporność na kolizje - trudno znaleźć parę tekstów dających ten sam wynik

Ataki na funkcje skrótu

Redukcja trudności ataków i kompromisy między złożonością pamięciową a czasową.

Zastosowania funkcji skrótu

  • Generatory liczb pseudolosowych

  • Schemat zobowiązania bitowego

  • Kryptografia asymetryczna

  • Podpis cyfrowy

  • Weryfikacja spójności wiadomości

Tablice tęczowe

Tablica zawierająca przykładowe teksty produkujące wyniki funkcji skrótu przechowywana w sposób efektywny. Pozwala to na łamanie słabych schematów przechowywania haseł (bez użycia soli).

Bibliografia: