Sklopovsko ubrzanje enkripcijskog algoritma FPE : diplomski rad - Paulić, Luka (L. Paulić, 2019)
Sažetak na hrvatskom: U sklopu ovog rada razmatraju se značajke algoritma FF1, jodnog od skupine algoritama FPE. Nakon razumijevanja načina rada funkcija šifriranja i dešifriranja algoritma FF1 pristupa se profiliranju algoritma FF1 koristeći alate Callgrind i KCachegrind u svrhu pronalaženja vremenski kritičnih dijelova implementacije algoritma FF1 preuzetu s repozitorija za praćenje verzija izvornog koda github.com/0NG/Format-Preserving-Encryption. Nakon pronalaska vremenski kritičnih dijelova pristupa se sklopovskom ubrzanju algoritma koristeći se razvojnom pločicom ZedBoard Zynq-7000. Zbog ograničenja koja su istaknuta NIST specifikacijom za algoritam FPE te sklopovlja koji se koristi, ubrzanje algoritma se ostvaruje ubrzavanjem AES šifriranja. Ubrzanje AES šifriranja ostvaruje se korištenjem implementirane AES Rijndael IP jezgre preuzete s javno dostupnog repozitorija OpenCores. Zbog korištenja AXI4-Lite protokola za prijenos podataka iz procesorske jedinice do programabilne logike te ograničenja algoritma FPE ubrzanje nije postignuto u odnosu na OpenSSL implementaciju algoritma. Navode se potencijalna rješenja kojima bi se moglo postići ubrzanje algoritma FPE. Kod postupka ubrzavanja koristili su se Xilinx alati koji pružaju mogućnosti sinteze programskog jezika C u jezik za opis sklopovlja. Alati koji su se koristili u radu su (1) Vivado HLS (2) Xilinx SDx (3) Vivado Design Suite. Postupci korištenja alata, na visokoj razini, objašnjeni su na primjeru ubrzavanja algoritma FF1.