background image

 

 

ZASTOSOWANIE 

ZASTOSOWANIE 

KRYPTOGRAFII 

KRYPTOGRAFII 

W SZYFROWANIU DANYCH

W SZYFROWANIU DANYCH

 AUTOR 
    

EWA MICHNIEWICZ

EWA MICHNIEWICZ

 PRACA NAPISANA POD KIERNKIEM

 

DR  JACKA MATULEWSKIEGO

DR  JACKA MATULEWSKIEGO

background image

 

 

PODSTAWOWE  ZADANIA KRYPTOGRAFII

Poufność

 zapewnia tylko i wyłącznie uprawnionym do tego 

jednostkom na korzystanie i oglądanie danych w czytelnej 
formie.

Uwierzytelnianie

 jest to proces potwierdzający podaną 

tożsamość użytkownika,  urządzenia końcowego, bądź jednego 
i drugiego. Może to być klient, serwer, zwrotnica, router, 
ściana ogniowa. 

Integralność

 zapewnia, że dane nie zostały w żaden sposób 

zmienione lub zniszczone przez osoby niepowołane. 

Niezaprzeczalność

 

 tworzenie zaszyfrowanych dowodów 

przesłania wiadomości, uniemożliwiających nadawcy wyparcie 
się autorstwa 

background image

 

 

Techniki szyfrowania 

danych

Tryb 
elektronicznej 
książki kodowej
 

ECB

 

(Electronic 

Code Book)

 

Tryb wiązania 
bloków 
zaszyfrowanych 

CBC

 

