Kryptografia Bartosz Foremniak Krzysztof Bzowski Kryptografia Cryptograpy Dziedzina
Kryptografia Bartosz Foremniak Krzysztof Bzowski
Kryptografia (Cryptograpy) Dziedzina wiedzy zajmująca się zagadnieniami utajniania informacji poprzez jej szyfrowanie. Mianem kryptografii określa się też zbiór technik służących takiemu utajnianiu. Kryptoanaliza (Cryptoanalysis) Metody i środki służące do odgadnięcia algorytmu deszyfrującego gdy nie jest znany właściwy klucz.
Klucz jest to zbiór informacji potrzebnych algorytmowi szyfrującemu lub deszyfrującemu do poprawnego działania. Może to być jeden bajt albo kilkaset bitów. Klucz może być tajny albo publiczny.
Początki kryptografii Inforamcje o pierwszych zaszyfrowane wiadomości znajdują się w pismach Herodota opisujących wojne persko – grecką w V w. p. n. e. (ukrywanie tekstu) Pierwsze użądzenie szyfrujące “Scytale” (sparta)
Szyfrowanie symetryczne Szyfry symetryczne (z kluczem tajnym) Używają tego samego klucza do szyfrowania i do deszyfrowania wiadomości, albo klucz deszyfrujący da się bezpośrednio wyprowadzić z klucza szyfrującego. Znajomość zatem dobrego klucza służącego do zakodowania wiadomości umożliwia także jej odczytanie. szyfrowanie blokowe szyfrowanie strumieniowe przykładowe algorytmy: DES, blowfish, AES
Bezpieczeństwo szyfrowania (symetrycznego): Zależy od: odporoność na ataki brute force (ilości możliwych kluczy, czyli długości klucza) odporności na inne ataki “jawności algorytmu” Wszystkie tradycyjne szyfry maja charakter symetryczny
Szyfry przestawieniowe Szyfrogram osiągany jest poprzez przestawienie w okrślony sposób liter tekstu jawnego. Przykład: 1) przykładowy szyfr 2) pr zy kł ad ow ys zy fr 3) rp yz łk da wo sy yz rf 4) rpyzłkdawosyyzrf
Szyfry podstawieniowe Powstają poprzez podstawienie w miejsce danej litery w tekscie jawnym, innego znakowu (litery) w wyniku czego otrzymujemy szyfrogram monoalfabetyczne polialfabetyczne, homofoniczne, poligramowe
Szyfr Cezara Alfabet jawny a bc defgh i j k l mno pqr s t u v wxyz Alfabet szyfrowy D E F G H I J K L M N O P Q R S T U V W X Y Z A B C Tekst jawny veni, vidi, vici Tekst zaszyfrowany YHQL, YLGL, YLFL Polega on na zastąpieni każdej litery alfabetu literą znajdującą się o trzy pozycje dalej. Na podobnej zasadzie działa algorytm rot-13.
DES (ang. Data Encryption Standard - Standard Szyfrowania Danych) - szeroko używany algorytm kryptograficzny. Stworzony przez IBM na podstawie szyfru Lucifer, został zmodyfikowany przez amerykańską NSA. Zaakceptowany jako amerykański standard w roku 1977.
Budowa algorytmu DES Algorytm ten szyfruje bloki długości 64 bitów. Klucz jest również 64 -bitowy, z czego 8 jest bitami parzystości. Realna długość klucza wynosi więc 56 bitów. Szyfrowanie przy pomocy DES-a składa się z 16 rund. Przed pierwszą rundą i po ostatniej rundzie bity są permutowane. Po początkowej permutacji blok wejściowy jest dzielony na lewą i prawą połowę, każda ma 32 bity. Następnie jest wykonywanych 16 rund jednakowych operacji, w czasie których dane są łączone z kluczem. Efekty działania jednej rundy są brane jako dane wejściowe do następnej. Po szesnastej rundzie lewa i prawa połowa są łączone i końcowa permutacja kończy przebieg algorytmu
DES cd. .
DES - Podsumowanie DES to popularny algorytm, stosowany np. do kodowania haseł w systemie solaris Implementacja DES - DES zaprojektowany został w ten sposób, aby jego implementacja sprzętowa była znacznie bardziej efektywna niż programowa. Układy elektroniczne szyfrujące DES-em osiągają wydajność rzędu 1 GB/s, zaś programy działające na komputerach osobistych są tysiące razy wolniejsze Obecnie stosowane są warianty algorytmu DES, DESX, 3 DES – które zapewniają większe bezpieczeństwo Następcą DES miał być algorytm IDEA stosujący klucze 128 bitowe
Blowfish to szyfr blokowy stworzony przez Bruce'a Schneier'a w 1993 roku jako szybka i bezpłatna alternatywa dla istniejących ówcześnie algorytmów. Algorytm operuje na 64 -bitowych blokach i używa kluczy od 32 do 448 bitów. Algorytm ma postać szyfru Feistela z 16 rundami z SBOXami zależnymi od klucza. Każda zmiana klucza wymaga dość sporej ilości wstępnych obliczeń, żeby ustalić SBOXy. Z tego powodu atak brute-force trwa znacznie dłużej niż można byłoby się spodziewać.
AES - NASTĘPCA DES-A Na początku 1997 roku agencja NIST (National Institute of Standard and Technology) rozpisała konkurs na nowy standard, który miał otrzymać nazwę AES (Adavanced Enclyption Standard). Jednym z założeń było to, aby finalista konkursu zastąpił DES, który od ogłoszenia w 1977 roku był stosowany przez rząd amerykański i najprawdopodob-niej był najszerzej używanym szyfrem na świecie. Ostatecznie 2 października 2000 roku ogłoszono wyniki. Zwycięzcą został algorytm Rijn-dael, którego autorami są belgijscy naukowcy Joan Daemen i Vincent Rijmen. Algorytm ten, na dzień dzisiejszy, zastąpił używany dotychczas w administracji rządowej algorytm DES. Został również wprowadzony do użytku komercyjnego. Przypuszcza się, że będzie on podstawowym algorytmem szyfrowania przez następne 20 lat albo i dłużej
Algorytmy asymetryczne Do szyfrowanie używa się klucza publicznego (public key) osoby, do której przesyłamy wiadomość, a do odszyfrowania wiadomości osoba ta używa własne klucza prywatnego (private key). Klucz publiczny może być udostępniony dla ogółu. PRZYKŁAD: El. Gamal RSA ECIES EPOC PSEC
Jak działa algorytm asymetryczny ? Szyfry asymetryczne są oparte na problemach, które łatwo policzyć w jedną stronę, bardzo trudno zaś w drugą: faktoryzacja – mnożenie dowolnie dużych liczb jest bardzo łatwe, rozkład dużej liczby na czynniki pierwsze bardzo trudny logarytm dyskretny – podnoszenie dowolnej liczby do dowolnej potęgi modulo n jest łatwe, znalezienie logarytmu dyskretnego liczby y o podstawie g, bardzo trudne
RSA Rivest - Shamir - Adleman Fundamentem RSA jest 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.
Zastosowanie RSA Transakcje internetowe (RSA jest domyślnie zaimplementowane w przeglądarkach www) Bezpieczna wymiana informacji w sieci Potwierdzenie autentyczności i podpis elektroniczny
Podpis cyfrowy Podpis elektroniczny to dodatkowa informacja dołączona do wiadomości służąca do weryfikacji jej źródła. Podpis elektroniczny służy zapewnieniu między innymi następujących funkcji: autentyczności, niezaprzeczalności nadania informacji, integralności,
Podpis cyfrowy, cd. Podpisy cyfrowe korzystają z kryptografii asymetrycznej – tworzona jest para kluczy, klucz prywatny i klucz publiczny – klucz prywatny służy do podpisywania wiadomości, klucz publiczny natomiast do weryfikowania podpisu. Najważniejszymi kryptosystemami umożliwiającymi podpisywanie cyfrowe są: RSA, El. Gamal i DSA. Inne znane systemy proponowane dla podpisu elektronicznego to: SFLASH, Quartz, NTRU oraz ECDSA. Najpopularniejsze standardy pozwalające na złożenie podpisu elektronicznego to X. 509 oraz PGP.
PGP (Pretty Good Privacy) wykorzystanie algorytmu RSA To jedno z najpopularniejszych narzędzi do szyfrowania poczty elektronicznej. PGP pozwala szyfrować i deszyfrować przesyłane wiadomości, podpisywać je cyfrowo, weryfikować autentyczność nadawcy (pod warunkiem że ten także korzysta z PGP) i zarządzać kluczami. Weryfikacja kluczy opiera się o sieć zaufania (web of trust).
Możliwości PGP Szyfrowanie poczty e-mail Tworzenie wirtualnych zaszyfrowanych dysków (Virtual Disk) Tworzenie zaszyfrowanych archiwów (PGP Zip) Szyfrowanie zawartości fizycznej dysku Przechowywanie klucza prywatnego na zewnetrznym nośniku
SSL to protokół służący do szyfrowania transmisji danych Internetecie. Może być stosowany zarówno do zabezpieczenia przesyłania danych ze strony WWW (przedrostek ‘https: //’), jak i poczty elektronicznej (wysyłka i odbiór poczty). W momencie uruchomienia szyfrowania wszelkie dane przesyłane na linii użytkownik - serwer są kodowane. Moc szyfrowania (zazwyczaj 128 bitów) praktycznie uniemożliwia podsłuchanie transmisji.
Opis sesji SSL ‘Hello’ i negocjacja parametrów (wersja TLS, metoda szyfrowania tajnego klucza, hash) Wymiana certyfikatów (uwierzytelnie za pomocą klucza publicznego udostępnionego przez CA. ) Uzgadnianie klucza (Wymiana) Uwierzytelnienie Poufność i integralność (kompresja, hash)
Algorytm haszujący W wyniku zastosowania algorytmu haszującego otrzymujemy cyfrowe "streszczenie" przekazywanej wiadomości, które nazywane jest często wartością hash. MD 5 CRC 32 SHA-1 RIPEMD-160 ZASTOSOWANIE: Podpis elektroniczny Sumy kontrolne
MD 5 Ideą algorytmu jest zapewnienie unikalności wyników hash w taki sposób, aby nie było możliwe uzyskanie tego samego skrótu dla dwóch różnych wiadomości leżących "blisko siebie" w zbiorze wiadomości (czyli niewielka zmiana w wiadomości np. zmiana jednej litery w całym akapicie powoduje całkowitą zmianę skrótu)
Przykład haszu MD 5
Bibliografia kryptografia. com Krzysztof Maćkowiak - „Kryptologia - podstawowe pojęcia” kryptografia. prv. pl www. nn. neostrada. pl/kryptografia/
Fin
- Slides: 30