Paweł Perekietka

Transkrypt

Paweł Perekietka
Paweł Perekietka
nauczyciel w V LO w Poznaniu
Informatyka na szachownicy. O szyfrowaniu
„Większość szkół prawdopodobnie lepiej by na tym wyszła,
gdyby wyrzuciła swoje komputery na śmietnik”
Michael R. Fellows,
współtwórca projektu „Computer Science Unplugged”
Autorzy jednego z podręczników do informatyki do gimnazjum [3] pisali w 2001 roku
o potrzebie kształcenia kultury myślenia informatycznego. W przygotowanym przez nich
zeszycie ćwiczeń znalazło się wiele zadań, które dobrze ukazywały to, że istotą informatyki
(istotą pracy informatyka-naukowca jak i informatyka-praktyka) jest projektowanie rozwiązań
problemów związanych z przetwarzaniem informacji, a komputer służy ewentualnie (ze
względu na bardzo szybkie wykonywanie bardzo prostych operacji) tylko do realizacji
bardziej lub mniej pomysłowych projektów. To były prorocze słowa i prorocze działania.
Niewielu nauczycieli (i rodziców) wówczas je rozumiało. O wiele bardziej istotne wydawało
się wówczas to, by w szkole pojawiły się nowe komputery! Powszechne było przekonanie:
przecież uczniowie zainteresowani informatyką to uczniowie zainteresowani komputerami1.
Czy dziś jest lepiej? Niekoniecznie. Rozpoczynający dziś pracę w szkole nauczyciele
matematyki (i ich młodsi koledzy i koleżanki – studenci kierunku nauczycielskiego) powinni
mieć dużą świadomość tego, że są odpowiedzialni – jakkolwiek to patetycznie zabrzmi – za
rozwijanie u uczniów, przez dobór odpowiednich zadań, nie tylko wyobraźni geometrycznej,
czy kinetycznej, ale i wyobraźni algorytmicznej. Przychodzi czas na łagodne wprowadzenie
do szkół matematyki dyskretnej2. Znakomicie to tego celu nadaje się prosty środek –
szachownica.
„W swoim życiu miałem niejedną depeszę szyfrowaną w ręku i wiem jak się do niej zabrać.
O ile się nie mylę, ta do odczytania będzie wymagała siatki albo szachownicy.”
fragment powieści Juliusza Verne’a pt. „Mateusz Sandorf”
Szyfrowanie na szachownicy
Czy warto uczyć dziś w szkole o szyfrach? Czy można je traktować jako coś więcej
niż ciekawostkę historyczną, a najlepszym przypadku element matematyki rekreacyjnej na
obozie harcerskim? Otóż warto! W przeciwnym przypadku utrwalać będziemy powszechną
dziś ignorancję informatyczną. Na czym polega bezpieczeństwo połączenia ze stroną
szkolnego dziennika elektronicznego albo stroną internetową banku? Kryptografia
1
W konsekwencji tematy z algorytmiki traktowane były na lekcjach informatyki w gimnazjum jako „ciało
obce”. Trudno się temu dziwić, skoro informatyki rzadko uczą w szkole matematycy.
2
Autor wielokrotnie do tego celu wykorzystywał lekcje-zastępstwa.
(szyfrowanie danych) rozwiązuje dwa zasadnicze problemy – zapewnia poufność (tajność) i
potwierdzenie autentyczności korespondencji. Nie chodzi o to, by uczniowie poznawali
szczegóły techniczne współczesnych metod szyfrowania. Chodzi o zrozumienie logiki
bezpieczeństwa połączenia internetowego.
Przebieg lekcji
1. Przedstawiamy uczniom problem: bezpieczeństwo połączenia internetowego ze szkolnym
dziennikiem elektronicznym (czy stroną WWW banku internetowego). Możemy posłużyć się
narracją w rodzaju: Większość młodych ludzi nie okłamuje swoich rodziców. Jednak Jaś
(Joasia) wykorzystał(-a) swoje zdolności informatyczne i wprowadził(-a) w błąd swoich
rodziców. Mimo że w dzienniku elektronicznym wpisana jest ocena niedostateczna, rodzice
zobaczyli inną... Jak tego dokonał(-a)?
Udzielamy głosu kilku uczniom. W razie potrzeby stawiamy pytania pomocnicze.
Podsumowujemy, formułując dwa wnioski: poufność (tajność) korespondencji można
zapewnić szyfrując przesyłane informacje; autentyczność (prawdziwość) serwera da się
potwierdzić z użyciem podpisu cyfrowego (certyfikatu).
Pytamy uczniów o znane im przykłady klasycznych szyfrów. Jedna z osób może
przedstawić konkretny przykład (np. szyfr Cezara czy metoda płotu – znane często wśród
uczestników ruchu harcerskiego przykłady szyfrów odpowiednio: podstawieniowego i
przestawieniowego).
Informujemy uczniów, że w czasie zajęć zapoznają się z jedną z klasycznych metod
szyfrowania przestawieniowego zwaną metodą szablonu i określą jej bezpieczeństwo.
Podkreślamy, że przykład nie jest celem samym w sobie – chodzi o zrozumienie znaczenia
szyfrowania danych dla człowieka w XXI w. w ogólności.
2. Rozdajemy uczniom po dwie kartki w kształcę kwadratu ok. 10 cm  10 cm – uczniowie
mogą je sami wyciąć (lub nawet „wydrzeć”) z jednej kartki formatu A4. Polecamy zgiąć
każdą z kartek odpowiednią liczbę razy „na pół” tak, aby po rozłożeniu kartki uzyskać
„szachownicę” 4 4 (jak na poniższym rysunku).
Przedstawiamy przykład szyfrogramu na tablicy (lub z użyciem rzutnika pisma czy
rzutnika multimedialnego3) – uczniowie w tym momencie zapisują go wiersz po wierszu na
jednej z kartek (jak na powyższym rysunku). Jest praktycznie niemożliwe, aby uczniowie
odgadnęli tekst jawny – warto jednak moment poczekać i dać szansę „optymistom”, którzy
3
Przykład „dynamicznej” prezentacji do wykorzystania na lekcji, stworzonej z użyciem narzędzi Google
Dokumenty, można odnaleźć pod adresem http://szyfr.jasijoasia.edu.pl/ .
mają nadzieję na sukces mimo nieposiadania klucza, używanego do szyfrowania, ani nawet
znajomości metody szyfrowania.
Wybieramy „ochotnika”, udostępniamy mu szablon (klucza), który był używany do
zaszyfrowania informacji i polecamy, by podjął (przy tablicy) próbę wyjaśnienia metody
szyfrowania (istotą jest obracanie szablonu o jedną czwartą kąta pełnego), a następnie
przystąpił do czynności odwrotnej, czyli odszyfrowania (musi odnaleźć punkt początkowy
tekstu oraz wybrać kierunek obracania). Pomagać mogą inni uczniowie (możemy ewentualnie
dać każdemu z uczniów szablon, jeśli mieliśmy możliwość przygotowania odpowiedniej
liczby – warto je przygotować w wersji sztywnej, by móc wykorzystać wielokrotnie).
W tym momencie możemy przedstawić krótko rys historyczny metody [5] (w grupie
starszej wiekowo) lub posłużyć się krótkim opowiadaniem (np. o zastępach harcerskich jak w
[1]), by ukazać praktyczne zastosowanie metody.
3. Polecamy uczniom przygotowanie własnego szablonu, którym mogliby się posłużyć do
utajnienia treści krótkiego tekstu. Uczniowie wykorzystują drugą kartkę – wycinają cztery
„okienka” (lub nawet je „wydzierają”).
W tym momencie powinny pojawić się pytania uczniów o sposób wyboru „okienek”?
Powstrzymujemy się w tym momencie od odpowiedzi na to pytanie – niech uczniowie sami
spróbują rozstrzygnąć ten problem, nawet jeśli skończyłoby to niektórych z nich
zniszczeniem kartki4… Po wykonaniu szablonu próbują go użyć do zapisania szyfrogramu
np. na odwrocie pierwszej kartki. Jeśli zakończy się to sukcesem, uczniowie mogą wymienić
się szyfrogramami, aby przekonać się o tym, że treść tekstu rzeczywiście została utajniona (tj.
nie można go odczytać bez szablonu).
4. Jeśli czas i możliwości grupy na to pozwalają, to możemy zająć się problemem
bezpieczeństwa metod szyfrowania. Stawiamy uczniom problem: jak zmierzyć
bezpieczeństwo szyfru? Na przykład szyfru Cezara.
Udzielamy głosu kilku uczniom. W razie potrzeby stawiamy pytania pomocnicze.
Formułujemy wniosek: miarą bezpieczeństwa metody szyfrowania jest liczba potencjalnych
kluczy – odpowiednia ich liczba praktycznie uniemożliwia złamanie szyfru metodą prostego
przeszukiwania wszystkich możliwości przez tzw. atak siłowy (ang. brute force).
Przystępujemy do określenia stopnia bezpieczeństwa metody szablonu – szukamy
odpowiedzi na dwa pytania: ile różnych szablonów można utworzyć na szachownicy 4 4 (i
4
„Okienka” muszą być usytuowane w taki sposób, aby żadne z 16 pół szachownicy nie pojawiało się przy
obrocie dwukrotnie ani też nie zostało zapomniane.
dalej 8  8 , czy 2n  2n dla dowolnej liczby naturalnej n) i ile jest wariantów zastosowania
każdego z nich podczas szyfrowania?5 Odpowiedzi na oba pytania nie są wcale takie banalne.
Podsuwamy uczniom pomysł rozwiązania zadania przez zastosowanie zasady „dziel i
rządź”, tzn. podział szachownicy na cztery ćwiartki. Odpowiednie ponumerowanie pól
szachownicy powinno być wskazówką (jak na rysunku wyżej) do znalezienia odpowiedzi na
pierwsze pytanie: 64 (wybór jednego z pól „1” jest punktem odniesienia dla pozostałych i
dalej mamy: 4  4  4 – przez wybór każdego „okienka” decydujemy o braku możliwości
wykorzystania trzech innych). Niepoprawne odpowiedzi uczniów, które pomijają konieczne
założenia albo dodają zbędne założenia (związane z niedostrzeganiem lub przeinaczeniem
konsekwencji podziału szachownicy na ćwiartki) służyć mogą do oszacowania poszukiwanej
wartości6.
Pozostaje odpowiedzieć na pytanie drugie: na ile sposobów można szyfrować
używając jednego szablonu? Inaczej mówiąc: ile możliwości musi sprawdzić osoba, która
„przechwyciła” szablon?
Z tym uczniowie powinni sobie poradzić wcześniej lub później:
 mamy cztery możliwości dotyczące wyboru miejsca rozpoczęcia odczytywania;
 można dokonywać obrotu zarówno w kierunku obrotu wskazówek zegara lub w
