| International Journal of Computer Applications |
| Foundation of Computer Science (FCS), NY, USA |
| Volume 187 - Number 149 |
| Year of Publication: 2026 |
| Authors: Ashishkumar Gor, Ami M. Shah, Ankit P. Vaishnav |
10.5120/ijca1a979a992aa1
|
Ashishkumar Gor, Ami M. Shah, Ankit P. Vaishnav . Choosing Cryptographic Hash Functions: A Security-, Performance-, and Application-Aware Survey. International Journal of Computer Applications. 187, 149 ( Oct 2026), 1-17. DOI=10.5120/ijca1a979a992aa1
Cryptographic hash functions are routinely selected by name—for example, “use SHA-256”—even though the suitability of a hash function depends on a richer set of requirements: collision, preimage, and second-preimage resistance; construction-level attack surface; digest and state sizes; domain separation; keyed or extendable-output functionality; short-message latency; bulk throughput; memory and energy constraints; implementation ecosystem; and standardization status. This survey develops an application-aware view of hash-function choice rather than a chronological catalogue of algorithms. It organizes modern hashing around iterative Merkle–Damg˚ard designs, permutation/sponge designs, tree/parallel designs, and lightweight standardized designs; connects generic security bounds to multicollision, long-message second-preimage, herding, practical collision, and chosen-prefix collision results; and maps those properties to digital signatures, message authentication, software integrity, Merkle structures, content-addressed storage, embedded/IoT systems, password processing, and post-quantum hash-based signatures. The survey further introduces a Security–Performance–Application (SPA) selection model that first filters candidates using non-negotiable security constraints and then ranks feasible candidates using application-weighted performance and deployment criteria. To complement the analytical discussion, three controlled experiments examine throughput versus message size for SHA-2, SHA-3, and BLAKE2 implementations exposed through Python’s hashlib (with OpenSSL used where applicable), single-bit avalanche behavior, and birthday collisions on deliberately truncated SHA-256 outputs. In the measured runtime environment, SHA-256 attained the highest bulk throughput among the tested standardized fixed-output functions, while BLAKE2s led the 64-byte test; all tested functions showed mean avalanche behavior close to 50%; and the observed first-collision counts for 16–24-bit truncations closely followed the birthday expectation. A cross-size normalized analysis further demonstrates that the relative ranking changes materially with message size. These measurements are illustrative of implementation/platform effects and are not universal rankings. The survey closes with a decision procedure and open research directions for transparent, context-sensitive hash-function selection.