(Cipher Block 

Chaining 

Tryb 
sprzężenia 
zwrotnego 
zaszyfrowaneg
o tekstu
 

CFB

 

(Cipher 
Feedback)

Tryb sprzężenia 
zwrotnego bloków 
wyjściowych
 

OFM 

(Output Feedback

 )

Reprezentuje 
najprostszą 
technikę 
szyfrowania   
blokowego. Po 
wstępnym 
podzieleniu 
tekstu jawnego 
na bloki, każdy 
blok szyfrowany 
jest w blok 
szyfrogramu.

 

Każdy blok tekstu 
jawnego jest przed 
szyfrowaniem łączony 
operacją XOR z 
poprzednim blokiem 
szyfrogramu. 
Wykorzystano w tym 
trybie mechanizm 
sprzężenia zwrotnego 
tzn. blok wyjściowy 
jest wykorzystywany 
do modyfikacji 
kolejnego bloku 
wejściowego. 

Umożliwia 
szyfrowanie 
danych w 
jednostkach 
mniejszych niż 
rozmiar 
pobranego bloku 
tekstu jawnego.

 

Jest podobny do 
trybu CFB z tą 
różnicą, że zamiast 
wyniku operacji XOR 
na najmłodszej 
pozycji rejestru 
przesuwającego 
kierowany jest wynik 
szyfrowania kluczem 
K bloku najstarszych 
bitów rejestru. 

Stosowane do 
transmisji 
pojedynczych 
wartości, np. 
klucza; 

Transmisja większych 
zestawów danych, np. 
FTP; 

Transmisja 
strumieniowa 
bajt po bajcie, 
np. TELNET; 

Transmisja 
strumieniowa bajt po 
bajcie, w kanałach 
podatnych na 
zakłócenia.

background image

 

 

Pojęcia stosowane w kryptografii

Szyfrowanie 

Proces przekształcania tekstu jawnego w szyfrogram tak, że zostaje ukryta 
jego zawartość. Do przekształcenia używa się algorytmu szyfrującego.

Deszyfrowanie

 

Proces przekształcania szyfrogramu w tekst jawny tak, że 

jego zawartość zostaje ponownie odkryta. Do przekształcenia używa się 
algorytmu deszyfrującego.

Algorytm szyfrujący

  

Jest to zbiór metod postępowania, który prowadzi do 

zaszyfrowania tekstu jawnego w szyfrogram

.

Algorytm  deszyfrujący

 

Zbiór  metod  służących  do  przekształcenia 

szyfrogramu w tekst jawny.

Klucz

 

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.

Klucz tajny

 

Dla algorytmów symetrycznych jest to zarówno klucz szyfrujący 

jak  i  deszyfrujący.  Dla  algorytmów  asymetrycznych  jest  to  klucz  prywatny 
służący jedynie do deszyfrowania.

Klucz  jawny

 

Dla  algorytmów  asymetrycznych  jest  to  klucz  szyfrujący.  Jest 

udostępniany publicznie.

background image

 

 

Kryptograficzne  funkcje  hashujące

 

są  zwykle  używane  do  obliczenia 

wyciągu z wiadomości podczas tworzenia cyfrowego podpisu. Funkcja hashująca 
kompresuje  bity  wiadomości  do  wartości  o  określonej  długości  (hash  value). 
Funkcja  hashująca  czyni  to  w  sposób,  który  sprawia  niezwykle  trudnym 
pojawienie się wiadomości, która dałaby w rezultacie tę samą hash-wartość.

Cyfrowe  podpisy

 

Niektóre  algorytmy  z  kluczem  publicznym  mogą  być 

używane  do  generowania  cyfrowych  podpisów.  Podpis  cyfrowy  jest  blokiem 
danych, który został wygenerowany za pomocą określonego tajnego klucza oraz 
istnieje  klucz  publiczny,  który  może  być  użyty  do  weryfikacji  czy  podpis  został 
naprawdę  wygenerowany  za  pomocą  odpowiadającego  klucza  prywatnego. 
Algorytm użyty do generowania podpisu musi być taki, że bez znajomości klucza 
prywatnego  nie  jest  możliwe  stworzenie  podpisu,  który  byłby  zweryfikowany 
jako ważny.

background image

 

 

Podział algorytmów

I.

Algorytmy ograniczone     

Dzisiaj  interesuje  się  nimi  jedynie  z 

historycznego punktu widzenia i nie są dobre 

dla  potrzeb  prawdziwego  bezpieczeństwa. 

Wystarczy bowiem odkryć jeden algorytm by 

możliwe  było  odszyfrowanie  wszystkich 

wiadomości, które zostały nim zakodowane. 

II

     

Algorytmy z kluczem

  

ich  algorytmy  są  znane,  ale  by  odczytać 

konkretną  wiadomość  musimy  posiadać 

właściwy klucz. 

background image

 

 

1.  Symetryczne

  –  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.  Są  szybsze  od 
asymetrycznych. 

1.

Strumieniowe

 – kodują jedną jednostkę informacji (bit) w 

tym samym czasie 

2.

Blokowe

  –  kodują  grupę  informacji  (wiele  bitów)  w  tym 

samym czasie 

2.  Asymetryczne  (z  kluczem  publicznym)

  –  używają 

odmiennego  klucza  do  szyfrowania  i  deszyfrowania, 
a  klucza  deszyfrującego  nie  da  się  wyprowadzić  z 
klucza  szyfrującego.  Klucz  szyfrujący  jest  zwykle 
udostępniany  publicznie  tak,  iż  każdy  może 
zakodować informację jednak jej odczytanie możliwe 
jest 

jedynie 

przez 

adresata, 

który 

posiada 

odpowiedni klucz deszyfrujący – nie ujawniany.  

background image

 

 

Szyfrowanie symetryczne

    

Nadawca 

            Odbiorca   

 

 

 

  Wiadomość jawna                                                  Wiadomość zdeszyfrowana 

 
 
 

 
 

  
 

 

 

 

 wiadomość  

 wiadomość 

zaszyfrowana 

zaszyfrowana 

 

Szyfrowanie 

 

klucz prywatny 

 

Deszyfrowanie 

 

klucz prywatny 

 

background image

 

 

Do najczęściej używanych i obecnie stosowanych 
algorytmów z kluczem symetrycznym należą:

              

DES 

           3DES 

           RC-2

           RC-4 

           RC-5

           IDEA 

           Blowfish

           Rijndael

background image

 

 

Szyfrowanie asymetryczne

    Nadawca 

            Odbiorca   

 

 

 

  Wiadomość jawna                                                  Wiadomość zdeszyfrowana 

 

 

 

 

 
 

 

 

 

 

 

 

        wiadomość zaszyfrowana                                  wiadomość zaszyfrowana 

 

Szyfrowanie 

 

klucz publiczny 

odbiorcy 

Deszyfrowanie 

 

klucz prywatny 

odbiorcy 

background image

 

 

Do wykorzystywanych obecnie algorytmów 
opartych o metodę klucza asymetrycznego 
należą:

         

DSS

       ElGamal

       RSA.

background image

 

 

PROGRAM SZYFROWNIK

background image

 

 

Program ma na celu 
przedstawienie różnych 
rodzajów szyfrów

Szyfrowanie tekstowe

Zastosowanie szyfru Cezara

Rot 13

Zastosowanie dowolnego 
przesunięcia

Operacja XOR

Kodowanie przy użyciu hasła

background image

 

 

Szyfrowanie tekstowe

 

Tekst jawny

Tekst 
zaszyfrowany

background image

 

 

Szyfr Cezara

Szyfr Cezara jest 

prostym rodzajem 
szyfrowania 
wiadomości, która 
stosował już Juliusz 
Cezar. Jest to szyfr 
podstawieniowy prosty 
(monoalfabetyczny), w 
którym każdemu 
pojedynczemu znakowi 
w tekście odpowiada 
dokładnie jeden znak w 
tekście zaszyfrowanym. 

background image

 

 

ROT 13

Zasada działania jest 

identyczna jak w 

przypadku szyfru Cezara - 

różnica polega na wartości 

przesunięcia. W tym 

przypadku każdą literę 

tekstu jawnego 

zamieniamy na literę, 

znak przesunięty o 13 

miejsca w prawo podczas 

szyfrowania . W celu 

odszyfrowania tekst 

powtarzamy operację tym 

razem przesuwając litery, 

znaki o 13 pozycje w lewo.

background image

 

 

Dowolne przesunięcie

Działanie 

szyfrowania/deszyfrowan
ia z przesunięciem ma 
identyczna genezę jak  w 
przypadku szyfru Cezara 
czy ROT 13. Jednak  
przesunięcie w tym 
programie wyznacza 
sam użytkownik.  
Wartość ta dla 
szyfrowania jak i 
deszyfrowania musi być 
identyczna. 

background image

 

 

XOR

Operacja  XOR    to  operacja  na 

dwóch 

bitach 

zwracająca 

wartość 1 lub 0.

      0 XOR 0 = 0

1 XOR 1 = 0
0 XOR 1 = 1
1 XOR 0 = 1

Procedura 

szyfrowania/deszyfrowania 
zostaje wykonana  tak, że  
każdy znak tekstu 
jawnego/zaszyfrowanego 
zostaje xor’owany przez 
wartość $a86 i następnie 
zapisany do pliku 
wyjściowego. Po kolejnym 
dokonaniu operacji XOR z 
pliku zaszyfrowanego 
otrzymamy plik z tekstem 
jawnym. Procedury szyfruj 
/deszyfruj są identyczne.

background image

 

 

Kodowanie przy użyciu 

hasła

Znacznie  lepszym  sposobem 

ukrywania informacji jest ich 
kodowanie  z  użyciem  hasła. 
Wybierając 

plik 

do 

zaszyfrowania 

pola 

FileListBox1 

 

wpisujemy 

hasło  według  którego  ma 
być 

dany 

plik 

szyfrowany/odszyfrowywany

Wykonana 

zostaje 

procedura 
szyfrowania/deszyfrowania.

hasło 

xor 

tekst_niezaszyfrowany      = 
tekst_zaszyfrowany

hasło xor tekst_zaszyfrowany    
     = tekst_niezaszyfrowany

background image

 

 

Podsumowanie


Document Outline