Bankovní institut vysoká škola Praha Katedra matematiky, statistiky a informačních technologií
Nejpoužívanější módy a algoritmy šifrování Diplomová práce
Autor:
Bc. Jaroslava Kučírková Informační technologie a management
Vedoucí práce:
Praha
Ing. Vladimír Beneš
Duben, 2013
Prohlášení Prohlašuji,
ţe
jsem
diplomovou
práci
zpracovala
samostatně
a v seznamu uvedla veškerou pouţitou literaturu. Svým podpisem stvrzuji, ţe odevzdaná elektronická podoba práce je identická s její tištěnou verzí, a jsem seznámena se skutečností, ţe se práce bude archivovat v knihovně BIVŠ a dále bude zpřístupněna třetím osobám prostřednictvím interní databáze elektronických vysokoškolských prací.
V Praze 22. 4. 2013
Bc. Jaroslava Kučírková
Poděkování Na tomto místě bych chtěla poděkovat svému vedoucímu diplomové práce Ing. Vladimíru Benešovi, za jeho podporu a mnoho cenných rad při vedení diplomové práce.
Anotace V první kapitole mé diplomové práce se věnuji především základním pojmům z oblasti šifrování. Následně v druhé a třetí kapitole se zaměřuji na symetrické a asymetrické šifrování a jejich algoritmy. S asymetrickým šifrováním je spojen digitální podpis, kterému se věnuji ve čtvrté kapitole. Pátá kapitola je zaměřena na kombinaci předchozích šifrování, tedy na hybridní. Teoretickou část uzavírají šifrovací módy. V praktické části a zároveň v poslední kapitole mé diplomové práce se zaměřuji na 8 programů učených k šifrování dat. Klíčová slova: algoritmy a módy šifrování, digitální podpis a šifrovací programy.
Annotation The first chapter of my diploma thesis is dedicated primarily to the basic concepts in the field of encryption. Subsequently, the second and third chapter concentrates on symmetric and asymmetric encryption and its algorithms. Asymmetric encryption is connected with a digital signature on which I focus in the fourth chapter. The fifth chapter puts emphasis on a combination of symmetric and asymmetric encryption, i.e. hybrid encryption.The theoretical part is concluded by encryption modes. In the practical part and the final chapter of my thesis at the same time, I examine eight programs for data encryption. Key words: algorithms and modes of encryption, digital signature and encryption programs.
Úvod...................................................................................................................................................... 7 1
Základní pojmy a historie šifrování ............................................................................................... 8 1.1
2
3
4
Symetrické šifrování................................................................................................................... 12 2.1
DES ...................................................................................................................................... 13
2.2
AES ...................................................................................................................................... 18
2.3
IDEA .................................................................................................................................... 21
2.3
Blowfish .............................................................................................................................. 22
2.4
CAST .................................................................................................................................... 23
2.5
SERPENT .............................................................................................................................. 23
Asymetrické šifrování ................................................................................................................. 25 3.1
RSA ...................................................................................................................................... 26
3.2
EL-GAMAL ........................................................................................................................... 28
3.3
ECC ...................................................................................................................................... 28
Hybridní šifrování........................................................................................................................ 30 4. 1
5
7
PGP...................................................................................................................................... 31
Digitální a elektronický podpis.................................................................................................... 33 5.1
6
Základní rozdělení šifer ....................................................................................................... 11
Hashovací funkce ................................................................................................................ 35
5.1.1
MD5 - Message Digest Algorithm 5 ............................................................................ 35
5.1.2
SHA – Secure hash Algorithm ..................................................................................... 36
5.1.3
RIPEMD ....................................................................................................................... 37
5.2
Prohlášení Národního Bezpečnostního Úřadu k využívání hashovacích funkcí ................. 38
5.3
PODPISY .............................................................................................................................. 39
Šifrovací módy ............................................................................................................................ 40 6.1
ECB (Electronic Codebook) ................................................................................................. 41
6.2
CBC (Cipher Block Chaining) ............................................................................................... 43
6.3
CFB (Cipher Feedback) ........................................................................................................ 45
6.4
OFB (Output Feedback) ...................................................................................................... 46
6.5
CTR (Counter)...................................................................................................................... 47
6.6
CCM (counter cbc-mac) ...................................................................................................... 48
6.7
XEX (Xor – Encryption - Xor) .............................................................................................. 48
6.8
XTS ...................................................................................................................................... 48
Šifrovací programy ...................................................................................................................... 50 5
7.1
BoxCryptor .......................................................................................................................... 51
7.2
DiskCryptor ......................................................................................................................... 54
7.3
Rohos Mini Driver ............................................................................................................... 56
7.4
AxCrypt ............................................................................................................................... 59
7.5
Safetica free ........................................................................................................................ 62
7.6
Comodo Disk Encryption .................................................................................................... 66
7.7
True Crypt ........................................................................................................................... 67
7.8
AES Crypt ............................................................................................................................ 71
Seznam použité literatury................................................................................................................... 74 Seznam obrázků .................................................................................................................................. 76 Seznam tabulek .................................................................................................................................. 78
6
Úvod Potřebu ochránit nějaká data (informace) před někým nepovolaným uţ pokládali za důleţité i staří Římané. Díky tomu se dnes Ceasarova šifra povaţuje za jeden z největších mezníků historie. Jednalo se o primitivní posun znaků v abecedě, a bez klíče, který značil, o kolik znaků se abeceda posunula, nebyl nikdo schopen zprávu rozluštit. Zejména v dnešní moderní době (v době internetu, internetového bankovnictví atd.) šifrování oceňujeme. Věřím, ţe mnoho z nás si ani neuvědomuje, ţe se s ním v kaţdodenním styku setkává. A právě proto jsem si jako téma mé diplomové práce vybrala nejpouţívanější módy a algoritmy šifrování. Ráda bych vysvětlila základní pojmy šifrování, představila algoritmy symetrického a asymetrického šifrování a pokusila se vysvětlit běţnému uţivateli, jak fungují. A také to, ţe je zapotřebí nějaký mód, který také zajistí ochranu dat. V praktické části se chci zaměřit na 8 volně dostupných šifrovacích programů. Ráda bych u kaţdého z nich vytvořila krátký manuál pro uţivatele – laika, který by ho navedl na správnou cestu. V závěru se pokusím vybrat nejvhodnější šifrovací program.
7
1
Základní pojmy a historie šifrování
Otevřený text – jakákoliv zpráva, která můţe být zabezpečena šifrováním. Kryptografie – nauka o utajování obsahu komunikace. Zabývá se matematickými metodami se vztahem k takovým prvkům informační bezpečnosti, jako je zajištění důvěrnosti zprávy, integrity dat (neporušenosti), autentizace entit (ověření subjektu) a původu dat (vlastnictví) – včetně zkoumání jejich silných stránek a slabin i odolnosti vůči různým metodám útoků. Steganografie – nauka o utajování komunikace. Často je spojována především s pouţíváním neviditelných inkoustů, mikroteček a podobných metod. V současné době je plnohodnotnou vědní disciplínou, která velmi vhodně doplňuje klasické metody kryptografie. Kryptoanalýza – nauka o odhalení slabin šifrovacích systémů. Obecně se kryptoanalýza zabývá odolností kryptografických systémů a hledá metody, které vedou k proniknutí do těchto systémů. Kódy – nahrazování skupin slov či znaků vyhrazenými slovy či znaky. Šifrová abeceda – jedná se o šifrové znaky, které mohou být tvořeny abecedou otevřeného textu, ale mohou být tvořeny i jinými obrazci. Znaky šifrové abecedy vytváří řetězce (skupiny). Od poloviny 19. století je zvykem zapisovat šifrové znaky do skupin po pěti šifrových znacích Kódové knihy - seznamy slov či vět otevřeného textu a odpovídajících šifrovacích textů. Kódování - změna zápisu informace pomocí veřejně známých pravidel (např. morseovka, Baudotův kód, kódování písmen pomocí čísel ASCII UTF8 0 − 25). Šifrovací algoritmus (kryptografický) – matematický postup, který z poţadovaného otevřeného textu vytvoří text, který je nečitelný. Prostřednictvím správného šifrovacího klíče text můţeme vrátit do původní podoby. Šifrovací klíč - parametr kryptografického algoritmu. V kryptografii je klíč informace, která určuje průběh kryptografického algoritmu, tj. tedy jak má algoritmus zprávu zašifrovat a dešifrovat. Bezpečnost šifrování je právě otázkou daného šifrovacího klíče. Čím je klíč delší, 8
tím je bezpečnější, neboť útočník musí vynaloţit větší sílu na jeho prolomení. Toto pravidlo neplatí pro rainbow tables. Heslo – řetězec písmen a čísel, který slouţí k ověření identity uţivatele. Runda - ucelený soubor operací v rámci kryptografického algoritmu. S-box – základní sloţka symetrického šifrování, která provádí substituci. Kaţdý S-box je reprezentován tabulkou o 4 řádcích a 16 sloupcích. Kaţdý má 6bitový vstup a 4bitový výstup (tedy 48bitový vstup do S-boxů a 32bitový výstup). Vstupem kaţdého S-boxu je 4bitové číslo. 6 vstupních bitů S-boxu určuje, ve kterém řádku a sloupci tabulky je třeba hledat výstup. Klamač - znak v šifrové abecedě, který nemá ţádný významový ekvivalent, při dešifrování se vynechává. Klamače se vkládají pro zvýšení bezpečnosti šifry. Luštění - proces, při kterém se kryptoanalytici snaţí získat ze zašifrované zprávy její původní podobu. Pokud je tento proces úspěšný, hovoříme o tzv. prolomení šifry. Luštění má 3 základní odlišné fáze: identifikaci, prolomení a zjištění nastavení šifrovacího algoritmu. Následující tabulka č. 1 popisuje, jak se šifrování vyvíjelo v historii lidstva.
Tabulka č. 1: Nejdůležitější mezníky šifrování 500 let př.n.l. 400 let př.n.l 50 let př.n.l 4. století 10. století 13.a 14. Století 1412 15. a 16. Století 16. století 1586 1843
Ţidé: jednoduchá substituční šifra (ATBASH) Řecko: jednoduché transpoziční šifry, steganografie Řím: Caesarova šifra Indie: šifrování mezi 64 uměními v Kámasútře Arabové: základy kryptoanalýzy včetně frekvenční analýzy Evropa: pouţívá se substituční šifra, případně lehké nástavby Arabové: encyklopedie obsahující kapitolu o kryptologii první návrhy šifrování podle hesla Evropa: kryptologie hraje důleţitou roli v politice Anglie: poprava skotské královny na základě rozluštění šifry USA: Poe píše o šifrách a zveřejní šifrovací výzvy
1861 1885
Prusko: metoda pro řešení polyalfabetické šifry (Kasiski) USA: Bealův poklad
19. století
rozvoj telegrafu, rozvoj kryptografie pro komerční účely, polní šifry (Playfair), první mechanické přístroje pro šifrování 9
1. světová válka 1926 2. světová válka 1949 50. léta 20.století 1967
důleţitá role ve válce i v politice (Zimmermannův telegram), pouţití komplikovanějších šifer na klasických principech Německo: armáda začíná pouţívat šifrovací přístroj Enigma klíčová role kryptologie ve válce, pouţití mechanických šifrovacích strojů publikovány práce C. Shannona o teorii informace rozvoj počítačů, první vyuţití počítačů pro šifrování/luštění USA: kniha D. Khana „The Codebreakers”
1973
Anglie: objeven princip šifrování s veřejným klíčem, kvůli utajení však nebyl zveřejněn
1976 1978 1991 90. léta 20.století
USA: publikován článek „New Directions in Crytography”, začátek rozvoje akademické kryptologie USA: zveřejněno RSA, algoritmus realizující kryptografii s veřejným klíčem USA: zveřejněno PGP, implementace kryptografie s veřejným klíčem rozvoj kvantové kryptografie
Zdroj: Šifry a hry s nimi Aplikace, kde se setkáme se šifrováním: V dnešní moderní době člověk pouţívá šifrování kaţdodenně a často se stane, ţe ani netuší, ţe s ním pracuje. Ve kterých aplikací se pouţívá šifrování: -
Internetové informační systémy, elektronické obchodování – komunikace mezi uţivatelem a systémem musí probíhat zašifrovaně, protoţe je lze jednoduše třetí stranou odposlouchávat.
-
Mobilní telefony – signál vysílaný i přijímaný mobilním telefonem je jednoduché zachytit, proto je nutné signál šifrovat.
-
Identifikace uživatelů počítačových sítí – všechny hesla se musí uchovávat v zašifrované podobě, aby nedošlo k jejich zneuţití.
-
Autentizace – proces identifikace neprobíhá jen mezi uţivatelem a systémem, ale také mezi dvěma různými systémy např. kreditní karta a bankomat, autentizace probíhá pomocí speciálních kryptografických protokolů.
-
Elektronické podpisy – elektronický ekvivalent vlastnoručního podpisu se zajišťuje s vyuţitím šifer.
10
1.1 Základní rozdělení šifer
Obrázek č. 1: Základní rozdělení šifer Zdroj: ZELINKA, Ivan. Kryptologie. 2011. Dostupné z: http://arg.vsb.cz/Data/Vyuka/PVB12.pdf
V mé diplomové práci bych se ráda zaměřila na moderní šifry – symetrické a asymetrické.
11
2
Symetrické šifrování Symetrické šifrování je zaloţeno na pouţití jednoho klíče, a to soukromého. Princip
je velmi jednoduchý. Odesílatel zašifruje zprávu svým soukromým klíčem a přepošle příjemci. Ten ji dešifruje stejným klíčem (soukromým odesílatele). Postup je také znázorněn na obrázku č. 2. Problém ale nastává ve chvíli kdy je potřeba předat klíč bezpečným kanálem. Klíč se můţe poslat např. mailem, ale hrozí zde napadení „třetí stranou“. Bezpečný způsob je např. osobní setkání a předání klíče na Flash USB disk. Díky tomuto se pouţívá zejména při šifrování dat, které se nebudou dále posílat (HDD…).
. Obrázek č. 2 : Symetrické šifrování Zdroj: http://www.elektrorevue.cz/clanky/02021/index.html
Výhodou této metody šifrování je nízká výpočetní náročnost, tudíţ i rychlost oproti asymetrickému šifrování, které pouţívá dva klíče. Dělení symetrických šifer Symetrické šifry se dělí na 2 podskupiny, a to: Blokové – otevřený text se rozdělí na několik stejně velkých bloků, které se následně zašifrují. Proudová – tento druh šifrování pouţijeme, pokud chceme zašifrovat jen několik bitů otevřeného textu, nebo v případech, kdy jsou data získávána jako proud bitů a je potřeba je okamţitě šifrovat. 12
Nejpoužívanější algoritmy Mezi nejpouţívanější algoritmy blokových a proudových šifer patří: DES, AES, IDEA, Blowfish, Serpent
2.1 DES Začátek tohoto šifrovacího algoritmu spadá do 70. let kdy výzkumný tým významné společnosti v oboru IT - IBM vyvinul šifrovací systém Lucifer. Původně byl určen jen pro potřeby společnosti Loyd. Ta tento systém zakoupila za účelem ochrany systému plateb. Díky svému postupnému zdokonalování se stal jedním z kandidátů na standard šifrování dat v USA. V roce 1977 byl také jako standard přijat a byl pojmenován „Data Encryption Standard“ (DES). Dále byl schválen jako norma FIPS-46 (Federal Information Processing Standarts) pro šifrování neklasifikovaných informací. Přestoţe byl DES nejprve určen pro ochranu „citlivých“ vládních dat, rozšířil se do komerční sféry po celém světě a pouţíval se aţ do roku 2001, kdy jej nahradil jiný algoritmus – AES. O šifrovacím algoritmu DES se v dnešní době mluví jako o jedné z nejznámějších a nejpouţívanějších šifer.1 DES je bloková šifra, která šifruje data v 64 - bitových blocích za pomoci 56 - bitového klíče. Takto krátký klíč je jednou z největších slabin algoritmu. Klíč je obvykle vyjádřen jako 64 bitová hodnota, avšak kaţdý osmý bit je paritní a je algoritmem ignorován. Využití -
Šifrování zpráv v protokolu IPSec (Internet Protocol Security – bezpečnostní rozšíření IP protokolu zaloţené na autentizaci a šifrování). Pro IPSec je DES standardizován v reţimu CBC, kde je inicializační vektor přenášen jako součást paketu.
-
V protokolu SSL (Secure Societ Layer), který je určen k zajištění bezpečnosti informací v komunikačních sítích zaloţených na přenosovém
1
VANĚK, Tomáš. Moderní blokové šifry I. České Vysoké Učení Technické. Praha, 2010.
13
protokolu TCP (Transmission Control Protocol). S těmito protokoly se setkáváme denně na internetu. Postup algoritmu
Postup algoritmu DES můţeme rozdělit do 5 následujících kroků: 1. Transformace textu do 64 - bitových bloků; 2. Počáteční permutace bloků; 3. Rozloţená bloků na dvě části – levou a pravou; 4. Permutace a 16x opakování (runda); 5. Znovu spojení levé a pravé části, pak konečná permutace. Postup algoritmu by měl lépe vysvětlit následující obrázek č. 3.
Obrázek č. 3: DES postup Zdroj: http://en.kioskea.net/contents/crypto/des.php3
14
Generování klíčů Otázkou bezpečnosti je sloţitost klíče. Vše začíná u první permutace, kdy se klíč rozdělí na dvě poloviny - 2 x 28 bitů. Dále se pokračuj v následujících 16 krocích: -
Z kaţdé poloviny klíče se vybere 24 bitů.
-
Za pomoci transpozice se “zpřehází“ a aplikují do „rundové“ funkce.
-
Kaţdá polovina se nezávisle na druhé zrotuje o jednu nebo dvě pozice podle plánu rotace klíče. 2
Obrázek č. 4 vysvětluje názorně postup:
Obrázek č. 4: DES generování klíčů Zdroj: http://en.kioskea.net/contents/crypto/des.php3
2
Kioskea.net. Introduction to encryption with DES [online]. 2012 [cit. 2013-01-24]. Dostupné z: http://en.kioskea.net/contents/crypto/des.php3
15
Prolomení Des RSA Security (Americká počítačová forma, která se zabývá bezpečností počítačové sítě) v lednu 1997 vypsala soutěţ – DES Challenge. Jediným úkolem této soutěţe bylo rozluštit zprávu zašifrovanou algoritmem DES. Odměna výherci činila 10 000 dolarů. V roce 1998 se na trhu objevilo zařízení DES - cracker, které bylo schopné odzkoušet (brute force attack) všechny kombinace tohoto algoritmu během devíti dnů. Zařízení je schopno díky své architektuře provést zkoušku devadesáti miliard klíčů za sekundu. Cena vlastního zařízení byla 130 tisíc dolarů, jeho vývoj stál zhruba 210 tisíc dolarů. Po investici 1 milionu dolarů by byl přístroj schopný rozšifrovat klíč za pouhé 3 a půl hodiny. O skoro deset let později se podařilo DES prolomit hrubou silou. Zúčastnilo se ho 78 000 počítačů a klíč byl nalezen za 96 dní (byla prohledána čtvrtina prostoru klíčů) V tuto samou dobu se objevilo další zařízení na prolomení DES - COPACOBANA. Díky době, kdy se relativně změnila cena počítačových komponent, stál COPACOBANA 10 000 dolarů. Průměrná doba na prolomení byla 9 dní. V roce 2008 se i tento přístroj dočkal upgradu a svou práci vykonal za pouhých 24 hodin. 3 Modifikace DESu Algoritmus nevydrţel po celý svůj ţivot odolávat útokům třetí stranou. Proto bylo vyvinuto několik verzí, které ve své době patřili ke špičkám v šifrovacích algoritmech. 3 DES Tato modifikace byla standardizována v normách ANSI X9.17 a ISO 8732. Pracuje na základě toho, ţe „základní“ DES klíč se zvětší na 192 bitů z původních 56 bitů. Matematicky vzato můţeme počet různých kombinací vyjádřit jako: 2^168 = 3,7 * 10^50 kombinací. Jednalo se o velmi jednoduchý způsob jak zvýšit odolnost vůči prolomení. Oproti DES byl jeho nástupce 3x pomalejší, ale za správného pouţití několikrát bezpečnější. I zde byly data šifrovány v 64 bitových blocích. Algoritmus 3DES je v podstatě rozšířením
3
Compurterworld: Historie hackingu: Stručná historie lámání šifer. PŘIBYL, Tomáš. [online]. 2011. vyd. [cit. 2013-01-24]. Dostupné z: http://computerworld.cz/securityworld/historie-hackingu-strucna-historielamani-sifer-48338
16
původního DES, přičemţ data postupně šifruje pomocí tří rozdílných klíčů, jak vidíme na obrázku č. 5.
Obrázek č. 5: 3DES Zdroj: http://www.tropsoft.com/strongenc/des3.html Vlastní postup šifrování dat je v algoritmu 3DES stejný jako v DES, zde se ale třikrát opakuje - původní data (zpráva) se zašifrují pomocí prvního klíče, výsledek pomocí druhého klíče, a tento výsledek vstoupí do šifrování se třetím klíčem. 3DES můţe pracovat ve 3 reţimech: -
DES-EEE3: algoritmus pouţívá 3 odlišné klíče. Data se vţdy zašifrují 3x a pokaţdé jiným klíčem.
-
DES-EDE3: také pouţívá 3 odlišné klíče, data jsou zašifrována, dešifrována a pak znova zašifrována.
-
DES-EEE2: pouţívá kombinaci 2 odlišných klíčů. Data se zašifrují prvním klíčem, následně se zašifrují druhým klíčem a nakonec se znova zašifrují prvním klíčem.4
DES s alternativními S-Boxy – jedná se o řešení, umoţňující měnit jejich uspořádání či strukturu. RDES – výměna levých a pravých polovin řízena dle klíče. 4
LÓRENCZ, Róbert. Bezpečnost: Proudové šifry, blokové šifry, DES, 3DES, AES, operacní módy. České Vysoké Učení Technické. Praha, 2011.
17
2.2 AES NIST vyhlásil 2. 1. 1997 veřejnou soutěţ s cílem najít šifru, která se bude hodit pro vládní i komerční sektor. Základní poţadavky byly: -
Bloková symetrická šifra.
-
Otevřený algoritmus, který není chráněn patenty.
-
Bezpečnost algoritmu je důleţitější neţ jeho rychlost.
Charakteristika uchazečů v soutěži: -
Všechny
algoritmy
pouţívaly
tzv.
bělení
(promíchání
klíče
s vstupními/výstupními daty). -
3 soutěţící – Mars, RC6 a Twofish pouţívali Feistelovo schéma.
-
2 soutěţící pouţívali substitučně – permutační sítě.
-
Kromě RC6 všichni pouţívali S-boxy.
Tato soutěţ trvala 4 roky, mezi 5 kandidáty se vítězem stal algoritmus Rinjndael (později přejmenován na AES) původem z Belgie: - Délka jednoho bloku je libovolná - 128, 192 nebo 256 bitů. - Volitelná délka klíčů:
1) 128 bitů – 3,4 x 10^18 klíčů 2) 192 bitů – 6,2 x 10^57 klíčů 3) 256 bitů – 1,1 x 10^77 klíčů
V závislosti na délce bloku a klíče je moţné 10 – 14 rund. V kaţdé rundě jsou 4 základní operace: -
ShiftRow (lineární kombinace): Lineární vrstva pro mixování bitů slova v cyklickém pořadí.
18
Obrázek č. 6: ShirtRow Zdroj: http://www.limited-entropy.com/crypto-series-aes -
SubBite (nelineární kombinace): Jednoduchá substituce, kde kaţdý bit je nahrazen jiným podle předem daného klíče.
Obrázek č. 7: SubBite Zdroj: http://commons.wikimedia.org/wiki/File:AES-SubBites.svg -
AddRoundKey (lineární kombinace): Kaţdý bit je zkombinovaný se subklíčem. Kaţdý bit subklíče zkombinujeme s příslušným bitem naší zprávy a dostaneme výslednou šifru.
Obrázek č.8: AddRoundKey Zdroj: http://commons.wikimedia.org/wiki/File:AES-AddRoundKey.png 19
-
MixColumn (nelineární kombinace): Jedná se o mixování buněk tabulky.5
Obrázek č.9: MixColumn Zdroj: http://commons.wikimedia.org/wiki/File:AES-MixColumns.png Následující obrázek č. 10 ukazuje předcházející 4 operace jdoucí za sebou v jedné rundě:
Obrázek č. 10: AES postup Zdroj: http://www.iis.ee.ethz.ch/~kgf/acacia/c3.html
5
Kryptografie: AES. [online]. [cit. 2013-01-24]. Dostupné z: http://www.kryptografie.wz.cz/data/aes.html
20
2.3 IDEA Algoritmus publikovaný v roce 1991 v Curychu Jamesem L. Masseyem a Xuejiaem Laiem. Původní verze se jmenovala IPES (Improved Proposed Encryption Standard) – později byla změněna na současný název - IDEA. K popularitě tohoto algoritmu přispělo zejména jeho pouţití ve volně dostupném šifrovacím balíku PGP a implementací do protokolu SSL. Generování subklíče Klíč s velikostí 128 bitů se rozdělí na prvních osm 16 - bitových subklíčů, a to K (1) – K (8). Dalších osm subklíčů dostaneme stejným způsobem poté, co provedeme posuny o 25 bitů do leva. Toto se opakuje, dokud není vygenerováno 52 klíčů. Tato metoda je pravidelná a periodická. Nicméně, IDEA je povaţována za vysoce bezpečnou a zatím není známo, ţe by byla rozluštěna, ani metodou hrubé síly. Postup IDEA - Rozdělení 64 - bitového bloku na čtyři 16 - bitové subbloky. - Následuje 8 rund výpočtu a výstupní transformace. -Jedno kolo výpočtu, kde modul je 216, tvoří tři výše zmíněné operace a pracuje se subbloky textu a klíče: 1. čtyři 16 - bitové subbloky otevřeného textu; 2. čtyři 16 - bitové subbloky šifrovaného textu; 3. padesát dva 16 - bitových subbloků klíče. -Výstupem výpočtu jsou 4 subbloky. Závěrečná transformace algoritmu odpovídá prvním čtyřem krokům prvního kola výpočtu.6 :
6
JANECKÝ, Michal. Kryptologie - Univerzita Hradec Králové: IDEA. [online]. [cit. 2013-01-24]. Dostupné z: http://kryptologie.uhk.cz/idea_cz.htm
21
Obrázek č.11: IDEA postup Zdroj: http://www.soc.napier.ac.uk/~bill/res5.html Od roku 1999 se IDEA nedoporučuje kvůli dostupnosti rychlejších algoritmů, pokrokům v kryptografii a problému s patentem
2.3 Blowfish Jedná se o další asymetrickou blokovou šifru, která byla navrţena v roce 1993 Brucem Schneierem, a můţe být povaţována za jednoduchou náhradou algoritmů DES a IDEA. Původně Blowfish byl vytvořen jako univerzální algoritmus a měl být bez některých omezení na rozdíl od ostatních.7 Jeho tvůrce prohlásil: ,, Blowfish is unpatented, and will remain so in all countries. The algorithm is hereby placed in the public domain, and can be freely used by anyone.“ Algoritmus se skládá z 2 částí: 1. Expanze klíče – převádí klíč s libovolnou délkou na několik polí podklíčů, tyto podklíče musí být předem vypočteny, a jsou náročné na výpočet. 2. Šifrování dat – po 64 bitových blocích v 16 rundách, s délkou klíče 32 bitů – celkově z toho bude 448 bitů.
7
VANĚK, Tomáš. Moderní blokové šifry I. České Vysoké Učení Technické. Praha, 2010.
22
Obrázek č. 12 : Blowfish Zdroj: http://www.design-reuse.com/articles/5922/encrypting-data-with-the-blowfishalgorithm.html
2.4 CAST Moderní bloková šifra navrţená autory Carlisle Adams a Stafford Taverns v polovině 90. let. Byl publikován v květnu 1997 jako RFC 2144. Poté se CAST stal kanadskou alternativou k algoritmu Blowfish. Oproti Blowfish měl tento algoritmus tu výhodu, ţe dostal certifikát kvality od oficiálního kanadského úřadu pro komunikaci Communication Security Establishment (CSE), díky tomu se algoritmus řadí mezi nejpouţívanější. Následně ho začlenil Microsoft do svých produktů a také je součástí PGP. Algoritmus můţe mít 12 rund nebo 16. Dalším principem CAST je substitučně-permutační síť. CAST pracuje se 4 substitučními boxy (S-boxy), které převádějí 8 bitů na 32 bitů. 8
2.5 SERPENT Navrţen autory Rossem Andersonem, Eli Bihamem a Larsem Knudsenem. Byl určen pro co nejvyšší bezpečnost a zatím je i v dnešní době odolný proti všem známým útokům. Pracuje v 32 rundách, díky tomu se jedná o poměrně silnou šifru ale zároveň i pomalou. Délka bloku je 128 bitů, a klíč můţe mít libovolnou délku aţ 256 bitů. Postup šifrování: 8
SEDLÁK. Historie Kryptografie.
23
-
Počáteční permutace, která mění pořadí bitů v bloku
-
Průběh 32 rund, která kaţdá obsahuje: o xor s rundovým klíčem; o průchod s-boxem; o lineární transformaci.
-
Konečná permutace – inverzní k permutaci počáteční
Obrázek č. 13: Serpent postup Zdroj: 4. Přednáška Moderní blokové šifry III – VANĚK, Tomáš
24
3
Asymetrické šifrování Myšlenka asymetrického šifrování se zrodila v roce 1975, kdy ji načrtl Whitfield
Dile. Toto šifrování se liší od symetrického tím, ţe pracuje se dvěma klíči – soukromým (zná ho jen vlastník) a veřejným (můţe být volně dostupný, např. můţeme jej zveřejnit na internetu). Existují 2 způsoby pouţití: -
Zpráva se zašifruje soukromým klíčem a dešifruje klíčem veřejným – tento způsob realizuje tzv. digitální podpis.
-
Zpráva se zašifruje veřejným klíčem a dešifruje soukromým klíčem – tímto se zajistí bezpečnost zprávy.
Obrázek č.14: Asymetrické šifrování Zdroj: http://www.isvs.cz/sifrovani-k-cemu-slouzi-a-jak-ho-vyuzit-17-dil Některé z asymetrických algoritmů můţeme pouţít jen k podepisování, některé jen k šifrování ale existují i algoritmy co zvládnou obojí (např. RSA). Kryptografie je zaloţena na tzv. jednocestných funkcích (operace, které se dají provést pouze jedním směrem).: -
Násobení
-
Diskrétní logaritmus
-
Problém baťohu 25
Jednou z největších výhod je, ţe odesílatel nemusí hledat bezpečnou cestu jak předat klíč na dešifrování. Na druhou stranu je tento způsob výpočetně náročnější tudíţ i pomalejší.
3.1 RSA Algoritmus je povaţován za nejznámější kryptosystém, který pouţívá soukromý a veřejný klíč. V roce 1977 s ním na trh přišli výzkumníci laboratoře počítačových věd MIT Ron Rivest, Adi Shamir a Leonard Adleman (první jména jejich příjmení vytvořili název RSA). Algoritmus byl v USA v roce 1983 patentován jako patent pod číslem 4 405 829. Patent vypršel 21. 9. 2000. Jak se jiţ výše zmiňuji, tento algoritmus umí šifrovat ale i podepisovat. V dnešní době jsou uţivatelé internetu skoro v kaţdodenním styku s protokoly, které RSA vyuţívají - např. v podobě zabezpečení komunikace na internetu. RSA je zaloţen na neschopnosti člověka vymyslet rychlý algoritmus pro rozklad velkých čísel na jejich prvočinitele. V dnešní době se o RSA mluví jako o jedné z nejsilnějších šifer. Délka klíče je v rozmezí 1024 aţ 2048 bitů.
Obrázek č. 15: RSA postup Zdroj: 4. Přednáška Moderní blokové šifry III – VANĚK, Tomáš
26
Bezpečnost RSA Bezpečnost algoritmu závisí na několika faktorech: -
Uţivatel musí zajistit, ţe čísla p a q (náhodně určená prvočísla, se kterými se generuje klíčový pár) zůstanou utajena. Pokud se tyto čísla odhalí, stane se odvození dešifrovacího klíče d ze šifrovacího klíče e primitivní záleţitostí.
-
Obtíţnost rozkladu součinu n (n = p * q ) na prvočísla. V případě, ţe bychom mohli rozloţit číslo n, můţeme získat čísla p a q a tím i dešifrovací klíč.
-
Na nedostatku jiných algebraických technik pro odvození dešifrovacího klíče d ze šifrovacího klíče e a čísla n
-
Číslo n musí být dostatečně velké.
-
Jestliţe n je menší nebo rovno 256 bitů, existuje moţnost, ţe bude za několik hodin faktorizováno za několik hodin.
-
Jestliţe n je menší nebo rovno 512 bitů, existuje moţnost, ţe bude faktorizováno několika sty počítači.
Útok V dnešní době jsou známy 3 druhy útoků na tento algoritmus: 1. Útok na prvočísla: pokus o napodobení chodu generátoru prvočísel. 2. Útok na matematickou teorii: objevit nové principy matematiky, které by odhalily zásadní trhliny v RSA nebo objevit opravdu rychlý způsob rozkladu velkých čísel. 3. Útok na rozklad: pokus o faktorizaci čísla n. Metody faktorizace -
Pollarova metoda: kvadratické síto, síto číselného pole
-
Pokusné dělení: metoda řetězových zlomků, metoda p-1, metoda +1 27
-
Zobecněné síto číselného pole: metoda eliptických křivek
3.2 EL-GAMAL Autorem dalšího asymetrického algoritmu je Taher ElGamal, který jej popsal ve své PhD disertaci Cryptography and logarithmsover finite fields, Stanford University 1984. Jeho největší nevýhoda spočívá v tom, ţe data, která se zašifrují, jsou dvakrát tak větší, neţ nezašifrovaná. Moţná toto je i důvod, proč není tak masivně nasazen jako předchozí algoritmus RSA. Tento algoritmus můţe být definován nad libovolnou cyklickou grupou G. Algoritmus je součástí IPSec, SSH a SSL protokolu. Bezpečnost Útočník algoritmus prolomí, kdyţ najde způsob, jak vyřešit problém diskrétního algoritmu. To se i na dnešní dobu povaţuje za velmi sloţitý systém.
3.3 ECC Veřejný algoritmus, který v roce 1985 navrhl V. Miller (IBM) a N. Koblitz. Jedná se o systém šifrování, který vyuţívá eliptických křivek (mnoţina bodů, která vyhovuje eliptické rovnici). V tomto případě je nahrazena matematická aritmetika aritmetikou, která pracuje s body na eliptické křivce. Velkou výhodou oproti RSA je vyšší bezpečnost při pouţití výrazně kratšího klíče. Tento systém také umoţňuje pouţití delšího klíče i odolnosti beze ztráty rychlosti kódování. 9
9
VAVERKA, Aleš. Digitální podpis. Brno, 2008. Dostupné z: http://www.vutbr.cz/www_base/zav_prace_soubor_verejne.php?file_id=9229. Bakalářská práce. Vysoké učení technické v Brně.
28
ECC není jediný algoritmus, který je zaloţen na eliptických křivkách. Další jsou např.: -
ECDSA: slouţí jen na podepsání a ověření podpisu, šifrovat s ním nelze
-
ECDH:
analogický
algoritmus
s klasickým
Diffie-Hellmanovým
algoritmem. Umoţňuje komunikujícím stranám sdílenou tajnou informaci (např. klíč pro symetrickou šifru).
29
4
Hybridní šifrování Tento pojem slouţí pro protokoly, které vyuţívají symetrické a asymetrické
kryptografie zároveň. Dle Isvs.cz hybridní systém spojuje výhody algoritmů: -
Počet klíčů roste lineárně s počtem komunikujících dvojic.
-
Přijatelná rychlost.
-
Je vhodný pro digitální/elektronický podpis dokumentů.
Princip spočívá v tom, ţe odesílatel pouţije klíč, kterým symetricky zašifruje zprávu. Tento klíč zašifruje veřejným klíčem osoby, které zprávu zasílá a pošle ho spolu se zprávou adresátovi. Adresát dostane asymetricky zašifrovaný klíč a symetricky zašifrovanou zprávu. Klíč dešifruje svým privátním klíčem a pouţije ho k dešifrování textu. Tímto způsobem odpadá problém s distribucí klíče při symetrickém šifrování a zároveň se celý proces zrychlí – asymetrické šifrování je pro dlouhé zprávy pomalé. Postup je znázorněn na následujícím obrázku č. 16. 10
Obrázek č. 16: Asymetrické šifrování Zdroj: http://pctuning.tyden.cz/software/ochrana-soukromi/4711-moderni_metody_sifrovani
10
Isvs.cz: Hybridní šifrovací algoritmus. Isvs.cz [online]. 2007 [cit. 2013-02-07]. Dostupné z: http://www.isvs.cz/hybridni-sifrovaci-algoritmy-20-dil/
30
4. 1 PGP Pretty Good Privacy (do češtiny lze pojmenování přeloţit jako „celkem slušné soukromí“) - metoda kryptografie, kterou v roce 1991 představil Philip Zimmermann. Algoritmus se časem přijat také jako internetový standart OpenPGP. PGP stejně jako RSA zprávy šifruje, dešifruje, digitálně je podepisuje a ověřuje integritu. Program je freeware, ale existuje i komerční verze. PGP pouţívalo do verze 5.0 RSA, IDEA, hash MD5 a podpis RSA. Od této verze výše jsou implementovány jiné funkce, a to Diffie-Hellmanova, T-DES, IDEA, CAST, hash SHA1 a podpis DSS. Postup: -
otevřený text je zkomprimován freeware rutinou PKZIP od fy PKLITE.
-
Poté je zakódován konvenčním (symetrickým) klíčem (náhodným – vytvořeným pouze pro tento proces). Tento konvenční klíč je zakódován veřejným klíčem.
-
Výsledný „kryptobalíček” obsahuje text zašifrovaný symetricky a symetrický klíč je zakódovaný asymetricky.
Tento princip je optimalizací kvůli rychlosti. Symetrické šifry jsou totiţ mnohem rychlejší neţ asymetrické na velkých datech. Takto probíhá asymetrickou šifrou pouze xbitový klíč podle typu šifry. Proces dekódování je inverzní k procesu šifrování. Prvně je privátním klíčem odšifrován symetrický klíč a potom teprve odkódován samotný text (dosud v zipu) a nakonec je právě ten „odzipován“. Oba postupy (šifrování a dešifrování) jsou znázorněny na obrázku.11
11
SEDLÁK. Historie Kryptografie.
31
Obrázek č. 17: PGP postup Zdroj: http://en.wikipedia.org/wiki/Pretty_Good_Privacy
32
5
Digitální a elektronický podpis Digitální podpis je aplikace, ve které odesílatel podepíše zprávu. Kaţdý si můţe
ověřit, zda je tato zpráva od konkrétního odesílatele a ţe ji nikdo jiný nezměnil poté, co byla odesílatelem podepsána. K digitálním podpisům se pouţívají hashovací funkce a algoritmy s asymetrickým kódováním. Z praktického důvodu se takto nezpracovává celý dokument, ale pouze jeho otisk - tzv. hash, coţ je velmi krátký (většinou několik stovek bitů) výtah vytvořený specializovaným algoritmem z celého dokumentu. Tento hash se poté odesílatel zašifruje svým soukromým klíčem, čímţ vznikne digitální podpis. Ověření podpisu pak spočívá v tom, ţe příjemce dešifruje
hash za pomoci veřejného klíče odesílatele,
nezávislého výpočtu hashe z dokumentu a porovnání obou hodnot. Pokud se rovnají, pak je podpis ověřen a dokument je povaţován za důvěryhodný. Odesílatel nemůţe popřít své autorství, protoţe k jeho soukromému klíči má přístup jen on sám a naopak, nikdo jiný nemůţe zašifrovat hash dokumentu tak, aby po aplikaci autorova veřejného klíče vznikla správná hodnota. Dále takto podepsaný dokument představuje záruku pro splnění určitých závazků. Dokument po podepsání nemůţe být změněn, neboť pak hash vychází jinak. Podepsat se dají jakákoliv elektronická data – dokumenty, fotografie, hudba, videa atd. Z hlediska generování podpisu se data chápou jako posloupnost jedniček a nul, které následně vstupují do hashovaní funkce. 12
Obrázek č.18: Podepsání a ověření elektronického podpisu Zdroj: http://cs.wikipedia.org/wiki/Soubor:Digital_Signature_diagram_cs.svg 12
Kryptografie.wz.cz: Elektronický podpis. Kryptografie.wz.cz [online]. [cit. 2013-02-04]. Dostupné z: http://www.kryptografie.wz.cz/data/elepodpis.htm
33
Existují dvě kategorie podpisů: - Direct Digital Signature (přímý podpis): mezi 2 subjekty, příjemce zná veřejný klíč odesílatele. - Arbitrated Digital Signature (veritifikovaný digitální podpis): vyuţívá důvěryhodnou třetí stranu (arbitra), která ověřuje podpisy všech zpráv. Zde se pouţívá tzv. certifikát. Jedná se o podepsaný veřejný klíč, který vydá certifikační autorita. Obsahuje informace o odesílateli i o vydavateli certifikátu. Nejčastěji jsou pouţívány na identifikaci protistrany při vytvoření zabezpečeného spojení (např. HTTPS). Často můţeme nalézt pojem elektronický podpis. Jaký je rozdíl mezi ním a digitálním podpisem? Digitální podpis: - Matematický (kryptologický) pojem. - Pouţívá asymetrickou kryptologii. - Nejbezpečnější způsob realizace elektronického podepisování. Elektronický podpis: -
Právní a normativní pojem.
-
Technologicky neutrální.
-
Vhodný pro pouţití v legislativních dokumentech.
-
Integrita – zajištění toho, ţe zprávu nikdo neupravil po odeslání.
-
Identifikace – podpis musí odpovídat entitě, která jej vytvořila.
-
Nepopíratelnost.
-
Autentizace – ověření ţe podepsaný je skutečně tím, za koho se vydává.
Vlastnosti:
34
5.1 Hashovací funkce Vzorkovací, neboli hashovaní funkce jsou velmi důleţité pro celou kryptografii a tvorbu digitálních podpisů. Jedná se o funkce, které umí udělat vzorek (neboli otisk) souboru, aby byl závislý na všech bitech původního souboru. Výstupem funkce je vzorek (také nazývaný hash, fingerprint a otisk) o fixní délce. Obecně je můţeme dělit na 2 třídy: -
Hashovací funkce bez klíče (mají pouze jeden parametr – zprávu M)
-
Hashovacá funkce s klíčem (mají dva nezávislé vstupy – zprávu M a klíč K)
Hashovací funkce H musí splňovat alespoň 2 poţadavky, kterými jsou: -
Komprese (funkce H mapuje libovolně konečný vstup x, na výstup h(x) pevné délky n).
-
Jednoduchost výpočtu (pro danou hashovaní funkci H a vstup x, je jednoduché spočítat h(x)).
5.1.1 MD5 - Message Digest Algorithm 5 Byl vytvořen v roce 1991 Ronaldem Rivestem, aby nahradil dřívější hashovací funkci MD4 a je navrţená pro 34 bitové procesy. Funkce zpracovává soubory x libovolné délky a výstupem je hash s délkou 128 bitů. V algoritmu jako první proběhne doplnění zprávy a příprava pomocných registrů (jsou to čtyři 32bitová slova A, B, C, D) a zpráva je následně podle Merkle-Damgardova schématu zpracována po blocích s velikostí 512 bitů (pro kaţdý blok se jedná o 4 kola, kaţdé z nich má 16 kroků, tj. celkem 64 rund).13 MD5 se prosadila do mnoha aplikací - např. pro kontrolu integrity souborů nebo ukládání hesel. MD5 je popsána v internetovém standardu RFC 1321.
13
KOHOUT, Karel. Vybrané útoky proti hašovací funkci MD5. 2010. Dostupné z: http://www.kohout.se/files/md5_seminarka.pdf
35
Útoky na MD5: Slovní útok – Jedná se o útok, kdy na základě znalosti výsledku hashovací funkce MD5 útočník musí hledat jeden z moţných původních řetězců. Takţe při očekávané malé délce původního řetězce (například méně neţ 448 bitů) je moţné s vysokou pravděpodobností předpokládat, ţe útočníkův nalezený řetězec je shodný s původním a nejde o kolizi. Teoretická sloţitost útoku je 264. Běţnou úlohou je nalezení původních hesel po získání databáze, ve které je vţdy pouze uţivatelské jméno a otisk. Pro mnoţiny s malým počtem prvků (například sto nejčastěji pouţívaných hesel, řádově do desítek tisíc záznamů) je nejrychlejší slovníkový útok (útok se slovníkem), tj. prohledávání dvojic předem vypočítaných prvků hash – původní řetězec. Toto hledání poskytuje výsledky do 2 vteřin. Rainbow tables - Sniţují nároky slovního útoku na prostor za pomoci ukládání pouze částí výpočtu ze všech moţných výsledků hashovací funkce („time-memory tradeo“).
5.1.2 SHA – Secure hash Algorithm Hashovací funkce SHA0 je odvozena od MD4, která rozšiřuje počet vstupních bitů na 160. Její následovník SHA1 celkem pracuje ve 4 rundách, z toho kaţdá runda má 20 kroků. Vstup je zpracován po blocích o délce 512 bitů. Zpráva se pak zarovná tak, aby byla dělitelná také číslem 512. Zarovnání:
- Zpráva se doplní o jeden bit s hodnotou „1“ zprava. -
Zpráva se doplní zprava bity s hodnotou „0“ aţ do délky o 62 bitů menší neţ je číslo dělitelné 512.
-
Posledních 64 bitů obsahuje číslo reprezentující původní délku zprávy.14
Do roku 2010 SHA1 byla povaţována za silnou hashovaní funkci, od této chvíle ji i NIST přestala doporučovat. IST zveřejnila čtyři další hashovací funkce z rodiny SHA, které jsou pojmenovány podle své délky: SHA-224, SHA-256, SHA-384 a SHA-512 (čísla znamenají samozřejmě počet bitů). Všechny tyto algoritmy jsou jednotně označovány jako SHA-2. Algoritmy byly poprvé zveřejněny uţ v roce 2001 v návrhu standardu FIPS PUB 14
VANĚK, Tomáš. Hashovací funkce: 6. přednáška. Praha. sYDYBQ&usg=AFQjCNH7DziqHkCmgjyYesk9Q4KLDfyZyA&bvm=bv.44011176,bs.1,d.Yms
36
180-2, který obsahoval i SHA-1 a byl vydán jako oficiální standard v roce 2002. O dva roky později, v únoru 2004 bylo zveřejněna změna, která definovala další variantu SHA-224, která odpovídá svou délkou klíče Triple DES. SHA-2 není široce pouţíváno i přes lepší zabezpečení (ve srovnání se SHA-1). Důvodem můţe být nedostatek podpory pro SHA-2 na systémech Windows XP. Následující tabulka č. 2: Hashovací funkce zahrnuje přehled všech těchto algoritmů.
Tabulka č. 2: Hashovací fukce SHA
Zdroj: Vlastí
5.1.3 RIPEMD Algoritmus RIPEMD byl velmi podobný algoritmu MD4, tudíţ měl i stejné slabiny a nebyl povaţován za bezpečný. Samozřejmě i tato funkce prošla několika verzemi a aktuálně bezpečná je RIPEND-160. Ta byla navrţena v rámci RIPE – Race Integrity Primitive Evaluation, v rámci kterého byly provedeny úspěšné útoky na funkce MD4 a MD5. Jak uţ název napovídá, délka hashe je 150 bitů, dále pracuje v 5 rundách, z toho kaţdá má 16 kroků.
37
Tabulka č. 3: Srovnání hashovacích funkcí MD5, SHA a RIPMEMD-160
Zdroj: Vlastí
5.2 Prohlášení Národního Bezpečnostního Úřadu k využívání hashovacích funkcí Hashovacích funkcí je daleko více, neţ zde uvádím. MD, SHA a RIPEMD jsem si vybrala právě proto, ţe je doporučuje NBÚ na svých webových stránkách. Doporučení jsou: 1. Doporučuje se nadále nepouţívat hashovací funkce s výstupem menším neţ 160 bitů (např. hashovací funkce MD4, MD5, RIPEMD, HAVAL-128 atd.). 2. Doporučuje se neprodleně zahájit přípravu k přechodu od hashovací funkce SHA-1 na novou generaci hashovacích funkcí třídy SHA-2 (SHA-224, SHA-256, SHA-384 a SHA-512). 3. Doporučuje se prozkoumat všechny bezpečnostní aplikace i kryptografické prostředky, ve kterých se vyuţívá hashovacích funkcí a odborně posoudit vliv nejnovějších kryptoanalytických útoků na jejich bezpečnost.15
15
Národní bezpečnostní úřad [online]. 2012 [cit. 2013-03-19]. Dostupné z: http://www.nbu.cz/cs/ochranautajovanych-informaci/kryptograficka-ochrana/informace/
38
5.3 PODPISY RSA podpis -
Veřejný klíč je sloţen z dvojice (N, e) a soukromý z dvojice (N, d)
-
Podepsání zprávy provede operace sM = h(M)d mod N je nutné nejprve výsledek hashovací funkce upravit na patřičnou délku.
-
Při ověření podpisu zprávy se nejprve spočítá hodnota hashe přijaté zprávy h (M). Dále je proveden výpočet seM mod N.
-
Pokud se výsledky obou operací rovnají, je podpis povaţován jako platný.
DSA podpis Digital Signing Algorithm - standart Americké vlády pro digitální podpis. Původně byl navrţen v roce 1993 institutem NIST do protokolu DSS, jehoţ cíle byly: -
Vyuţití asymetrické kryptografie pro zajištění integrity a autentizace odesílatele.
-
Snadná implementace pro hardware a software.
-
Pouţitelnost pro kaţdého.
-
Bezpečnost je zaloţena na diskrétním algoritmu.
-
DSA pouţívá hashovaní funkce SHA-1 a SHA-2. Doporučené délky klíče jsou 2048 a 3072.
39
6
Šifrovací módy Šifrovací mód (někde označován jako metoda šifrovaní nebo reţim činnosti) je
algoritmus, který vyuţívá symetrické blokové šifry tak, aby zajistil některé cíle informační bezpečnosti. Např. autentizaci nebo utajení. Kryptografický reţim v sobě spojuje základní šifrovací algoritmus, nějaký druh zpětné vazby a nějaké operace. Základní operace proto, aby šifrovací reţim nesniţoval bezpečnost základního algoritmu. Dále by mělo být zajištěno, aby vstup do šifrátoru byl volen náhodně, aby vnášení chyb do kryptogramu pomocí manipulace se zprávou bylo velmi obtíţné a aby bylo moţné pomocí stejného klíče šifrovat více neţ jednu zprávu. 16 Reţimy pro zajištění utajení: -
ECB
-
CBC
-
CFB
-
OFB
Kombinované reţimy – utajení + autentizace: -
CCM
-
GCM
Speciální reţimy: -
XEX
-
XTS
Všechny reţimy krom ECB pouţívají tzv. inicializační vektor. Tento vektor se generuje z určitých vstupních informací, a pokud nemá druhá strana stejný inicializační vektor, nemělo by se jí podařit data dešifrovat, takţe se jedná o další moţné zabezpečení. Běţně je inicializační vektor stejně veliký jako velikost pouţité blokové šifry. 16
BAYER, Tomáš. NÁVRH HARDWAROVÉHO ŠIFROVACÍHO MODULU. Brno, 2009. Dostupné z: https://www.vutbr.cz/www_base/zav_prace_soubor_verejne.php?file_id=15856. Diplomová práce. VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ.
40
6.1 ECB (Electronic Codebook) Zde se jedná o základní operační modus a v porovnání s ostatními reţimy je nejjednodušší a v dnešní době se moc často nepouţívá. Funguje na principu, ţe otevřený text rozdělí na několik bloků a kaţdý jednotlivý blok textu zašifruje zvlášť (postup vysvětlen na obrázku). Identické bloky budou vypadat stejně i po zašifrování, stejné bloky otevřeného textu mají vţdy stejný šifrový obraz. Pokud nalezneme několik shodných bloků šifrového textu, tak to můţe v určitém kontextu dokonce odkrývat hodnotu otevřeného textu. Ve zprávě, šifrované modem ECB, můţe útočník také bloky šifrového textu vyměňovat, vkládat nebo mazat, a tak snadno docilovat pro uţivatele neţádoucích změn v otevřeném textu, zejména, pokud nějakou dvojici (OT, ŠT) uţ zná. Tímto je opět ilustrován v praxi často opomíjený nedostatek, ţe se šifrováním nezajistí integrita otevřeného textu.17
Obrázek č. 19: Reţim ECB Zdroj: https://akela.mendelu.cz/~lidak/bis/8kryp.htm Výhody: - Kaţdý blok je na sobě nezávisle šifrován. - Jednotlivé bloky je moţné šifrovat v jakémkoliv pořadí. - Moţnost paralelizace při šifrování i dešifrování. - Propagace chyby – jedno nebo více bitová chyba v jednom bloku šifrového textu ovlivní dešifrování právě jen tohoto bloku. 17
Kryptografie, kódování dat [online]. 2009 [cit. 2013-03-20]. Dostupné z: http://www.zaachi.com/cs/print/kryptografie-kodovani-dat.html
41
Nevýhody: -Pro blok o délce 64 bitů má velikost 264 poloţek -Je moţné realizovat typ útoku „cut and paste“. -Tabulku šifer je moţné konstruovat i bez znalosti klíče. -Zprávy mohou mít parametry, které mohou nabývat pouze několika hodnot. -Bloky jsou na sebe nezávislé. -Prázdné sektory na disku jsou vyplněny hodnotou 0xFF. -Bloky jsou po zašifrování identické (znázornění na obrázku - první obrázek před šifrováním ECB a druhý jiţ zašifrovaný).
Před zašifrováním
Po zašifrování Obrázek č. 20: Před a po zašifrování reţimem ECB
Zdroj: http://wikipedia.infostar.cz/b/bl/block_cipher_modes_of_operation.html
Reţim zaznamenal zneuţití v jedné online hře – Phantasy Star online, která byla zašifrování algoritmem Blowfish. Hráči si mohli nelegálně zvyšovat zkušenosti opakovaným posíláním paketu, který obsahoval zprávu „monster killed“. Šíření chyb: Chyby mohou mít 2 podoby: 1. Záměna bitu za jiný. 42
2. Vloţení nebo ztráta bitu. Metoda ECB reaguje na změnu bitu ztrátou celého bloku. Na vloţení nebo ztrátu bitu zas reaguje ztrátou celého bloku, ve kterém se chyba vyskytla a všech bloků následujících.18
6.2 CBC (Cipher Block Chaining) V součastné době se jedná o nejpouţívanější šifrovací mód, který eliminuje některé slabiny ECB. Jedná se o tzv. zřetězení šifrovaného textu. Metoda CBC pouţívá zpětnou vazbu, při které je výsledek šifrování předchozího bloku zařazen do současného šifrovaného bloku. Otevřený text je nejprve XORován se zašifrovaným textem předcházejícího bloku a pak je aţ zašifrován pro výstup. Text, který se zašifruje je jednak odeslán ale i zaznamenám pro další pouţití na dalším bloku. Šifrovaný text je náhodný, a to právě odstraňuje největší nedostatek reţimu ECB. 19
Obrázek č. 21: Reţim CBC Zdroj: https://akela.mendelu.cz/~lidak/bis/8kryp.htm V prvním bloku je potřena přidat inicializační vektor (náhodná data). Nemusíme ho drţet v tajnosti. Pouze postačí, kdyţ bude pro kaţdou šifrovanou zprávu jiný. Pokud bychom dvakrát zašifrovali shodný první blok, různé náhodné inicializační vektory ho modifikují na 18
VANĚK, Tomáš. Režimy činnosti blokových šifer.
19
Bezpečnost IS/IT [online]. 2010 [cit. 2013-03-20]. Dostupné z: https://akela.mendelu.cz/~lidak/bis/8kryp.htm
43
různé náhodné vstupní bloky. Výsledný blok šifrového textu je proto také náhodný. Protoţe však tento blok přebírá úlohu inicializačního vektoru pro šifrování následujícího bloku otevřeného textu, efekt znáhodnění se postupně projeví i na dalších blocích. Odtud vyplývá, ţe jestli zašifrujeme jeden a tentýţ otevřený soubor dat dvakrát v modu CBC, obdrţíme 2 odlišné šifrované texty. Naopak dešifrování je analogické. Zašifrovaný text je dešifrován a i zaznamenán v registru. Poté, co se následující blok dešifruje, provede se na něm XOR s uloţeným blokem.20 Na rozdíl od reţimu elektronické knihy mám CBC tu výhodu, ţe zašifrovaný blok je odlišný od bloku otevřeného textu. Pro vysvětlení opět uvádím stejný obrázek.
Obrázek č. 22: Před a po zašifrování reţimem CBC Zdroj: http://wikipedia.infostar.cz/b/bl/block_cipher_modes_of_operation.html Šíření chyb Změna jednoho bitu šifrovaného textu způsobí změnu jednoho bloku otevřeného textu. K tomu ještě změnu jednoho bitu v následujícím bloku otevřeného textu ve stejné pozici, kde se vyskytla chyba v šifrovaném textu. Další bloky jiţ nejsou dále ovlivněny. Při ztrátě nebo vloţení bitu se další bloky také ztratí.
20
VANĚK, Tomáš. Režimy činnosti blokových šifer.
44
6.3 CFB (Cipher Feedback) Mód CFB převádí blokovou šifru na šifru proudovou. Některé aplikace vyţadují rbitové jednotky otevřeného textu (často r = 1 nebo r = 8), které musejí být zašifrovány a následně odeslány bez jakéhokoliv zdrţení. Díky němu není nutné převádět celý blok textu do vstupního bloku, ale stačí pouze část bitu. Stejně jako CBC se na začátku samotného šifrování zvolí náhodný inicializační vektor. Vektor je následně zašifrován a jeho bit, který se nachází v levé části je pouţit pro operaci XOR s prvním bitem otevřeného textu, a tak získáme první bit šifrovaného textu. Tento bite je následně odeslaný komunikačním kanálem, a po příchodu dalšího bitu otevřeného textu se pokračuje v šifrování. 21
Obrázek č. 23: Reţim CFB Zdroj: https://akela.mendelu.cz/~lidak/bis/8kryp.htm
21
BAYER, Tomáš. NÁVRH HARDWAROVÉHO ŠIFROVACÍHO MODULU. Brno, 2009. Dostupné z: https://www.vutbr.cz/www_base/zav_prace_soubor_verejne.php?file_id=15856. Diplomová práce. VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
45
Šíření chyb Tento reţim se také nazývá samosynchronizující. K obnovení otevřeného textu stačí pouze dva po sobě jdoucí bloky šifrovaného textu.
6.4 OFB (Output Feedback) Reţim blokových šifer OFB je téměř identický s reţimem CFB. Jediným rozdílem v algoritmu je to, ţe před koncovou operací XOR je umístěna zpětná vazba z výstupu. Jedná se o standart vydaný v roce 1980 a zaručuje důvěrnost. OFB má vlastnost čisté (synchronní) proudové šifry, protoţe heslo je generováno zcela autonomně bez vlivu otevřeného a šifrového textu. Pouţívá jen šifrovací transformaci, z výstupních bloků není potřebné přenášet celý blok do vstupního bloku, ale pouze několik n-bitů. Blok se průběţně šifruje sloţkami zpětnovazebního náhodného vektoru generovaného výstupem generátoru. Vstupní blok má maximálně 2N moţných stavů, kde N je délka vstupního bloku v bitech. Metoda OFB je vhodná pro vysokorychlostní systémy, kde není přístupné šíření chyb.
22
Obrázek č. 24: Reţim OFB Zdroj: https://akela.mendelu.cz/~lidak/bis/8kryp.htm
22
FORMAN, Tomáš. PORTÁL PRO PODPORU VÝUKY KRYPTOGRAFIE. Brno, 2010. Dostupné z: https://dspace.vutbr.cz/bitstream/handle/11012/4638/MDIP.pdf?sequence=1. Diplomová práce. VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ.
46
6.5 CTR (Counter) Do českého jazyka přeloţen jako čítač. Reţim je velmi podobný předcházejícímu OFB. Je pouţit v případě potřeby náhodného přístupu (lze s ním šifrovat i dešifrovat libovolný blok bez ohledu na ostatní bloky). Pouţívá blokovou šifru jako proudovou. Poslední reţim blokových šifer kombinuje jednoduchost reţimu ECB s bezpečností pokročilých reţimů, jako jsou CFB a OFB. Velikost vstupního a výstupního bloku je zase stejná. Oproti ECB se ke kaţdému bloku přidává funkcí XOR číslo z externího čítače. Tento čítač se vţdy před začátkem šifrování nastaví na počáteční hodnotu, která se s kaţdým šifrovaným blokem inkrementuje. Jestliţe uţivatel zprávu dešifruje, je nutné pouţít stejné přednastavení čítače jako pří šifrování.
Tento reţim je velice snadný na implementaci a
pouţívá se zejména při síťové bezpečnosti.23
Obrázek č.25: Reţim CTR Zdroj: http://wikipedia.infostar.cz/b/bl/block_cipher_modes_of_operation.html
23
FORMAN, Tomáš. PORTÁL PRO PODPORU VÝUKY KRYPTOGRAFIE. Brno, 2010. Dostupné z: https://dspace.vutbr.cz/bitstream/handle/11012/4638/MDIP.pdf?sequence=1. Diplomová práce. VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ.
47
6.6 CCM (counter cbc-mac) Reţim, který byl navrţen pro utajení i autentizaci. Je definován pouze pro blokové šifry
s délkou
bloku
128
bitů.
Jak
název
napovídá,
CCM
reţim kombinuje
známé čítačové reţimy šifrování s CBC-MAC reţimem ověřování. Klíčovou myšlenkou je to, ţe stejný šifrovací klíč můţe být pouţit pro obě moţnosti, za předpokladu, ţe se hodnoty čítačů pouţité v šifrování nejsou v rozporu s inicializačním pouţitím v ověřování.24
6.7 XEX (Xor – Encryption - Xor) Mód, který je velmi efektivní pro šifrování po sobě jdoucích bloků. Pracuje tak, ţe rozdělí klíč na dvě části stejné velikosti: K = K1,K2. Druhý klíč je reprezentován kombinací adresy sektoru a pozice bloku v sektoru. XEX je vhodný kandidát pro diskové šifrování. 25
6.8 XTS Metoda, která je navrţená z módu XEX. Jedná se o jeden z nejnovějších reţimů šifrování, nabízí silnější ochranu neţ jakékoli jiné reţimy blokové šifry (např. CBC a ECB). Nejčastěji se pouţívá, kdyţ uţivatel chce zašifrovat náhodně dostupné data (pevný disk, atd.). Dále reţim pracuje s dvěma náhodnými klíči.
26
XTS mód pouţívá svůj vlastní tajný
klíč, který je zcela odlišný od základního klíče, který je pouţíván šifrovacím algoritmem. Například, pokud pouţijeme mód v kombinaci s algoritmem AES s blokem velkým 128 bitů, XTS vyţaduje 128 - bitový klíč. V důsledku toho, délka klíče pro dvojici XTS + AES je vyšší neţ původně u AES. Zatímco AES délka klíče je 256 bitů, kombinace XTS + AES pouţívá 256 + 128 = 384 bitů klíče. Velikost klíče XTS se rovná velikosti bloku určitého
24
Csrc.nist.gov. Computer Security [online]. 2010 [cit. 2013-03-20]. Dostupné z: http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf
25
VANĚK, Tomáš. Režimy činnosti blokových šifer.
26
XTS MODE - XEX-BASED TWEAKED-CODEBOOK MODE WITH CIPHERTEXT STEALING [online]. 2013 [cit. 2013-03-20]. Dostupné z: http://www.dicelocksecurity.com/en/DiceLock-architecture/Basesecurity-algorithms/Block-cipher-operation-modes/XTS-Mode-XEX-based-tweaked-codebook-mode-withciphertext-stealing.html
48
šifrovacího algoritmu a standart IEEE 1619 uvádí, ţe musí být velký alespoň 128 bitů nebo více. 27
27
Jetico.com: Encryption Modes [online]. 2012 [cit. 2013-03-21]. Dostupné z: http://www.jetico.com/bc8_web_help/index.php?info=html/02_basic_concepts/06_encryption_mode.htm
49
7
Šifrovací programy Na trhu existuje škála programů, jejichţ úkolem je zašifrovat data, a tím zaručit vyšší
bezpečnost. Některé jsou plně placené a většinou bývají propagovány prostřednictvím zkušební verze (tzv. trial). Jiné jsou poskytovány zdarma. Tyto programy nabízejí uţivateli 4 moţnosti šifrování: -
fyzického disku,
-
vytvoření virtuálního disku,
-
USB Flash disku,
-
souboru.
V praktické části této práce bych ráda představila 8 šifrovacích programů (všechny jsou zdarma). U kaţdého bych předvedla ukázku toho, jak pracují, formulovala jeho výhody či nevýhody, a nakonec bych pro kaţdou moţnost šifrování vybrala nejvhodnější program. Vybranými programy jsou: -
BoxCtyptor
-
DiskCryptor
-
Rodos Mini Driver
-
AxCrypt
-
Safetica free
-
TrueCrypt
-
AESCrypt
50
7.1 BoxCryptor Verze: 8.12 Čeština: ne Operační systém: Windows. Mac, Android Licence: pro nekomerční účely freeware Cena: zdarma Autor: Secomba GmbH Šifrovací algoritmus: AES-256 Šifrovací mód: CFB Obecná charakteristika: Program BoxCryptor dokáţe v počítači vytvořit virtuální disk, který fakticky odkazuje na určitou sloţku v počítači. Veškerá data a soubory nahrané na tento virtuální disk jsou automaticky (on-the-fly) zašifrována. Sluţbu lze výborně pouţít jako doplněk online disků, například Dropbox, ale teoreticky jakéhokoliv. Šifrovat lze pouze obsah souborů nebo i jejich názvy. BoxCryptor přináší: -
vytvoří virtuální disk, na kterém máte data chráněná šifrou a heslem
-
za pomocí EncFS je moţno k souborům přistupovat i na Linuxu a Mac OS X
-
šifrování probíhá automaticky za běhu na pozadí (on-the-fly) = nic neregistrujete
-
bezplatná verze šifruje adresář aţ do velikosti 2 GB
-
šifrovány jsou jednotlivé soubory, coţ je výhoda oproti šifrování aţ celého disku (sloţky)
Práce s programem Na začátku si uţivatel vybere typ úloţiště, např. DropBox, Google Drive. Jak je vidět na následujícím obrázku č. 26, jsou barevně označeny ty moţnosti, které jsou pro uţivatele dostupné (tj. jsou jiţ nainstalované v počítači). Ostatní programy jsou zobrazeny šedou barvou. 51
Obrázek č. 26: Boxcryptor Zdroj: BoxCryptor Dalším krokem je určení písmene, pod kterým se nově vytvořený disk bude hlásit. Uţivatel následně zadá a ověří heslo k disku. Program obsahuje měřič bezpečnosti hesla. Je doporučeno, aby heslo mělo min. 6 znaků, a byla to kombinace čísel a písmen. Další obrázek č. 27 ukazuje, ţe se zde dá vybrat šifrovací algoritmus.
Obrázek č. 27: Algoritmy BoxCryptor Zdroj: BoxCryptor
52
Program pak virtuální disk vytvoří. Po dokončení průvodce na vytvoření šifrovaného adresáře, se tento připojí jako další jednotka, na kterou uţivatel vkládá svá data. Po dokončení práce se otevře program BoxCryptor, označí se disk a klikne na tlačítko Unmount. Pro další práci s diskem se klikne na Mount, uţivatel bude vyzván k zadání hesla a následně můţe pracovat. Výhody: -
Na linuxu je zašifrovaná sloţka kompatibilní s open source projektem EncFS takţe soubory lze dešifrovat na všech běţně pouţívaných systémech.
-
Na androidu - lze zašifrovat jakoukoliv sloţku.
-
Moţnost uloţení do cloudu.
Nevýhody: -
Pouhé 2 GB místa.
53
7.2 DiskCryptor Verze: 1.0.757.115 Čeština: ne Operační systém: Windows XP, Vista, 7, Licence: freeware Cena: zdarma Autor: Jet-phryx Šifrovací algoritmus: AES, Twofish, Serpent Šifrovací mód: LRW Obecná charakteristika: Jedná se o program, který umoţňuje šifrovat oddíly disku včetně systémového oddílu. Další důleţitou vlastností je, ţe všechny šifrované oddíly jsou kompatibilní s konkurenčním programem TrueCrypt, takţe je za jeho pomoci uţivatel bude moci snadno otevírat. To umoţňuje například otevírání obnovitelných souborů z disku CD v případech, kdy dojde k selhání systému. Je zde také moţnost zašifrování CD a DVD nosičů a USB flash disků. Práce s programem Spuštěný program uţivateli ukazuje informace (zda je disk bootovací nebo systémový atd.) o diskách i o USB discích – viz obrázek č. 28.
Obrázek č. 28: Přehled disků Zdroj: DiskCryptor
54
Dále stačí kliknout na tlačítko Encrypt a vybere si šifrovací algoritmus s mód. Nakonec se zadá a ověří bezpečné heslo. Program obsahuje ukazatel bezpečnosti hesla od Trivially Breakable aţ do Unbreakable. Nakonec se klikne jen tlačítko Ok. Probíhá následné šifrování - v mém případě u USB Flash disku s velikostí 2 GB to trvalo cca 10 min. Po samotném šifrování bude disk připojen, takţe uţivatel na něj můţe vkládat data. Pro ukončení práce se klikne tlačítko Unmount. V opačném případě - připojení disku se zas vybere poţadovaný disk a klikne tlačítko Mount. Pokud se bude předávat disk někomu jinému, je zapotřebí aby i on měl nainstalovaný DiskCryptor. Jinak se mu bude ukazovat chybové hlášení, ţe je disk nenaformátovaný a je třeba jej naformátovat. Pokud jej nainstalovaná má, program se ho dotáţe na heslo. Stejným způsobem se šifruje disk, samozřejmě to trvá delší dobu. Výsledkem je, ţe před nabootováním se systém zeptá na heslo. Bez něho systém uţivatele nepustí dále. Výhody - Jednoduché ovládání. Nevýhody: -
Nenalezla jsem ţádnou nevýhodu tohoto programu.
55
7.3 Rohos Mini Driver Verze: 2.0 Čeština: ne Operační systém: Windows 2000, XP, 2003, Vista, 2008, 7 Licence: freeware Cena: Autor: Rohos Šifrovací algoritmus: AES Šifrovací mód: nezjištěno Obecná charakteristika: Šifrovací software pro ochranu citlivých dat, který vytvoří šifrovaný a skrytý oddíl (kontejner) na USB flash disku. Tento oddíl je také chráněn heslem a na rozdíl od ostatních programů je zde velikost kontejneru omezena na 2GB. Portable aplikace umoţňuje pracovat s heslem chráněným oddílem na jakémkoliv PC, stačí kliknout na "Rohos Mini" na ikonu jednotky USB flash a zadat heslo. Rohos Mini disk obsahuje 3 aplikace: 1. Rohos Mini Pohon s- vytvoří virtuální šifrovaný disk do souboru na disk USB. 2. Rohos Mini.exe, na USB disk - pomocí správného hesla se připojí zašifrovaný obraz disku jako skutečný disk na jakémkoliv PC. 3. Rohos Disk Browser.exe, přenosný šifrovací nástroj - pomocí správného hesla se otevře šifrovaný obraz disku a ukáţe se jeho obsah. Zde uţivatel můţe otevřít libovolný soubor, a dokonce i některé aplikace. Práce s programem Po instalaci se program dotáţe, jestli chce uţivatel šifrovat USB Flash disk, nebo skrýt adresář - viz Obrázek č. 29.
56
Obrázek č. 29: Rodos Mini Driver Zdroj: Rohos Mini Driver
Jak můţeme na obrázku vidět, zatím nebyl vytvořen ţádný disk, proto zvolím první moţnost - šifrování USB. Dalším krokem je zadání cesty k disku, velikosti a hesla. Program pak disk zašifruje. Na následujícím obrázku č. 30 je uţ rozdíl a to v tom, ţe je šifrovaný disk automaticky připojen. Pokud ho uţivatel chce někdy znova připojit, klikne pouze na tlačítko připojit a zadá správné heslo, které si určil na začátku samotného šifrování.
Obrázek č. 30: Připojená disk Zdroj: Rohos Mini Driver
Na disk pak lze libovolně ukládat jakákoliv data do velikosti 498 MB. Program je schopný vytvořit bezpečný disk o velikosti 2GB. Po skončení práce je nutné disk odpojit! 57
Pokud je USB Flash disk předán jinému uţivateli, tak byl vyzván k zadání hesla - tudíţ nemusí mít Rohos Mini Drive nainstalovaný. Pokud chce majitel disk znova odšifrovat, nejrychlejší způsob je v naformátování celého USB disku.
Výhody: -Rychlý program pro zašifrování USB. - Vhodný i pro laiky. - Nevyţaduje na obou komunikujících stranách nainstalovaný program Rohos Mini Drive.
Nevýhody: - Moţnost šifrování pouhých 2 GB.
58
7.4 AxCrypt Verze: 1. 7. 2976 Čeština: ano Operační systém: Windows 2000, XP, 2003, Vista, 2008, 7 Licence: freeware Cena: Autor: Axantum Software AB Šifrovací algoritmus: AES s hashovaní funkcí SHA-1 Šifrovací mód: XTS Obecná charakteristika: Program, který je schopen zašifrovat jakýkoliv soubor na disku. Na rozdíl od předchozích softwarů nevytváří ţádné oddíly nebo disky. Šifrovaný soubor lze pak jednoduše přeposlat např. mailem nebo si jej zazálohovat na nějaké externí zařízení. Po instalaci se integruje do prostředí průzkumníka Windows. To umoţňuje lehčí práci s programem. Podporuje tvorbu samo-dešifrovatelných souborů (exe) a součástí je skartovač souborů. Pokud se uţivatel rozhodne, ţe zprávu přepošle, adresát má 2 moţnosti jak si zprávu dešifrovat. První je samozřejmě nainstalovaný AxCrypt, druhá moţnost je, ţe si jen stáhne verzi programu určenou jen pro dešifrování – AxDecrypt. Existuje také verze tohoto programu AxCrypt2Go, která nevyţaduje instalaci a je tak vhodná např. pro přenosná USB zařízení. Práce s programem Díky tomu, ţe se program integruje do průzkumníka, ulehčí uţivateli práci. Stačí pouze pravým tlačítkem myši kliknout na poţadovaný soubor a zde se vybere AxCrypt. Zde si uţivatel vybere, jakou akci chce provést (zašifrovat, zašifrovat kopii, zašifrovat kopii do EXE, dešifrovat, přejmenovat, odstranit heslo z paměti, vytvořit soubor s klíčem, bezpečně vymazat).
59
Popis jednotlivých možností Zašifrovat – zašifruje soubor nebo všechny jednotlivé soubory v adresáři a všech podadresářích, původní soubory smaţe a nahradí je šifrovanou verzí. Zašifrovat kopii – stejné jako při moţnosti zašifrovat, jen s tím rozdílem, ţe původní soubor nesmaţe. U této a předchozí moţnosti se velikost souboru téměř nezmění. Zašifrovat kopii do EXE – stejné jak zašifrovat kopii, ale do exe souboru. K dešifrování tedy není potřeba AxCrypt, program na dešifrování je jiţ obsaţen v exe souboru. Výsledný soubor je větší neţ originál (v případě zašifrování fotografie je to rozdíl 231 kB). Přejmenovat – tato funkce se dá pouţít jen u zašifrovaného souboru. Název souboru nahradí ….(zjistit jak) Odstranit heslo z paměti – při šifrování souboru je moţní nechat si zapamatovat heslo pro dešifrování, tato funkce jej vymaţe a vynutí si při přístupu k souboru heslo. Vytvořit soubor s klíčem – vygeneruje textový soubor s klíčem, se kterým zašifrovaný soubor uţivatel otevře. Je zde upozornění ţe se klíč musí udrţet v co největší tajnosti. Pro otevření souboru je nutné zadat heslo, které si uţivatel sám volí i klíč, co program automaticky vygeneroval. U jiţ zašifrované souboru, jsou k dispozici Dešifrování – vrácení do původního stavu. Otevřít – po zadání hesla a klíče se v asociovaném programu soubor otevře. Bezpečně vymazat – přepíše soubor náhodnými daty a následně vymaţe. Postup šifrování Pro ukázku jsem si u tohoto programu vybrala šifrování s klíčem. Stačí kliknout pravým tlačítkem myši na poţadovaný soubor a vybrat moţnost „Vytvořit soubor s klíčem“. Uţivateli se zobrazí chybové hlášení – viz obrázek č. 31.
60
Obrázek č. 31: Chybové hlášení Zdroj: AxCrypt
Klíč v mém případě vypadal takto yitL kCQX E5Sf KOSo t8X9 y55l gyFn WKVD 8d0m 5sc9 pkU= . Poté si stačí pouze vybrat, jak uţivatel chce šifrovat. Následně zadat heslo a vyhledat cestu ke klíči – viz obrázek č. 32.
Obrázek č. 32: Zadání hesla Zdroj: AxCrypt Program následně zašifruje poţadovaný soubor. V případě otevření se opět musí zadat heslo a připojit externí zařízení s vygenerovaným klíčem. Výhody: -
Jednoduché ovládání.
Nevýhody -
Nešifruje celý adresář.
61
7.5 Safetica free Verze: 4. 0. 10 Čeština: ano Operační systém: Windows 2000 ,XP, 2003,Vista, 2008, 7 Licence: freeware Cena: Autor: Safetica Technologies s.r.o Šifrovací algoritmus: nezjištěno Šifrovací mód: nezjištěno Obecná charakteristika: Tento program nabízí sadu nástrojů, kterými by měla být zajištěna ta nejvyšší ochrana citlivých údajů. Dokáţe šifrovat soubory, pevné a externí disky. Jednou z částí programu je také manažer hesel, který uţivateli umoţní uloţit si přístupová data a další důleţité informace do zabezpečené databáze. Dalšími hlavní vlastnosti softwaru Safetica Free jsou: Podpora známých formátů archivů Generátor hesel PC zámek Bezpečnostní klíče Zasílání šifrovaných souborů přes e-mail Datová skartovačka Práce s programem Program po prvním spuštění ukáţe průvodce, který uţivatele dovede k snadnému cíli viz obrázek č. 33.
62
Obrázek č. 33: Průvodce Safetica Zdroj: Safetica free
Safetica nabízí uţivateli 3 druhy profilů: Základní profil - zde je povoleno zadávání alespoň středně bezpečných hesel, automatická volba rychlé a bezpečné šifry, datová skartovačka se třemi cykly. Bezpečný profil - vynucuje pouţití bezpečného hesla, přednastavuje šifrovací algoritmus AES, skartace dat se provádí v sedmi cyklech a zakazuje moţnost pamatování hesla. Paranoidní profil -zakazuje pamatování hesla, podporuje skartaci dat v 35 cyklech, k šifrování vyuţije silnější šifru neţ AES - Serpent a vynucuje pravidelnou obměnu hesel. Tvorba klíče představuje další krok. Zde si uţivatel můţe vytvořit bezpečnostní klíč. V případě, ţe uţivatel zapomene k šifrovaným diskům heslo a je tato funkce zapnuta, můţe právě tímto klíčem disk odemknout. Proto je velmi důleţité si tento klíč uloţit na nějaké externí médium. Dalším krokem je nastavení skartace. Zde se můţe nastavit pravidelné mazání speciálních sloţek, jako jsou poslední otevřené dokumenty, historie počítače, soubory v koši, nebo dočasné soubory. Čas skartace je moţný nastavit - po přihlášení, denně a týdně.
63
Následující krok povaţuji za největší výhodu programu Safetica - a to Správce hesel. Ten dodává zabezpečenou kontrolou a přehled nad citlivými informacemi. Uţivatelská jména, hesla, PIN, bezpečností certifikáty atd., program zorganizuje a zabezpečí v šifrované databázi pod jedním hlavním heslem.
Předposledním krokem je Správa disků. Zde se přidává nový nebo se importuje stávající virtuální disk. Virtuální disk je na první pohled běţný soubor, ale po připojení programem se uţivateli jeví jako existující pevný disk. Vytvoření je snadné. Vybere se typ - virtuální nebo pevný, jméno, umístění. Velikost, zadá se systém - FAT nebo NTFS, určí se heslo. Při zadání hesla, který systém určí, jako slabé se objeví chybové hlášení viz Obrázek č. 34.
Obrázek č. 34: Safetica chybové hlášení Zdroj: Safetica free
Následně se zrekapitulují informace o disku v této podobě: Cesta: C:\Users\jarka\Documents\moje.dco Šifra: AES Hash: SHA256 Velikost svazku: 2048.00000 MB Souborový systém: NTFS Jednotka: E Jmenovka: Jednotka 64
Velikost alokační jednotky: Výchozí
Posledním krokem je PC zámek. Ten aktivuje automatické zamykání pro vybraná flash disk a tím působí zamknutí PC po odpojení tohoto disku. Dalším a posledním krokem je jen kliknutí na „Dokončit“. Práce s připojeným diskem je velmi jednoduchá - uţivatel si do ní vkládá jakákoliv data, jen si musí dát pozor, ţe disk je velikostně omezený. Pro ukončení práce se jen v programu klikne pravým tlačítkem na zvolený disk a dá se odpojit. Výhody: - Skvělý prvotní průvodce, obzvlášť pro laiky. - Jednoduché a přehledné rozhraní. Nevýhody: - Po spuštění se zobrazuje reklamní okno.
65
7.6 Comodo Disk Encryption Verze: 1. 2 Čeština: ne Operační systém: Windows 2000, XP, 2003,Vista, 2008, 7 Licence: freeware Cena: Autor: Comodo Group Inc. Šifrovací algoritmus: AES, Serpent, Blowfish a 3DES Šifrovací mód: nezjištěno Pomocí bezplatně pouţitelného nástroje Comodo Disk Encryption můţe uţivatel zašifrovat obsah disku a zabránit tak v přístupu k souborům. Pro přístup k šifrovaným datům slouţí heslo nebo USB klíčenka s příslušným klíčem. Jestliţe má být ochrana dat skutečně maximální, lze pouţít i kombinaci obou způsobů ověření oprávněného uţivatele. Šifrování a dešifrování dat probíhá v reálném čase, nijak tedy nezdrţuje od práce. Šifrovací program Comodo patří do rodiny společnosti Comodo Group, kde také nalezneme antivirus, firewall, anti-malware a cloud scanner. Práce s programem Zde se v programu vybere část disku, která má být naformátovaná, zadá heslo a určí algoritmus. Následně se začne šifrovat. Bohuţel tento program nemůţu doporučit – v polovině šifrování se zasekl a vypnul počítač. Výsledkem je zašifrovaná část disku, do které se nikdo nedostane! Po několikahodinovém hledání moţnosti opravení jsem se dočetla, ţe se toto u programu Comodo Disk Encryption stává často.
66
7.7 True Crypt Verze: 7. 1. a Čeština: ano Operační systém: Windows 2000 ,XP, 2003,Vista, 2008, 7, Mac, Linux Licence: freeware Cena: Autor: TrueCrypt Foundation Šifrovací algoritmus: AES-256, Blowfish, CAST5, Serpent, 3DES a Twofish Šifrovací mód: XTS Obecná charakteristika: TrueCrypt je open-source aplikace, která se zabývá šifrováním dat. Program vytváří virtuální šifrovanou jednotku, do které můţe uţivatel dokumenty ukládat a číst. Přístup k této jednotce je snadný, jelikoţ se tváři jako klasický disk, takţe stačí zadat správné písmenko. Při připojování takovéhoto virtuálního disku je nutné vloţit správné heslo, aby byla data přístupná. Mezi další funkce patří podpora pro FAT32 a NTFS, skryté jednotky, klávesové zkratky pro připojení a odpojení atd. Práce s programem U programu je sice uváděno, ţe je v českém jazyce, ale samotná čeština se do něj musí dodat. Pro běţného uţivatele by toto mohlo být odrazující. Přičemţ si stačí jen z oficiálních stránek programu stáhnout language pack čeština a rozbalit ho ve sloţce kam se TrueCrypt nainstaloval (většinou program files). Poté si stačí spustit program, kliknout na nabídku Settings, kde se zvolí language. Následně se otevře okno, ve kterém uţivatel vybere češtinu. Na začátku samotného šifrování si uţivatel musí vytvořit svazek. TrueCrypt nabízí 3 druhy svazků:
67
-
Vytvoření zašifrovaného souborového svazku (kontejner) : vytvoří šifrovaný virtuální disk v rámci souboru. Tuto nabídku program doporučuje pro nezkušené uţivatele.
-
Šifrování nesystémového oddílu – šifruje jakýkoliv nesystémový oddíl na interním nebo externím zařízení, např. zašifrovaná USB flash disku.
-
Šifrování systémového oddílu nebo celého systémového disku- zašifrování disku, na kterém je nainstalován systém Windows. Kdokoliv, kdo chce mít přístup a pracovat se systémem, číst a přepisovat soubory, bude potřebovat správné heslo pokaţdé před naběhnutím systému.
Pro názornou ukázku šifrování s programem TrueCrypt jsem si vybrala první moţnost vytvoření zašifrovaného souborového svazku. Po zvolení této moţnosti si uţivatel musí vybrat mezi 2 variantami svazku: standardní svazek a skrytý svazek. Já si opět pro ukázku vybrala standardní svazek. Po jeho výběru se určí, kam se svazek umístí. Následně se otevře okno s výběrem šifrovacího a hashovacího algoritmu. Prvotně je nastavený AES pro šifrovací algoritmus a RIPEND-160 jako hashovaní algoritmus – viz obrázek č. 36.
Obrázek č. 35: Algoritmy TrueCrypt Zdroj: True Crypt
68
Následně se určuje velikost svazku – já určila 5GB. Dále se uţ zadává uţivatelem vymyšlené heslo. TrueCrypt definuje v průvodci, co znamená „bezpečné heslo“. Ke zvýšení ochrany program k heslu můţe vygenerovat náhodný souborový klíč, nebo si ho uţivatel určí sám. Klíč můţe být jakýkoliv soubor – .jpg, .mp3, .zip atd. Dalším krokem je určení formát svazku – FAT nebo NTFS, a velikost clusteru (sektoru). Nakonec se stiskne tlačítko „Formátovat“. Vytvoření tohoto oddílu velikosti 5 GB trvalo cca 3 min, se silnějším šifrovacím algoritmem by to samozřejmě trvalo déle. Pro moţnost práce se nejdřív musí oddíl připojit v programu TrueCrypt, kde se najde cesta ke svazku, zadá se heslo a klíč. Následně se oddíl tváří jako standardní disk. Po připojení je moţnost nechat si zobrazit vlastnosti oddílu. Vlastnosti obsahují informace jako: -
Oblast
-
Velikost
-
Typ
-
Šifrovací algoritmus
-
Délka šifrovacího klíče
-
Operační mód
Pro názornější ukázku přikládám vlastnosti mého vytvořeného oddílu - viz obrázek č. 36.
Obrázek č. 36:Informace Zdroj: True Crypt 69
Soubory jednoduše uţivatel buď nakopíruje, nebo přesune do oddílu. Program také umoţňuje změnit heslo a klíč jiţ vytvořeného svazku. Stačí pouze svazek odpojit, a kliknout na „Nástroje svazku“. Výhody: -
Data se vkládají do jiţ šifrovaného oddílu (uţivatel nemusí šifrovat kaţdý soubor samostatně).
-
Průvodce – kaţdý krok vytvoření oddílu je jasně vysvětlen – např. jak velké má být heslo, co je to šifrovací algoritmus atd.
-
3 druhy svazků – uţivatel má moţnost výběru.
Nevýhody: -
Čeština se musí dodatečně přidávat (nejdříve stáhnout z webu, pak zkopírovat do instalačního adresáře)
-
Jiţ nejde u vytvořeného svazku měnit velikost. Uţivatel si musí promyslet, jak velká data do svazku chce dát.
70
7.8 AES Crypt Verze: Čeština: ne Operační systém: Windows 2000, XP, 2003,Vista, 2008, 7, Mac, Linux, Android Licence: freeware Cena: Autor: Šifrovací algoritmus: AES Šifrovací mód: nezjištěno Obecná charakteristika: AES Crypt je šifrovací software, který spolupracuje se všemi operačními systémy a pouţívá standardní algoritmus AES pro bezpečné a snadné zašifrování. Jako jeden z mála dokáţe spolupracovat i se systémem Android, který je známy hlavně pro uţivatele „chytrých telefonů“. Ke standardnímu šifrování potřebuje knihovnu Microsoft Visual C++ 2010 redistribuable Package, která není obvykle nainstalovaná v systému. Program je vytvořen ve 2 verzí – první je verze, kdy se program spouští z konzole, a druhá kdy je program integrován do průzkumníka Windows. Práce s programem Program je velmi podobný předchozímu AxCrypt. Díky integraci stačí pouze kliknout pravým tlačítkem, vybrat poloţku AES Encrypt. Program si vynutí zadání a potvrzení hesla. Následně začne šifrovat, výsledkem je zašifrovaná kopie poţadovaného souboru s příponou AES. Jak jsem se jiţ zmínila, program má moţnost ovládání z příkazové řádky. Tuto variantu bych rozhodně nedoporučovala pro běţné uţivatele! Pro ukázku přikládám postup, viz obrázek. Výhody: -
Dokáţe pracovat s Windows, Linux, Mac a Android. 71
-
Jednoduchá manipulace.
Nevýhody: -
Zašifruje pouze jednotlivý soubor, ale ne celý adresář.
-
Uţivatel si nemůţe nechat vygenerovat klíč, nebo si jej určit sám. Tudíţ chybí dvojí ochrana souboru.
72
Závěr Jak je vidět z úvodní hlavičky jednotlivých programů, nejčastěji pouţívaný algoritmus šifrování je AES a SERPENT. Mezi módy vyhrává XTS. Pokud bych měla doporučit běţnému uţivateli jaký program pouţít k šifrované ochraně svých citlivých informací, tak pro šifrování USB Flash disků by to byl Rodos Mini driver, z toho důvodu ţe konkurenční DiskCryptor zobrazuje hlášku o formátování. Díky tomuto by někdo disk mohl zformátovat a data by byly nenávratně zničeny. Pokud si chce uţivatel vytvořit virtuální disk, tak sice TrueCrypt nemá tak dobrého průvodce jako Safetica free, ale práce s ním se mi zdála i přesto lepší. Poslední moţností v ochraně dat je zašifrování celého disku. Rozhodně bych nedoporučovala tuto moţnost dělat běţnému uţivateli. Je zde mnoho nástrah a díky tomu by mohl přijít o všechna data na disku. Raději bych doporučila se obrátit na někoho zkušenějšího, kdo uţ s šifrování fyzických disků má zkušenosti.
73
Seznam použité literatury [1]
BAYER, Tomáš. NÁVRH HARDWAROVÉHO ŠIFROVACÍHO MODULU. Brno, 2009. Dostupné z: https://www.vutbr.cz/www_base/zav_prace_soubor_verejne.php?file_id=15856. Diplomová práce. VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ.
[2]
FORMAN, Tomáš. PORTÁL PRO PODPORU VÝUKY KRYPTOGRAFIE. Brno, 2010. Dostupné z: https://dspace.vutbr.cz/bitstream/handle/11012/4638/MDIP.pdf?sequence=1. Diplomová práce. VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ.
[3]
JANECKÝ, Michal. Kryptologie - Univerzita Hradec Králové: IDEA. [online]. [cit. 2013-01-24]. Dostupné z: http://kryptologie.uhk.cz/idea_cz.htm
[4]
KOHOUT, Karel. Vybrané útoky proti hašovací funkci MD5. 2010. Dostupné z: http://www.kohout.se/files/md5_seminarka.pdf
[5]
LÓRENCZ, Róbert. Bezpečnost: Proudové šifry, blokové šifry, DES, 3DES, AES, operacní módy. České Vysoké Učení Technické. Praha, 2011
[6]
SEDLÁK. Historie Kryptografie.
[7]
VANĚK, Tomáš. Moderní blokové šifry I. České Vysoké Učení Technické. Praha, 2010.
[8]
VANĚK, Tomáš. Hashovací funkce: 6. přednáška. České Vysoké Učení Technické. Praha.
[9]
VANĚK, Tomáš. Reţimy činnosti blokových šifer. České Vysoké Učení Technické. Praha
[10]
VAVERKA, Aleš. Digitální podpis. Brno, 2008. Dostupné z: http://www.vutbr.cz/www_base/zav_prace_soubor_verejne.php?file_id=9229. Bakalářská práce. Vysoké učení technické v Brně.
[11]
Bezpečnost IS/IT [online]. 2010 [cit. 2013-03-20]. Dostupné z: https://akela.mendelu.cz/~lidak/bis/8kryp.htm
[12]
Compurterworld: Historie hackingu: Stručná historie lámání šifer. PŘIBYL, Tomáš. [online]. 2011. vyd. [cit. 2013-01-24]. Dostupné z: http://computerworld.cz/securityworld/historie-hackingu-strucna-historie-lamanisifer-48338
[13]
Csrc.nist.gov. Computer Security [online]. 2010 [cit. 2013-03-20]. Dostupné z: http://csrc.nist.gov/publications/nistpubs/800-38a/sp800-38a.pdf 74
[14]
Isvs.cz: Hybridní šifrovací algoritmus. Isvs.cz [online]. 2007 [cit. 2013-02-07]. Dostupné z: http://www.isvs.cz/hybridni-sifrovaci-algoritmy-20-dil/
[15]
Jetico.com: Encryption Modes [online]. 2012 [cit. 2013-03-21]. Dostupné z: http://www.jetico.com/bc8_web_help/index.php?info=html/02_basic_concepts/06_e ncryption_mode.htm
[16]
Kioskea.net. Introduction to encryption with DES [online]. 2012 [cit. 2013-01-24]. Dostupné z: http://en.kioskea.net/contents/crypto/des.php3
[17]
Kryptografie: AES. [online]. [cit. 2013-01-24]. Dostupné z: http://www.kryptografie.wz.cz/data/aes.html
[18]
Kryptografie.wz.cz: Elektronický podpis. Kryptografie.wz.cz [online]. [cit. 2013-0204]. Dostupné z: http://www.kryptografie.wz.cz/data/elepodpis.htm
[19]
Kryptografie, kódování dat [online]. 2009 [cit. 2013-03-20]. Dostupné z: http://www.zaachi.com/cs/print/kryptografie-kodovani-dat.html
[20]
Národní bezpečnostní úřad [online]. 2012 [cit. 2013-03-19]. Dostupné z: http://www.nbu.cz/cs/ochrana-utajovanych-informaci/kryptografickaochrana/informace/
[21]
XTS MODE - XEX-BASED TWEAKED-CODEBOOK MODE WITH CIPHERTEXT STEALING [online]. 2013 [cit. 2013-03-20]. Dostupné z: http://www.dicelocksecurity.com/en/DiceLock-architecture/Base-securityalgorithms/Block-cipher-operation-modes/XTS-Mode-XEX-based-tweakedcodebook-mode-with-ciphertext-stealing.html
75
Seznam obrázků Obrázek č. 1: Základní rozdělení šifer ................................................................................................. 11 Obrázek č. 2 : Symetrické šifrování ..................................................................................................... 12 Obrázek č. 3: DES postup .................................................................................................................... 14 Obrázek č. 4: DES generování klíčů ..................................................................................................... 15 Obrázek č. 5: 3DES .............................................................................................................................. 17 Obrázek č. 6: ShirtRow........................................................................................................................ 19 Obrázek č. 7: SubBite .......................................................................................................................... 19 Obrázek č.8: AddRoundKey ................................................................................................................ 19 Obrázek č.9: MixColumn..................................................................................................................... 20 Obrázek č. 10: AES postup .................................................................................................................. 20 Obrázek č.11: IDEA postup ................................................................................................................. 22 Obrázek č. 12 : Blowfish...................................................................................................................... 23 Obrázek č. 13: Serpent postup ........................................................................................................... 24 Obrázek č.14: Asymetrické šifrování .................................................................................................. 25 Obrázek č. 15: RSA postup .................................................................................................................. 26 Obrázek č. 16: Asymetrické šifrování ................................................................................................. 30 Obrázek č. 17: PGP postup ................................................................................................................. 32 Obrázek č.18: Podepsání a ověření elektronického podpisu ............................................................. 33 Obrázek č. 19: Režim ECB ................................................................................................................... 41 Obrázek č. 20: Před a po zašifrování režimem ECB ............................................................................ 42 Obrázek č. 21: Režim CBC ................................................................................................................... 43 Obrázek č. 22: Před a po zašifrování režimem CBC ............................................................................ 44 Obrázek č. 23: Režim CFB ................................................................................................................... 45 Obrázek č. 24: Režim OFB ................................................................................................................... 46 Obrázek č.25: Režim CTR .................................................................................................................... 47 Obrázek č. 26: Boxcryptor .................................................................................................................. 52 Obrázek č. 27: Algoritmy BoxCryptor ................................................................................................. 52 Obrázek č. 28: Přehled disků .............................................................................................................. 54 Obrázek č. 29: Rodos Mini Driver ....................................................................................................... 57 Obrázek č. 30: Připojená disk ............................................................................................................. 57 76
Obrázek č. 31: Chybové hlášení .......................................................................................................... 61 Obrázek č. 32: Zadání hesla ................................................................................................................ 61 Obrázek č. 33: Průvodce Safetica ....................................................................................................... 63 Obrázek č. 34: Safetica chybové hlášení ............................................................................................. 64 Obrázek č. 35: Algoritmy TrueCrypt ................................................................................................... 68 Obrázek č. 36:Informace..................................................................................................................... 69
77
Seznam tabulek Tabulka č. 1: Nejdůležitější mezníky šifrování ...................................................................................... 9 Tabulka č. 2: Hashovací fukce SHA ..................................................................................................... 37 Tabulka č. 3: Srovnání hashovacích funkcí MD5, SHA a RIPMEMD-160 ............................................. 38
78