[ppt]kryptografia - wydział inżynierii metali i informatyki ...bforemni/kryptografia.ppt · web...
TRANSCRIPT
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
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 kryptografiiInforamcje 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 szyfr2) pr zy kł ad ow ys zy fr3) rp yz łk da wo sy yz rf4) 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 jawnyAlfabet jawny a b c d e f g h i j k l m n o p q r s t u v w x y za b c d e f g h i j k l m n o p q r s t u v w x y zAlfabet szyfrowy 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 CD 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 jawnyTekst jawny veni, vidi, viciveni, vidi, viciTekst zaszyfrowanyTekst zaszyfrowany YHQL, YLGL, YLFLYHQL, YLGL, YLFL
Polega on na zastąpieni każdej litery alfabetu literą znajdującą się o 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.trzy pozycje dalej. Na podobnej zasadzie działa algorytm rot-13.
DES
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 - PodsumowanieDES 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, 3DES – które zapewniają większe bezpieczeństwo
Następcą DES miał być algorytm IDEA stosujący klucze 128bitowe
Blowfish
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 asymetryczneDo 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: ElGamal
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
RSARivest - 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, ElGamal 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
SSLSSL 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ącyW wyniku zastosowania algorytmu haszującego
otrzymujemy cyfrowe "streszczenie" przekazywanej wiadomości, które nazywane jest często wartością
hash. MD5
CRC32 SHA-1
RIPEMD-160ZASTOSOWANIE:
Podpis elektroniczny Sumy kontrolne
MD5
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 MD5
df0301ae558476a8cf038c92d5aa4c7a
systemy Operacyjne
ed112d6adefbf0c8d283307fe278f0f6
systemy operacyjne
3f9f483074fd5dc418fe6d196d586f23
systemy operacyjne
Hasz MD5Tekst jawny
Bibliografia
kryptografia.com Krzysztof Maćkowiak - „Kryptologia - podstawowe pojęcia” kryptografia.prv.pl www.nn.neostrada.pl/kryptografia/