Bachelor's Thesis

Efficient Hashing Algorithms for High-Speed FPGA Applications

Final Thesis 5.33 MB

Author of thesis: Ondřej Schwarz

Acad. year: 2025/2026

Supervisor: Ing. Jiří Matoušek, Ph.D.

Reviewer: Ing. Marcela Zachariášová, Ph.D.

Abstract:

Hash functions are a critical component of modern high-speed network infrastructure. In FPGA applications, they are primarily utilized for implementing hardware lookup tables; to ensure efficient searching, hashing algorithms with high-quality outputs are required. Within the scope of this work, four modern hashing algorithms and their variants were selected and implemented in VHDL: the non-cryptographic SpookyHash, the cryptographic SipHash and Chaskey, and the experimental PCASD. These implementations were subsequently compared based on collision resistance, throughput, latency, and logic resource utilization. SpookyHash excels in all measured metrics, making it the optimal choice for systems where intentional attacks are not a concern. Among the cryptographic algorithms, Chaskey offers the highest throughput and lowest resource utilization; however, it is outperformed by SipHash in terms of initial latency. Furthermore, the modified implementation of the PCASD algorithm and the derived PCARX algorithm demonstrate that hash functions based on parallel hash trees and cellular automata can compete with established sequential counterparts in terms of hash quality. Their advantage in initial latency was demonstrated, albeit at the cost of higher logic resource utilization.

Keywords:

hashing functions, FPGA, cryptography.

Date of defence

18.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Topics for thesis defence

  1. V akom prostredí boli spustené testy z kapitoly 7? V simulácii a zároveň v reálnom HW?
  2. Jeden z algoritmov je experimentálne nasadený v reálnej prevádzke. Prečo práve SpookyHash a na základe akých kritérii prebiehal výber?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

prof. Ing. Lukáš Sekanina, Ph.D. (předseda)
doc. Ing. Ondřej Lengál, Ph.D. (místopředseda)
Ing. Marta Jaroš, Ph.D. (člen)
Ing. Libor Polčák, Ph.D. (člen)
Ing. Tomáš Milet, Ph.D. (člen)

Supervisor’s report
Ing. Jiří Matoušek, Ph.D.

Celkový přístup studenta k řešení bakalářské práce byl příkladný. Ačkoliv se nepodařilo stihnout zkonzultovat všechny části technické zprávy, výstupy bakalářské práce jsou svým rozsahem i kvalitou nadprůměrné a výrazně překonávající původní záměr zadání. Navrhuji proto hodnocení stupněm výborně / A.

Evaluation criteria Verbal classification
Informace k zadání

Zadání bakalářské práce vychází z praktických potřeb OP TAK projektu SmartNIC4DC (Vysoce výkonný a flexibilní SmartNIC pro aplikace a služby v datových centrech), řešeného ve spolupráci společnosti DynaNIC Semiconductors a sdružení CESNET, a cílí na vytvoření FPGA implementací hashovacích funkcí pro potřeby modulu CTT (Connection Tracking Table) vyvíjeného Oliverem Gurkou v rámci bakalářské práce Efektivní implementace tabulky síťových toků v externí paměti (obhájena 2024) a diplomové práce Stavové zpracování síťových toků s využitím FPGA pro sítě s propustností 400 Gb/s (odevzdána v květnu 2026).

Zadání bakalářské práce považuji v základu za standardně náročné. Nadstandardní však byl požadavek na implementaci a srovnání minimálně čtyř hashovacích algoritmů. Tento požadavek student beze zbytku splnil. Nad rámec původního záměru zadání pak student:

  • rozšířil hashovací algoritmus PCASD na algoritmus PCARX tak, aby byl reálně implementovatelný na dostupných FPGA čipech, a
  • doplnil množinu dostupných implementací zvolených hashovacích algoritmů tak, aby bylo možné s algoritmy pracovat nejen v FPGA (implementace ve VHDL), ale i v softwarových nástrojích (implementace v C++) a verifikačních nástrojích (implementace v Python a v SystemVerilog).

S dosaženými výsledky jsem tedy nadmíru spokojen.

Práce s literaturou

Student zvládal práci s literaturou zcela samostatně a po představení základních studijních materiálů Oliverem Gurkou byl schopný dohledávat a zpracovávat další relevantní studijní materiály bez další pomoci.

