Add support for adiantum and nhpoly1305 as kmods

I will limit the explantion by just referring to the Kconfig help text, but to summarize, this would allow fairly fast external storage encryption on devices with no hardware available for accelerating AES (which a lot of OpenWrt devices could benefit from).

https://cateee.net/lkddb/web-lkddb/CRYPTO_ADIANTUM.html
https://cateee.net/lkddb/web-lkddb/CRYPTO_NHPOLY1305.html

There is also hardware acceleration for nhpoly1305 for aarch64 and x86:
https://cateee.net/lkddb/web-lkddb/CRYPTO_NHPOLY1305_NEON.html
https://cateee.net/lkddb/web-lkddb/CRYPTO_NHPOLY1305_SSE2.html
https://cateee.net/lkddb/web-lkddb/CRYPTO_NHPOLY1305_AVX2.html

I took the time to make a little benchmark for comparison on a Raspberry Pi 4B with a Fedora Server and the results look promising.

hi @c512l could you please open an issue on github and cc me (@maurerr there) as I'd be interested in working on this

sure, but isn't this the proper communication channel for working on this? seems like the github issue tracker is used for bugs only.

missing some kernel features could be considered a bug as well

1 Like

I have opened an issue and CC'd you as you suggested :+1::

1 Like

You'll need to keep track of it, since there are/will be counter questions.

kernel: crypto: add adiantum and nhpoly1305 support by maurerr · Pull Request #15040 · openwrt/openwrt (github.com)

1 Like