Wymagania do laboratorium
Kryptografia i systemy utajniania informacji
Laboratorium 1:
podstawy programowania w dowolnym języku
zapał do nauki...
Laboratorium 2:
podstawy programowania w dowolnym języku
symetryczne szyfry historyczne (monoalfabetyczne, polialfabetyczne, poligramowe i przestawieniowe)
kryptoanaliza metodą analizy częstości wystąpień liter, digramów oraz trigramów
indeks koincydencji
test Kasiskiego
Laboratorium 3:
podstawy programowania w dowolnym języku
pojęcie alfabetu języka
entropia – definicja, rozumienie ilości przekazywanej informacji
kodowanie Huffmana
metody kompresji słownikowej (np. LZW)
stopień kompresji
Laboratorium 4:
współczesne, symetryczne algorytmy szyfrowania
OpenSSL
zasada Kerckhoffa
Laboratorium 5:
podstawy działania sieci komputerowych
protokoły: ftp, tftp, sftp
protokoły: http, https
unix'owe prawa dostępu do plików
procesy autentykacji i autoryzacji
Laboratorium 6:
podstawy działania sieci komputerowych
warstwy sieciowe – model OSI/ISO
adresacja w sieci
zasada działania sieci ethernet
Laboratorium 7:
liczby pierwsze i złożone
sito Eratostenesa
znajomość prostego algorytmu sprawdzającego czy zadana liczba jest pierwsza
rozkład liczby na czynniki pierwsze
Laboratorium 8:
algorytm RSA
algorytm Diffiego-Hellmana
problem dystrybucji klucza
atak „man in the middle”
Laboratorium 9:
kryptoanaliza liniowa
kryptoanaliza różnicowa
zasada działania ataku urodzinowego
Laboratorium 10:
kryptograficzne funkcje skrótu, ich własności i zastosowania
zasada działania podpisu cyfrowego
OpenSSL
Laboratorium 11:
kanał podprogowy
entropia
steganografia
Laboratorium 12:
algorytmy dzielenia sekretu (zwłaszcza wg. Shamir'a)
Laboratorium 13:
podstawowa wiedza o sieciach
podstawowa wiedza o bazach danych
Laboratorium 14:
buffer overflows
core dumps
memory leaks
integer overflows
Laboratorium 15:
zapał do nauki
Prowadzący zajęcia: Pawel Konas (e-mail:
konas@agh.edu.pl)