Aktivita během řešení, konzultace, komunikace

Po celou dobu řešení bakalářské práce byl student nadprůměrně aktivní a iniciativně řešil výzvy, které se v průběhu práce na zadaném tématu objevily. Svůj postup přitom student průběžně konzultoval, a to nejen na osobních setkáních, ale i s vyžitím prostředků elektronické komunikace.

Aktivita při dokončování

Implementační a experimentální práce byly dokončeny v dostatečném předstihu. Dokončování technické zprávy se však protáhlo až do posledních dnů před termínem odevzdání bakalářské práce, a některé části technické zprávy tudíž nebyly dopodrobna konzultovány. Důvodem uvedeného zpoždění však nebyla nedostatečná aktivita studenta při dokončování technické zprávy, ale její rozsah, který se student snažil naplnit.

Publikační činnost, ocenění

Implementované hashovací algoritmy byly zveřejněny v open-source repozitáři NDK platformy pro síťové karty s FPGA čipem (viz https://github.com/CESNET/ndk-fpga), který spravuje sdružení CESNET. Na studentské konferenci Excel@FIT 2026 pak byl prezentován poster o tématu bakalářské práce a dosažených výsledcích.

Points proposed by supervisor: 100

Grade proposed by supervisor: A

Jednalo sa o náročnejšie zadanie, realizačný výstup je kompletný, vhodne testovaný, pripravený na praktické využitie. 

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: obtížnější zadání

Hodnotím zadanie tejto práce ako náročnejšie, pretože vyžaduje prácu s komplexnými technológiami - štúdium state-of-the-art hashovacích algoritmov, ich implementáciu v FPGA, analýzu vlastností a efektívnosti implementácie z pohľadu zdrojov, výkonu. 
Oceňujem snahu o verifikáciu jednotlivých implementácii a tiež úpravu jedného z algoritmov, ktorá viedla k efektívnejšiemu riešeniu. Považujem obe za zmysluplné rozšírenia práce.

Prezentační úroveň technické zprávy

Práca má logickú štruktúru a jednotlivé časti na seba nadväzujú. Na teoretické základy plynule nadväzuje návrhová, implementačná, a testovacia časť. Veľmi podstatná je výsledná analýza riešení, tu by som uvítala prehľadné tabuľkové porovanie (najmä u analýzy vlastností z pohľadu hashovacích algoritmov), nie iba textové závery. Doporučujem do prezentácie. 

90
Formální úprava technické zprávy

Typografická a jazyková stránka práce je v poriadku, s drobnými výhradami. Napr. pretečenie niektorých častí pseudokódov za hranicu textu, drobný text v niektorých obrázkoch, napr. grafy v kapitole 8, obr. 5.19. Chápem, že niektoré obrázky sú prevzaté, ale pre lepšiu čitateľnost práce mohli byť ich texty v češtine, hlavne v teoretickom úvode. 

80
Realizační výstup

Realizačný výstup je kompletný, spustiteľný a na základe podrobného popisu v práci dobre reprodukovateľný. Študent FPGA implementácie overil vo verifikácii s náhodným generovaním správ (10000) a rôznymi seed hodnotami + sadou špeciálne zameraných testov, ktoré overovali hashovacie vlastnosti.   

95
Využitelnost výsledků

Práca čiastočne rozširuje už publikované výsledky (jeden z vybraných hashovacích algoritmov), prínosom sú implementácie vybraných hashovacích funkcií, ktoré sú optimalizavané pre využitie v FPGA. Výsledky sú využiteľné v praxi, jeden z výstupov je už experimentálne nasadený do reálnej sieťovej prevádzky. 

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Jednotlivé body zadania boli splnené v plnom rozsahu. 

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Rozsah technickej správy je v poriadku.

Práce s literaturou

S ohľadom na zameranie práce, je výber literatúry v poriadku.

95
Topics for thesis defence:
  1. 1. V akom prostredí boli spustené testy z kapitoly 7? V simulácii a zároveň v reálnom HW?
  2. 2. Jeden z algoritmov je experimentálne nasadený v reálnej prevádzke. Prečo práve SpookyHash a na základe akých kritérii prebiehal výber?
Points proposed by reviewer: 92

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová