SZYFROWANIE DANYCH Kubas Andrzej Szlenk Marcin.

Slides:



Advertisements
Podobne prezentacje
Macierze, wyznaczniki, odwracanie macierzy i wzory Cramera
Advertisements

Szyfrowanie symetryczne 1
Materiały pochodzą z Platformy Edukacyjnej Portalu
KRYPTOGRAFIA A B C D E F G H I J K L Ł M N O P R S T U W X Y Z
Liczby pierwsze.
KRYPTOLOGIA =KRYPTOGRAFIA+KRYPTOANALIZA
Badania operacyjne. Wykład 2
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu Wszelkie treści i zasoby edukacyjne publikowane na łamach Portalu
Liczby Pierwsze - algorytmy
Pisemne dzielenie liczb naturalnych
Macierze Maria Guzik.
Kryptografia i kryptoanaliza
I T P W ZPT 1 Jak smakuje Espresso I T P W ZPT 2.
Dr Anna Kwiatkowska Instytut Informatyki
Zapis informacji Dr Anna Kwiatkowska.
Techniczne aspekty realizacji podpisu cyfrowego z zastosowaniem algorytmu RSA mgr inż. Wojciech Psik Zespół Szkół Elektronicznych i Ogólnokształcących.
Ochrona danych wykład 3.
Projekt edukacyjny klasy IID
Matematyka.
O relacjach i algorytmach
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
MATEMATYCZNE METODY SZYFROWANIA
Wyrażenia algebraiczne
Podstawy analizy matematycznej II
A. Sumionka. Starodawna gra marynarska; Gra dwu i wieloosobowa; Gracze wykonują ruchy naprzemian; Złożona ze stosów, w których znajduje się pewna ilość
Zastosowania ciągów.
SZYFROWANIE INFORMACJI
ZASTOSOWANIE KRYPTOGRAFII W SZYFROWANIU DANYCH
Szyfry Anna Odziomek Kamila Lenarcik Paulina Majzel.
Opracowała Lidia Bissinger
Podstawy analizy matematycznej I
„Równania są dla mnie ważniejsze, gdyż polityka jest czymś istotnym tylko dzisiaj, a równania są wieczne.” Albert Einstein.
Matematyka i system dwójkowy
Materiały pochodzą z Platformy Edukacyjnej Portalu
KINDERMAT 2014 „Matematyka to uniwersalny język, za pomocą którego opisany jest świat”
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
Co to jest dystrybuanta?
Szyfrowanie i deszyfrowanie
Excel Filtrowanie Funkcje bazodanowe
Andrzej Majkowski informatyka + 1.
Zbiory Co to jest zbiór? Nie martw się, jeśli nie potrafisz odpowiedzieć. Nie ma odpowiedzi na to pytanie.
Grafika i komunikacja człowieka z komputerem
SZYFROWANIE Kacper Nowak.
Elementy geometryczne i relacje
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Kryptologia przykład metody RSA
PHP Operacje na ciągach znaków Damian Urbańczyk. Zabezpieczanie tekstów Pewne dane muszą być przechowywane w taki sposób, aby nie mogły się do nich dostać.
K ODY ZMIENNEJ DŁUGOŚCI Alfabet Morsa Kody Huffmana.
8. MATEMATYCZNE PODSTAWY ALGORYTMÓW KRYPTOGRAFICZNYCH
1. Adres względny 2. Adres bezwzględny 3. Adres mieszany.
„Filtry i funkcje bazodanowe w EXCELU”
Do czego służy arkusz kalkulacyjny, jego budowa
 Formuła to wyrażenie algebraiczne (wzór) określające jakie operacje ma wykonać program na danych. Może ona zawierać liczby, łańcuchy znaków, funkcje,
Liczby 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, …(i tak dalej) nazywamy liczbami naturalnymi. Tak jak z liter tworzy się słowa, tak z cyfr tworzymy liczby. Dowolną.
Liczby naturalne i całkowite Wykonanie: Aleksandra Jurkowska Natalia Piłacik Paulina Połeć Klasa III a Gimnazjum nr 1 w Józefowie Ul. Leśna 39 O5 – 420.
Wyrażenia algebraiczne
Liczbami naturalnymi nazywamy liczby 0,1,2,3,..., 127,... Liczby naturalne poznaliśmy już wcześniej; służą one do liczenia przedmiotów. Zbiór liczb.
URZĄDZENIA TECHNIKI KOMPUTEROWEJ Zapis liczb binarnych ze znakiem.
Rozpatrzmy następujące zadanie programowania liniowego:
Jak zaczynam przygodę z programowaniem z gimnazjalistami?
Podstawy Informatyki.
Matematyka przed egzaminem czyli samouczek dla każdego
EWOLUCJA SIŁY SZYFRÓW ABCDEFGHIJKLMNOPQRSTUVWXYZ
Wprowadzenie do edytorów tekstu.
Operacje na ciągach znaków
Liczby pierwsze oraz kryptologia
Zapis prezentacji:

