Professional Documents
Culture Documents
Szyfrowanie
Szyfrowanie
Semestr IV
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
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.
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
Ze wzgldw bezpieczestwa nie powinno si stosowa wicej ni 2 zagniedone szyfrowania ze wzgldu na ataki oparte na chiskim twierdzeniu o resztach.
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.