Implementace a testování hashovacího algoritmu MD5

Loading...
Thumbnail Image
Date
ORCID
Mark
A
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií
Abstract
Hashovací funkce jsou jedním ze základních stavebních prvků moderní kryptografie. Jejich úkolem je pro vstupní zprávy vytvářet unikátní bitové posloupnosti, nazývané digitální otisky. Tím zabezpečují nezbytnou integritu zpráv, protože data přenášena přes různá přenosová média mohou být během přenosu pozměněna. Zároveň z důvodu jednosměrnosti poskytují možnost rychlého a účinného šifrování hesel. Cílem této bakalářské práce je analyzovat jednu z nejznámějších hashovacích funkcí MD5, implementovat ji v libovolném programovacím jazyku, analyzovat její bezpečnostní rizika a pokusit se je na praktických ukázkách využít ve prospěch útočníka. Bakalářská práce prezentuje teoretickou a praktickou část na téma Implementace a testování hashovacího algoritmu MD5. Úvod práce je věnován základům kryptografie, vysvětlení pojmu hashovací funkce a jejím základním vlastnostem. Kapitola č.3 je zaměřená na analýzu samotného algoritmu MD5. Následující část je věnovaná popisu její implementace v programovacím jazyku C++. Poslední dvě části jsou věnované problematice bezpečnosti a slabých míst hashovacího algoritmu MD5. Na základě existence kolizí prvního řádu je tu na praktické ukázce prezentován postup vytvoření dvou odlišných programů se stejným digitálním otiskem. Závěr patří popisu implementace útoků na jednosměrnost algoritmu MD5 a porovnání jejich časových možností při získávání původních zpráv na základě jejich digitálních otisků.
Hash functions are one of basic structural components of modern cryptography. Their task is to create unique bit order for entry information called message digests. This way the inevitable integrity of information is secured because data transferring via different transfer media may be altered during the transfer. They provide a possibility of fast and effective encryption of passwords because of one-way as well. The aim of this bachelor’s thesis is to analyse one of the most well-known hash functions MD5, to implement it in programming language, to analyse its security risks and to try to use practical exhibitions to the benefit of an attacker. The bachelor’s thesis is presenting theoretical and practical part on Implementation and testing of MD5 hash algorithm. The introduction of the work is devoted to the basics of cryptography, to explanation of the concept of hash function and its basic attributes. The chapter 3 is focussed on the analysis of algorithm MD5 itself. The following part describes its implementation in programming language C++. The last two parts are about problems of security and weak sides of hash algorithm MD5. On the basic of existance of first order collisions, there is in practical demonstration presented creating two different programmes with the same message digest. The final part belongs to description of implementations of attacks on one-way algorithm MD5 and comparisons of their time possibilities during getting original information on the basis of their message digests.
Description
Citation
LEGÉŇ, M. Implementace a testování hashovacího algoritmu MD5 [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2008.
Document type
Document version
Date of access to the full text
Language of document
sk
Study field
Teleinformatika
Comittee
prof. Ing. Eva Gescheidtová, CSc. (předseda) doc. Ing. Ivo Lattenberg, Ph.D. (místopředseda) Ing. Jiří Prokeš, Ph.D. (člen) Ing. Pavel Hanák, Ph.D. (člen) Ing. Michal Soumar (člen) doc. Ing. Petr Sysel, Ph.D. (člen) Ing. Jan Malý (člen)
Date of acceptance
2008-06-17
Defence
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení
DOI
Collections
Citace PRO