przeciwnym;
 są dwie możliwości ułożenia szablonu (awers i rewers).
Oznacza to, że brak znajomości szablonu oznacza dla osoby ingerującej z zewnątrz i
próbującej złamać nasz szyfr, sprawdzanie w najgorszym przypadku 64  16  1024
możliwości (taka jest liczba kluczy szyfru)7.
5. Podsumowując zajęcia, podkreślamy, że siłą metody szyfrowania nie jest tajność
(nieznajomość przez „wroga”) metody szyfrowania ale tajność stosowanego klucza. Oznacza
to w praktyce potrzebę częstej zmiany klucza, co pociąga za sobą problem przekazywania
klucza…
To może być punkt wyjścia do sformułowania zadania domowego: w jaki sposób
rozwiązuje się problem przekazywania tzw. klucza sesji, który służy przeglądarce
5
6
Inaczej mówiąc: Ilu kluczom szyfrowania odpowiada jeden szablon?
Doświadczenie pokazuje, że rysunek może jednak być błędnie interpretowany, tzn. utwierdzić kogoś w
przekonaniu, że konieczne jest równomierne rozłożenie po jednym „okienku” w ćwiartkach szachownicy, co w
konsekwencji prowadzi do odpowiedzi: 3 x 2 x 1 = 6, co stanowi oszacowanie z dołu.
Uczniowie znający pojęcie kombinacji mogą oszacować wartość z góry: 1820.
7
W tym momencie warto rozwinąć analogię: 1024 to liczba 10-bitowa – dla porównania jeden ze
współczesnych algorytmów szyfrowania symetrycznego 3DES ma siłę 168 bitów (stan na rok 2012).
internetowej do szyfrowania informacji przesyłanych do serwera np. szkolnego dziennika
elektronicznego?
Młodszym uczniom warto natomiast polecić jako zadanie domowe lekturę
opowiadania „Zaszyfrowany rozkaz” z książki W. Wajnerta [1], które kończy się słowami
chłopca o imieniu Robert: „Hasło obowiązuje (…) do końca miesiąca.” I znalezienie
odpowiedzi na pytania: W jaki sposób zastępowi matematycy rozwiązali problem
przekazywania (zapamiętania) klucza? Czy nosili ze sobą szablony?
Innym zadaniem domowym może być określenie stopnia bezpieczeństwa
oryginalnego szablonu z książki Juliusza Verne’a, który miał kształt szachownicy 6  6 (i
dalej 8  8 , czy 2n  2n dla dowolnej liczby naturalnej n).
Literatura
1. Inspiracją do napisania opracowania zajęć była książka W. Wajnerta „Przygody z
Machefim” (wydanie I w roku 1983, II – rozszerzone w roku 1987). W rozdziale
„Zaszyfrowany rozkaz” autor przedstawia krótkie opowiadanie o zastępie harcerzy, którzy po
przykrym doświadczeniu, które było skutkiem stosowania naiwnego szyfrowania metodą
zapisywania tekstu wspak, wymyślają nowy szyfr – jest to właśnie metoda szablonu w wersji
4 4 .
2. Pomocną w dopracowaniu koncepcji lekcji okazała się książka „Pitagoras bez cyrkla, czyli
jak przejść przez pocztówkę” niemieckich autorów A. Beutelsprachera i M. Wagnera,
przetłumaczona na język polski w 2010 roku. Z niej zaczerpnąłem np. pomysł wykonania
prostej szachownicy przez zginanie kartki (rozdział „Kod hrabiego Sandorfa”).
3. Przedstawiona w scenariuszu metoda (technika) szablonu w wersji 8  8 może być
nauczycielom znana z zadania 35. zeszytu ćwiczeń do informatyki w gimnazjum „Internet.
Grafika. Algorytmy” autorstwa Edwadra Szczypki oraz Jacka i Romana Urbańców
(pracowników Instytutu Informatyki UJ) wydanego w roku 2001. Do książki była dołączona
sztywna wkładka pt. „Kwadraty kryptografa”.
4. Zagadnienie przedstawione jest też w oryginalny sposób w przetłumaczonych na język
polski w latach 60-tych XX w. popularnonaukowych książkach… radzieckich:
„Archimedesowe lato, czyli historia przyjaźni młodych matematyków” S. Bobrowa (tom I, s.
226 i następne) oraz „Szybciej niż myśl” N. Kobrińskiego i W. Pekelisa (s. 10 i następne).
5. Z książki amerykańskiego autora P. Lundego „Tajemnice szyfrów”, przetłumaczonej na
język polski w 2009, można dowiedzieć się, że metoda szablonu (matrycy obrotowej) to
udoskonalony wariant systemu szyfrowania wymyślonego przez XVI-wiecznego włoskiego
matematyka G. Cardano, opracowany w 1880 roku przez emerytowanego austriackiego
oficera E. Fleissnera oraz że metoda była stosowana przez kilka miesięcy przez niemiecką
armię w czasie I wojny światowej – system służył do szyfrowania meldunków z pola walki,
przesyłanych drogą telegraficzną lub przez telefon polowy (podrozdział „Matryce
szyfrujące”).
Autor składa podziękowania uczniom V Liceum Ogólnokształcącego im. Klaudyny Potockiej
w Poznaniu, a zwłaszcza Mateuszowi Wróblewskiemu. Ich dociekliwość i pomysłowość
pozwoliły poprawić pierwszą wersję scenariusza.

Podobne dokumenty