Niebezpieczna kryptografia

Prowadzący: Michał Radwański


Kategorie: informatyka matematyka

Opis

Od kiedy tylko ludzie się komunikują wzajemnie, pojawiła się potrzeba, aby móc taką komunikację zabezpieczyć przed niechcianymi oczyma. Przez setki lat, ludzie opracowywali lepsze metody szyfrowania, a inni zajmowali się znajdywaniem ich słabości. Dopiero w XX wieku udało się lepiej określić zakres tego czym jest kryptografia oraz czego od niej wymagamy. Są to narodziny nowoczesnej kryptografii, która zdołała zyskać dużo szersze znaczenie, gdyż obecnie w tej dziedzinie znajdziemy nie tylko szyfrowanie, ale też autentykację wiadomości, bezpieczną wymianę współdzielonych sekretów, szyfrowanie asymetryczne (co w praktycznej formie jest nowym wynalazkiem), dowody z wiedzą zerową (czyli udowodnienie, że wie się o czymś, bez wyjawiania tej informacji), a także wiele innych schematów, których kategoryzacja nie jest oczywista. Pomimo wysiłków wielu znamienitych osób, pomimo dowodów bezpieczeństwa metod, w dalszym ciągu pozostaje jednak prawdą stwierdzenie, że kryptografia nie jest intuicyjna. Bardzo często, pomysły które mamy wydają się świetne, ale wystarczy chwila, aby odkryć potężne problemy w działaniu. Podobnie bywa z niewłaściwym użyciem uznanych i stosowanych metod - bardzo często wypaczają one całkowity sens użycia danego rozwiązania.

Forma

Warsztaty będą polegały na szukaniu słabości w przedstawionych systemach, a także próbach ich naprawy. Pojawią się także wstawki wykładowe. Mam także nadzieję zmieścić nieco teoretycznych podstaw kryptografii (np. co to właściwie znaczy, że szyfr jest bezpieczny), a także poopowiadać o niektórych mało znanych problemach kryptograficznych, nawet jeśli nie przystąpimy do ich łamania.

Wymagania

Nie trzeba wiedzieć o kryptografii nic, natomiast warto nie gubić się w matematyce (szczególnie podstawy teorii liczb i teorii prawdopodobieństwa). Być może najważniejsze będzie, aby radzić sobie względnie sprawnie z programowaniem, gdyż wiele zagadek będzie nie do rozwiązania w inny sposób, wobec czego trzeba mieć z sobą komputer. Nie będę w żaden sposób rozróżniał między językami programowania, ale nie ze wszystkim będę w stanie pomóc. Jeśli nie wiesz co wybrać, polecam szczerze Pythona, którego warto poznać przynajmniej w zakresie umiejętności czytania, gdyż w nim zazwyczaj będą zaimplementowane zagadki.

Materiały

Dobrym wprowadzeniem do kryptografii jest książka Crypto 101
Z innych źródeł, trzeba wspomnieć stronę Crypto Pals, z której będę częściowo korzystał w przygotowaniu zadań warsztatowych.