Fingerprint Hashing Algorithm using Wavelet, Fourier-Mellin Transform, and Fractal Encoding
Abstract
This repository contains MATLAB code for a fingerprint hashing algorithm developed for secure biometric authentication. The method integrates preprocessing, wavelet-based denoising, minutiae extraction, polar transformation, Fourier-Mellin transform, and fractal-based feature encoding to generate a fixed-length binary hash. The core implementation is provided in the function "generate_fingerprint_hash.m", which processes a grayscale fingerprint image and produces a 4096-bit binary hash. The code is provided to support reproducibility of the results presented in the associated Scientific Reports manuscript. Key Features:- Robust fingerprint preprocessing and normalization- Minutiae-based feature extraction- Polar and Fourier-Mellin transformation for invariance- Fractal encoding for compact representation- Fixed-length (4096-bit) hash generation Usage:Run the provided "main.m" file after placing a grayscale fingerprint image in the "sample_data" directory. Requirements:MATLAB (R2021 or later, tested on R2024) with Image Processing Toolbox and Wavelet Toolbox. Datasets:Experiments were conducted using the following datasets:- FVC2002- FVC2004- SOCOFing Users are advised to cite the original dataset publications when using this code. Note:In rare cases where no valid minutiae points are detected due to poor image quality, the algorithm returns an empty hash output.
Publication details
- Journal / source
- Figshare
- Publication date
- 31 March 2026