Memory-hard password hashing function Argon2 has been adopted by applications and libraries alike, but it was as yet missing in OpenSSL library. Some of Argon2 users use OpenSSL. To remedy the need for an extra dependency or the need to maintain separate implementation maintenance, Argon2 is introduced into OpenSSL. As it is designed to be executed in parallel, threading support is also proposed for OpenSSL. Parts of Argon2 code are then optimized further for ARMv8.0-A architecture, in particular for the 64-bit Aarch64 execution state. This includes optimization of memory copying, preloading and optimization of the internal compression function. Performance oriented optimizations are then benchmarked on 5 different ARMv8.0-A machines, ranging from development boards to servers
Argon2 function and hardware platform optimizations for OpenSSL
University
Faculty of Informatics
Date of Completion
fall 2019
Resources
Leader
Milan Brož
Student
Čestmír Kalina