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