Wy偶sza Szko艂a Ekonomiczno-Informatyczna
w Warszawie
Wydzia艂 Zastosowa艅 Informatyki w Biznesie
Katedra podstaw informatyki i system贸w informatycznych
Tomasz Grabowski
Nr albumu 20622
„Szyfrowanie danych”
Praca dyplomowa
napisana pod kierownictwem
dr in偶. Piotra Helta
Warszawa 2005
SPIS TRE艢CI
Wst臋p 4
Szyfrowanie 6
Poj臋cie szyfrowania (kluczem prywatnym i publicznym) 6
Algorytmy szyfruj膮ce 7
Szyfry historyczne 7
Enigma 7
szyfr przesuwaj膮cy (monoalfabetyczny) 11
2. Szyfry wsp贸艂czesne 14
Asymetryczne 14
Blokowe 14
Serpent 17
Skipjack 18
3DES 18
Twofish 20
Strumieniowe 23
Funkcje mieszaj膮ce 25
MD5 25
SHA-1 26
SHA-256 27
SHA-384 27
SHA-512 27
Programy szyfruj膮ce 28
Enigma 2003 final 28
Data Encrytption Toolkit v. 1.12 36
Cheops v. „A” 39
Top Secret Next Generation 42
PGP 8.2 55
TmD SOFT Code 65
VMPC Data Security 72
Zako艅czenie 81
Bibliografia 84
I. Wst臋p
Rosn膮ce mo偶liwo艣ci oraz ci膮g艂e powi臋kszanie si臋 ilo艣ci u偶ytkownik贸w komputer贸w osobistych, przyczyni艂o si臋 do zapotrzebowania na programy zabezpieczenia danych przed:
- dzia艂aniem program贸w szpieguj膮cych. Zgodnie z badaniami przeprowadzonymi przez instytucje zajmuj膮ce si臋 bezpiecze艅stwem danych z USA jest nimi zainfekowany nieomal ka偶dy komputer pod艂膮czony do sieci! W wielu przypadkach w zainfekowanych komputerach „siedzi” po kilka program贸w szpieguj膮cych! Sprawdzaj膮 preferencje konsumenckie, przekazuj膮 poufne dane, analizuj膮 zachowania u偶ytkownik贸w itd. Odbiorcami danych s膮 nie tylko agendy wywiadu gospodarczego z ca艂ego 艣wiata, firmy analizuj膮ce dzia艂anie konkurencji itp. ale tak偶e - o zgrozo - instytucje pa艅stwowe masowo 艂ami膮ce prawo do prywatno艣ci. Znane s膮 przypadki 艣ledczego wykorzystania tak zdobytych danych w naszym kraju!
- wykradaniem danych. Proceder wbrew pozorom bardzo rozpowszechniony w wielu firmach, gdy偶 dane handlowe posiadaj膮 zwykle spor膮 warto艣膰 komercyjn膮.
- przechwytywanie korespondencji elektronicznej oraz danych przesy艂anych za pomoc膮 sieci - lokalnych i rozleg艂ych. W tym przypadku sama autoryzacja u偶ytkownika jest dalece niewystarczaj膮ca. Mo偶na do艣膰 艂atwo przechwyci膰 nie tylko korespondencj臋 czy przesy艂ane dane ale i podszy膰 si臋 na wiele sposob贸w pod autoryzowanego u偶ytkownika. Wiele firm nie zdaje sobie sprawy, 偶e ich sesje robocze s膮 „nas艂uchiwane” w spos贸b sta艂y przez programy, kt贸re robi膮 to automatycznie!
- przek艂amaniem danych. Dane zwykle bywaj膮 zmieniane w minimalnym zakresie. Je偶eli modyfikacji dokonano w dyskretny spos贸b, jest to trudne do wykrycia. Przek艂amanie mo偶e polega膰 na przechwyceniu oryginalnego listu, przesy艂anego sieci膮 Internet i zast膮pienia go listem o zmienionej tre艣ci.
To tylko niewielka cz臋艣膰 zagro偶e艅 dla danych przetwarzanych przez podmioty gospodarcze. Obecnie sprawne funkcjonowanie przedsi臋biorstwa jest najcz臋艣ciej uzale偶nione od dobrze dzia艂aj膮cego systemu informatycznego. Systemy te, zainstalowane w firmach, zawieraj膮 najbardziej istotne dla dzia艂ania i istnienia przedsi臋biorstwa informacje - wszelkiego rodzaju systemy finansowo-ksi臋gowe, kadrowe, magazynowe, bazy danych gromadz膮ce dane o klientach i kontrahentach, dokumenty wewn臋trzne o r贸偶nym stopniu poufno艣ci, a w tym projekty i dokumentacj臋. Niejednokrotnie firma ma wiele oddzia艂贸w po艂o偶onych w r贸偶nych cz臋艣ciach kraju lub 艣wiata, kt贸re musz膮 wymienia膰 poufne informacje mi臋dzy sob膮. Nie nale偶y si臋 wi臋c dziwi膰, 偶e mog膮 znale藕膰 si臋 zar贸wno osoby, jak i instytucje pragn膮ce w spos贸b nie autoryzowany dotrze膰 do poufnych informacji zgromadzonych w systemie informatycznym takiej firmy. Przed tego typu zagro偶eniami mo偶emy chroni膰 nasze dane, korzystaj膮c z obecnie dost臋pnych narz臋dzi. Istniej膮 w tym zakresie do艣膰 kosztowne rozwi膮zania, oparte na kombinacjach sprz臋towo-programowych, kt贸re i tak nie gwarantuj膮 pe艂nego bezpiecze艅stwa. Przyk艂adowo - blokowane s膮 skuteczne rozwi膮zania w zakresie szyfrowania danych czego przyk艂adem by艂y k艂opoty Philipa R. Zimmermanna, tw贸rcy silnego systemu kryptograficznego PGP. Coraz cz臋艣ciej pojawiaj膮 si臋 informacje, 偶e najbardziej znane algorytmy szyfruj膮ce s膮 powszechnie 艂amane nie tylko przez wyspecjalizowane instytucje rz膮dowe ale i wiele firm prywatnych, specjalizuj膮cych si臋 w „pozyskiwaniu” informacji. Trudno oceni膰 wiarygodno艣膰 tych informacji ale sukcesy niekt贸rych o艣rodk贸w akademickich
w 艂amaniu „bezpiecznych” szyfr贸w m贸wi膮 same za siebie... Silne rozwi膮zania
w zakresie bezpiecze艅stwa danych nie musz膮 by膰 kosztowne! Cz臋sto mo偶na je skonstruowa膰 za pomoc膮 narz臋dzi, kt贸re w znacznej cz臋艣ci s膮 bezp艂atne. Nie s膮 potrzebne du偶e pieni膮dze lecz inteligentna polityka bezpiecze艅stwa w firmie. Przyk艂adowo - nie mo偶na si臋 skutecznie obroni膰 przed „pods艂uchiwaniem” sieci przez specjalizowane programy, mo偶na sprawi膰 natomiast, 偶e b臋d膮 one otrzymywa膰 bezwarto艣ciowe dane.
Szyfrowanie
Szyfrowanie to procedura takiego przekszta艂cania wiadomo艣ci, 偶eby by艂a ona niemo偶liwa (lub bardzo trudna) do odczytania przez ka偶dego, kto nie posiada odpowiedniego klucza.
Wiadomo艣膰 przed zaszyfrowaniem nazywa si臋 tekstem jawnym (plaintext),
a wiadomo艣膰 zaszyfrowan膮 - szyfrogramem (ciphertext).
Szyfrowanie jest zaj臋ciem bardzo starym, aczkolwiek nowoczesna kryptografia narodzi艂a si臋 dopiero w epoce komputer贸w i starsze szyfry s膮 z dzisiejszego punktu widzenia zupe艂nie bezu偶ytecznie.
Szyfrowanie obejmuje bardzo wiele zagadnie艅. Najwa偶niejsze z nich to:
- kamuflowanie wiadomo艣ci i maskowanie dzia艂ania program贸w;
- zasady doboru hase艂;
- skuteczne niszczenie dokument贸w i kasowanie plik贸w;
- wykrywanie ukrytych kana艂贸w w aplikacjach;
- autentyzacja i certyfikacja (zagwarantowanie, 偶e dana osoba jest autorem dokumentu);
- podpisy cyfrowe (spos贸b przekonania osoby trzeciej o autentyczno艣ci dokumentu);
- dob贸r parametr贸w szyfrowania, aby by艂 bezpieczny przez jak najd艂u偶szy okres czasu mimo post臋p贸w w projektowaniu superkomputer贸w u偶ytych do 艂amania algorytm贸w szyfruj膮cych.
III. Algorytmy szyfruj膮ce
1. Szyfry historyczne
Szyfry historyczne musia艂y umo偶liwia膰 szyfrowanie i deszyfrowanie przez cz艂owieka, a wi臋c opiera膰 si臋 na bardzo prostych operacjach. Wsp贸艂czesne komputery s膮 o kilkana艣cie rz臋d贸w wielko艣ci szybsze w obliczeniach od ludzi, i potrafi膮 z艂ama膰 praktycznie ka偶dy tego typu szyfr. Dlatego te偶 w艂a艣ciwie wszystkie wymienione ni偶ej szyfry nie maj膮 obecnie 偶adnego praktycznego znaczenia.
Niekt贸re z szyfr贸w historycznych to:
szyfr przesuwaj膮cy (monoalfabetyczny) , do kt贸rego nale偶y Szyfr Cezara
Enigma
Oryginalna maszyna szyfruj膮ca Enigma
Enigma (艂ac. zagadka) - niemiecka maszyna szyfruj膮ca, u偶ywana przez wywiad oraz armi臋 niemieck膮. Powsta艂a w Niemczech, a jej wynalazc膮 by艂 Hugo Koch, kt贸ry sprzeda艂 jej patent in偶ynierowi Arturowi Scherbiusowi. Niemiecka marynarka wojenna zacz臋艂a stosowa膰 Enigmy ju偶 w 1926 roku, na l膮dzie wesz艂y do u偶ycia kilka lat p贸藕niej. Polacy pr贸bowali z艂ama膰 kod Enigmy ju偶 pod koniec lat dwudziestych, jednak偶e bez rezultatu. W贸wczas kierownictwo Biura Szyfr贸w Oddzia艂u II Sztabu G艂贸wnego zatrudni艂o do pracy profesjonalnych matematyk贸w. W 1929 roku zorganizowano kurs kryptologii dla student贸w matematyki pod kierunkiem profesora Zdzis艂awa Krygowskiego na Uniwersytecie Pozna艅skim. Na kurs zg艂osili si臋 m. in.: Marian Rejewski, Jerzy R贸偶ycki i Henryk Zygalski. W grudniu 1932 roku Rejewski zacz膮艂 pracowa膰 nad Enigm膮. Pomog艂y mu w tym informacje przekazywane przez francuski wywiad. Pomimo odtworzenia struktury wewn臋trznej Enigmy, wci膮偶 nie udawa艂o si臋 odczytywa膰 wszystkich wiadomo艣ci. Wkr贸tce do Rejewskiego do艂膮czyli dwaj pozostali matematycy, Zygalski i R贸偶ycki. Pierwsza kopia wojskowej wersji Enigmy powsta艂a w 1934 roku. Od tego czasu Polacy mogli odczytywa膰 korespondencj臋 niemieck膮, cho膰 nie by艂o to proste, bowiem Niemcy stale udoskonalali zar贸wno maszyn臋, jak i sposoby szyfrowania. Na kr贸tko przed wojn膮 w Pyrach pod Warszaw膮, w siedzibie Biura Szyfr贸w, dosz艂o do spotkania z wys艂annikami sojusznik贸w. Dwie Enigmy przekazano w贸wczas Francuzom i Brytyjczykom, wraz z materia艂ami do dekrypta偶u. Deszyfratory, kt贸re skonstruowano nast臋pnie w Bletchley Park, powsta艂y na podstawie otrzymanych w贸wczas od Polak贸w materia艂贸w.
Budowa maszyny
Z przodu maszyny znajduje si臋 26-literowa klawiaturka, a za ni膮 p艂ytka z drugim zestawem znak贸w pod艣wietlanych 偶ar贸wkami. W 艣rodku urz膮dzenia znajduj膮 si臋 3 (lub nawet 8 - zale偶y to od wersji Enigmy, o tym p贸藕niej) wirniki szyfruj膮ce (niem. Chiffrierwalzen) poprzedzone walcem wst臋pnym (Eintrittswalze) oraz jeden nieruchomy walec odwracaj膮cy (Umkehrwalze), mo偶na go odsun膮膰 odpowiedni膮 d藕wigienk膮.
Mi臋dzy klawiatur膮 a zespo艂em wirnik贸w znajduje si臋 centralka, 艂膮cznica wtykowa, w kt贸rej nast臋puje zamiana 12 (z 26) liter alfabetu, za pomoc膮 specjalnych sznur贸w (Steckerverbindungen). P贸藕niej zwi臋kszono liczb臋 par z 6 do 13, tym samym umo偶liwiaj膮c zamian臋 ca艂ego alfabetu.
Przy ka偶dym naci艣ni臋ciu klawisza na klawiaturce, nast臋puje przesuni臋cie o 1/26 pe艂nego obrotu skrajnego (prawego) wirnika szyfruj膮cego (pozosta艂e kr臋c膮 si臋 rzadziej). Pr膮d biegnie od klawiatury, poprzez 艂膮cznic臋, wszystkie wirniki i walec odwracaj膮cy, znowu wirniki i 艂膮cznic臋, wreszcie zapala si臋 odpowiednia 偶ar贸wka. W wypadku naci艣ni臋cia klawisza jak na zapalonej 偶ar贸wce, pojawi si臋 uprzednio wci艣ni臋ty znak. Wynika z tego, 偶e Enigm膮 mo偶na szyfrowa膰 i deszyfrowa膰 bez potrzeby wykonywania dodatkowych czynno艣ci.
Szyfr polialfabetyczny
Szyfr polialfabetyczny to uog贸lnienie szyfru monoalfabetycznego na wi臋ksz膮 ilo艣膰 przekszta艂ce艅.
Szyfr taki sk艂ada si臋 z n przekszta艂ce艅, takich 偶e pierwsz膮 liter臋 szyfrujemy pierwszym przekszta艂ceniem, drug膮 drugim itd., po czym powtarzamy przekszta艂cenia od pocz膮tku pocz膮wszy od litery n + 1-wszej.
Przyk艂adem takiego szyfru jest szyfr Vigenere'a.
Szyfr tego typu nie zapewnia 偶adnego bezpiecze艅stwa.
Szyfr Vigen猫re'a
Algorytm Vigen猫re'a jest jednym z klasycznych algorytm贸w szyfruj膮cych. Nale偶y on do grupy tzw. wieloalfabetowych szyfr贸w podstawieniowych. Jego rodow贸d si臋ga XVI wieku, kiedy zosta艂 on zaproponowany 贸wczesnemu w艂adcy Francji, kr贸lowi Henrykowi III przez Blaise'a de Vigen猫re.
Dzia艂anie szyfru Vigenere'a oparte jest na nast臋puj膮cej tablicy:
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 Z
B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
C 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
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 C
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 D
F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Z 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
Jak mo偶na zauwa偶y膰, ka偶dy z wierszy tablicy odpowiada szyfrowi Cezara, przy czym w pierwszym wierszu przesuni臋cie wynosi 0, w drugim 1 itd.
Aby zaszyfrowa膰 pewien tekst, potrzebne jest s艂owo kluczowe. S艂owo kluczowe jest tajne i m贸wi, z kt贸rego wiersza (lub kolumny) nale偶y w danym momencie skorzysta膰.
Przypu艣膰my, 偶e chcemy zaszyfrowa膰 prosty tekst, np.:
TO JEST BARDZO TAJNY TEKST
Do tego celu u偶yjemy znanego tylko nam s艂owa kluczowego, np. TAJNE
Na pocz膮tku zauwa偶amy, 偶e u偶yte s艂owo kluczowe jest zbyt kr贸tkie,
by wystarczy艂o do zaszyfrowania ca艂ego tekstu, wi臋c nale偶y u偶y膰 jego wielokrotno艣ci. B臋dzie to mia艂o nast臋puj膮c膮 posta膰:
TO JEST BARDZO TAJNY TEKST
TA JNET AJNETA JNETA JNETA
Nast臋pnie wykonujemy szyfrowanie w nast臋puj膮cy spos贸b: litera szyfrogramu odpowiada literze z tabeli znajduj膮cej si臋 na przeci臋ciu wiersza, wyznaczanego przez liter臋 tekstu jawnego i kolumny wyznaczanej przez liter臋 s艂owa kluczowego, np. po kolei T i T daje M, O i A daje O itd. W efekcie otrzymujemy zaszyfrowany tekst:
MO SRWM BJEHSO CNNGY CROLT
Warto zauwa偶y膰, 偶e tak naprawd臋 nie ma znaczenia, czy litera tekstu jawnego b臋dzie wyznacza艂a wiersz, a s艂owa kluczowego kolumn臋, czy na odwr贸t, efekt szyfrowania b臋dzie zawsze taki sam.
Deszyfracja przebiega bardzo podobnie. Bierzemy kolejne litery szyfrogramu oraz odpowiadaj膮ce im litery s艂owa kluczowego (podobnie, jak przy szyfrowaniu). Wybieramy kolumn臋 odpowiadaj膮c膮 literze s艂owa kluczowego. Nast臋pnie w tej kolumnie szukamy litery szyfrogramu. Numer wiersza odpowiadaj膮cy znalezionej literze jest numerem litery tekstu jawnego. Np. w kolumnie T litera M znajduje si臋
w wierszu T, w kolumnie A litera O znajduje si臋 w wierszu O itd.
Istnieje jednak偶e prostszy, szczeg贸lnie dla cel贸w implementacyjnych, spos贸b deszyfrowania. Wymaga on wykonania prostej operacji "odwr贸cenia" has艂a, jak poni偶ej:
K2(i) = [26 - K(i)] mod 26
gdzie K(i) - kolejne litery s艂owa kluczowego, numerowane A=0, B=1 itd., a K2(i) - kolejne litery has艂a "odwr贸conego". 26 oznacza liczb臋 liter alfabetu 艂aci艅skiego.
Efektem dzia艂ania takiego przekszta艂cenia dla has艂a "TAJNE" b臋dzie s艂owo "HARNW".
Nast臋pnie nale偶y na szyfrogramie wykona膰 operacj臋 szyfrowania z otrzymanym has艂em. Wynikiem, jak mo偶na si臋 przekona膰, b臋dzie posta膰 jawna tekstu.
Pierwsze z艂amanie szyfru nast膮pi艂o prawdopodobnie w roku 1854 przy u偶yciu kryptoanalizy statystycznej i zosta艂o dokonane przez Charles'a Babbage'a. Istot膮 z艂amania szyfru by艂o podzielenie wiadomo艣ci na cz臋艣ci w ilo艣ci r贸wnej d艂ugo艣ci klucza. W wyniku podzia艂u otrzymywano urywki wiadomo艣ci, kt贸re mo偶na by艂o traktowa膰 jak zaszyfrowane szyfrem monoalfabetycznym.
Szyfr przestawieniowy
Szyfry przestawieniowe (transposition cipher) nale偶膮 do grupy klasycznych metod szyfrowania. Szyfry te charakteryzuj膮 si臋 tym, 偶e w zaszyfrowanym tek艣cie wyst臋puj膮 wszystkie znaki z tekstu jawnego, ale w innej kolejno艣ci. Szyfry nale偶膮ce do tej grupy (np. szyfr p艂otkowy) zmieniaj膮 kolejno艣膰 liter w szyfrowanym tek艣cie wed艂ug okre艣lonego schematu. Najcz臋艣ciej przestawienia liter dokonuje si臋 za pomoc膮 figury geometrycznej.
Szyfry przestawieniowe s膮 艂atwe do z艂amania i nie zapewniaj膮 偶adnego bezpiecze艅stwa.
Szyfr przesuwaj膮cy (monoalfabetyczny)
Szyfr przesuwaj膮cy (ang. shift cipher) to szyfr, w kt贸rym ka偶demu znakowi tekstu jawnego odpowiada dok艂adnie jeden znak w szyfrogramie, przesuni臋ty
o okre艣lon膮, sta艂膮 liczb臋 znak贸w w alfabecie. Litery z ko艅ca alfabetu staj膮 si臋 literami
z jego pocz膮tku.
a - szyfrowana litera
k - klucz
n - ilo艣膰 liter w alfabecie
Przyk艂adowo przy przesuwaniu o 3 znaki w alfabecie 艂aci艅skim (bez polskich liter) litery A staj膮 si臋 D, F - I, a Y literami B.
Formalna definicja przekszta艂ce艅
Za艂o偶enia:
U偶ywamy alfabetu z 26 znakami, numerowanymi od 0 do 25.
x to znak tekstu jawnego
y to znak szyfrogramu
k to klucz (liczba o jak膮 przesuwamy)
Szyfrowanie:
y = (x + k) mod 26
gdzie mod to obliczanie reszty z dzielenia.
Deszyfrowanie:
x = (y - k) mod 26
Operacja "mod" w wi臋kszo艣ci j臋zyk贸w programowania daje ujemne wyniki dla ujemnego pierwszego argumentu, st膮d w praktyce do deszyfrowania lepiej u偶y膰 wzoru:
x = (y + 26 - k) mod 26
Przyk艂ad
Tekst jawny:
TEKST
JAWNY
Po przypisaniu ka偶dej literze liczby od 0 do 25 uzyskujemy:
19 4 10 18 19
9 0 22 13 14
Klucz: k=14 (a wi臋c dodajemy 14 do kodu ka偶dej litery, a nast臋pnie obliczamy reszt臋
z dzielenia przez 26)
Szyfrogram:
7 18 14 6 7
23 14 10 1 12
czyli po zamianie na litery:
HSYGH
XOKBM
Przydatno艣膰
Szyfry tego typu nie zapewniaj膮 absolutnie 偶adnego bezpiecze艅stwa.
Metod膮 艂amania takiego szyfru jest:
w przypadku znanego cho膰by ma艂ego fragmentu tekstu jawnego
z powtarzaj膮cymi si臋 znakami - umiejscowienie go w tek艣cie tajnym poprzez poszukiwanie podobnych wzorc贸w, np. je艣li wyst臋puje s艂owo "baobab", szukamy ci膮gu liter (xb, xa, xo, xb, xa, xb), czyli takiego, gdzie na pierwszym, czwartym i sz贸stym miejscu wyst臋puje ten sam znak, oraz na drugim i pi膮tym ten sam, ale inny od tamtych, a jeszcze inny na trzecim.
w og贸lniejszym przypadku nale偶y policzy膰 rozk艂ad statystyczny znak贸w
w zaszyfrowanym tek艣cie i por贸wna膰 z rozk艂adem w dowolnym tek艣cie jawnym z tego samego j臋zyka (najlepiej, ale niekoniecznie, tego samego autora na podobny temat). Przy d艂u偶szym tek艣cie tajnym pozwala to na idealne rozszyfrowanie.
Szyfr taki nigdy nie zapewnia艂 bezpiecze艅stwa i nie zapewnia go tym bardziej dzisiaj.
Szyfr przesuwaj膮cy z kluczem r贸wnym 3 nazywa si臋 szyfrem Cezara.
Szyfr Cezara
Szyfr stosowany przez Gajusza Juliusza Cezara, rzymskiego wodza i polityka, b臋d膮cy klasycznym przyk艂adem szyfru przesuwaj膮cego z kluczem r贸wnym 3.
Przyk艂ad
Tekst jawny:
Alea iacta est
Szyfrogram:
DOHDLDFWDHVW
2. Szyfry wsp贸艂czesne
Wsp贸艂cze艣nie mo偶emy podzieli膰 metody szyfrowania na 3 grupy:
a) Szyfry asymetryczne
W szyfrowaniu asymetrycznym wyst臋puj膮 2 klucze - klucz publiczny s艂u偶膮cy do szyfrowania, oraz klucz prywatny s艂u偶膮cy do deszyfrowania. Poniewa偶 nie ma potrzeby rozpowszechniania klucza prywatnego, bardzo ma艂e s膮 szanse, 偶e wpadnie on w niepowo艂ane r臋ce. Szyfry asymetryczne opieraj膮 si臋 na istnieniu pewnych trudnych do odwr贸cenia problem贸w. Np. o wiele 艂atwiej jest pomno偶y膰 przez siebie 2 du偶e liczby, ni偶 roz艂o偶y膰 du偶膮 liczb臋 na czynniki (opiera si臋 na tym system RSA). Drugim popularnym systemem jest ElGamal, opieraj膮cy si臋 na trudno艣ci logarytmu dyskretnego. Typowe rozmiary kluczy s膮 rz臋du 1024-2048 bit贸w. W przypadku RSA z艂amane zosta艂y klucze rozmiar贸w do ok. 500 bit贸w.
b) Szyfry blokowe
Szyfry blokowe to procedury, kt贸re szyfruj膮 niewielkie bloki danych (znacznie mniejsze od typowej wiadomo艣ci), wsp贸艂cze艣nie jest to najcz臋艣ciej 128 bit贸w (AES), cho膰 do niedawna przewa偶a艂y 64-bitowe bloki (DES, 3DES, Blowfish, IDEA). Klucze s膮 znacznie mniejsze, maj膮 zwykle od 128 do 256 bit贸w, przy czym warto艣ci mniejsze od 80 (DES - 56) s膮 uwa偶ane za niewystarczaj膮ce. Typowy szyfr blokowy sk艂ada si臋
z kilkunastu do艣膰 prostych rund przekszta艂caj膮cych blok. Operacje u偶ywane w tych szyfrach s膮 zwykle proste, ale pochodz膮 z "r贸偶nych 艣wiat贸w", np. u偶ywa si臋 dodawania, u偶ycia funkcji XOR, przesuni臋膰 cyklicznych, mno偶enia modulo liczb pierwszych itd. Ju偶 kilka rund takich operacji zupe艂nie zaburza jakikolwiek porz膮dek i jest bardzo trudne do analizowania.
Poniewa偶 szyfr blokowy szyfruje jedynie niewielk膮 ilo艣膰 informacji, u偶ywane s膮 r贸偶ne tryby szyfrowania, kt贸re umo偶liwiaj膮 szyfrowanie wi臋kszych wiadomo艣ci.
G艂贸wne tryby to:
W kryptografii CBC - Cipher Block Chaining to tryb kodowania wiadomo艣ci za pomoc膮 szyfru blokowego, w kt贸rym przed zaszyfrowaniem ka偶dy z blok贸w wiadomo艣ci jest przekszta艂cany funkcj膮 XOR z szyfrogramem uzyskanym
z szyfrowania poprzedniego bloku wiadomo艣ci. Pierwszy blok wiadomo艣ci jest szyfrowany za pomoc膮 wylosowanego ci膮gu bit贸w (IV, initial vector) do艂膮czanego
do wiadomo艣ci.
Wzory na kodowanie:
C0 = IV
Wzory na dekodowanie:
CFB - Cipher Feedback Tryb u偶ycia szyfru blokowego pozwalaj膮cy na u偶ycie go do kodowania strumieni danych. Szyfr blokowy jest u偶ywany do wygenerowania pseudolosowego ci膮gu danych, kt贸ry nast臋pnie pe艂ni rol臋 strumienia szyfruj膮cego mieszanego z danymi za pomoc膮 funkcji XOR.
Opis algorytmu:
Wybieramy losowy, jawny blok danych, zwany wektorem inicjuj膮cym. Jego d艂ugo艣膰 jest zale偶na od wybranego szyfru i jest r贸wna d艂ugo艣ci bloku, na kt贸rym operuje szyfr.
Szyfrujemy go za pomoc膮 tajnego klucza.
Poddajemy wynik z wiadomo艣ci膮 funkcji XOR i uzyskujemy fragment szyfrogramu.
Uzyskany fragment szyfrogramu po zaszyfrowaniu z u偶yciem tego samego klucza szyfruj膮cego stanowi kolejny fragment strumienia szyfruj膮cego.
CTR - Counter Tryb u偶ycia szyfru blokowego pozwalaj膮cy na u偶ycie go
do kodowania strumieni danych. Szyfr blokowy jest u偶ywany do wygenerowania pseudolosowego ci膮gu danych, kt贸ry nast臋pnie pe艂ni role strumienia szyfruj膮cego mieszanego z danymi za pomoc膮 funkcji XOR.
Opis algorytmu:
Wybieramy jawn膮 funkcj臋, kt贸ra na podstawie pozycji bloku danych wzgl臋dem pocz膮tku strumienia generuje ci膮g danych o d艂ugo艣ci r贸wnej d艂ugo艣ci bloku szyfru blokowego, wymagane jest by funkcja ta zwraca艂a warto艣ci pseudolosowe.
Wynik funkcji szyfrujemy szyfrem blokowym.
Poddajemy wynik z wiadomo艣ci膮 funkcji XOR i uzyskujemy fragment szyfrogramu.
Jest to najpopularniejszy tryb pracy szyfr贸w blokowych. W przeciwie艅stwie
do CFB i OFB pozwala odszyfrowa膰 dowolny fragment danych, bez konieczno艣ci odszyfrowywania wszystkich poprzedzaj膮cych.
OFB - Output Feedback Tryb u偶ycia szyfru blokowego pozwalaj膮cy na u偶ycie go do kodowania strumieni danych. Szyfr blokowy jest u偶ywany do wygenerowania pseudolosowego ci膮gu danych, kt贸ry nast臋pnie pe艂ni role strumienia szyfruj膮cego mieszanego z danymi za pomoc膮 funkcji XOR.
Opis algorytmu:
Wybieramy losowy, jawny blok danych, zwany wektorem inicjuj膮cym. Jego d艂ugo艣膰 jest zale偶na od wybranego szyfru i jest r贸wna d艂ugo艣ci bloku, na kt贸rym operuje szyfr.
Szyfrujemy go za pomoc膮 tajnego klucza.
Uzyskany ci膮g danych stanowi:
Pocz膮tek strumienia szyfruj膮cego dla funkcji XOR.
Tekst jawny, kt贸rego zaszyfrowanie dostarczy nam kolejny fragment strumienia szyfruj膮cego.
Niekt贸re szyfry blokowe to:
AES /Rijndael
Skipjack
Twofish
Rijndael/AES
Szyfr AES mo偶e operowa膰 na bloku o zmiennej d艂ugo艣ci, u偶ywaj膮c kluczy zmiennej d艂ugo艣ci. Oficjalna specyfikacja dopuszcza u偶ycie blok贸w 128-, 192- lub 256-cio bitowych, szyfrowanych kluczami 128-, 192- lub 256-cio bitowymi. Dopuszczalne s膮 wszystkie z 9 kombinacji.
Rijndael jest "iterowanym szyfrem blokowym", co oznacza, 偶e blok wej艣ciowy oraz klucz przechodz膮 wielokrotne RUNDY transformacji, zanim wyprodukuj膮 wynik. Po ka偶dej rundzie, powstaje szyfr po艣redni, zwany STANEM (State).
Serpent
Serpent (ang. „w膮偶") by艂 kolejnym finalist膮 konkursu AES. Jego konstrukcja przypomina czo艂g. Jest to propozycja najbardziej zachowawcza spo艣r贸d wszystkich przes艂anych do AES, pod wieloma wzgl臋dami odmienna od ostatecznie wybranego laureata. O ile AES najwi臋kszy nacisk k艂adzie na elegancj臋 i wydajno艣膰, Serpent zosta艂 zaprojektowany wy艂膮cznie z my艣l膮 o bezpiecze艅stwie. Najlepszy znany atak obejmuje jedynie 10 z 32 istniej膮cych tur . Wad膮 algorytmu Serpent jest jego szybko艣膰: jest on trzykrotnie wolniejszy od AES.
Pod pewnymi wzgl臋dami Serpent przypomina AES. Sk艂ada si臋 on z 32 tur. Ka偶da tura obejmuje przekszta艂cenie przez XOR wzgl臋dem 128-bitowego klucza tury, u偶ycie 128-bitowej liniowej funkcji mieszaj膮cej i r贸wnoleg艂e zastosowanie 32 czterobitowych S-boks贸w. Wszystkie 32 S-boksy s膮 identyczne dla wszystkich tur, ale do dyspozycji jest osiem r贸偶nych S-boks贸w, kt贸rych u偶ywa si臋 po kolei w nast臋puj膮cych turach.
Algorytm Serpent wykorzystuje pewne szczeg贸lnie pomys艂owe rozwi膮zanie programowe. Zwyk艂a implementacja by艂aby bardzo powolna, gdy偶 w ka偶dej z 32 tur konieczne jest przejrzenie 32 S-boks贸w. 艁膮cznie oznacza艂oby to konieczno艣膰 przejrzenia 1024 S-boks贸w, co mo偶e trwa膰 bardzo d艂ugo. Sztuczka polega na zast膮pieniu S-boks贸w wyra偶eniami logicznymi (boolowskie). Ka偶dy z czterech bit贸w wynikowych jest wyra偶any w postaci funkcji boolowskiej czterech bit贸w wej艣ciowych. Procesor bezpo艣rednio oblicza warto艣膰 funkcji korzystaj膮c z operacji AND, OR i XOR. Najwa偶niejszy jest fakt, 偶e w 32-bitowych procesorach mo偶na r贸wnolegle oblicza膰 transformacj臋 przez wszystkie 32 S-boksy, gdy偶 ka偶dy bit wynikowy opisany jest t膮 sam膮 funkcj膮, cho膰 dzia艂aj膮c膮 na r贸偶nych danych wej艣ciowych. Tego rodzaju implementacj臋 nazywamy implementacj膮 plasterkow膮 (ang. bitslice). Serpent zosta艂 zaprojektowany specjalnie z my艣l膮 o takiej implementacji. Przeprowadzenie fazy mieszania jest w niej wzgl臋dnie proste.
Gdyby Serpent by艂 tak szybki jak Rijndael (obecnie AES), prawie na pewno zosta艂by wybrany jako algorytm AES, a to z uwagi na jego konserwatywn膮 konstrukcj臋. Jednak szybko艣膰 jest poj臋ciem wzgl臋dnym. Je艣li mierzymy j膮 wzgl臋dem liczby szyfrowanych bajt贸w, Serpent jest prawie tak szybki jak DES i znacznie szybszy od 3DES. Serpent jest powolny jedynie w por贸wnaniu z pozosta艂ymi finalistami konkursu AES.
Skipjack
Algorytm Skipjack to tajny algorytm opracowywany w latach 1987-1993 przez NSA jako narz臋dzie do zapewniania bezpiecznej komunikacji g艂osowej oraz do wymiany danych z jednoczesnym umo偶liwieniem kontroli i pods艂uchu przez uprawnione agencje rz膮du USA. Urz膮dzenia dzia艂aj膮ce w systemie SKIPJACK
(np. telefony) maj膮 zainstalowany odporny na ingerencje uk艂ad scalony. Dystrybucja kluczy odbywa si臋 r臋cznie.
SKIPJACK szyfruje 64-bitowe bloki w 32 etapach za pomoc膮 80-bitowego klucza. Zak艂adaj膮c, 偶e dysponuje si臋 hipotetyczn膮 maszyn膮 z艂o偶on膮 z 1, 2 miliarda jednodolarowych uk艂ad贸w scalonych z zegarem 1 GHz i szyfrowaniem potokowym
w jednym cyklu zegara zakres kluczy SKIPJACK wyczerpa艂by si臋 po up艂ywie roku.
3DES
kodujemy pierwszym kluczem
dekodujemy drugim kluczem
kodujemy trzecim kluczem
c = E3(D2(E1(m)))
U偶ycie dekodowania jako drugiej fazy nie wp艂ywa na si艂臋 algorytmu (dekodowanie w DESie jest identyczne jak kodowanie, tylko ma odwr贸con膮 kolejno艣膰 rund), ale umo偶liwia u偶ywania 3DESa w trybie kompatybilno艣ci z DESem - za klucz pierwszy i drugi, lub drugi i trzeci przyjmujemy dowolny taki sam klucz, a za ostatni zwyk艂y klucz DESowski:
c = E3(D1(E1(m))) = E3(m)
c = E3(D3(E1(m))) = E1(m)
3DES u偶ywa takich samych rozmiar贸w blok贸w oraz tryb贸w jak zwyk艂y DES. Si艂a 3DESa jest tylko dwukrotnie, nie trzykrotnie wi臋ksza od si艂y zwyk艂ego DESa.
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 si臋 spodziewa膰.
W typowych algorytmach je艣li d艂ugo艣膰 klucza to k, a koszt zakodowania bloku to B, koszt ataku brute-force wynosi 2kB. W przypadku Blowfisha trzeba dla ka偶dego klucza obliczy膰 SBOXy, co zajmuje tyle co zakodowanie ok. 29 blok贸w, a wi臋c czas ataku brute-force wynosi oko艂o 2k + 9B (a zatem atak na 64-bitowy Blowfish zajmuje mniej wi臋cej tyle czasu co na 73-bitowy bardziej tradycyjny szyfr). Wad膮 tego rozwi膮zania s膮 do艣膰 du偶e wymagania pami臋ciowe - potrzebne s膮 ponad 4kB pami臋ci, co nie jest problemem dla nawet s艂abych komputer贸w, ale jest ju偶 dla np. kart chipowych.
Nie istniej膮 (2004) znane ataki na Blowfisha o ilo艣ci rund wi臋kszej ni偶 4.
S膮 znane do艣膰 du偶e jak na symetryczny szyfr blokowy grupy s艂abych kluczy, czyli takich, dla kt贸rych Blowfish jest s艂abszy ni偶 dla typowych kluczy (wi臋kszo艣膰 szyfr贸w posiada takowe, jednak szansa na wylosowanie takiego klucza jest bardzo niska).
Twofish
Twofish by艂 nast臋pnym finalist膮 AES. Mo偶na go traktowa膰 jako kompromis mi臋dzy AES a Serpent. Jest on niemal tak szybki jak AES, ale zapewnia wy偶szy poziom bezpiecze艅stwa. Co wa偶niejsze, nie ma on znanej prostej reprezentacji algebraicznej. Najlepszy znany atak obejmuje 8 z 16 tur. Najwi臋ksz膮 wad膮 Twofish jest to, 偶e zmiana klucza szyfruj膮cego mo偶e by膰 kosztowna, gdy偶 najlepsza implementacja tego algorytmu wymaga wielu oblicze艅 wst臋pnych.
Algorytm Twofish wykorzystuje te same struktury Feistela, co DES. Podczas szyfrowania Twofish 128-bitowy tekst otwarty dzieli si臋 na cztery warto艣ci 32-bitowe, na kt贸rych wykonywana jest p贸藕niej wi臋kszo艣膰 operacji. Funkcja tury sk艂ada si臋
z dw贸ch wywo艂a艅 funkcji g, funkcji o nazwie PHT oraz dodawania klucza. Wynik funkcji jest poddawany operacji XOR z pozosta艂膮 cz臋艣ci膮 danych (dwie pionowe kreski na prawo od bloku funkcji).
Ka偶da funkcja g sk艂ada si臋 z czterech S-boks贸w i z mieszaj膮cej funkcji liniowej bardzo podobnej do funkcji mieszaj膮cej AES. S-boksy s膮 ju偶 nieco inne.
W przeciwie艅stwie do wszystkich innych omawianych wcze艣niej szyfr贸w, tym razem S-boksy nie s膮 sta艂e: ich zawarto艣膰 zale偶y od klucza. Specjalny algorytm wylicza tablice S-boks贸w na podstawie klucza. Uzasadnieniem takiego rozwi膮zania jest utrudnienie analizy S-boks贸w potencjalnym w艂amywaczom. Dlatego w艂a艣nie w wielu implementacjach Twofish niezb臋dne s膮 dodatkowe obliczenia wst臋pne dla ka偶dego nowego klucza. W ich trakcie wyznacza si臋 nowe S-boksy, kt贸re nast臋pnie s膮 przechowywane w pami臋ci.
Funkcja PHT miesza dwa wyniki funkcji g korzystaj膮c z 32-bitowych operacji dodawania.
W algorytmie Twofish zastosowano dodatkowe przetwarzanie wst臋pne
i ko艅cowe. Polega ono na dodawaniu pewnych informacji z klucza do danych. W ten spos贸b szyfr trudniej poddaje si臋 wi臋kszo艣ci atak贸w, za艣 wzrost kosztu jest niewielki.
Tak jak w przypadku innych szyfr贸w, Twofish ma schemat przetwarzania klucza, pozwalaj膮cy uzyska膰 klucze tur oraz dwa dodatkowe klucze: pocz膮tkowy
i ko艅cowy.
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.
Algorytm jest nast臋puj膮cy:
Wykonujemy wej艣ciow膮 permutacj臋 danych (IP)
Powtarzamy 16 razy nast臋puj膮c膮 operacj臋
Przestawiamy bity danych (umieszczenie tej operacji mia艂o na celu preferowanie rozwi膮za艅 sprz臋towych w kt贸rych wykonanie tego przekszta艂cenia sprowadza si臋 do odpowiedniego przeprowadzenia po艂膮cze艅.
Dane kt贸re dostali艣my na wej艣ciu rundy dzielimy na dwie 32-bitowe cz臋艣ci - lew膮 Li i praw膮 Ri
Rozszerzamy przez powielanie bit贸w praw膮 cz臋艣膰 do 48 bit贸w uzyskuj膮c E(Ri)
Poddajemy funkcji XOR E(Ri) z podkluczem dla aktualnej rundy
Rozbijamy
na 8 fragment贸w po 6 bit贸w
Ka偶dy z tych fragment贸w jest argumentem jednej z 8 funkcji, tzw.
S-BOX-贸w.
艁膮czymy wyniki S-BOX贸w w
Permutujemy uzyskany wynik
Jako lew膮 stron臋 wyj艣cia przekazujemy praw膮 stron臋 wej艣cia:
Li + 1 = Ri
Jako praw膮 stron臋 wyj艣cia przekazujemy lew膮 stron臋 wej艣cia poddan膮 funkcji XOR z
:
Wykonujemy odwr贸con膮 permutacj臋 wej艣ciow膮 danych (IP - 1)
Schemat ten to tzw. sie膰 Feistela.
Deszyfrowanie polega na zastosowaniu tych samych operacji w odwrotnej kolejno艣ci (r贸偶ni si臋 od szyfrowania tylko wyborem podkluczy, kt贸ry teraz odbywa si臋 od ko艅ca).
Z powodu s艂abo艣ci klucza (56 bit贸w) zosta艂 w du偶ej mierze zast膮piony przez inne szyfry: modyfikacje DESa takie jak 3DES czy DESX, a ostatnio przez nowsze
i bezpieczniejsze algorytmy jak AES, IDEA, Twofish itd.
DES ma 4 s艂abe i 12 p贸艂s艂abych kluczy. Szansa na wylosowanie takiego wynosi
, czyli nie wp艂ywa w istotny spos贸b na si艂臋 szyfru.
DESX
DESX to prosta modyfikacja DESa:
blok danych poddajemy funkcji XOR z pierwszym kluczem (64 bitowym)
blok szyfrujemy za pomoc膮 DES-a drugim kluczem (56 bitowym)
blok danych poddajemy funkcji XOR z trzecim kluczem (64 bitowym)
Klucz ma nietypowy rozmiar 184 bit贸w (64+56+64).
DESX jest co najmniej tak samo bezpieczny jak DES na wszystkie mo偶liwe ataki, a na niekt贸re wydaje si臋 by膰 znacznie bardziej odporny. W szczeg贸lno艣ci klucz jest ju偶 na tyle du偶y, 偶e sprawdzenie wszystkich kluczy jest niepraktyczne.
DESX jest te偶 bardzo szybki (potrzeba tylko dw贸ch 64-bitowych XOR贸w na blok), w przeciwie艅stwie do innych modyfikacji DESa takich jak 3DES (kt贸ry potraja czas wykonywania).
IDEA
IDEA (International Data Encryption Algorithm) to symetryczny szyfr blokowy operuj膮cy na 64-bitowych blokach wiadomo艣ci i maj膮cy 128-bitowy klucz.
IDEA u偶ywa operacji z 3 艣wiat贸w na 16-bitowych liczbach:
XOR
Dodawanie modulo 216
Mno偶enie modulo 216 + 1 (kt贸re jest liczb膮 pierwsz膮), przy czym liczba 0 jest traktowana jako 216.
IDEA by艂a u偶ywana we wczesnych wersjach PGP.
IDEA jest obj臋ta patentem w USA, i jest dost臋pna do darmowego u偶ytku tylko w celach niekomercyjnych.
Ze wzgl臋d贸w patentowych oraz ze wzgl臋du na powstanie lepszych algorytm贸w (AES) i post臋py w kryptoanalizie IDEA znacznie straci艂a na popularno艣ci, cho膰 nie zosta艂a nigdy z艂amana.
c. Szyfry strumieniowe
Szyfry strumieniowe szyfruj膮 ka偶dy znak tekstu jawnego osobno, generuj膮c znak strumienia szyfruj膮cego i przekszta艂caj膮c go na przyk艂ad z u偶yciem funkcji XOR go ze znakiem danych, w zwi膮zku z czym nie jest konieczne oczekiwanie na ca艂y blok danych, jak w przypadku szyfr贸w blokowych. Najpopularniejszym wsp贸艂czesnym szyfrem strumieniowym jest RC4, kt贸rego stosowanie jest ograniczone ze wzgl臋du na
warunki licencyjne. Inne popularne szyfry strumieniowe to A5/1 i A5/2 stosowane
w telefonii kom贸rkowej. Do szyfr贸w strumieniowych nale偶膮 te偶 historyczne szyfry polialfabetyczne i monoalfabetyczne.
Niekt贸re z tryb贸w szyfr贸w blokowych - CFB, OFB, CTR - dzia艂aj膮 jako szyfry strumieniowe, generuj膮c strumie艅 szyfruj膮cy i przekszta艂caj膮c dane za pomoc膮 funkcji XOR.
Szyfr strumieniowy (stream cipher) to szyfr symetryczny, kt贸ry koduje generuj膮c potencjalnie niesko艅czony strumie艅 szyfruj膮cy (keystream), i XOR-uj膮c go
z wiadomo艣ci膮:
Odszyfrowywanie zakodowanej wiadomo艣ci odbywa si臋 w identyczny spos贸b - generujemy strumie艅 szyfruj膮cy, i XOR-ujemy go z szyfrogramem:
Istniej膮 szyfry strumieniowe oparte na generatorach liczb pseudolosowych - je艣li generator jest kryptograficznie silny, to j膮dro generatora mo偶e s艂u偶y膰 jako klucz,
a generowany strumie艅 pseudolosowych liczb jako strumie艅 szyfruj膮cy. Blum Blum Shub jest przyk艂adem generatora, dla kt贸rego (co rzadkie w kryptografii) istnieje dow贸d, 偶e z艂amanie go jest co najmniej r贸wnie trudne jak rozbicie liczby stanowi膮cej klucz na czynniki.
Szyframi strumieniowymi s膮 te偶 tryby CFB, OFB i CTR szyfr贸w blokowych. Generuj膮 one z samego klucza i z wektora inicjalizuj膮cego (nie korzystaj膮c z danych) strumie艅 szyfruj膮cy, po czym u偶ywaj膮 funkcji XOR do po艂膮czenia go z danymi.
IV. Funkcje mieszaj膮ce
Spo艣r贸d wszystkich elementarnych procedur kryptograficznych najbardziej uniwersalne s膮 funkcje mieszaj膮ce. Funkcji takich mo偶na u偶y膰 do szyfrowania, do potwierdzania to偶samo艣ci, a nawet w prostym schemacie podpisu cyfrowego.
Funkcja mieszaj膮ca pobiera jako dane wej艣ciowe dowolnej d艂ugo艣ci ci膮g bit贸w
i zwraca wynik o sta艂ym rozmiarze. Typowym zastosowaniem funkcji mieszaj膮cej s膮 podpisy cyfrowe. Je艣li dana jest wiadomo艣膰 m, mo偶na j膮 podpisa膰 bezpo艣rednio. Jednak operacje zwi膮zane z kluczem publicznym w wi臋kszo艣ci schemat贸w podpisu elektronicznego s膮 zwykle kosztowne obliczeniowo, wobec czego zamiast podpisywa膰 m, stosujemy funkcj臋 mieszaj膮c膮 h i skr贸t wiadomo艣ci h(m). Rozmiar wyniku funkcji h zwykle mie艣ci si臋 w przedziale od 128 do 512 bit贸w, podczas gdy sama wiadomo艣膰 m mo偶e zawiera膰 tysi膮ce lub nawet miliony bit贸w. Podpisanie h(m) jest zatem znacznie szybsze od podpisywania ca艂ej wiadomo艣ci m. Aby taka konstrukcja by艂a bezpieczna, niedopuszczalna jest mo偶liwo艣膰 skonstruowania dw贸ch wiadomo艣ci m1 i m2, dla kt贸rych funkcja mieszaj膮ca zwr贸ci t臋 sam膮 warto艣膰.
MD5
128-bitowa funkcja mieszaj膮ca MD5 zosta艂a stworzona przez Rona Rivesta.
Jest ona rozwini臋ciem funkcji MD4, dodatkowo zabezpieczonym przed atakami.
Podczas obliczania warto艣ci MD5 pierwszy kroki polega na podzieleniu wiadomo艣ci na bloki licz膮ce po 512 bit贸w. Ostatni blok jest dope艂niany, przy czym do艂膮cza si臋 do niego r贸wnie偶 d艂ugo艣膰 wiadomo艣ci. MD5 posiada 128-bitow膮 zmienn膮 stanu, podzielon膮 na cztery s艂owa po 32 bity ka偶de Funkcja kompresuj膮ca h' sk艂ada si臋 z czterech tur, podczas kt贸rych nast臋puje mieszanie blok贸w wiadomo艣ci ze zmienn膮 stanu. Mieszanie to polega na zastosowaniu pewnej kombinacji dzia艂a艅 dodawania, XOR, AND, OR i przesuni臋膰 s艂贸w 32-bitowych.W ka偶dej turze ca艂y blok wiadomo艣ci podlega przemieszaniu ze zmienn膮 stanu, wi臋c ka偶de s艂owo wiadomo艣ci jest u偶ywane czterokrotnie. Po czterech turach funkcji h' stan wej艣ciowy i wynik s膮 dodawane do siebie, daj膮c wynik h'.
Taka konstrukcj臋 dzia艂a艅 na s艂owach 32-bitowych da si臋 bardzo wydajnie zaimplementowa膰 dla 32-bitowych procesor贸w. Pierwszym przyk艂adem takiego rozwi膮zania by艂a funkcja MD4, obecnie jest ono wsp贸ln膮 cech膮 wielu realizacji elementarnych operacji kryptograficznych.
Jedna z podstawowych w艂a艣ciwo艣ci iteracyjnych funkcji mieszaj膮cych orzeka,
偶e je偶eli funkcja h' jest odporna na kolizje, to funkcja mieszaj膮ca h zbudowana na podstawie h' jest tak偶e odporna na kolizje. Ostatecznie przecie偶 wszelkie kolizje h mog膮 mie膰 miejsce tylko jako kolizje h'. Funkcja MD5 jest problematyczna o tyle, 偶e znane s膮 kolizje jej funkcji h'. Obecnie nie s膮 znane 偶adne ataki na sam膮 funkcj臋 MD5,
ale istnienie kolizji funkcji kompresuj膮cej oznacza, 偶e korzystaj膮c z MD5, trzeba zachowa膰 ostro偶no艣膰.
W wi臋kszo艣ci zastosowa艅 128-bitowy rozmiar obszaru mieszania MD5 ju偶
nie wystarcza. Wykorzystuj膮c paradoks urodzinowy, mo偶na znale藕膰 kolizj臋 MD5
po obliczeniu oko艂o 264 warto艣ci funkcji mieszaj膮cej, co we wsp贸艂cze艣nie powstaj膮cych systemach jest warto艣ci膮 zbyt nisk膮.
SHA-1
SHA (ang. Secure Hash Algorithm, bezpieczny algorytm mieszania) zosta艂 zaprojektowany w NSA i przyj臋ty jako standard przez NIST. Jego pierwsz膮 wersj臋 nazywano po prostu SHA (obecnie cz臋sto odwo艂uje si臋 do niej jako do SHA-0),
ale mia艂a ona pewne s艂abo艣ci. NSA je odkry艂a i poprawi艂a, za艣 udoskonalona wersja zosta艂a opublikowana przez NIST pod nazw膮 SHA-1. Jednak natura tych s艂abo艣ci nigdy nie zosta艂a publicznie ujawniona. Trzy lata p贸藕niej Chabaud i Joux opublikowali informacje o s艂abo艣ciach SHA-0. Te w艂a艣nie niedor贸bki zosta艂y usuni臋te w SHA-1.
SHA-l jest 160-bitow膮 funkcj膮 mieszaj膮c膮 opart膮 na MD4. Z uwagi na podobny rodow贸d, ma i wiele cech wsp贸lnych z MD5, ale jej konstrukcja jest znacznie bardziej konserwatywna. Jest i te偶 dwu lub trzykrotnie wolniejsza od MD5. Tym niemniej jak dot膮d nie s膮 znane 偶adne problemy z bezpiecze艅stwem SHA-1, wi臋c jest ona powszechnie u偶ywana.
SHA-l ma 160-bitow膮 zmienn膮 stanu sk艂adaj膮c膮 si臋 z pi臋ciu s艂贸w 32-bitowych. Tak jak MD5, obliczanie SHA-l przebiega w czterech turach, z kt贸rych ka偶da sk艂ada si臋 z mieszanki elementarnych operacji 32-bitowych. Zamiast przetwarza膰 czterokrotnie ka偶dy blok wiadomo艣ci, SHA-l za pomoc膮 rekurencji liniowej „rozci膮ga" 16 s艂贸w
z bloku wiadomo艣ci do potrzebnych 80 s艂贸w. Jest to uog贸lnienie techniki zastosowanej w MD4. W MD5 ka偶dy bit wiadomo艣ci jest w funkcji mieszaj膮cej u偶ywany czterokrotnie.
W SHA-l rekurencja liniowa zapewnia, 偶e ka偶dy bit wiadomo艣ci wp艂ynie
na funkcj臋 mieszaj膮c膮 przynajmniej dwana艣cie razy. Jedyna r贸偶nica mi臋dzy SHA-0,
a SHA-l polega na uzupe艂nieniu kroku rekurencji jednobitowym przesuni臋ciem.
SHA-256, SHA-384 i SHA-512
Ostatnio NIST opublikowa艂 projekt standardu, w kt贸rym opisuje trzy nowe funkcje mieszaj膮ce. Funkcje te maj膮 wyniki odpowiednio 256, 384 i 512 bitowe. Zaprojektowano je z my艣l膮 o wsp贸艂pracy ze 128-, 192- i 256-bitowymi kluczami AES. Budowa tych funkcji jest bardzo podobna do SHA-l.
W sytuacji, kiedy SHA-l nie jest w stanie zapewni膰 wymaganego poziomu bezpiecze艅stwa, trzeba u偶y膰 funkcji mieszaj膮cej z d艂u偶szymi danymi wynikowymi. 呕adna z opublikowanych dot膮d funkcji mieszaj膮cych z odpowiednio d艂ugim wynikiem nie doczeka艂a si臋 szerszej publicznej analizy.
Obliczenie SHA-256 trwa znacznie d艂u偶ej, ni偶 SHA-l. W przypadku d艂ugich wiadomo艣ci mieszanie za pomoc膮 SHA-256 zajmuje mniej wi臋cej tyle czasu,
co szyfrowanie za pomoc膮 AES lub Twofish, a by膰 mo偶e nawet nieco wi臋cej.
Funkcja SHA-384 wydaje si臋 bezu偶yteczna. Jej u偶ycie wymaga tyle pracy co u偶ycie SHA-512, a potem po prostu cz臋艣膰 bit贸w si臋 odrzuca. Do tego nie potrzeba odr臋bnej funkcji, wi臋c mo偶na pozosta膰 przy SHA-256 i SHA-512.
V. Programy szyfruj膮ce
1. Enigma 2003 final.
Program Enigma 2003 Final s艂u偶y do szyfrowania i deszyfrowania plik贸w. Obs艂uguje on trzy algorytmy szyfracji: Tablicowanie, Xorowanie i Wybieranie. Program potrafi tak偶e zaszyfrowa膰 i deszyfrowa膰 pliki znajduj膮ce si臋 w danym katalogu. Szyfrowanie danych ma na celu zabezpieczenie ich przed odczytaniem przez niepowo艂ane osoby. Z zaszyfrowanego pliku nie da si臋 odczyta膰 偶adnej tre艣ci zawartej w dokumencie czy programie. Deszyfracja to proces odwrotny do szyfracji. Ma on na celu odzyskanie danych i umo偶liwienie ich odczytania. Podczas szyfracji i deszyfracji nale偶y poda膰 klucz. Klucz to ci膮g znak贸w na podstawie kt贸rego zostaje zaszyfrowany plik. Nie da si臋 odtworzy膰 danych bez znajomo艣ci klucza jaki by艂 u偶yty podczas szyfracji. Nazwa programu wzi臋艂a si臋 z nazwy niemieckiej maszyny szyfruj膮cej u偶ywanej w czasie II Wojny 艢wiatowej.
Tak wygl膮da g艂贸wne okno programu:
Szyfrowanie pliku.
Aby zaszyfrowa膰 plik nale偶y z menu „Plik” wybra膰 opcj臋 „Szyfruj” plik. Nast臋pnie wybra膰 plik 藕r贸d艂owy tzn. plik wej艣ciowy:
W nast臋pnym okienku nale偶y wybra膰 miejsce w kt贸rym ma zosta膰 zapisany zaszyfrowany plik i nada膰 mu jak膮艣 nazw臋:
W tym okienku nale偶y wpisa膰 klucz jakim zostanie zaszyfrowany plik. Klucz b臋dzie p贸藕niej potrzebny do deszyfracji pliku, poniewa偶 bez niego nie mo偶na odszyfrowa膰 pliku.
Nast臋pnie nale偶y potwierdzi膰 klucz:
Po potwierdzeniu klucza ma艂y pasek post臋pu w g艂贸wnym oknie programu powinien zacz膮膰 si臋 przesuwa膰. Sygnalizowa膰 to b臋dzie 偶e program przygotowuje algorytm. Plik zostanie ca艂kowicie zaszyfrowany wtedy gdy najpierw ma艂y a potem du偶y pasek osi膮gnie 100%.
Deszyfrowanie pliku.
Aby zdeszyfrowa膰 plik nale偶y z menu „Plik” wybra膰 opcj臋 „Deszyfruj plik”.
W pierwszym okienku nale偶y wybra膰 wcze艣niej zaszyfrowany plik:
W nast臋pnym okienku nale偶y wybra膰 miejsce w kt贸rym zostanie zapisany zdekodowany plik i nada膰 mu nazw臋. Rozszerzenie pliku zostanie odtworzone i nadane mu automatycznie:
W okienku „Klucz” nale偶y wprowadzi膰 klucz jakim zosta艂 zaszyfrowany plik:
Nast臋pnie nale偶y potwierdzi膰 klucz:
Nast臋pnie ma艂y pasek post臋pu w g艂贸wnym oknie programu powinien zacz膮膰 si臋 przesuwa膰. Sygnalizowa膰 to b臋dzie 偶e program przygotowuje algorytm. Plik zostanie ca艂kowicie zdeszyfrowany wtedy gdy najpierw ma艂y a potem du偶y g贸rny pasek osi膮gnie 100%.
Szyfrowanie katalogu plik贸w
Aby zaszyfrowa膰 pliki znajduj膮ce si臋 w danym katalogu nale偶y z menu „Zaawansowane” wybra膰 opcj臋 „Szyfruj katalog plik贸w”.
W nowym okienku nale偶y wybra膰 katalog w kt贸rym znajduj膮 si臋 pliki przeznaczone do szyfracji:
W nast臋pnym okienku nale偶y wybra膰 katalog do kt贸rego maj膮 by膰 zapisane zaszyfrowane pliki, lub katalog w kt贸rym chcemy utworzy膰 nowy katalog do kt贸rego b臋d膮 zapisane zaszyfrowane pliki:
Dalej wykonujemy te same kroki co przy szyfrowaniu pliku: wpisujemy klucz
i potwierdzamy go.
Deszyfrowanie katalogu plik贸w
Aby zdeszyfrowa膰 pliki znajduj膮ce si臋 w danym katalogu nale偶y z menu „Zaawansowane” wybra膰 opcj臋 „Deszyfruj katalog plik贸w”.
W nowym okienku nale偶y wybra膰 katalog w kt贸rym znajduj膮 si臋 pliki przeznaczone
do deszyfracji:
W nast臋pnym okienku nale偶y wybra膰 katalog do kt贸rego maj膮 by膰 zapisane zdeszyfrowane pliki, lub katalog w kt贸rym chcemy utworzy膰 nowy katalog do kt贸rego b臋d膮 zapisane zdeszyfrowane pliki.
Dalej wykonujemy te same kroki co przy deszyfrowaniu pliku: wpisujemy klucz
i potwierdzamy go.
Rodzaje algorytm贸w zastosowanych w Enigma Final 2003
Program umo偶liwia (de)szyfrowanie w trzech algorytmach i tylko deszyfracj臋
w jednym:
-Tablicowanie
-Xorowanie
-Wybieranie
-Enigma v2.1
Pierwszy z nich (Tablicowanie) jest algorytmem opartym na generowaniu przez program na podstawie klucza par znak贸w tzn. znak niezaszyfrowany-znak zaszyfrowany. Takich par jest w sumie 255 poniewa偶 jest 255 znak贸w ASCII.
Przy ka偶dym zakodowaniu znaku pary s膮 mieszane. Jest to algorytm wolniejszy
ale bezpieczniejszy.
Drugi algorytm (Xorowanie) zbli偶ony jest do algorytmu typu one-time pad. Ka偶dy znak jest Xorowany z ka偶dorazowo losowo wybranym kluczem. Jest to algorytm szybszy ale mniej bezpieczny
Algorytm Wybieranie jest algorytmem do艣膰 powolnym i zaleca si臋 jego stosowanie przy szyfrowaniu ma艂ych plik贸w. Posiada on opcj臋 (kt贸ra mo偶e ale nie musi by膰 w艂膮czona) szyfrowania na podstawie dw贸ch kluczy. Dodatkowy klucz pobierany jest podczas (de)szyfrowania
Algorytm Enigma v2.1 s艂u偶y tylko do deszyfracji plik贸w zaszyfrowanych starsz膮 wersj膮 programu (v2.1).Zosta艂 on zaimplementowany w programie po to aby utrzyma膰 zgodno艣膰 nowszej wersji programu z starsz膮.
Tak wygl膮da Menu algorytm贸w:
Okno opcji w Enigma Final 2003
Aby wywo艂a膰 okno opcji nale偶y z menu „Zaawansowane” wybra膰 opcj臋 „Opcje -Algorytm domy艣lny”.
Algorytm domy艣lny to algorytm, kt贸ry b臋dzie u偶ywany podczas szyfrowania pliku wywo艂anego z menu kontekstowego.
-J臋zyk
U偶ytkownik programu mo偶e wybra膰 j臋zyk w jakim program b臋dzie wy艣wietla艂 napisy. Na razie mo偶na wybra膰 j臋zyk angielski lub polski .Po dokonaniu wyboru nale偶y
nacisn膮膰 przycisk „Zapisz”. Poka偶e si臋 okienko dialogowe:
Je偶eli naci艣niemy „Tak” program zostanie zako艅czony i uruchomiony ponownie. Zmiana j臋zyka b臋dzie widoczna. Je偶eli wybierzemy „Nie” program zapisze nowe ustawienie ale nie zostanie ponownie uruchomiony. J臋zyk zmieni si臋 dopiero podczas nast臋pnego uruchomienia. Je偶eli wybierzemy „Anuluj” program nie zapisze nowego ustawienia i nie zostanie ponownie uruchomiony.
-Opcje dodatkowe
U偶ywaj si艂y szyfrowania jako dodatkowego klucza - ta opcja pozwala na w艂膮czenie drugiego klucza (dotyczy algorytmu Wybieranie)
Kasowanie plik贸w 藕r贸d艂owych - to opcja kt贸ra pozwala na usuwanie plik贸w 藕r贸d艂owych tzn. tych kt贸re s膮 deszyfrowane lub szyfrowane. Opcja ta zostaje automatycznie odznaczona po (de)szyfracji pliku lub katalogu plik贸w.
Nie pokazuj ostrze偶e艅 o sile szyfrowania - Mo偶na tak偶e wy艂膮czy膰 pokazywanie okienek przypominaj膮cych o ustawieniu poprawnej warto艣ci drugiego klucza. S膮 one pokazywane tylko podczas (de)szyfracji algorytmem Wybieranie.
Nie u偶ywaj animacji podczas startu - Mo偶na wy艂膮czy膰 animacj臋 (animacja dzia艂a tylko pod systemami Windows 2000/XP i wy偶sze) g艂贸wnego okna programu podczas startu. Standartowo opcja ta jest w艂膮czona, czyli animacja jest wy艂膮czona.
Okno opcji:
2. Data Encryption Toolkit
Szyfrowanie danych za pomoc膮 programu Data Encryption Toolkit v1.12.
Szyfrowanie danych za pomoc膮 Data Encryption Toolkit zaczynamy wybieraj膮c zak艂adk臋 „Encrypt” (Szyfruj), nast臋pnie zaznaczamy „Just encrypt some filies” (gdy chcemy zaszyfrowa膰 pojedyncze pliki) lub „Encrypt folder” (gdy szyfrujemy ca艂y folder plik贸w). W polu „Source to encrypt” wybieramy lokalizacj臋 pliku do zaszyfrowania za pomoc膮 przycisku . Pola „Password” i „Confirm” s艂u偶膮 do wprowadzenia i potwierdzenia wymy艣lonego has艂a. Na koniec z rozwijalnej listy wybieramy algorytm szyfrowania („Select encryption algorithm”):
Mamy do wyboru pi臋膰 algorytm贸w szyfrowania:
Blowfish- algorytm 448 bitowy.
Gost- algorytm 256 bitowy.
Twofish- szybki algorytm 256 bitowy.
Cast 128- algorytm 128 bitowy.
Des- wychodz膮cy z u偶ycia algorytm 64 bitowy.
Po wybraniu algorytmu wybieramy przycisk „Encrypt” ko艅cz膮cy szyfrowanie pliku.
Deszyfrowanie danych za pomoc膮 programu Data Encryption Topolkit v.1.12.
Deszyfrowanie danych za pomoc膮 Data Encryption Toolkit zaczynamy podobnie jak szyfrowanie tylko wybieraj膮c zak艂adk臋 „Decrypt” (Odszyfruj).
Lokalizujemy plik kt贸ry chcemy odszyfrowa膰, naciskaj膮c w polu „File to decrypt” przycisk , a nast臋pnie wyszukujemy plik. W polu „Password” wpisujemy has艂o podane przez nas podczas szyfracji plik lub katalogu. Finalizuj膮c naciskamy przycisk „Decrypt” ko艅cz膮cy proces deszyfracji.
Dodatkowe opcje programu Data Encryption Toolkit v1.12.
Zak艂adka „File operations” s艂u偶y do ustawiania dodatkowych opcji programu. Program posiada opcje „Wipe” czyli czyszczenia wolnego miejsca na wybranym dysku, daj膮c膮 nam mo偶liwo艣膰 nieodwracalnego usuni臋cia skasowanego pliku. Pro艣ciej m贸wi膮c kiedy usuwa si臋 pliki to one nie s膮 w 100% usuni臋te i mog膮 by膰 przywr贸cone przez specjalne programy jak np. Norton Unerase. Po zastosowaniu opcji „Wipe” procedura zdrowiej膮ca skasowanych plik贸w jest ca艂kowicie niemo偶liwa.
W opcjach programu Data Encryption Toolkit mo偶na tak偶e ustawi膰:
Opcje usuwania pliku 藕r贸d艂owego po uprzednim jego zaszyfrowaniu, zaznaczaj膮c „Delete original file(s) after encryption”.
Usuwanie pliku zaszyfrowanego po uprzednim odszyfrowaniu, zaznaczaj膮c opcj臋 „Delete encrypted file after decryption”.
Kompresowania (spakowania) zaszyfrowanego pliku („Compress data before encryption”), ustawiaj膮c poziom kompresowania („Compression level”) od 0 do 9.
Istnieje tak偶e mo偶liwo艣膰 zmiany has艂a zastosowanego podczas wcze艣niejszego szyfrowania pliku („Change password”). Wybieramy lokalizacj臋 pliku zaszyfrowanego („Encrypted file”) przyciskiem , potem wprowadzamy stare has艂o („Old password”), nast臋pnie w polach „New password” i „Confirm” wprowadzamy nowe has艂o.
3. CHEOPS wersja „A”
CHEOPS wyst臋puje w wersji A, B, C i jest zar贸wno nazw膮 programu jak
i nazw膮 algorytmu szyfruj膮cego. Algorytm CHEOPS jest oparty na osnowie algorytmu LUCIFER, kt贸rego s艂absza wersja (wie艣膰 g艂osi, 偶e os艂abiona na 偶yczenie Departamentu Stanu USA) to znany z zastosowa艅 handlowych algorytm DES.
W stosunku do oryginalnego LUCIFERA jest jednak dodatkowo wzmocniony przez szyfrowanie wst臋pne za pomoc膮 has艂a u偶ytkownika oraz dodatkowe bloki postawieniowo-permutacyjne i klucze wewn臋trzne. Algorytm w wersji A jest s艂abszy ni偶 wersji B cho膰 znacznie szybszy. Mo偶e by膰 przydatny do wielu pomocniczych zastosowa艅.
CHEOPS w wersji B natomiast jest programem komercyjnym. Stanowi on unikatowe rozwi膮zanie w zakresie bezpiecze艅stwa danych - ka偶dy egzemplarz programu jest unikatowy i niepowtarzalny, realizowany na konkretne zam贸wienie ko艅cowego u偶ytkownika. Poszczeg贸lne egzemplarze programu r贸偶ni膮 si臋 mi臋dzy sob膮 zar贸wno szczeg贸艂ami algorytmu szyfrowania (porz膮dek pocz膮tkowych blok贸w permutacyjnych) jak i unikatowym kluczem wewn臋trznym. Do rozszyfrowania zbioru zaszyfrowanego takim programem niezb臋dna jest nie tylko znajomo艣膰 has艂a ale
i konkretny egzemplarz programu! Kod 藕r贸d艂owy ka偶dego programu w tej wersji jest niszczony natychmiast po wygenerowaniu kodu wynikowego. Takie rozwi膮zanie gwarantuje maksimum bezpiecze艅stwa, gdy偶 jest zbli偶one ide膮 do znanych z historii szyfr贸w jednorazowych, praktycznie niemo偶liwych do z艂amania.
O ilo艣ci stanowisk, na kt贸rych zostanie zainstalowany dany egzemplarz wersji B decyduje u偶ytkownik.
CHEOPS w wersji C jest po艂膮czeniem wersji B z elementami zapewniaj膮cymi bezpiecze艅stwo komunikacji wewn膮trz sieci, tak偶e realizowanej za po艣rednictwem Internetu. Umo偶liwia szyfrowanie poczty e-mail, przesy艂anych danych a tak偶e posiada modu艂 komunikatora pozwalaj膮cy na szyfrowan膮 komunikacj臋 w czasie rzeczywistym. Zestaw program贸w w tej wersji pozwala na wydzielenie z obszaru Internetu zbioru rozproszonych stanowisk, kt贸re b臋d膮 mog艂y w spos贸b bezpieczny komunikowa膰 si臋 ze sob膮. Program pozwala na zaprogramowanie na okre艣lony czas szyfrowania okre艣lonych plik贸w.
Program jest wykonywany wy艂膮cznie w wersji dostosowanej do potrzeb ko艅cowego u偶ytkownika - jego ko艅cowa konfiguracja musi by膰 efektem analizy jego potrzeb.
CHEOPS w wersji A jest programem 艂atwym w obs艂udze, nieomal intuicyjnym. Wystarczy w panelu zbior贸w wskaza膰 zbi贸r do zaszyfrowania, wprowadzi膰 has艂o
(co najmniej 24 znaki nie licz膮c spacji) i uruchomi膰 szyfrowanie. Ka偶dy zaszyfrowany zbi贸r ma rozszerzenie *.chp. Jest jednak kilka aspekt贸w pracy programu, na kt贸re warto zwr贸ci膰 uwag臋 :
- has艂o ze wzgl臋d贸w bezpiecze艅stwa nie jest nigdzie zapami臋tywane.
Przy odszyfrowaniu pliku nie jest sprawdzana poprawno艣膰 has艂o - je艣li has艂o b臋dzie si臋 r贸偶ni膰 od tego, kt贸re zosta艂o podane przy szyfrowaniu deszyfracja zostanie podj臋ta lecz wynik nie b臋dzie prawid艂owy. W wersji B i C na wyra藕ne 偶yczenie u偶ytkownika mo偶emy do艂膮czy膰 modu艂 sprawdzania poprawno艣ci has艂a. Nale偶y jednak pami臋ta膰,
偶e takie rozwi膮zanie jest mniej bezpieczne. Pole edycyjne has艂a jest zawsze podawane du偶ymi literami.
- Opcje Zbior贸w maj膮 przyj臋te wst臋pnie ustawienie na opcj臋 „Zachowaj zbi贸r 藕r贸d艂owy”. Takie rozwi膮zanie nie jest jednak bezpieczne - po co szyfrowa膰 zbi贸r
i zachowywa膰 jednocze艣nie jego form臋 jawn膮.? Zaznaczenie opcji „Usu艅 zbi贸r 藕r贸d艂owy” spowoduje skasowanie zbioru 藕r贸d艂owego natychmiast po zapisaniu jego postaci zaszyfrowanej. To rozwi膮zanie te偶 nie jest zbyt bezpieczne - taki zbi贸r mo偶na 艂atwo odzyska膰. Naprawd臋 bezpieczne jest zaznaczenie opcji „Usu艅 zbi贸r 藕r贸d艂owy po zamazaniu”. W takim przypadku natychmiast po zaszyfrowaniu zbi贸r 藕r贸d艂owy zostanie zapisany nieistotn膮 tre艣ci膮 a nast臋pnie (pod pierwotn膮 nazw膮!) kasowany. Kto艣, kto podejmie pr贸b臋 odzyskania takiego zbioru nie odzyska jego pierwotnej postaci.
- Opcje has艂a maj膮 przyj臋te wst臋pnie ustawienie na opcj臋 „Has艂o tekstem jawnym”. Tak opcja jest najwygodniejsza i chroni przed pomy艂kami. U偶ycie opcji „Has艂o pod mask膮” spowoduje, 偶e podczas wpisywania has艂a jego zamiast liter pojawia膰 si臋 b臋d膮 gwiazdki „*”. Opcja ta jest przeznaczona dla do艣wiadczonych u偶ytkownik贸w i tak naprawd臋 przydatna tylko w szczeg贸lnych sytuacjach.
Okno programu Cheops wersja „A”
4. Top Secret Next Generation
„Top Secret Next Generation” jest programem do zabezpieczania i szyfrowania danych przechowywanych w komputerach opartych na systemach Windows 98SE / ME / NT4.0 / XP.
Program dzia艂a na zasadzie Wirtualnego sejfu. Szyfrowanie danych i aplikacji przebiega w „locie” podczas kopiowania naszych plik贸w do sejfu i jest niezauwa偶alne dla u偶ytkownika. Dost臋p do sejf贸w zabezpieczony jest has艂em.
Budowa programu oparta jest o trzy modu艂y: „U偶ytkownicy i sejfy”, „Zarz膮dzanie kluczami”, oraz „E-mail”. Umo偶liwiaj膮ce w 艂atwy i przejrzysty spos贸b wykorzystanie wszystkich dost臋pnych funkcji programu.
„U偶ytkownicy i sejfy”- Modu艂 umo偶liwiaj膮cy za艂o偶enie i konfiguracj臋 sejf贸w na lokalnych dyskach twardych komputera. Sejfy, s膮 to obszary dysku zarezerwowane dla programu TopSecret Next Generation, kt贸re podczas zak艂adania (tworzenia),
s膮 odpowiednio szyfrowane i zabezpieczane przed dost臋pem niepowo艂anych os贸b.
Dzi臋ki specjalnym mechanizmom, zar贸wno sejfy jak i dane w nich zawarte, mog膮 by膰 zabezpieczone przed atakami gro藕nych robak贸w i wirus贸w komputerowych.
Sejfy traktowane s膮 jako dodatkowe dyski (np. z liter膮 E:\, P:\ etc.) widziane
w Eksploratorze Windows, kt贸rym nadawane s膮 dowolne nazwy (zgodne z zasadami systemu Windows) i przyporz膮dkowywane odpowiednie litery. Ka偶dy za艂o偶ony Sejf, mo偶e mie膰 wielko艣膰 do 4 GB. Program umo偶liwia prac臋 z wieloma u偶ytkownikami,
z kt贸rych ka偶dy indywidualnie mo偶e zak艂ada膰 dowoln膮 liczb臋 zaszyfrowanych sejf贸w.
Sejfy te mog膮 by膰 tak偶e dowolnie otwierane i zamykane w tym samym czasie przez wszystkich stworzonych u偶ytkownik贸w.
W sejfach mog膮 by膰 instalowane i umieszczane r贸偶nego rodzaju programy, grafiki, filmy, bazy danych i inne pliki, dzi臋ki temu dost臋p do nich mo偶liwy jest dopiero po zalogowaniu si臋 do programu i otwarciu odpowiedniego sejfu.
Ilo艣膰 przechowywanych danych w jednym sejfie ograniczona jest do 4 GB, natomiast ilo艣膰 tworzonych sejf贸w ogranicza si臋 tylko potrzebami u偶ytkownika, jak r贸wnie偶 rozmiarem dysku twardego.
„Zarz膮dzanie kluczami”- Modu艂, dzi臋ki kt贸remu u偶ytkownik tworzy klucze, kt贸re w przysz艂o艣ci wykorzystywane b臋d膮 do szyfrowania poczty elektronicznej. Tworzony klucz jest unikalnym identyfikatorem u偶ytkownika, kt贸ry wysy艂any pod dowolny adres email, umo偶liwia jego w艂a艣cicielowi otrzymywanie i odszyfrowywanie wiadomo艣ci pocztowych wys艂anych z poziomu programu TS NxG (przez jego posiadacza).
Klucze mog膮 by膰 tworzone odr臋bnie dla wszystkich profili, kt贸re zosta艂y utworzone w cz臋艣ci „U偶ytkownicy i sejfy". Dzi臋ki czemu, ka偶dy z nich, ma mo偶liwo艣膰 wysy艂ania wiadomo艣ci tak zabezpieczonych, 偶e inny u偶ytkownik programu nie b臋dzie m贸g艂 ich podgl膮da膰.
Modu艂 ten umo偶liwia tak偶e zarz膮dzanie kluczami otrzymanymi od innych u偶ytkownik贸w sieci internetowej, dzi臋ki kt贸rym b臋dziemy mieli mo偶liwo艣膰 odczytywania wys艂anych przez nich wiadomo艣ci.
Wszystkie klucze, dodatkowo s膮 zabezpieczone has艂em, aby przesy艂aj膮c je poczt膮 elektroniczn膮, wyeliminowa膰 zagro偶enie ich przechwycenia i wykorzystywania przez niepowo艂ane osoby.
„E-mail”- Modu艂 b臋d膮cy edytorem poczty elektronicznej, umo偶liwiaj膮cy redagowanie i odczytywanie wiadomo艣ci pocztowych. Wysy艂anie wiadomo艣ci odbywa膰 mo偶e si臋 tylko w obr臋bie os贸b, kt贸re otrzyma艂y od nas pakiet kluczy pocztowych,
lub od kt贸rych takowy otrzymali艣my i jest on zapisany w module „Zarz膮dzanie kluczami".
U偶ytkownicy maj膮 mo偶liwo艣膰 zastosowania w zakresie podstawowym funkcje formatowania tekstu, jak r贸wnie偶 mog膮 wykonywa膰 operacje kopiowania, wklejania
a tak偶e drukowania nie tylko zaznaczonych fragment贸w, ale tak偶e ca艂ych wiadomo艣ci.
Wszystkie wiadomo艣ci, jak r贸wnie偶 za艂膮czniki do nich s膮 szyfrowane i tzw. bezpieczn膮 poczt膮 wysy艂ane do odbiorcy. Odbierane wiadomo艣ci email podczas zapisu na dysk twardy s膮 dodatkowo szyfrowane unikalnym kluczem przypisanym do konkretnego komputera.
Uniemo偶liwia to kradzie偶 naszej poczty i pr贸b臋 odczytania na innym komputerze nawet w przypadku posiadania odpowiednich kluczy.
Program TopSecret Next Generation (TS NxG) jest programem dedykowanym dla 艣rednio zaawansowanego u偶ytkownika komputera, przeznaczony dla zastosowa艅 domowych, w ma艂ych i 艣rednich firmach, administracji pa艅stwowej oraz pa艅stwowych instytucjach finansowych i gospodarczych.
Pierwsze uruchomienie programu Top Secret Next Generation.
Podczas pierwszego uruchomienia programu Top Secret Next Generation zostanie wy艣wietlona informacja o wygenerowaniu klucza . Klucz ten jest generowany losowo i przypisywany do konkretnego komputera. Bez jego znajomo艣ci odszyfrowanie sejf贸w jest nie mo偶liwe.
Wybieramy rodzaj dysku na kt贸rym ma by膰 zapisany klucz aplikacji:
Najwygodniejsze jest zapisanie klucza aplikacji na dyskietce, je艣li tak zrobimy program wy艣wietli nam komunikat 偶eby艣my w艂o偶yli dyskietk臋 do nap臋du w celu zapisania klucza:
Wybieramy „OK., a nast臋pnie wpisujemy i potwierdzamy has艂o zabezpieczaj膮ce przed u偶yciem naszego klucza gdyby dosta艂 si臋 w „niepowo艂ane r臋ce”. Has艂o powinno zawiera膰 od 4 do 15 znak贸w, w tym jedn膮 liczb臋.
Nast臋puje zapis klucza na dyskietce:
Wa偶ne jest, aby dyskietka, na kt贸rej zosta艂 zapisany klucz aplikacji, przechowywana by艂a zgodnie z zasadami bezpiecze艅stwa dyskietek.
Tworzenie nowego u偶ytkownika
Tworzenie przynajmniej jednego u偶ytkownika, jest niezb臋dne do tego,
aby program m贸g艂 poprawnie spe艂nia膰 swoje funkcje.
Uruchomienie Asystenta tworzenia u偶ytkownika nast臋puje automatycznie podczas pierwszego uruchomienia programu, lub za pomoc膮 klikni臋cia ikony .
W otwartym oknie definiujemy nazw臋 u偶ytkownika np. Tomek, nast臋pnie
w polu „Has艂o" wprowadzamy has艂o, dzi臋ki kt贸remu u偶ytkownik b臋dzie m贸g艂 logowa膰 si臋 do programu.
Ze wzgl臋d贸w bezpiecze艅stwa has艂o musi sk艂ada膰 si臋 z minimum o艣miu znak贸w, po艣r贸d kt贸rych musi wyst膮pi膰 przynajmniej jedna du偶a litera, jedna ma艂a litera oraz jedna cyfra.
Tak skonstruowane has艂o ponownie wpisujemy w polu „Potwierd藕 has艂o".
Je偶eli zosta艂o potwierdzone poprawnie, to po wybraniu przycisku „Utw贸rz" dane zostaj膮 zatwierdzone i Asystent rozpocznie procedur臋 tworzenia nowego sejfu wy艣wietlaj膮c okno, pytaj膮ce o tworzenie sejfu.
Je偶eli has艂o wprowadzone w polu „Potwierd藕 has艂o" jest inne ni偶 w polu „Has艂o", w贸wczas dane nie zostaj膮 potwierdzone, o czym poinformuje nas okno
z komunikatem:
MODU艁 U呕YTKOWNICY I SEJFY
Program TopSecret Tworzenie sejfu.
Wybieramy menu „U偶ytkownicy i sejfy”, nast臋pnie w pasku narz臋dzi naciskamy przycisk dodaj sejf w celu utworzenia sejfu, pojawia nam si臋 okienko potwierdzaj膮ce nasz膮 decyzj臋:
Wybieramy przycisk „Tak”.
Ustawiamy podstawowe parametry sejfu, takie jak: wyb贸r dysku na kt贸rym zostanie utworzony sejf, wielko艣膰 sejfu- od 1 MB do 4 GB. i etykiet臋 sejfu. Potem naciskamy przycisk „Dalej” .
Pojawia si臋 okno tworzenia unikalnego klucza sejfu oraz wyboru algorytmy szyfrowania. Wykonujemy przypadkowe ruchy myszk膮 w celu wygenerowania unikalnego klucza, oraz wciskamy przypadkowe klawisze klawiatury kt贸re zostan膮 z艂膮czone z wygenerowanym kluczem w celu zapewnienia niepowtarzalno艣ci klucza.
Nast臋pnie wybieramy algorytm szyfrowania, mamy do wyboru trzy algorytmy:
TwoFish- algorytm blokowy udoskonalona wersja algorytmu Blow Fish. Stworzony przez B. Schneier'a, J. Kellsey'a, D. Whiting'a, D. Wagner'a,
C. Hall i N. Ferguson'a.
AES (Rijndael)- najszybszy algorytm blokowy, stworzony przez
J. Daeman'a i V. Rijman'a.
Serpent- wolniejszy od Rijandel'a ale bezpieczniejszy algorytm blokowy stworzony przez: R. Andersen'a, E. Biham'a i L. Knudsen'a.
Po wybraniu odpowiadaj膮cego nam algorytmu naciskamy „Dalej” a potem „Utw贸rz”.
Wybieramy „Tak” w celu utworzenia sejfu.
Program tworzy sejf.
Czy otworzy膰 utworzony sejf naciskamy „Tak”
Okno programu po utworzeniu i otwarciu sejfu.
Otwieranie sejfu
Otwieranie sejfu polega na zaznaczeniu interesuj膮cego elementu i klikni臋ciu ikonki „Otw贸rz sejf" znajduj膮cej si臋 na pasku narz臋dzi, lub wybraniu komendy
z menu kontekstowego.
Efektem jest pojawienie si臋 w Eksploratorze Windows, dodatkowego dysku
o nazwie wcze艣niej przez nas zdefiniowanej.
Od tej chwili na dodatkowym dysku (sejfie), mo偶emy umieszcza膰 dowolnie wybrane pliki lub instalowa膰 programy.
Sejf jest dost臋pny dla wszystkich u偶ytkownik贸w komputera do momentu, a偶 nie zostanie zamkni臋ty, lub komputer nie zostanie zrestartowany. Wylogowanie u偶ytkownika z programu nie powoduje zamkni臋cia wcze艣niej otwartych sejf贸w.
W przypadku ch臋ci otwarcia wi臋kszej ilo艣ci sejf贸w, zaznaczamy wybrane sejfy (dyski) trzymaj膮c lewy klawisz myszy lub klikamy wciskaj膮c jednocze艣nie klawisz „Ctrl”.
W obecnej wersji programu, liczba jednocze艣nie otwartych, w danym momencie sejf贸w, dla wszystkich u偶ytkownik贸w ograniczona jest do czterech. Oznacza to,
偶e je偶eli w programie utworzonych jest dw贸ch u偶ytkownik贸w i ka偶dy z nich ma utworzonych kilka sejf贸w, to w przypadku gdy pierwszy z nich pozostawi otwarte
w systemie trzy sejfy, drugi b臋dzie m贸g艂 otworzy膰 tylko jeden.
Zamykanie sejfu
Zamykanie sejf贸w realizowane mo偶e by膰 w oknie g艂贸wnym modu艂u „U偶ytkownicy
i sejfy" za pomoc膮 zaznaczenia sejfu do zamkni臋cia i wybraniu ikony „Zamknij sejf" z paska narz臋dzi programu lub z menu kontekstowego, znajduj膮cego si臋 pod prawym klawiszem myszki.
Sejf mo偶na tak偶e zamkn膮膰 bez potrzeby logowania u偶ytkownika do programu TopSecret NxG, uruchamiamy Eksplorator Windows i klikaj膮c na wybranym dysku (sejfie) prawym klawiszem myszy wybieraj膮c funkcj臋 „Zamknij sejf".
MODU艁 ZARZ膭DZANIE KLUCZAMI
Okno modu艂u „Zarz膮dzanie kluczami”
Tworzenie kluczy pocztowych.
W celu utworzeni kluczy pocztowych w oknie g艂贸wnym programu klikamy na ikon臋
„Utw贸rz klucz”. Potem wype艂niamy informacje o swoim koncie e-mail:
Po wype艂nieniu i zatwierdzeniu danych program zaczyna tworzy膰 klucze pocztowe. Podczas tworzenia klucza trzeba wykonywa膰 ruchy mysz膮 i naciska膰 przypadkowe klawisze na klawiaturze, gdy偶 s膮 one 艂膮czone z tworzonym kluczem. Nast臋pnie zapisujemy klucz w okre艣lonej przez nas lokalizacji, oraz podajemy has艂o chroni膮ce przed nieautoryzowanym u偶yciem naszego klucza:
Przycisk „OK.” ko艅czy proces tworzenia klucza pocztowego.
Wysy艂anie kluczy pocztowych.
Kolejnym etapem wysy艂ania jest wskazanie odbiorcy, kt贸ry ma otrzyma膰 nasz klucz publiczny. W tym celu nale偶y klikn膮膰 przycisk znajduj膮cy si臋 w oknie „Wy艣lij klucz" obok pola „Wy艣lij do" i z ksi膮偶ki adresowej wskaza膰 wybrany
(lub wybrane) adres pocztowy.
Je偶eli w ksi膮偶ce adresowej nie s膮 zapisane 偶adne adresy pocztowe, nale偶y
je wcze艣niej zdefiniowa膰. Opis wprowadzania adres贸w do ksi膮偶ki adresowej znajduje si臋 w dokumentacji systemu operacyjnego Windows, zainstalowanego na komputerze.
W celu wyeliminowania nieautoryzowanego dost臋pu do klucza, dodatkowo zabezpieczamy go wprowadzaj膮c dowolne has艂o. Po ponownym potwierdzeniu wprowadzonego has艂a wybieramy przycisk „Wy艣lij".
Je偶eli chcemy zrezygnowa膰 z wysy艂ania pakietu kluczu pocztowych wybieramy przycisk „Anuluj".
Po poprawnym wys艂aniu publicznego klucza pocztowego, informacja o tym do kogo zosta艂 wys艂any, pojawia si臋 w oknie g艂贸wnym modu艂u „Zarz膮dzanie kluczami"
w sekcji „Tw贸j klucz publiczny zosta艂 wys艂any do:".
Aby adresat m贸g艂 poprawnie wczyta膰 klucze, nale偶y poda膰 mu has艂o, kt贸rym zabezpieczyli艣my przesy艂any pakiet. Przekazanie has艂a, mo偶e odby膰 si臋 przy pomocy wys艂ania oddzielnej wiadomo艣ci email (najlepiej na inne konto pocztowe), telefonicznie lub za pomoc膮 wiadomo艣ci SMS.
Je艣li u偶ytkownik, nie otrzyma艂 偶adnych kluczy publicznych od innego posiadacza programu TS NxG, to w odpowiedniej sekcji okna g艂贸wnego pojawia si臋 komunikat „Nie otrzyma艂e艣 偶adnych kluczy".
MODU艁 E-MAIL
Wysy艂anie zaszyfrowanej poczty elektronicznej .
Okno modu艂u e-mail:
Chc膮c przes艂a膰 zaszyfrowan膮 wiadomo艣膰 wpisujemy w pole „Do:” adres e-mail odbiorcy poczty, nadajemy temat naszemu listowi (Pole „Temat:”) oraz wpisujemy tekst kt贸ry chcemy przes艂a膰. Nast臋pnie naciskamy przycisk , gdy chcemy doda膰 za艂膮cznik do naszego listu klikamy , oraz ustalamy lokalizacj臋 pliku za艂膮cznika.
Odczytywanie zaszyfrowanej poczty elektronicznej .
Odczytanie wiadomo艣ci zaszyfrowanej zaczynamy przyciskiem , nast臋pnie lokalizujemy zapisan膮 wcze艣niej wiadomo艣膰:
Dalej tylko naciskamy przycisk i mo偶emy ju偶 odczyta膰 otrzyman膮 wiadomo艣膰.
DODATKOWE NARZ臉DZIA PROGRAMU TSNxG
Niszczarka plik贸w
Program ten wype艂nia luk臋 bezpiecze艅stwa, zostawion膮 przez wiele program贸w szyfruj膮cych. Nawet usuni臋te dane komputerowe, mog膮 du偶o powiedzie膰
o u偶ytkownikach sejf贸w, a w艂a艣nie 艣rodowisko Windows, umo偶liwia bezproblemowe odzyskiwanie usuni臋tych danych.
Przed usuni臋ciem danych z komputera z wykorzystaniem funkcji Niszczarki, nale偶y si臋 dobrze zastanowi膰, czy nie b臋d膮 one ju偶 nigdy potrzebne.
Niszczark臋 mo偶na u偶ywa膰 do usuwania wszystkich rodzaj贸w plik贸w znajduj膮cych si臋 na dysku twardym komputera.
Usuwanie danych odbywa si臋 poprzez przeci膮gni臋cie zaznaczonego pliku na katalog lub ikon臋 Niszczarki na Pulpicie. Program poprosi nas o potwierdzenie usuni臋cia wybranego pliku, po czym przyst膮pi do bezpowrotnego usuni臋cia pliku.
Blokada ekranu
TopSecret NxG k艂adzie nacisk na komfort obs艂ugi i nieustaj膮c膮 ochron臋 danych.
Je偶eli nie chcemy zamyka膰 sejf贸w na czas kr贸tkiej nieobecno艣ci przy naszym komputerze, program oferuje nam doskona艂e narz臋dzie jakim jest Zabezpieczenie Ekranu.
Konfiguracja funkcji dotycz膮cych tego narz臋dzia mo偶liwa jest z poziomu programu TS NxG. Wybieraj膮c (Klikaj膮c) w menu programu Narz臋dzia / Opcje i wybieraj膮c zak艂adk臋 „Zabezpieczenie ekranu", mo偶emy modu艂 ten uruchomi膰, jak r贸wnie偶 zdefiniowa膰, kt贸ry mo偶e wy艂膮czy膰 blokad臋 monitora i po jakim czasie bezczynno艣ci ekran zostanie zablokowany.
Odblokowanie monitora realizowane jest poprzez podanie prawid艂owego has艂a, w oknie ukazuj膮cym si臋 po wci艣ni臋ciu dowolnego klawisza.
5. PGP 8.2
W programie PGP u偶ywane s膮 pary kluczy: jeden s艂u偶y do zaszyfrowania listu (klucz publiczny), drugi do odszyfrowania (klucz prywatny). Klucz publiczny musi by膰 udost臋pniony nadawcy. Mo偶na go bezpiecznie przes艂a膰 Internetem. Zastosowanie odpowiedniego algorytmu powoduje, 偶e znajomo艣膰 klucza szyfrowania nie wystarczy do deszyfracji listu ani do odtworzenia klucza prywatnego.
Klucz deszyfrowania jest generowany na podstawie pary du偶ych liczb pierwszych. Klucz szyfrowania jest wyliczany na podstawie iloczynu du偶ych liczb pierwszych. Znajomo艣膰 iloczynu dw贸ch liczb pierwszych wystarcza do z艂amania kodu. Jak zwykle diabe艂 tkwi w szczeg贸艂ach. Dla odpowiednio du偶ych liczb (rz臋du 10
do pot臋gi 100) istnieje bardzo du偶o kombinacji liczb pierwszych.
Zastosowany w PGP algorytm szyfrowania kluczem publicznym nosi nazw臋 RSA. Nazwa algorytmu jest skr贸tem pochodz膮cym od pierwszych liter nazwisk jego tw贸rc贸w: Rivest, Shamir, Adleman. RSA jest uwa偶any za bezpieczny, gdy u偶ywa si臋 odpowiednio d艂ugich kluczy. W chwili obecnej uwa偶a si臋, 偶e stosunkowo bezpieczne
s膮 klucze o d艂ugo艣ci nie mniejszej ni偶 768 znak贸w. Bardziej bezpiecznymi s膮 jednak klucze o d艂ugo艣ci nie mniejszej ni偶 1024 znaki.
Tworzenie kluczy szyfruj膮cych w programie PGP
Tworzenie klucza zaczynamy wchodz膮c „Menu Start - Programy - PGP - PGPkeys”
lub klikaj膮c mysz膮 na symbol k艂贸dki znajduj膮cy si臋 na pasku zada艅 i wybieraj膮c PGPkeys.
Po wykonaniu powy偶szej czynno艣ci otwiera nam si臋 Modu艂 zarz膮dzania kluczami:
Z kt贸rego wybieramy przycisk w celu uruchomienia kreatora dodawania kluczy:
Po pojawieniu si臋 kreatora gdy naci艣niemy przycisk „Dalej”, kreator przypisze nam ustawienia domy艣lne klucza. Sami musimy wpisa膰 tylko swoj膮 nazw臋 i adres e-mail.
Je偶eli nie chcemy by tak si臋 sta艂o wybieramy przycisk „Expert”, wtedy pokazuje nam si臋 okno:
W polu „Key type:” wybieramy algorytm szyfruj膮cy kt贸ry ma by膰 u偶yty do utworzenia naszego klucza, mamy do wyboru trzy algorytmy szyfruj膮ce:
Pole „Key size:” s艂u偶y nam do ustalenia rozmiaru klucza, kt贸rego wielko艣膰 musi si臋 zawiera膰 od 1024 do 4096 bit贸w.
Ostatnim polem kt贸re musimy wype艂ni膰 jest „Key expiration:” kt贸re okre艣la nam wa偶no艣膰 klucza. Mo偶emy wybra膰 opcj臋 „never”: wtedy jego wa偶no艣膰 b臋dzie nieograniczona lub wybra膰 odpowiadaj膮c膮 nam dat臋 wa偶no艣ci:
Po wype艂nieniu naszych danych pojawia nam si臋 okno w kt贸rym trzeba wpisa膰
i potwierdzi膰 wymy艣lone przez nas has艂o:
Po wpisaniu i potwierdzeniu naszego has艂a program tworzy klucz, kt贸rego wykonanie b臋dzie potwierdzone raportem:
W tym momencie klucze mamy ju偶 utworzone. Teraz okno Modu艂u tworz膮cego klucze wygl膮da nast臋puj膮co:
Eksportowanie kluczy.
Eksportowa膰 mo偶emy zar贸wno klucz publiczny (Public key), jak i prywatny (Private key).
Eksportowanie klucza publicznego zaczynamy zaznaczaj膮c kursorem myszy par臋 kluczy, kt贸re chcemy eksportowa膰:
Nast臋pnie wybieramy z menu polecenia: „Keys”, „Export…”, po wybraniu tych polece艅 pojawia nam si臋 okno eksportu kluczy:
W kt贸rym ustalamy na jaki no艣nik klucz ma by膰 przes艂any (np. Stacja dyskietek),
oraz odhaczamy opcj臋 „Include 6.0 Extensision” (wyb贸r klucza publicznego),
i „Zapisz”.
Eksportowanie klucza prywatnego (Private key) robimy podobnie jak publicznego, tylko odhaczamy opcj臋: „Include Private Key(s).:
Eksportowa膰 klucze mo偶emy te偶 przez edycj臋 pliku klucza, a nast臋pnie wys艂anie wy艣wietlonego tekstu poczta e-mail.
Importowanie kluczy.
Klucze PGP mo偶na te偶 importowa膰. W oknie „PGP keys” wybieramy plecenia „Keys”
i „Import…”:
Wy艣wietla nam si臋 okno lokalizacji klucza w kt贸rym odnajdujemy nasz klucz,
oraz potwierdzamy wyb贸r podw贸jnym klikni臋ciem. Nast臋pnie pojawia si臋 okno „Select key(s), w kt贸rym zaznaczamy kursorem myszy klucz przez nas zlokalizowany
i klikamy przycisk „Import”:
Klucz przez nas importowany pojawi si臋 w oknie g艂贸wnym PGP.
importowa膰 klucze mo偶emy drugim sposobem, podobnie jak eksportowa膰 przez edycj臋 pliku klucza i wys艂anie wy艣wietlonego tekstu poczta e-mail.
Szyfrowanie plik贸w za pomoc膮 PGP
Szyfrowanie pliku programem PGP zaczynamy klikaj膮c prawym klawiszem myszy
na pliku do zaszyfrowania. Z menu podr臋cznego wybieramy „PGP” i „Encrypt”:
Pojawia nam si臋 okno „PGPshell- key selection dialog”:
Dodatkowe opcje do wyboru podczas szyfrowania w PGP
Test Oulput
Nale偶y zaznaczy膰 t膮 opcj臋 gdy chcemy wys艂a膰 z niekt贸rych aplikacji pliki jako za艂膮czniki do list贸w elektronicznych, wtedy plik zostanie zapisany jako tekst ASCII.
Czasami jest to niezb臋dne, aby wys艂a膰 plik binarny za pomoc膮 starych program贸w
pocztowych. Wybranie tej opcji zwi臋ksza rozmiary zakodowanego pliku o oko艂o 30%.
Wipe Original
Nale偶y zaznaczy膰 to pole, aby usun膮膰 oryginalny dokument i na jego miejscu zapisa膰 inn膮 sekwencj臋 znak贸w.
Secure Viewer
Wybranie test opcji powoduje, 偶e tekst jest zabezpieczony przed atakiem typu TEMPEST. Dane s膮 wy艣wietlane przy wykorzystaniu specjalnych czcionek, niemo偶liwych do odczytania przez urz膮dzenia przechwytuj膮ce promieniowanie elektromagnetyczne.
Conventional Encrypt
Zaznaczenie tej opcji powoduje, 偶e stosowane jest kodowanie oparte na has艂ach,
a nic na algorytmie klucza publicznego i prywatnego. Plik jest kodowany przy wykorzystaniu klucza. Deszyfrowanie i szyfrowanie jest realizowane za pomoc膮 has艂a.
Self'Decrypting Archive (SDA)
Zaznaczenie tego pola powoduje, 偶e archiwum zostanie zapisane do samorozszyfrowui膮cego si臋 pliku wykonywalnego. Plik jest kodowany za pomoc膮 klucza sesji. Szyfrowanie i deszyfrowanie odbywa si臋 za pomoc膮 zwyk艂ego has艂a. Plik mo偶e by膰 rozszyfrowany po dwukrotnym klikni臋ciu i wpisaniu odpowiedniego has艂a. Opcja ta jest szczeg贸lnie przydatna dla u偶ytkownik贸w, kt贸rzy wysy艂aj膮 informacje zakodowane programem PGP do os贸b, kt贸re tego programu nie maj膮. Nadawca
i odbiorca musz膮 mie膰 ten sam system operacyjny.
Deszyfrowanie plik贸w za pomoc膮 PGP
Deszyfrowanie pliku zaszyfrowanego programem PGP wygl膮da podobnie jak szyfrowanie: klikamy prawym klawiszem myszy na pliku do odszyfrowania. Z menu podr臋cznego wybieramy „PGP” i „Decrypt & Verify”:
Po wybraniu tych polece艅 ukazuje nam si臋 okno do wpisania has艂a u偶ytego podczas procesu szyfrowania tego pliku:
Po wpisaniu has艂a klikamy przycisk „OK”.
Nast臋pnie pojawia nam si臋 okno „Enter output file name” w kt贸rym wybieramy lokalizacj臋 pliku odszyfrowanego:
Deszyfrowanie ko艅czymy przyciskiem „Zapisz”.
6. Tmd SOFT Code 4.24
Tmd SOFT Code 4.24 jest programem darmowym, najprostszym w obs艂udze spo艣r贸d przeze mnie opisanych, a zarazem najbardziej rozbudowanym pod wzgl臋dem wyboru algorytm贸w szyfruj膮cych. Napisany zosta艂 przez Tomasza Domagalskiego, przeznaczony jest dla u偶ytkownik贸w posiadaj膮cych komputery z systemem operacyjnym Windows 98, 2000, ME oraz XP. Ca艂y program napisany jest w j臋zyku polskim, 艂膮cznie z instrukcj膮 obs艂ugi mieszcz膮c膮 si臋 w „Menu Pomoc”. Pomoc wyposa偶ona jest w spis tre艣ci, wyszukiwark臋 zagadnie艅, a tak偶e zak艂adk臋 „Ulubione” pozwalaj膮c膮 na zapisanie wyszukanych przez nas temat贸w.
Lista algorytm贸w szyfruj膮cych mo偶liwych do wyboru podczas szyfrowania:
Code UnCode Algorithm3 |
Q128 128bit Key |
3Way 96bit Key |
RC2 1024bit Key |
Blowfish 448bit Key |
RC4 2048bit Key |
Cast128 128bit Key |
RC5 2048bit Key |
Cast256 256bit Key |
RC6 2048bit Key |
1DES 64bit Key |
Rijndael 256bit Key |
2DES 128bit Key |
SAFER-K40 40bit Key |
2DDES 128bit Key |
SAFER-SK40 40bit Key |
3DES 192bit Key |
SAFER-K64 64bit Key |
3DDES 192bit Key |
SAFER-SK64 64bit Key |
3TDES 192bit Key |
SAFER-K128 128bit Key |
DESX 128bit Key |
SAFER-SK128 128bit Key |
Diamond2 2048bit Key |
Sapphire 8192bit Key |
Diamond2Lite 2048bit Key |
SCOP 384bit Key |
FROG 1000bit Key |
Shark 128bit Key |
Gost 256bit Key |
Skipjack 80bit Key |
IDEA 128bit Key |
Square 128bit Key |
Mars 1248bit Key |
TEA 128bit Key |
Misty1 128bit Key |
TEAN 128bit Key |
NewDES 120bit Key |
Twofish 256bit Key |
Okno g艂贸wne programu Tmd SOFT Code 4.24
Szyfrowanie plik贸w za pomoc膮 Tmd SOFT Code 4.24.
Chc膮c zaszyfrowa膰 plik za pomoc膮 Tmd SOFT Code 4.24 wchodzimy w menu „Plik” i wybieramy „szyfruj…” lub za pomoc膮 myszy naciskamy symbol zamkni臋tej k艂贸dki w oknie g艂贸wnym programu . Pojawia nam si臋 okno szyfrowania z kt贸rego wybieramy przycisk „Dodaj”.
Nast臋pnie pokazuje nam si臋 okno wyboru lokalizacji pliku do zaszyfrowania
za pomoc膮 kt贸rego odszukujemy nasz plik.
Po odnalezieniu i wybraniu naszego pliku …
… naciskamy przycisk „Dalej”.
Nast臋pnie pojawia nam si臋 okno podobne do okna za pomoc膮 kt贸rego lokalizowali艣my plik do szyfrowania tylko teraz musimy poda膰 nazw臋 pliku zaszyfrowanego i wskaza膰 gdzie go zapiszemy. Po wybraniu lokalizacji ukazuje nam si臋 okno „Has艂o” do kt贸rego wpisujemy i potwierdzamy jeszcze raz nasze has艂o kt贸re zostanie u偶yte do zaszyfrowania naszego pliku.
Po wpisaniu has艂a wy艣wietli nam si臋 okienko z polami do wpisania
i potwierdzenia has艂a chroni膮cego archiwum czyli specyficznego pliku zawieraj膮cego nasze zaszyfrowane pliki.
Po potwierdzeniu has艂a dost臋pu do archiwum zostanie wy艣wietlone okno Podsumowania operacji:
Naci艣ni臋cie przycisku „Zamknij” ko艅czy proces szyfrowania.
Deszyfrowanie plik贸w za pomoc膮 Tmd SOFT Code 4.24.
Deszyfrowanie plik贸w za pomoc膮 TmD SOFT Code 4.24 przebiega odwrotnie
do procesu szyfrowania.
Wybieramy z menu „Plik”- „deszyfruj…” lub za pomoc膮 myszy naciskamy symbol otwartej k艂贸dki w oknie g艂贸wnym programu .
Nast臋pnie pokazuje nam si臋 okno wyboru lokalizacji pliku do deszyfrowania
za pomoc膮 kt贸rego odszukujemy nasz plik.
Potem pojawiaj膮 nam si臋 okno has艂a dost臋pu do archiwum:
oraz okno has艂a dost臋pu do pliku:
Po wpisaniu i potwierdzeniu hase艂 zostaje wygenerowany raport podobny
do raportu ko艅cz膮cego proces szyfrowania, podsumowuj膮cy proces deszyfracji.
Ustawienia programu TmD SOFT Code 4.24
W opcje ustawie艅 programu wchodzimy dwoma metodami: z menu „Widok” wybieramy Ustawienia programu lub naciskaj膮c na symbol w oknie g艂贸wnym programu.
Okno Ustawie艅, zak艂adka Og贸lne ustawienia:
W tej zak艂adce mo偶na ustawi膰 j臋zyk programu, mamy do wyboru: angielski, niemiecki i polski. Mo偶emy przywr贸ci膰 standardowe ustawienia (przydatne gdy wprowadzimy w ustawieniach niekorzystne zmiany i chcemy je cofn膮膰), ustawi膰 styl formularzy dialogowych oraz doda膰 skr贸ty na klawiaturze, Menu start, Pulpicie, stanowi膮ce udogodnienie korzystania z programu.
Okno Ustawie艅, zak艂adka Szyfrowanie-ustawienia:
W ustawieniach szyfrowania mo偶emy nada膰 zaszyfrowanemu plikowi atrybuty: archiwalny, ukryty, tylko do odczytu, systemowy. W艂膮czy膰 lub wy艂膮czy膰 opcj臋 usuwaj膮c膮 zawarto艣膰 pliku 藕r贸d艂owego lub ca艂y plik. Posiadamy tak偶e mo偶liwo艣膰 wyboru opcji: czy archiwum ma by膰 chronione has艂em, czy nie.
Okno Ustawie艅, zak艂adka Deszyfrowanie-ustawienia:
Zak艂adka „Deszyfrowanie-ustawienia” daje nam mo偶liwo艣膰 zaznaczenia opcji niszczenia zawarto艣ci lub ca艂o艣ci pliku 藕r贸d艂owego, nadawania atrybut贸w plikom deszyfrowanym oraz ustawienia foldera domy艣lnego w kt贸rym b臋d膮 umieszczane deszyfrowane pliki.
Okno Ustawie艅, zak艂adka Deszyfrowanie-ustawienia:
Zak艂adka „Zaawansowane ustawienia” daje nam mo偶liwo艣膰 wyboru algorytmu szyfrowania (40 algorytm贸w wymienionych wcze艣niej), okre艣lenie formatu pliku archiwum , ustawienie wolnego miejsca jakie musi pozosta膰 niewykorzystane przez program podczas szyfrowania/deszyfrowania (od 25 do 500MB) oraz ustawienia bufora programu (od 8192 do 262144 B) i ustawienia przydzia艂u czasu na wykonanie operacji szyfrowania/deszyfrowania.
7. VMPC Data Security
Program VMPC Data Security jest programem przeznaczonym dla 艣rednio zaawansowanych u偶ytkownik贸w wykorzystuj膮cych system operacyjny Windows 98/ME/2000/XP. VMPC Data Security wykorzystuje technologi臋 VMPC do zabezpieczania danych na dyskach , zar贸wno sieciowych jak i lokalnych oraz poczty elektronicznej. Wykorzystywany przez niego algorytm szyfrowania strumieniowego VMPC, kt贸rego tw贸rc膮 jest Bartosz 呕贸艂tak, b臋d膮cy te偶 autorem tego programu. VMPC Data Security cechuje wysoki poziom bezpiecze艅stwa poniewa偶 zastosowany
w nim algorytm nie wykazuje b艂臋d贸w wyst臋puj膮cych w takich algorytmach jak
np.: RC4). Program ten nie potrzebuje instalacji co jest jego zalet膮, gdy偶 mo偶e by膰 przenoszony na zewn臋trznym no艣niku danych i po skopiowaniu na inny komputer gotowy jest od razu do pracy. Program VMPC Data Security nie zapisuje 偶adnych informacji w rejestrze systemu operacyjnego i nie tworzy niezaszyfrowanych plik贸w tymczasowych. Nast臋pn膮 zalet膮 tego programu jest zastosowanie w nim sum kontrolnych MAC. Dzi臋ki kt贸rym wszystkie zmiany w naszych zaszyfrowanych archiwach i wiadomo艣ciach tekstowych mo偶na b臋dzie nam bardzo 艂atwo wychwyci膰, tak samo jak zmiany w samym programie.
Program posiada bardzo zaawansowany modu艂 do generowania kluczy, kt贸rych rozmiar mo偶e si臋ga膰 nawet do 512 bit贸w. Modu艂 ten pozwala nam w pe艂ni wykorzysta膰 potencja艂 szyfruj膮cy algorytmu VMPC oraz daje mo偶liwo艣膰 generowania kluczy
o wysokiej jako艣ci. Klucze s膮 tworzone z losowych ruch贸w myszk膮, mo偶na utworzy膰 wiele r贸偶nych kluczy, a tak偶e 艂膮czy膰 je do zaszyfrowania jednego szyfrogramu.
Okno programu VMPC Data Security
Generowanie klucza szyfruj膮cego w programie VMPC Data Security
Tworzenie klucza szyfruj膮cego zaczynamy od klikni臋cia za pomoc膮 myszy przycisku „Generuj klucz” , potem otworzy nam si臋 okno Modu艂u generowania kluczy:
Utworzy膰 kluczy szyfruj膮cy potrzebny do zaszyfrowania pliku mo偶emy trzema sposobami:
Podaj膮c rozmiar klucza od 8 do聽512bit贸w, wybieraj膮c za jakich liter i znak贸w ma si臋 sk艂ada膰 klucz, potem naciskamy przycisk „Generuj klucz” Nast臋pnie ruszamy kursorem myszy po „Obszarze odczytu pozycji myszy” w celu generowania klucza powi膮zanego z dat膮 systemow膮 oraz pozycjami myszy.
Po wygenerowaniu klucza przechodzimy w zak艂adk臋 „Zapis klucza”:
Naciskamy przycisk w celu jego zapisania. Istnieje mo偶liwo艣膰 po艂膮czenia dw贸ch kluczy. W tym celu za pomoc膮 przycisku generujemy drugi klucz, a nast臋pnie wybieraj膮c przycisk 艂膮czymy wygenerowane klucze.
Drugim sposobem generowania klucza, jest wpisanie w艂asnego has艂a
z klawiatury kt贸re zostanie powi膮zane z wektorem utworzonym z daty i godzimy systemowej. W celu utworzenia takiego klucza naciskamy przycisk,
a nast臋pnie z klawiatury wprowadzamy sw贸j klucz:
Szyfrowanie plik贸w za pomoc膮 programu VMPC Data Security
Po wprowadzeniu klucza zatwierdzamy go przyciskiem oraz zapisujemy w wybranej przez nas lokalizacji.
Ostatnim sposobem generowania klucza szyfruj膮cego w programie VMPC Data Security jest wczytanie klucza wcze艣niej utworzonego z okre艣lonej przez nas lokalizacji. W tym celu wybieramy przycisk , a nast臋pnie wybieramy lokalizacj臋 pliku w kt贸rym zapisali艣my wcze艣niej klucz:
Program VMPC Data Security przypomina nam o kluczach zapisanych na dyskach twardych oraz proponuje ich automatyczne wykasowanie przy ka偶dym uruchomieniu programu, gdy偶 zapisanie kluczy na dyskach powinno by膰 traktowane jako operacja tymczasowa, po kt贸rej trzeba skopiowa膰 klucz na dyski przeno艣ne,
np. CD, FDD czy DVD, oraz wymazanie klucza z dysku twardego.
Szyfrowanie plik贸w za pomoc膮 VMPC Data Security
Szyfrowanie plik贸w zaczynamy klikaj膮c na ikon臋 , pojawia nam si臋 okno Wyboru plik贸w:
… w kt贸rym ustalamy lokalizacj臋 pliku do zaszyfrowania, zaznaczaj膮c wybrany przez nas plik i potwierdzamy nasz wyb贸r przyciskiem . Po zako艅czeniu dodawania plik贸w do zaszyfrowania naciskamy ikon臋 w celu zamkni臋cia okna dodawania plik贸w.
Wybrany przez nas plik zostaje wy艣wietlony w oknie g艂贸wnym programu jako plik do zaszyfrowania:
Nast臋pnie klikamy mysz膮 na przycisk Szyfruj Potem wczytujemy lub tworzymy klucz szyfracji o czym by艂a mowa wcze艣niej
i potwierdzamy powt贸rnie wyb贸r klucza szyfracji:
Wyb贸r klucza szyfrowania ko艅czymy przyciskiem . Dalej pojawia nam si臋 okno „Zapisu archiwum”:
W kt贸rym mo偶emy zmieni膰 domy艣lne ustawienia nazwy i lokalizacji archiwum
w kt贸rym b臋d膮 znajdowa膰 si臋 nasze zaszyfrowane pliki, a tak偶e napisa膰 komentarz do naszego archiwum (daj膮cy nam informacje np. jakie pliki w nim si臋 znajduj膮). Proces szyfrowania pliku ko艅czymy przyciskiem . Program po zako艅czeniu szyfrowania wy艣wietla nam raport:
Program jest VMPC DATA Security jest bardzo wydajnym programem. Operacja szyfrowania folder贸w, czy plik贸w zostaje zako艅czona nawet o oko艂o 30% szybciej ni偶 skopiowanie tego samego pliku/folderu na dysk w systemie Windows.
Deszyfrowanie plik贸w za pomoc膮 VMPC Data Security
Deszyfrowanie plik贸w zaczynamy klikaj膮c na ikon臋 , pojawia nam
si臋 okno Wyboru archiwum do otwarcia:
… gdzie ustalamy lokalizacj臋 naszego archiwum do odszyfrowania.
Nast臋pnie pojawia nam si臋 okno wprowadzania i potwierdzenia klucza deszyfracji (taki sam jaki by艂 u偶yty wcze艣niej do szyfrowania archiwum). Potwierdzamy wprowadzenie klucza przyciskiem .
Potem ukazuje si臋 ponownie okno g艂贸wne programu z otwartym naszym archiwum:
Pod艣wietlamy kursorem nasz plik kt贸ry chcemy odszyfrowa膰 i zatwierdzamy nasz wyb贸r przyciskiem i Po wybraniu przycisku „Deszyfruj” pojawia nam si臋 okno:
… w kt贸rym wybieramy lub pozostawiamy jako domy艣ln膮 lokalizacj臋 pliku odszyfrowanego potwierdzaj膮c nasz wyb贸r ponownie przyciskiem
Po zako艅czeniu procesu deszyfracji program potwierdza prawid艂owe wykonanie operacji komunikatem:
Dodatkowe opcje programu VMPC Data Security.
Szyfrowanie tekst贸w i poczty elektronicznej:
Program VMPC Data Security zawiera wbudowany bezpieczny edytor tekst贸w, kt贸ry nie tworzy plik贸w tymczasowych na dysku twardym.
Po wcze艣niejszym zaszyfrowaniu, tekst automatycznie przekszta艂cany jest na system zapisu tekstowego Base64, co daje nam mo偶liwo艣膰 艂atwego przes艂ania szyfrogramu poczt膮 elektroniczn膮, zapisania go w pliku tekstowym lub wydrukowania.
Program umo偶liwia te偶 nam zaszyfrowanie i wys艂anie tekstu poczt膮 elektroniczn膮 po wci艣ni臋ciu zaledwie jednego klawisza, za pomoc膮 domy艣lnie stosowanego programu pocztowego kt贸rym jest np.: Outlook Express.
Dzi臋ki dost臋pnemu na stronie www.VMPCfunction.com darmowemu programowi do deszyfrowania emaili mo偶liwe jest przesy艂anie zaszyfrowanych wiadomo艣ci do adresat贸w nieposiadaj膮cych programu VMPC Data Security.
Trwa艂e i nieodwracalne usuni臋cie plik贸w 藕r贸d艂owych z komputera
Program umo偶liwia nam bezpieczne wykasowanie zaszyfrowanych folder贸w lub plik贸w z dysku za pomoc膮 zamazania ich pierwotnej zawarto艣ci pseudolosowymi danymi za nim b臋d膮 logicznie usuni臋te. Liczb臋 rund zamazywania mo偶e wybra膰 u偶ytkownik, ich liczba jednak musi si臋 mie艣ci膰 w zakresie od 1 do 35 (przy czym im wi臋cej rund, tym mniejsze prawdopodobie艅stwo odzyskania pliku przez niepowo艂ane osoby.
VI. Zako艅czenie
W mojej pracy postara艂em si臋 ukaza膰 jak najlepiej potrzeb臋, a nawet konieczno艣膰 stosowania program贸w szyfruj膮cych w codziennym 偶yciu oraz zagro偶enia spowodowane nieu偶ywanie tych program贸w. Opisa艂em najcz臋艣ciej stosowane w programach szyfruj膮cych trzy grupy szyfr贸w wsp贸艂czesnych:
- asymetryczne,
- blokowe,
- strumieniowe.
Przedstawi艂em algorytmy szyfruj膮ce, takie jak:
- Skipjack,
- Blowfish,
- Twofish,
- DEX,
- Idea,
- RC4,
- A5/1
- DES
- Serpent
Wspomnia艂em te偶 o szyfrach historycznych w dzisiejszych czasach ju偶 nie stosowanych z powodu zbyt ma艂ej mocy szyfruj膮cej w por贸wnaniu do mocy obliczeniowej dzisiejszych komputer贸w, u偶ytych do z艂amania tych szyfr贸w.
Opisa艂em podstawowe funkcje mieszaj膮ce:
- MD-5,
- SHA-1,
- SHA-256,
- SHA-384,
- SHA-512,
kt贸re obok szyfr贸w wsp贸艂czesnych s膮 dodatkowym narz臋dziem zastosowanym w programach szyfruj膮cych nasze dane.
W mojej pracy zawar艂em opis program贸w najpopularniej stosowanych do szyfrowania danych:
- Enigma 2003 final,
- Data Encryption Toolkit v. 1.12,
- Cheops v. „A”,
- Top Secret Next Generation,
- PGP 8.2,
- TmD SOFT Code,
- VMPC Data Security.
Z tych program贸w moim zdaniem godnymi polecenia pod wzgl臋dem funkcji wbudowanych, a tak偶e skuteczno艣ci s膮:
Top Secret Next Generation kt贸ry tworzy i wykorzystuje wirtualne sejfy, widziane w systemie jako dyski twarde. Program ten szyfruje dane i poczt臋 internetow膮, jest chroniony antywirusowo oraz posiada w艂asn膮 niszczark臋 plik贸w, potrzebn膮 do usuni臋cia 藕r贸d艂owych danych po zaszyfrowaniu. Spo艣r贸d opisanych program贸w najlepiej te偶 chroni przed skasowaniem pliku z dysku i niepo偶膮dan膮 deinstalacj臋 pakietu.
Drugim programem godnym polecenia jest program Tmd SOFT Code posiadaj膮cy do wyboru czterdzie艣ci algorytm贸w szyfruj膮cych. Du偶ym atutem tego programu jest jego dost臋pno艣膰 do zdobycia, gdy偶 jest on programem darmowym
i ka偶dy u偶ytkownik mo偶e pobra膰 go z Internetu.
Ostatnim programem jest PGP 8.2 wykorzystuj膮cy najlepsze algorytmy: AES (Rijndael) 256 bit, CAST 128 bit lub Twofish 256 bit. PGP 8.2 jest funkcjonalnym i 艂atwym do opanowania pakietem, sk艂adaj膮cym si臋 z wzajemnie uzupe艂niaj膮cych modu艂贸w PGP disk, PGP mail i PGP keys. Korzystaj膮c z wygodnego kreatora, mo偶emy nadawa膰 u偶ytkownikom prawa „tylko do odczytu”, zak艂ada膰 dyski dowolnych rozmiar贸w, przypisywa膰 je u偶ytkownikom i pracowa膰 na kilku nap臋dach jednocze艣nie. Dost臋p do zaszyfrowanych danych poprzedzony jest autoryzacj膮, kt贸ra mo偶e si臋 odbywa膰 poprzez podanie has艂a (frazy) lub uwierzytelnienie kluczem publicznym.
Skuteczno艣膰 ochrony danych zale偶y w najwi臋kszej mierze od cz艂owieka. Jest on najs艂abszym ogniwem systemu. Stosuj膮c ochron臋 danych na u偶ytek w艂asny, wystarczy jak najcz臋艣ciej zadawa膰 sobie pytanie: „Gdzie istnieje niezabezpieczona kopia chronionego pliku lub 艣lad po jego przetworzeniu”. Stosuj膮c ochron臋 danych, do kt贸rych ma dost臋p wi臋cej ni偶 jedna osoba, nale偶y stworzy膰 procedury, kt贸re b臋d膮 punkt po punkcie instruowa艂y, co nale偶y zrobi膰 w okre艣lonej sytuacji. Tylko w taki spos贸b mo偶na spowodowa膰, 偶e wszystkie osoby b臋d膮 post臋powa艂y jednakowo i kto艣 przez swoje zaniedbanie nie utworzy wy艂omu w systemie bezpiecze艅stwa.
Ochrona danych podlega takim samym prawom jak ka偶da dziedzina- zachodzi w niej ustawiczny post臋p. Aby nie okaza艂o si臋, 偶e opracowano rozwi膮zania, kt贸re czyni膮 nasze zabezpieczenia bezwarto艣ciowymi, trzeba 艣ledzi膰 najnowsze doniesienia.
Bibliografia
Piotr Czarny: PGP Szyfrowanie informacji- 膯wiczenia praktyczne, Wydawnictwo Helion, Gliwice 2002.
Niels Ferguson, Bruce Schneier: Kryptografia w praktyce, Wydawnictwo Helion, Gliwice 2004.
http://kryptografia.republika.pl/enigma.html
Charles Babbage (ur. 26 grudnia 1791 r. w Teignmouth, Devonshire — zm. 18 pa藕dziernika 1871 r.
w Londynie) - angielski matematyk, astronom i mechanik, autor tablic logarytmicznych.
ElGamal- jeden z dw贸ch najwa偶niejszych system贸w kryptografii asymetrycznej (drugim jest RSA). System jest oparty na trudno艣ci problemu logarytmu dyskretnego w ciele liczb ca艂kowitych modulo du偶a liczba pierwsza.
http://e-handel.mm.com.pl/crypto/aes.htm
AES-ang. Advanced Encryption Standard- zaawansowany standard szyfrowania, symetryczny algorytm szyfruj膮cy Rijndael, kt贸ry w 2000r. zosta艂 zwyci臋zc膮 og艂oszonego przez NIST konkursu, algorytm ma docelowo zast膮pi膰 ma艂o bezpieczny ju偶 DES.
N. Ferguson, B. Schneider: Kryptografia w praktyce, Wydawnictwo Helion, Gliwice 2004, s. 57
NSA (National Security Agency) Agencja Bezpiecze艅stwa Narodowego - g艂臋boko utajniona ameryka艅ska agencja wywiadowcza, koordynuj膮ca ca艂o艣膰 operacji SIGINT, powsta艂a w kwietniu 1952 roku.
http://pl.wikipedia.org/wiki/3DES
http://ochrona.bajo.pl/szyfrprog.php
S-Box (Substitution Box) - podstawowy element wielu wsp贸艂czasnych szyfr贸w (np. DES). Istota jego dzia艂ania polega na podstawieniu ci膮gu bit贸w innym, w zale偶no艣ci od bit贸w: poprzedzaj膮cego
i nast臋pujacego.
N. Ferguson, B. Schneider: Kryptografia w praktyce, Wydawnictwo Helion, Gliwice 2004, s. 58
http://pl.freeglossary.com/DES
http://pl.wikipedia.org/wiki/DES
http://ochrona.bajo.pl/szyfrprog.php
http://pl.wikipedia.org/wiki/szyfr_strumieniowy
Blum Blum Shub- generator liczb pseudolosowych
N. Ferguson, B. Schneider: Kryptografia w praktyce, Wydawnictwo Helion, Gliwice 2004, s. 78
Paradoks urodzinowy- „Ile os贸b nale偶y wybra膰, 偶eby prawdopodobie艅stwo, 偶e co najmniej dwie z nich maj膮 urodziny tego samego dnia by艂o wi臋ksze od jednej drugiej”. Je艣li losowo przyporz膮dkujemy ka偶demu obiektowi jedn膮 z n etykietek, to 偶eby prawdopodobie艅stwo 偶e dwa obiekty b臋d膮 oznaczone tak膮 sam膮 etykietk膮 by艂o wi臋ksze od jednej drugiej trzeba zbioru obiekt贸w o liczno艣ci rz臋du 鈭歯.
National Institute of Standards and Technology (ang. Narodowy Instytut Standaryzacji i Technologii)
-ameryka艅ska agencja federalna spe艂niaj膮ca rol臋 analogiczn膮 do Polskiego Komitetu Normalizacji.
N. Ferguson, B. Schneider: Kryptografia w praktyce, Wydawnictwo Helion, Gliwice 2004, s. 79
P. Czarny, PGP Szyfrowanie informacji - 膰wiczenia praktyczne, Wydawnictwo Helion,
Gliwice 2002, s.9
VMPC -szyfr strumieniowy bazuj膮cy na funkcji jednokierunkowej.
http://www.vmpcfunction.com/dsp.html
- 3 -
wiersz has艂a
Przycisk szyfrowania
i odszyfrowania
Pasek wyboru dysku na kt贸rym znajduje si臋 plik szyfrowany lub deszyfrowany
Kompresuj zbi贸r do formatu *.zip.
Otw贸rz wskazany zbi贸r.
Usu艅 wskazany zbi贸r po jego zamazaniu.
Rozpakuj zbi贸r w formacie *.zip.
Rozpakuj zbi贸r w formacie *.cab.
Kopiuj wskazany zbi贸r.
Usu艅 wskazany zbi贸r.
Kompresuj zbi贸r do formatu *.cab.
Sejf programu Top Secret
Next Generation
Pasek wyboru algorytmu
szyfruj膮cego