SZYFROWANIE DANYCH Kubas Andrzej Szlenk Marcin

SZYFROWANIE DANYCH to, jak łatwo się domyśleć, sposób ochrony informacji przed jej zinterpretowaniem przez osoby niepowołane. Mogą one ja odczytywac, lecz zaszyfrowana treść (kryptogram) nie stanowi dla nich żadnej wartości, gdyż nie da się go przekształcić na tekst jawny (otwarty) bez znajomości odpowiedniego klucza. Ogólnie rzecz biorąc szyfrowanie ma nas uchronić przed: 1) Utratą zasobów - nieodwracalne zniszczenie części lub całości informacji. 2) Kradzież zasobów - przywłaszczenie danych, stanowiących własność innych osób. 3) Przekłamanie zasobów - zmiana części informacji np. w bazie danych 4) Łamanie praw autorskich dotyczących programów - modyfikowanie i nielegalne kopiowanie programów komputerowych.

Rozróżniamy następujące rodzaje szyfrów: Szyfry przestawieniowe Szyfry podstawieniowe a) monoalfabetyczne b) homofoniczne c) wieloalfabetyczne d) poligramowe Szyfry kaskadowe Szyfry wykładnicze Szyfry plecakowe

SZYFRY PRZESTAWIENIOWE Szyfry te zmieniają uporządkowanie bitów lub znaków w danych według pewnego schematu. Zazwyczaj dokonuje się przestawienia za pomocą pewnej figury geometrycznej. Szyfrowanie przebiega wiec w dwóch krokach: tekst jawny wpisuje się do figury w określony sposób (ścieżka zapisu), a następnie odczytuje się go według określonego porządku (ścieżka odczytu) otrzymując tekst zaszyfrowany. Klucz obejmuje wiec figurę geometryczna oraz ścieżki zapisu i odczytu. A) szyfr płotowy. Litery tekstu jawnego zapisuje się tu tak, aby tworzyły kształt przypominający wierzchołek płotu zbudowanego ze sztachet. Tekst zaszyfrowany otrzymujemy odczytując kolejne wiersze tak utworzonej konstrukcji

Weźmy zdanie "JAK MASZ NA IMIE KSIAZE" (pomińmy przy zapisie spacje): J A A E A A M S N I I K I Z K Z M S E Kryptogram w tym wypadku brzmi: "JAAEAAMSNIIKIZKZMSE". Klucz tego szyfru jest określony wysokością , która w tym wypadku wynosi 3.

B) przestawienie kolumnowe. Bardzo często używana figurą B) przestawienie kolumnowe. Bardzo często używana figurą geometryczną jest macierz dwuwymiarowa. Tekst jawny zapisuje się do macierzy wierszami. Kryptogram powstaje jako odczyt kolumn w określonym porządku. Szyfrujemy zdanie („SIE GRA SIE MA"): Przy odczycie kolumn w kolejności 4-2-1-3 tekst zaszyfrowany będzie miał postać: „G I I A M S R E E S A".

SZYFRY PODSTAWIENIOWE a) Szyfry podstawieniowe monoalfabetyczne Zamieniają one każdy znak tekstu jawnego na odpowiedni znak kryptogramu, przy czym w całej wiadomości do zamiany każdego znaku jawnego na zaszyfrowany stosuje się odwzorowanie typu jeden do jednego. Jako przykład szyfru monoalfabetycznego może nam posłużyć prosty szyfr Cezara (jako pierwszy użył go Juliusz Cezar). Polega on na przyporządkowaniu każdej literze alfabetu łacińskiego odpowiedniego numeru identyfikacyjnego (np. A=0, B=1 itd.) i dokonaniu przesunięcia numeru każdej litery tekstu jawnego o k = 3 pozycje (ma tu miejsce tzw. przewijanie - gdy kończy się alfabet przesuwamy się do jego początku). Zakres szyfrowania można oczywiście rozszerzyć na zbiór znaków ASCI (numery od 0-255) lub jakiś inny skończony zbiór n znaków. Funkcja szyfrująca będzie się wówczas wyrażała wzorem: F(a)=(a+k) mod n gdzie: k – klucz; a – litera wiadomości; n – liczba znaków alfabetu

W niektórych szyfrach podstawieniowych monoalfabetycznych do kodowania służyły również niestandardowe alfabety szyfrowe. Przykładem może tu być słynny szyfr cmentarny, którego klucz utworzono za pomocą rysunków stosowanych w grze w kółko i krzyżyk. Znane są również przypadki szyfrowania poprzez zamianę liter na nuty (np. J.S. Bach użył swojego nazwiska w Propozycjach muzycznych oraz Sztuce fugi). Należy wspomnieć, że większość szyfrów monoalfabetycznych jest w prosty sposób łamana na podstawie analizy częstości występowania liter lub znaków (nawet przy ataku bez tekstu jawnego). Z tego powodu ich praktyczne znaczenie jest znikome.

b) Szyfry podstawieniowe homofoniczne Szyfry te, podobnie jak poprzednio omówione szyfry monoalfabetyczne, zamieniają każdy znak tekstu jawnego na odpowiedni znak kryptogramu, z tą jednak różnicą, że odwzorowanie ma tu charakter jeden do wielu i każdy znak może być zaszyfrowany jako jeden z pewnej grupy znaków alfabetu szyfrowego. Jako przykład weźmy prosty szyfr, w którym litery alfabetu łacińskiego są szyfrowane jako liczby całkowite z przedziału (0, 99), przy czym ilość liczb całkowitych przydzielonych danej literze jest proporcjonalna do względnej częstości jej występowania i żadna z tych liczb nie jest przydzielona do więcej niż jednej litery

Przykładowo szyfrować będziemy słowo "POLONEZ" Przykładowo szyfrować będziemy słowo "POLONEZ". Na początku określmy możliwy przydział liczb do liter w wiadomości o tej treści (dla uproszczenia nie określamy przyporządkowań dla pozostałych liter alfabetu). Litera Homofony E 17 19 34 41 56 60 67 83 L 08 22 53 65 88 90 N 03 44 76 O 02 09 15 27 32 40 59 P 01 11 23 28 42 54 70 80 Z 33 91 Jedną z możliwych postaci zaszyfrowania tego słowa jest: 11 15 08 40 03 56 91.

Szyfry homofoniczne mogą być znacznie trudniejsze do złamania, gdy liczba homofonów przydzielona danej literze jest proporcjonalna do względnej częstości jej występowania, ponieważ rozkład częstości występowania symboli jest wtedy prawie jednostajny, co utrudnia analizę. Dodatkową zaletą tych szyfrów jest możliwość kodowania równolegle z autentyczną wiadomością, którą chce się przekazać, wiadomości fałszywej (zmyłkowej).

c) Szyfry podstawieniowe wieloalfabetyczne Stosuje się w nich wiele odwzorowań znaków tekstu jawnego na znaki kryptogramu, przy czym każde odwzorowanie jest z reguły typu jeden do jednego, podobnie jak w szyfrach monoalfabetycznych. Jak więc widzimy szyfry wieloalfabetyczne ukrywają rozkład częstości przez użycie wielu podstawień. Większość szyfrów tej grupy to szyfry okresowe o okresie d znaków. Klasycznym przykładem może tu być powstały w XVI wieku szyfr Vigenere'a. Szyfrowanie wiadomości przebiega tu na podstawie dowolnie wybranego słowa kluczowego (hasła). W przypadku znaków ASCI może to być dowolny ich ciąg. Do numeru każdego kolejnego znaku tekstu jawnego dodajemy numer odpowiadającego mu znaku słowa kluczowego i uzyskujemy znak kryptogramu. Gdy słowo kluczowe się skończy, bierzemy je kolejny raz od początku.

Fi(a) = (a+ki) mod 255 Gi(x) = (x-ki) mod 255 Dla znaków ASCI szyfr Vigenere'a można przedstawić za pomocą poniższej funkcji: Fi(a) = (a+ki) mod 255 Funkcja deszyfrująca będzie oczywiście wyglądała tak: Gi(x) = (x-ki) mod 255

Zilustrujmy działanie szyfru na przykładzie zdania "JUTRO JEST SOBOTA" Zilustrujmy działanie szyfru na przykładzie zdania "JUTRO JEST SOBOTA". Dla uproszczenia bierzemy pod uwagę tylko litery alfabetu łacińskiego. Przyporządkowujemy im kolejno liczby od 0 do 25. Hasłem będzie słowo "KOT". Tekst jawny dzielimy na 3 literowe grupy (pomijając oczywiście spacje) i przesuwamy pierwszą literę każdej grupy o 10 znaków, drugą o 14, a trzecią o 19. Wygląda to mniej więcej tak: J U T R O E S B A K I M C G Y H Otrzymany kryptogram to następujący ciąg liczb: "T I M B C C O G M C C U Y H T".

Łatwo zauważyć, że im dłuższe i bardziej skomplikowane jest hasło, tym trudniej odszyfrować tekst utajniony. Z kolei równie łatwo jest zauważyć, że gdy nasze hasło będzie jednoznakowe otrzymamy prosty szyfr monoalfabetyczny. Dla określonego zbioru znaków, będącego dziedziną działań na tekstach możemy stworzyć tzw. tablicę Vigenere'a, która określa nam przesunięcia dla dowolnej kombinacji znaków. Okresowe szyfry wieloalfabetyczne również nie należą do najbezpieczniejszych. Po wyznaczeniu okresu takiego szyfru jest on w zasadzie bez problemów przełamywany. Do wyznaczania okresu szyfru służą dwie metody: wskaźnika zgodności i Kasiskiego.

d) Szyfry podstawieniowe poligramowe Szyfry tego typu, w odróżnieniu od wyżej przedstawionych innych rodzajów szyfrów podstawieniowych, „kodują" jednoczesnie większe grupy liter. Złamanie takiego szyfru jest zatem dużo trudniejsze dzięki odebraniu znaczenia częstości występowania liter lub znaków.

SZYFRY KASKADOWE Złożenia wielu funkcji (szyfrów) Każda funkcja może być podstawieniem lub permutacja (przestawieniem). - szyfry podstawieniowo-permutacyjne. Tworca Shannon. Wzór ogólny: C = St * Pt-1* ... * P1* S1(M) gdzie: C - kryptogram M - tekst jawny Si - i-te podstawienie Pi - i-te przestawienie

Przykład: Tekst Jawny „Ala ma kota a kot ma Ale” Mając wzór podstawienia: C=P1*S1(M) Podstawienie: Przestawienie Wynik odczytujemy kolumnami: Przestawień i podstawień w tym wzorze może występować N! 

Szyfry wykladnicze Opierają się na wykonywaniu potęgowania w ciele skończonym. Przykładem może być szyfr RSA (od nazwisk autorów: Rivest, Shamir, Adleman). Modułem obliczeń jest tu liczba n, będąca iloczynem dwóch liczb pierwszych p i q. Blok tekstu jawnego M oraz kryptogram C musza zawierać się w zbiorze liczb całkowitych[0, n-1]. Szyfrowanie przebiega zgodnie ze wzorem: C = Me mod n Natomiast deszyfrowanie według: M = Cd mod n

Liczby całkowite dodatnie d i e należy dobrać według następujących wskazówek: d jest liczba z przedziału [max(p,q)+1,n-1] i pierwsza względem E(n)- funkcji Eulera dla n (najlepiej niech to będzie dowolna liczba pierwsza z tego przedziału). Na przykład zbiór residuów mod 10 to liczby {1,3,7,9}, gdyż nie zawierają one wspólnego czynnika (rożnego od 1) z liczba 10. Zatem E(n) = 4. Gdy n jest iloczynem dwóch liczb pierwszych (p, q) to zachodzi następująca prawidłowość: E(n) = (p-1) * (q-1) Wartość e oblicza się na podstawie równania: e = inv(d,E(n)). Najlepiej zastosować tu rozszerzony algorytm Euklidesa: a * x mod n = 1,

gdzie a jest liczba; całkowita; z przedziału [0, n-1] gdzie a jest liczba; całkowita; z przedziału [0, n-1]. W skrócie zapisuje się to tak: x = inv(a, n) Jeżeli na podstawie obliczeń otrzymamy e takie, ze e < log2n, to, aby zapewnić, ze dla każdego kryptogramu wystąpi przy odczycie redukcja modulo n, należy wybrać nowa wartość d i jeszcze raz obliczyć e.

Przykład: Niech n = 35, p = 5, q = 7 (w praktyce stosuje się oczywiście większe liczby). Wówczas: E(n) = (5-1) * (7-1) = 4 * 6 = 24 Wybieramy d = 11, wiec e = inv(11,24) = 11. Sprawdzamy, ze: 11 > log235. Bierzemy tekst jawny M = 2. Kryptogram C wynosi wtedy: C = Me mod n = 211 mod 35 = 2048 mod 35 = 18 Deszyfrowanie przebiega oczywiście w sposób następujacy: M = Cd mod n = 1811 mod 35 = 2

OCHRONA PROGRAMÓW OCHRONA PRZED MODYFIKACJĄ OCHRONA PRZED KOPIOWANIEM samo sprawdzanie się programów sprawdzanie poprawności bazy danych programu zabezpieczenie programów przed śledzeniem programami typu debugger OCHRONA PRZED KOPIOWANIEM Ochrona dyskietki dystrybucyjnej przed kopiowaniem. Ochrona programu instalacyjnego przed śledzeniem. Dzięki temu trudno będzie usunąć z niego inne zabezpieczenia. Sprawdzanie, czy program instalacyjny nie został zmodyfikowany (można w tym celu wykorzystać badanie sumy kontrolnej pliku). Zliczanie liczby instalacji (program instalacyjny powinien uruchamiać się jedynie określoną ilość razy). Ochrona zainstalowanego programu przed kopiowaniem. Ochrona zainstalowanego programu przed modyfikowaniem i śledzeniem (podobnie jak w przypadku programu instalacyjnego).