Original title:
Hashovací funkce - charakteristika, implementace a kolize
Translated title:
Hash functions - characteristics, implementation and collisions
Authors:
Karásek, Jan ; Sobotka, Jiří (referee) ; Lambertová, Petra (advisor) Document type: Master’s theses
Year:
2009
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií Abstract:
[cze][eng]
Hašovací funkce patří mezi prvky moderní kryptografie. Jejich úkolem je na vstupu očekávaná data převést do unikátní bitové posloupnosti. Hašovací funkce jsou používány v mnoha aplikačních oblastech, jako je ověřování integrity zpráv, autentizace informací, jsou používány v kryptografických protokolech, ke komparaci dat a dalších aplikacích. Cílem diplomové práce je charakterizovat hašovací funkce, popsat jejich základní vlastnosti a využití. Dále se zaměřit na jednu hašovací funkci, konkrétně MD5, a tu náležitě popsat. Popsat její konstrukci, bezpečnost a možnosti útoků na tuto funkci. Posledním úkolem je tuto funkci implementovat a implementovat i kolize na ni. V úvodních kapitolách je v práci popsána základní definice hašovací funkce, jsou popsány vlastnosti, jaké by funkce měla mít, zmíněny metody, kterými je možné předcházet jejich kolizím a zmíněny oblasti, ve kterých se hašovacích funkcí využívá. Další kapitoly jsou zaměřeny na charakteristiky druhů hašovacích funkcí. Těmito druhy jsou základní hašovací funkce postavené na základních bitových operacích, dokonalé hašovací funkce a kryptografické hašovací funkce. Po dokončení charakteristiky hašovacích funkcí se dále věnuji praktickým záležitostem. Je popsán základní vzhled a ovládání programu, na který navazuje postupné popisování jednotlivých jeho funkcí, které jsou i dostatečně teoreticky vysvětleny. V dalším textu je popsána funkce MD5, kde se věnuji její konstrukci, bezpečnostním rizikům a samotné implementaci. Jako poslední navazuje kapitola, týkající se samotných útoků na hašovací funkce, ve které je popsána metoda tunelování hašovací funkce, metoda útoku brutální silou a slovníkový útok.
Hash functions belong to elements of modern cryptography. Their task is to transfer the data expected on the entry into a unique bite sequence. Hash functions are used in many application areas, such as message integrity verification, information authentication, and are used in cryptographic protocols, to compare data and other applications. The goal of the master’s thesis is to characterize hash functions to describe their basic characteristics and use. Next task was to focus on one hash function, in particular MD5, and describe it properly. That means, to describe its construction, safety and possible attacks on this function. The last task was to implement this function and collisions. The introductory chapters describe the basic definition of hash function, the properties of the function. The chapters mention the methods preventing collisions and the areas were the hash functions are used. Further chapters are focused on the characteristics of various types of hash functions. These types include basic hash functions built on basic bit operations, perfect hash functions and cryptographic hash functions. After concluding the characteristics of hash functions, I devoted to practical matters. The thesis describes the basic appearance and control of the program and its individual functions which are explained theoretically. The following text describes the function MD5, its construction, safety risks and implementation. The last chapter refers to attacks on hash functions and describes the hash function tunneling method, brute force attack and dictionary attack.
Keywords:
attacks; C#; collisions; compression function; cryptographic hash functions; FNV; hash; Hash functions; MD5; multi-collisions; perfect hashing; tunneling; C#; dokonalé hašování; FNV; haš; Hašovací funkce; kolize; kompresní funkce; kryptografické hašovací funkce; MD5; multikolize; tunelování; útoky
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/11096