Laboratorium Kryptografia część I
Transkrypt
Laboratorium Kryptografia część I
Laboratorium Kryptografia część I Katedra Informatyki i Automatyki Politechniki Rzeszowskiej Tomasz RAK c 30 stycznia 2012 Spis treści Treść i 0.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 0.2 Kryptografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1 Wprowadzenie do kryptografii - z1 13 1.1 Cel ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.1.1 Funkcja skrótu . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.1.2 Szyfrowanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.2 Przygotowanie studenta . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.3 Przygotowanie ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.3.1 Sprzęt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.3.2 Konfiguracja urządzeń . . . . . . . . . . . . . . . . . . . . . . 21 1.3.3 Konfiguracja interfejsów sieciowych . . . . . . . . . . . . . . . 22 1.4 Przebieg ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.4.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.4.2 Zagadnienia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.5 Rozwiązania - z1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.5.1 MD5 dla pliku . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.5.2 SHA 512 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.5.3 GPG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2 SSH - z2 29 2.1 Cel ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 i ii SPIS TREŚCI 2.1.1 SSH - historia i rozwój protokołu . . . . . . . . . . . . . . . . 29 2.1.2 Architektura protokołu SSH . . . . . . . . . . . . . . . . . . . 30 2.1.3 Zasada działania protokołu SSH . . . . . . . . . . . . . . . . . 31 2.1.4 Metody uwierzytelniania użytkownika . . . . . . . . . . . . . . 31 2.1.5 Pliki i katalogi SSH . . . . . . . . . . . . . . . . . . . . . . . . 33 2.1.6 SSH - pierwsze logowanie . . . . . . . . . . . . . . . . . . . . . 34 2.1.7 Logowanie bez użycia hasła . . . . . . . . . . . . . . . . . . . 35 2.1.8 Nawiązywanie połącania SSH . . . . . . . . . . . . . . . . . . 36 2.1.9 Verbose Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.2 Przygotowanie studenta . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.3 Przygotowanie ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4 2.5 2.3.1 Sprzęt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.3.2 Konfiguracja urządzeń . . . . . . . . . . . . . . . . . . . . . . 38 Przebieg ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.4.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.4.2 Zagadnienia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Rozwiązania - z1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.5.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.5.2 SSH - logowanie bez hasła . . . . . . . . . . . . . . . . . . . . 39 2.5.3 SCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.5.4 Debugowanie SSH . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.5.5 Debugowanie klienta SSH . . . . . . . . . . . . . . . . . . . . 42 3 Firewall - z3 47 3.1 Cel ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.2 Przygotowanie studenta . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.3 Przygotowanie ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4 3.3.1 Sprzęt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.3.2 Konfiguracja urządzeń . . . . . . . . . . . . . . . . . . . . . . 48 Przebieg ćwiczenia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 SPIS TREŚCI iii 3.4.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.2 Konfiguracja systemu . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.3 Zabezpieczenia i użytkownicy . . . . . . . . . . . . . . . . . . 51 3.4.4 Zagadnienia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.5 Rozwiązania - z3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.5.1 Wstęp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Bibliografia 55 iv SPIS TREŚCI Spis rysunków 1 Schemat logiczny sali D7: lewa. . . . . . . . . . . . . . . . . . . . . . 3 2 Schemat logiczny sali D7: prawa. . . . . . . . . . . . . . . . . . . . . 4 3 Schemat logiczny sali D7: front. . . . . . . . . . . . . . . . . . . . . . 5 4 Klasyfikacja algorytmów kryptograficznych. . . . . . . . . . . . . . . . 11 1.1 Generowanie skrótu MD5 dla pliki i weryfikacja poprawności. . . . . . 24 1.2 Generowanie skrótu SHA-512 dla wiadomości i weryfikacja poprawności. 24 2.1 Pierwsze logowanie SSH. . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.2 Logowanie SSH bez hasła. . . . . . . . . . . . . . . . . . . . . . . . . 41 2.3 Rozpoczęcie połączenia. . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.4 Pakiet protokołu SSH. . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.5 Zakończenie połączenia. . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.1 Układ komputerów dla ćwiczenia. . . . . . . . . . . . . . . . . . . . . 49 3.2 Usługi systemowe (poziomy pracy) — tryb prosty. . . . . . . . . . . . 50 3.3 Ustawienia opcji uruchamiania zapory sieciowej. . . . . . . . . . . . . 52 1 2 SPIS RYSUNKÓW 0.1 Wstęp Dokument ten dotyczy ćwiczeń przygotowanych w ramach przedmiotu Kryptografia .... Opracowanie to zawiera ćwiczenia zajęć laboratoryjnych z kryptografii. Celem jest przybliżenie zasad działania algorytmów kryptograficznych i mechanizmów sieciowych korzystających z takich przekształceń. Ćwiczenia zawierają elementy dotyczące konfiguracji usług sieciowych (linuksowych) i wymagają zastosowania podstawowych urządzeń służących do budowy sieci i komunikacji między podsieciami Ethernet takich jak: koncentratory, przełączniki, karty sieciowe i okablowanie oraz komputerów komunikujących się ze sobą najprostszy możliwy sposób. W ćwiczeniach wykorzystywane są komputery (serwer, desktop i LiveCD) z systemem operacyjnym Linux. Aby ułatwić używanie sprzętu podczas zajęć urządzenia można wyłączać bez zamykania systemu, a ich konfiguracja nie jest zapamiętywana. Serwery działają pod kontrolą SUSE Linux Enterprise Server, a klienci pod kontrolą Linux Knoppix. Zastosowanie płytowych wersji systemu operacyjnego Linux uniezależnia prowadzenie zajęć od konfiguracji sprzętowej używanych komputerów. Przygotowywane informacje (przygotowanie studenta) powinny bazować na dokumentach RFC (Request For Comments) dla poszczególnych zagadnień, ponieważ stanowia one informacje wychodzące od naukowców.1 Zawsze rozpoczynać konfigurację układów od sprawdznia połączeń pomiędzy sąsiednimi urządzeniami w celu wyelinowania problemów połączęń kablowych. 0.2 Kryptografia Chcąc poznać i zrozumieć zasadę działania protokołu szyfrujących, należy zapoznać się podstawami technik kryptograficznych (szyfrowania). Najłatwiej będzie to zaprezentować na przykładzie. Załóżmy więc, że Pan Jan Kowalski chce dokonać przelewu internetowego ze swojego konta bankowego na konto swojej córki. Operacja ta wiąże się z koniecznością podania różnego rodzaju poufnych informacji (np. numer konta, hasło dostępu czy też kwota przelewu). W związku z tym jedynym bezpiecznym rozwiązaniem jest konieczność wykorzystania algorytmów kryptograficznych. Algo1 Publikacją RFC zajmuje się stowarzyszenie Internet Engineering Task Force (www.ietf.org). Dodatkowe informacje można zlaleźć na stronie prowadzącego trak.prz-rzeszow.pl po uprzednim zalogowaniu lub w książkach wydawnictw takich jak PWN-MIKOM czy HELION oraz w zamieszczonej bibliografii: [14], [?], [15], [?], [?], [16], [?], [?], [17]. Schemat sali D7, w której odbywają się zajęcia znajduje się na rysunkach (1, 2, 3). Wszelkie dodatkowe informacje dotyczące prowadzonych zajeć, schematów i zakresu kolejnych ćwiczeń podane zostaną przez prowadzącego przed zajęciami lub w ich trakcie.2 W trakcie zajęć wykorzystywana jest sieć znajdująca się bezpośrednio pod szafami krosowniczymi! Po zakończeniu zajęć zostawiamy pracownię w stanie w jakim ją zastaliśmy! 0.2. KRYPTOGRAFIA '()*+#'(,-.# /&0%1#234)56 !"#$ %#$ 789)*+#/&0%1#234)56 %#$ %#$ 'A!B(#,(#3B(C.38(,9- :;7:<#&=1& Rysunek 1: Schemat logiczny sali D7: lewa. &#$ 'A!B(#,(#3B(C.38(,9- >(?9.(*@ &#$ %#$ '9-48?@(#.9,9(#H,9(@I-B & % ! F = " &! &1 &D &" %G %& 1 D E &G && &% &E &F &= %% %! %1 FE!#MO<7 J4KH(##.9,9(#H,9(@I-B JL:'#M;N JL:'#M;N F"& F"% F=& F=% MO<7 FF& MO<7 FF% $:; FE1#MO<7 3 4 '()*+#'(,-.# /&0%1#234)56 !"#$ %#$ 789)*+#/&0%1#234)56 %#$ %#$ 'A!B(#,(#3B(C.38(,9- :;7:<#&=1& 'A!B(#,(#3B(C.38(,9- >(?9.(*@ &#$ %#$ '9-48?@(#.9,9(#H,9(@I-B & % ! F = " &! &1 &D &" %G %& 1 D E &G && &% &E &F &= %% %! %1 F1&#MO<7 J4KH(##.9,9(#H,9(@I-B $:; JL:'#M;N JL:'#M;N F!& F!% F%! F%& F%% MO<7 F&! MO<7 F&& F&% JL:'#M;N F1%#MO<7 SPIS RYSUNKÓW Rysunek 2: Schemat logiczny sali D7: prawa. &#$ 0.2. KRYPTOGRAFIA %&'()*#+,-,.#/01(2&3 !"#$ !#$ %&'()*#+,-!"#/01(43 !#$ 56%57#,8", !#$ Rysunek 3: Schemat logiczny sali D7: front. 9:;'<:)= !#$ A:()*#A:EF<#+,-"8#/01(2&3 !#$ ?@5A#B6C BG7%#>8, BG7%#>8! ?@5A#B6C ?@5A#B6C BG7%#>.H >., BG7%#>." >.! >DH >D, BG7% >"! BG7% >"" >D" >D! ?@5A#B6C >!,#BG7% >"H >", ?@5A#B6C >!!#BG7% 5 6 SPIS RYSUNKÓW rytm ten przekształci dane w trudny do odczytania, bez znajomości odpowiedniego klucza, szyfr. W zależności od tego czy do procesu deszyfrowania wykorzystywany jest ten sam klucz, który brał udział w procesie szyfrowania (4), czy też, inny można wyróżnić: • Kryptografię konwencjonalną (zwaną symetryczną) - do szyfrowania i deszyfrowania danych wykorzystywany jest ten sam klucz tajny znany tylko przez nadawcę i odbiorcę wiadomości. W omawianym przypadku bez tego klucza bank nie mógłby odczytać przesłanych przez Pana Kowalskiego informacji. • Kryptografię klucza publicznego (zwaną asymetryczną) - algorytm ten wykorzystuje dwa różne klucze do szyfrowania i deszyfrowania wiadomości. Klucz służący do szyfrowania wiadomości jest udostępniany publicznie, jednak nie daje on możliwości odczytania zakodowanej informacji. Do tego celu potrzebny jest klucz deszyfrujący (prywatny). Nasuwa się w ten sposób prosty wniosek, że każdy może szyfrować wiadomości za pomocą klucza publicznego, ale tylko właściciel klucza prywatnego, będzie mógł ją przeczytać. Poniższy schemat przedstawia uproszczony proces szyfrowania i deszyfrowania informacji. W iadomosc− > [P ublicKey]− > Zaszyf rowanaW iadomosc− > [P rivateKey]− > W iadomosc Wracając do przykładu. Pan Kowalski może zaszyfrować wiadomość, ale nadal istnieje ryzyko, że ktoś może ją zmienić lub zastąpić ją inna w celu np. przekazania pieniędzy na siebie. Dlatego, aby zagwarantować integralność wiadomości tworzone jest jej zwięzłe podsumowanie, które jest następnie wysyłane do banku. Po otrzymaniu wiadomości bank w ten sam sposób tworzy własne podsumowanie i porównuje go z tym otrzymanym od Pana Kowalskiego. Jeżeli nie ma żadnych różnic, wówczas wiadomość dotarła nienaruszona. W kryptografii klucza publicznego, po wygenerowaniu pary kluczy i udostępnieniu wszystkim zainteresowanym klucza szyfrującego, dowolna osoba może za jego pomocą zaszyfrować wiadomość. Dzięki temu, po wysłaniu wiadomości, ma całkowitą pewność, że odczyta ją tylko posiadacz klucza deszyfrującego (oczywiście, jeżeli go dostatecznie strzegł). Jednak pojawia się problem, że odbiorca wiadomości nie jest do końca pewny od kogo ją dostał. Dlatego, zamiast klucza szyfrującego, do wiadomości publicznej podawany jest klucz odszyfrowujący. Wówczas, odbiorca wiadomości zakodowanej tajnym kluczem szyfrującym, odczytuje ją upublicznionym kluczem deszyfrującym. Dzięki temu ma pewność, że nadawca jest tym, za którego się podaje. Połączenie tych dwóch metod, czyli upublicznienie klucza szyfrującego z jednej i deszyfrującego z drugiej pary zapewnia poufność i autentyczność informacji. Wystarczy wiadomość zaszyfrować najpierw tajnym kluczem szyfrującym odbiorcy, a potem publicznym kluczem szyfrującym adresata. Adresat jest jedyną osobą, która może odwrócić drugi etap szyfrowania. Z kolei jeśli wynik daje się odszyfrować publicz- 0.2. KRYPTOGRAFIA 7 nym kluczem deszyfrującym odbiorcy, to znaczy, że tylko ta osoba mogła wykonać pierwszy etap szyfrowania. W skrócie: • Poufność wiadomości M pomiędzy A i B – A używa klucza/przekształcenia jawnego (KJ) osoby B – B odczytuje przy użyciu swojego klucza/przekształcenia tajnego (KT) – Osoba C może wysłać wiadomość M’ do osoby B używając KJ osoby B • Autentyczność wiadomości M pomiędzy A i B – A używa swojego KT – B odczytuje przy użyciu KJ osoby A – Tylko osoba A zna swój KT – Brak tu poufności ponieważ każdy użytkownik posiadający KJ osoby A może odszyfrować tekst • Poufność i autentyczność jednocześnie – A używa swojego KT i KJ osoby B – B odczytuje przy użyciu swojego KT i następnie KJ osoby A – Osoba C może wysłać wiadomość M’ do osoby B używając KJ osoby B Teoretycznie, każda kryptograficzna metoda z kluczem może być złamana poprzez próbowanie wszystkich możliwych kombinacji kluczy po kolei. Taki sposób jest określany metodą “na siłę” (brute-force). Jeśli używa się tylko tej metody do wypróbowania wszystkich kombinacji kluczy to potrzebna moc obliczeniowa wzrasta wykładniczo wraz z długością klucza. Dlatego bardzo ważnym elementem jest rodzaj zastosowanego algorytmu kryptograficznego. Do najważniejszych i najczęściej wykorzystywanych algorytmów możemy zaliczyć: • RSA (ang. Rivest - Shamir - Adleman) - jest to algorytm kryptografii asymetrycznej opracowany w 1977 roku przez Rona Rivesta, Adi Shamira oraz Leonarda Adelmana (stąd nazwa od pierwszych liter nazwisk). Natomiast prawa do algorytmu RSA posiada firma RSA Security Inc., udzielająca płatnej licencji na jego używanie w programach innych producentów (patent ważny jednak tylko w USA). Działanie RSA oparte jest na algorytmie służącym do generowania unikalnych i bezpiecznych (odpornych na próby odgadnięcia) par kluczy. Mnoży on dwie duże liczby pierwsze i z otrzymanego wyniku poprzez 8 SPIS RYSUNKÓW kilka innych dodatkowych operacji ustala klucz publiczny i zależny od niego klucz prywatny. Pierwszy z nich służy do szyfrowania wiadomości przeznaczonych dla właściciela kluczy i dlatego powinien być jak najszerzej propagowany. Klucz prywatny jest tajny i tylko przy jego pomocy można odszyfrować to, co zostało zakodowane kluczem publicznym. Algorytm RSA może też być używany do tworzenia podpisów cyfrowych. Polega to na tym, że dana wiadomość zostaje podniesiona do potęgi d a następnie żeby ją zweryfikować podpis podnoszony jest do potęgi e. W rzeczywistości jednak nie jest podpisywana sama wiadomość, ale specjalnie spreparowany pakiet składający się z funkcji skrótu (tzw. hasza) wiadomości oraz ustalonych bitów. • Diffie-Hellman - protokół uzgadniania kluczy, którego konstrukcja oparta jest na matematycznym problemie logarytmów dyskretnych, pod względem trudności porównywalnych z problemem rozkładu dużych liczb pierwszych . Protokół ten nie zabezpiecza jednak przed ingerencjami w komunikację (atak ”man in the middle”), a jedynie przed pasywnym podsłuchem. Dlatego należy go uzupełnić o zabezpieczenia przed atakiem aktywnym. Nazwa protokołu wywodzi się od nazwisk twórców , którymi są Whitfield Diffie i Martin Hellman. DES (ang. Data Encryption Standard ) - najpopularniejszy algorytm szyfrowania danych opracowany w latach siedemdziesiątych w firmie IBM (ang. International Business Machines Corporation). Następnie po modyfikacjach wprowadzonych w NSA (ang. National Security Agency) w 1977 roku standard ten został uznany przez rząd USA jako oficjalnie obowiązujący. Zastosowanie znajduje głównie w obszarze finansów i bankowości. Zasada działania opiera się na 56-bitowym tajnym kluczu, który wykorzystywany jest do kodowania 64-bitowych bloków danych. Operacja ta przebiega w kilku-kilkunastu etapach, podczas których tekst wiadomości ulega wielokrotnym przeobrażeniom. Klucz tajny wybierany jest losowo spośród 72 000 000 000 000 000 (72 kwadrylionów) możliwych. Na początku 1997 RSA Data Security, która była właścicielem patentu na algorytm ustanowiła nagrodę za jego złamanie. Udało się tego dokonać 90-dnia trwania projektu, przy pomocy 14 000 komputerów użytkowników Internetu. W późniejszym czasie jeszcze kilka razy łamano algorytm, przy czym zajmowało to coraz mniej czasu. Ostatecznie został opracowany algorytm 3DES (Triple-DES). Dzięki wprowadzeniu operacji trzykrotnego użycia trzech różnych kluczy o długości 56 bitów, czas potrzebny na złamanie zaszyfrowanej wiadomości wydłuża się z kilku dni do bilionów lat. • 3DES - algorytm szyfrowania symetrycznego polegający na trzykrotnym przetworzeniu wiadomości algorytmem DES. • SHA (ang. Secure Hash Algorithm) - rodzina powiązanych ze sobą kryptograficznych funkcji skrótu zaprojektowanych przez NSA (ang. National Security 0.2. KRYPTOGRAFIA 9 Agency) i publikowanych przez National Institute of Standards and Technology. • IDEA (ang. International Data Encryption Algorithm) - jest jednym z wielu algorytmów szyfrowania konwencjonalnego. Został on stworzony przez Xuejia Lai i Jamesa Masseya ze Szwajcarskiego Federalnego Instytutu Technologii. Wykorzystuje szyfr blokowy stosujący 128-bitowy klucz do szyfrowania danych w blokach po 64 bity. • AES (ang. Advanced Encryption Standard) - symetryczny szyfr blokowy opracowany w 1997 roku. Daje możliwość użycia kluczy o długościach 128, 192 i 256 bitów i operuje on na blokach danych o długości 128 bitów. • Blowfish - jest algorytmem wynalezionym przez Bruce’a Schneiera. Jest to algorytm blokowy z 64 bitowym blokiem i zmienną długością klucza. Blowfish jest używany w wielu popularnych programach kryptograficznych, np. Nautilius i PGPfone. Dotychczas, nie są znane jakiekolwiek próby złamania algorytmu. Należy także zwrócić uwagę na fakt, że długości klucza używane w kryptografii z kluczem publicznym są zwykle znacznie dłuższe od tych używanych w algorytmach symetrycznych. W związku z tym, problemem nie staje się poznanie właściwego klucza, ale wprowadzenie odpowiedniego tajnego klucza z klucza publicznego. I tak w przypadku algorytmu RSA wiąże się to z faktoryzacją dużej liczby, która ma dwa duże współczynniki (factors). Dla przykładu klucz 256 bitowy daje się łatwo faktoryzować przez zwykłych ludzi. Klucz 384 bitowy może być złamany przez uniwersytecką grupę badaniową albo firmy. Za całkowicie bezpieczne uważane są klucze 2048 bitowe. Dlatego powinno być oczywiste, że siła systemu kryptograficznego jest zwykle równa jego najsłabszemu punktowi. Zatem przy projektowaniu systemu kryptograficznego żaden jego aspekt nie powinien być przeoczony, począwszy od wyboru algorytmu, aż do dystrybucji kluczy i polityki ich użytkowania. Pomimo bardzo szybkiego rozwoju kryptografii, trzeba liczyć się z próbami rozszyfrowywania (kryptoanalizy) zakodowanych danych przechowywanych w systemach komputerowych. Działania takie zwane są potocznie „łamaniem szyfrów”, a osoba je wykonująca to kryptoanalityk. Oprócz wspomnianej wcześniej metody „na siłę” można wyróżnić dodatkowo następujące techniki: • Wyszukiwanie prawdopodobnych słów - polega na szukaniu słów pojawiających się w określonych miejscach, które z dużym prawdopodobieństwem powinny znajdować się w tekście i przy ich pomocy znalezienie klucza (chociaż jego części). 10 SPIS RYSUNKÓW • Analiza statystyczna - jej celem jest określenie prawdopodobieństwa rozkładu znaków dla danego języka i przy jego pomocy odczytanie kryptogramu (skuteczne szczególnie dla szyfrów podstawieniowych). • Analiza matematyczna - sprowadza się do ułożenia i rozwiązania układu równań na podstawie znanych algorytmów kryptograficznych. Wynik tych równań reprezentuje klucz lub tekst jawny (chociaż jego część). We współczesnych czasach kryptografia znajduje zastosowanie w wielu dziedzinach życia. Powszechnie wykorzystuje się ją w bankowości internetowej, gdzie wszystkie transakcje odbywają się w tak zwanym bezpiecznym połączeniu, a dodatkowo każda operacja jest zatwierdzana przy użyciu klucza prywatnego. Jednak poszczególne metody zależą już od konkretnego w tym przypadku banku, ale również każdej innej instytucji potrzebującej szyfrowania bądź uwierzytelniania. Na czym polega więc szyfrowanie? • Tekst jawny (generowany przez użytkownika) • Przetworzony do postaci zero-jedynkowej (ciąg binarny) • Szyfrator na wyjściu którego uzyskuje się tekst zaszyfrowany/tajny/szyfrogram 0.2. KRYPTOGRAFIA Rysunek 4: Klasyfikacja algorytmów kryptograficznych. 11 12 SPIS RYSUNKÓW