Linux 7.2 Gets Rid Of The Last Optimized MD5 Implementation
The Linux kernel has dropped the last of its architecture-specific optimized MD5 hashing algorithm implementations.
While MD5 had been widely-used for checksums for data integrity purposes, its known collision vulnerabilities have existed for many years. Or rather, decades. Thankfully most software has moved on from using MD5 in favor of more secure algorithms. For legacy uses of MD5, the generic code paths these days on modern processors have proven more than adequate that architecture-specific implementations aren't really worthwhile.
Last year the MIPS and SPARC architectures saw their MD5 optimized implementations removed after not being deemed "worth keeping around". PowerPC was originally marked for removal too at that time but as a PowerPC user noted his organization still had several applications using MD5 and was finding performance benefit out of it. That usage though was via AF_ALG with the libkcapi-hasher.
But with Linux 7.2 now moving fast in deprecating AF_ALG due to its security woes, the PowerPC demonstrated use-case for this optimized MD5 code is no longer applicable. For those wanting faster MD5 on PowerPC moving forward with newer Linux kernels, the optimized kernel implementation contains no privileged instructions and could be carried in user-space without any complexities.
As such with the now-merged crypto library updates for Linux 7.2, the PowerPC MD5 code is removed as "the last architecture-specific implementation of MD5."
MD5 support is still around in the kernel, just as the generic implementation that is "good enough" for modern hardware and legacy uses across all CPU architectures.
While MD5 had been widely-used for checksums for data integrity purposes, its known collision vulnerabilities have existed for many years. Or rather, decades. Thankfully most software has moved on from using MD5 in favor of more secure algorithms. For legacy uses of MD5, the generic code paths these days on modern processors have proven more than adequate that architecture-specific implementations aren't really worthwhile.
Last year the MIPS and SPARC architectures saw their MD5 optimized implementations removed after not being deemed "worth keeping around". PowerPC was originally marked for removal too at that time but as a PowerPC user noted his organization still had several applications using MD5 and was finding performance benefit out of it. That usage though was via AF_ALG with the libkcapi-hasher.
But with Linux 7.2 now moving fast in deprecating AF_ALG due to its security woes, the PowerPC demonstrated use-case for this optimized MD5 code is no longer applicable. For those wanting faster MD5 on PowerPC moving forward with newer Linux kernels, the optimized kernel implementation contains no privileged instructions and could be carried in user-space without any complexities.
👁 No MD5 optimized implementation
As such with the now-merged crypto library updates for Linux 7.2, the PowerPC MD5 code is removed as "the last architecture-specific implementation of MD5."
MD5 support is still around in the kernel, just as the generic implementation that is "good enough" for modern hardware and legacy uses across all CPU architectures.
