Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

Uniwersytet Technologiczno-Przyrodniczy w Bydgoszczy Wydzia Telekomunikacji, Informatyki i Elektrotechniki

Technika obliczeniowa i symulacyjna projekt zaliczeniowy Wykona: Bartomiej Chmielewski Temat:

Semestr IV

Kierunek: Elektronika i Telekomunikacja

Kryptografia szyfrowanie przestawieniowe, RSA i steganografia

1. Wstp
Kryptografia jest to dziedzina wiedzy zajmujca si zagadnieniami utajniania informacji poprzez jej szyfrowanie. Mianem kryptografii okrela si rwnie zbir metod sucych do takiego utajniania. Dziki kryptografii moemy przeksztaci normalny, zrozumiay tekst lub innego typu wiadomo w taki sposb, i stanie si ona niezrozumiaa dla nieupowanionego odbiorcy. Waciwy adresat wiadomoci moe po jej otrzymaniu przeksztaci j z powrotem do czytelnej postaci. Jeszcze do niedawna gwnymi odbiorcami rozwiza kryptograficznych byy instytucje rzdowe, placwki dyplomatyczne oraz wojsko. Rozwj elektronizacji obiegu informacji spowodowa, e obszar zastosowa kryptografii znacznie si powikszy. Kluczow rol w tworzeniu usug dostpnych elektronicznie speniaj techniki kryptograficzne, stosowane do uwierzytelniania dokumentw i osb, jak rwnie do standardowej wymiany informacji. Kryptografia jest uywana rwnie w bankowoci i w telefonii komrkowej. Coraz bardziej popularne s zakupy przez Internet lub internetowe konta bankowe.

Celem projektu bya realizacja algorytmw kryptograficznych (szyfrujcych) w jzyku C Sharp (C#): szyfrowanie przestawieniowe RSA steganografia

2. Instalacja i opis rodowiska W projekcie posuyem si jzykiem C Sharp oraz rodowiskiem Microsoft Visual Studio Express 2012
http://go.microsoft.com/?linkid=9816758

3. Opis algorytmw I. Szyfrowanie przestawieniowe

Szyfr kolumnowy (ze sowem-kluczem)


Kluczem w szyfrach kolumnowych niekoniecznie musi by rozmiar tablicy i porzdek odczytywania jej kolumn, ale moe to by take konkretne sowo-klucz. Wtedy kadej literze sowa-klucza przypisujemy indeks. Zaczynamy od liczby 1, a koczymy na liczbie bdcej dugoci sowa-klucza. Indeks 1 przypisywany jest literze sowa-klucza, ktra jest najbliej

pocztku alfabetu, indeks 2 otrzymuje druga w kolejnoci litera itd. Gdyby w sowie-kluczu pojawiy si dwie takie same litery, wtedy indeksujemy je od lewej. Drugim krokiem jest utworzenie tablicy o szerokoci rwnej dugoci sowa-klucza i wysokoci obliczonej ze wzoru: suma/dugo_klucza, gdzie suma jest wynikiem dodania kolejno do siebie liczb cakowitych z przedziau <1, dugo_klucza>, np. wemy sowo kluczowe BALON, wtedy suma = 1 + 2 + 3 + 4 + 5, czyli suma = 15, wic tablica bdzie mie wymiary 5 3. Kolejn czynnoci jest wpisanie tekstu jawnego to tak utworzonej tablicy w taki sposb, e w i-tym wierszu umieszczamy tyle znakw, ile wynosi indeks i-tej litery sowa-klucza. Kryptogram odczytujemy kolumnami zgodnie z indeksami liter klucza. Przykad 3.1.3 Dany jest tekst jawny BRYLANTY_S_W_MOJEJ_SKRYTCE Klucz: BALATON

B 3 B Y T Y E Y

A 1 R L

L 4

A 2

T 7

O 6

N 5

_ _ J T

S W _ C _ S E M K X O R J

Aby zachowa zasad wypenienia kadego wiersza, w ostatnim dodajemy pusty znak X. Otrzymany kryptogram (wolne pola pomijamy) ma posta: RL_ _JTN_SEBYTYEYASW_CJORMKX
II. RSA
RSA jeden z pierwszych i obecnie najpopularniejszych asymetrycznych algorytmw

kryptograficznych z kluczem publicznym, zaprojektowany w 1977 przez Rona Rivesta, Adi Shamira oraz Leonarda Adlemana. Pierwszy algorytm, ktry moe byd stosowany zarwno do szyfrowania jak i do podpisw cyfrowych. Bezpieczeostwo szyfrowania

opiera si na trudnocifaktoryzacji duych liczb zoonych. Jego nazwa pochodzi od pierwszych liter nazwisk jego twrcw.

Generowanie kluczy[edytuj | edytuj kod rdowy]


W celu wygenerowania pary kluczy (prywatnego i publicznego) naley posuy si algorytmem:

Wybieramy losowo dwie due liczby pierwsze p i q (najlepiej w taki sposb, aby obie miay zblion dugo w bitach, ale jednoczenie byy od siebie odlege wartociami istniej lepsze mechanizmy faktoryzacji, jeeli liczba ma dzielnik o wartoci bliskiej )

Obliczamy warto n = pq Obliczamy warto funkcji Eulera dla n: Wybieramy liczb e (1 < e < (n)) wzgldnie pierwsz z (n) Znajdujemy liczb d odwrotn do e mod (n):

Klucz publiczny jest definiowany jako para liczb (n, e), natomiast kluczem prywatnym jest para (n, d).

Szyfrowanie i deszyfrowanie
Zanim zaszyfrujemy wiadomo, dzielimy j na bloki nastpnie kady z blokw szyfrujemy wedug wzoru: o wartoci liczbowej nie wikszej ni n, a

Zaszyfrowana wiadomo bdzie si skada z kolejnych blokw

. Tak wedug wzoru:

stworzony szyfrogram przeksztacamy na tekst jawny, odszyfrowujc kolejne blok .

Wasnoci operacji szyfrowania i deszyfrowania


Niech Wtedy zachodzi: bd kolejno szyfrowaniem i deszyfrowaniem kluczami K1 i K2.

- przemienno operacji szyfrowania - przemienno operacji deszyfrowania

Ze wzgldw bezpieczestwa nie powinno si stosowa wicej ni 2 zagniedone szyfrowania ze wzgldu na ataki oparte na chiskim twierdzeniu o resztach.

Podpisywanie i weryfikacja podpisu


Analogicznie, RSA moe zosta uyte do przeprowadzenia operacji podpisu. W takim przypadku szyfruje si zazwyczaj skrt wiadomoci za pomoc klucza prywatnego i propaguje taki szyfrogram wraz z oryginaln wiadomoci. Odbiorca posiadajcy klucz publiczny jest w stanie zdeszyfrowa warto funkcji skrtu oraz porwna j z wyliczon wartoci teje funkcji z otrzymanej wiadomoci. Jeli obie wartoci si zgadzaj, to przyjmuje si, e wiadomo zostaa podpisana poprawnie.

III.

Steganografia

Steganografia jest nauk o komunikacji w taki sposb by obecno komunikatu nie moga zosta wykryta. W odrnieniu od kryptografii (gdzie obecno komunikatu nie jest negowana natomiast jego tre jest niejawna) steganografia prbuje ukry fakt prowadzenia komunikacji.

4. Zaoenia programowe 5. Opis interfejsu

You might also like