[ppt]kryptografia - wydział inżynierii metali i informatyki ...bforemni/kryptografia.ppt · web...

30
Kryptografia Bartosz Foremniak Krzysztof Bzowski

Upload: nguyenkien

Post on 01-Mar-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

Kryptografia

Bartosz ForemniakKrzysztof 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

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 cd..

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/

Fin