190 likes | 390 Views
Najpopularniejsze algorytmy szyfrujące. motto.
E N D
motto Dążenie do odkrywania tajemnic tkwi głęboko w naturze człowieka, a nadzieja dotarcia tam, dokąd inni nie dotarli, pociąga umysły najmniej nawet skłonne do dociekań. Niektórym udaje się znaleźć zajęcie polegające na rozwiązywaniu tajemnic... Ale większość z nas musi zadowolić się rozwiązywaniem zagadek ułożonych dla rozrywki: powieściami kryminalnymi i krzyżówkami. Odczytywaniem tajemniczych szyfrów pasjonują się nieliczne jednostki. John Chadwick Maciej Świderski s4936 - PJWSTK 2006
Plan prezentacji • Kryptografia • Kryptografia symetryczna • Kryptografia asymetryczna • Najpopularniejsze algorytmy RSA, DES, TripleDES, IDEA, MD5 • Ciekawostka Maciej Świderski s4936 - PJWSTK 2006
Czym jest kryptografia? • Kryptografia to nauka zajmująca się układaniem szyfrów. • Nazwa pochodzi z greckiego słowa: kryptos - "ukryty", gráphein "pisać„. • Wyróżniane są dwa główne nurty kryptografii: • Kryptografia symetryczna • Kryptografia asymetryczna Maciej Świderski s4936 - PJWSTK 2006
Kryptografia symetryczna(symmetric cryptography) Algorytmy z kluczem tajnym • Szyfrowanie z użyciem jednego klucza, wspólnego dla obu stron. • Nadawca jak odbiorca wiadomości posługują się tym samym kluczem. nadawcy - szyfrowania komunikatów, adresatowi - do odszyfrowywania zakodowanej treści. • konieczność uzgodnienia wspólnego klucza przed rozpoczęciem wymiany komunikatów. • Musi istnieć sposób bezpiecznego przekazania tajnego klucza.. • Komunikacji za pomocą kanałów nie zapewniających należytego bezpieczeństwa. Maciej Świderski s4936 - PJWSTK 2006
Kryptografia asymetryczna(asymmetric cryptography) Algorytmy z kluczem publicznym • Algorytmy z kluczem publicznym używają różnego klucza do szyfrowania i deszyfrowania, oraz klucz deszyfrującego. • klucz deszyfrujący nie może (praktycznie) być wyprowadzony z klucza szyfrującego. • Algorytmy te są ważne ponieważ mogą być używane do transmisji kluczy kodujących. Maciej Świderski s4936 - PJWSTK 2006
Algorytmy • RSA • DES • Triple DES • IDEA • MD5 Maciej Świderski s4936 - PJWSTK 2006
RSA • RSA to pierwszy i obecnie jeden z dwóch najpopularniejszych (obok ElGamala) algorytmów kryptografii asymetrycznej. • RSA opiera się na trudności faktoryzacji dużych liczb – znalezienie szybkiej metody faktoryzacji doprowadziłoby do złamania RSA. • Najpowszechniej używanym algorytmem z kluczem publicznym. • Może być używany zarówno do szyfrowania jak i do podpisywania. • Jest uważany za bezpieczny gdy używa się odpowiednio długich kluczy (768 – stosunkowo mało bezpieczne, 4096 – dobre bezpieczeństwo). • .RSA jest obecnie najważniejszym algorytmem z kluczem publicznym. • Od 2000 roku jest produktem opensource. Maciej Świderski s4936 - PJWSTK 2006
Działanie RSA Maciej Świderski s4936 - PJWSTK 2006
RSA cd • Jak działa RSA? Algorytm służący do generowania unikalnych i bezpiecznych (odpornych na próby odgadnięcia) par kluczy. Mnoży on dwie duże liczby pierwsze (podzielne tylko przez 1 i przez siebie) i z otrzymanego wyniku poprzez 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 co za tym idzie powinien być jak najszerzej propagowany. Klucz prywatny jest tajny i tylko przy jego pomocy można odszyfrować to, co zostało zakodowane kluczem publicznym. Przyjmując odpowiednio duże liczby pierwsze otrzymujemy szyfr odporny na złamanie. Odczytanie zakodowanej wiadomości wymagałoby bowiem rozłożenia bardzo dużej liczby na czynniki pierwsze - co przy dzisiejszym stanie nauk matematycznych jest niezwykle trudne. • RSA w praktyce Jedną z podstawowych zalet RSA (oprócz idei pary kluczy) jest jego siła - teoretycznie możliwe jest wykorzystywanie kluczy dowolnej długości. Przy dzisiejszym stanie wiedzy i technologii, wysoki poziom bezpieczeństwa zapewniają klucze o długości 4096 bitów - i takie też najczęściej stosowane są w praktyce (dla porównania - 56 bitów dla algorytmu DES odpowiada 512 bitom dla RSA). • Wada algorytmu RSA RSA wchodzi w skład wielu istniejących lub proponowanych standardów i protokołów sieciowych. Jest szeroko stosowany w komunikacji internetowej: poufnej poczcie elektronicznej i sygnowaniu dokumentów cyfrowymi podpisami, programie PGP, SET, S/MIME, HTTPS, SSL www.RSA.com Maciej Świderski s4936 - PJWSTK 2006
DES • DES jako standard. • DES jest oparty na kluczu prywatnym. • DES jest blokowym algorytmem z 64 bitowym blokiem. • DES używa kluczy 56 bitowych (podatny na złamanie) • DES jest wystarczająco silny by zatrzymać większość przypadkowych hackerów i osób trzecich. • DES staje się zbyt słaby i nie powinien być używany w nowych projektach kryptograficznych. • Odmiana DESa – potrójny DES bazuje na używaniu DESa trzy razy (zazwyczaj sekwencji szyfruj-deszyfruj-szyfruj z trzema różnymi niepowiązanymi z sobą kluczami). Maciej Świderski s4936 - PJWSTK 2006
DES korzysta z 56-bitowego klucza. Klucz korzysta z siedmiu bitów 8-bitowych bajtów (ósmy bit każdego bajtu użyty jest jako bit parzystości). DES jest szyfrem blokowym operującym na 64-bitowym bloku tekstu jawnego na raz (na rysunku 1-3) przedstawiony jest diagram blokowy algorytmu). Istnieje 16 rund szyfrowania za każdym razem z użyciem innego podklucza. Klucz przechodzi przez odrębny algorytm aby wytworzyć 16 podkluczy ( rysunek 1-4). Maciej Świderski s4936 - PJWSTK 2006
TripleDES • Zwielokrotniony DES może posłużyć do celu stworzenia silniejszego systemu szyfrowania. • Rysunek 1-5 przedstawia jego działanie. • Druga operacja jest właściwie deszyfrowaniem. • TDES może być zastosowany z trzema lub dwoma kluczami. • (Dwa klucze - Kl i K3 są równe, a K2 jest inny) • TDES jest względnie szybkim algorytmem i można nadal stosować go przy obecnym sprzęcie. • Zajmuje 3 więcej czasu niż DES, jako że zachodzą trzy operacje. • Dla większości aplikacji należy stosować TDES zamiast DES Maciej Świderski s4936 - PJWSTK 2006
IDEA (International Data Encryption Algorithm) • IDEA używa 128 bitowego klucza i jest generalnie uważany za bardzo bezpieczny. • Jest obecnie jednym z najbardziej znanych publicznie algorytmów. • Jest stosunkowo nowym algorytmem. • Nie udało się dotychczas przeprowadzić na niego udanego ataku. • IDEA jest opatentowany w USA i w większości krajów europejskich. • Nie komercyjne użycie IDEA jest darmowe. • Poleca się używanie tego algorytmu. Maciej Świderski s4936 - PJWSTK 2006
Algorytm IDEA Maciej Świderski s4936 - PJWSTK 2006
MD5 • MD5 jest również jedną z najpopularniejszych obecnie tzw. funkcji skrótu kryptograficznego (obok np. starszego MD4, czy nowszego SHA1, czyli Secure Hash Algorithm 1). • MD5 jest skrótem od angielskiej nazwy Message-Digest algorithm 5 (co oznacza Skrót Wiadomości wersja 5. • Jest to szeroko stosowany algorytm haszujący, który z dowolnego ciągu danych generuje 128-bitowy skrót • Funkcje skrótu kryptograficznego są to funkcje, które - podobnie jak znane z baz danych tzw. funkcje rozpraszające (hash functions) - na podstawie pewnego tekstu generują relatywnie krótki tekst (czy też liczbę, zwaną sumą kontrolną) związaną w pewien sposób z tym tekstem (np. może to być suma kodów ASCII wszystkich znaków tekstu). • Aby funkcja była dobrą funkcją skrótu kryptograficznego musi jednak spełniać dodatkowe założenie: - funkcja musi być jednokierunkowa, tzn. nie może być znany łatwy sposób generowania tekstów, dla których funkcja skrótu zwróci zadaną wartość (np. taką samą jak dla pewnego danego tekstu). - funkcja może być wykorzystywana do kontroli integralności danych: jeżeli obliczona dwukrotnie wartość funkcji dla pewnego tekstu uległa zmianie, to zmianie uległ sam tekst; - Jeżeli wartość funkcji pozostaje ta sama, to wejściowy tekst zapewne nie został zmodyfikowany. Dwa przykładowe programy stosujące MD5 to Tripwire i omówiony wcześniej Maciej Świderski s4936 - PJWSTK 2006
Ciekawostka • RSA Złamany?Istnieje wielomianowy algorytm faktoryzacji liczb. Jest to algorytm Shora. Za jego pomocą w łatwy sposób można odszyfrować wszystko, co jest zaszyfrowane przy pomocy algorytmów, których siła tkwi w problemie faktoryzacji. Przykładem takiego algorytmu jest algorytm RSA. Jedynym problemem, jest brak komputera kwantowego, który jest wymagany przez algorytm Shora. W przypadku wynalezienia komputerów kwantowych większość algorytmów używanych do szyfrowania byłaby bezużyteczna. Dotyczy to szczególnie algorytmów szyfrowania symetrycznego takich jak DES, IDEA, AES itp. oraz algorytmów szyfrowania asymetrycznego opartych na innym trudnym problemie a mianowicie problemie logarytmowania dyskretnego. Maciej Świderski s4936 - PJWSTK 2006
Dziękuje za uwagę Maciej Świderski s4936 - PJWSTK 2006