This patch implements Ascon-Hash256. Ascon-Hash256 is a hash function as a part
of the Ascon-Based Lightweight Cryptography Standards for Constrained Devices,
published as NIST SP 800-232 (https://csrc.nist.gov/pubs/sp/800/232/final).
Signed-off-by: Rusydi H. Makarim <rusydi.makarim@kriptograf.id>
---
Changes in v2:
- lib/crypto: fix compilation error of hash_info.c
- lib/crypto: fix build warning of tests/ascon_hash_kunit.c
- Link to v1: https://lore.kernel.org/r/20251215-ascon_hash256-v1-0-24ae735e571e@kriptograf.id
---
Rusydi H. Makarim (3):
lib/crypto: Add KUnit test vectors for Ascon-Hash256
lib/crypto: Initial implementation of Ascon-Hash256
crypto: Crypto API implementation of Ascon-Hash256
crypto/Kconfig | 7 +
crypto/Makefile | 1 +
crypto/ascon_hash.c | 86 ++++++++++++
include/crypto/ascon_hash.h | 83 ++++++++++++
include/crypto/hash_info.h | 1 +
include/uapi/linux/hash_info.h | 1 +
lib/crypto/Kconfig | 8 ++
lib/crypto/Makefile | 5 +
lib/crypto/ascon_hash.c | 169 ++++++++++++++++++++++++
lib/crypto/hash_info.c | 2 +
lib/crypto/tests/Kconfig | 9 ++
lib/crypto/tests/Makefile | 1 +
lib/crypto/tests/ascon_hash-testvecs.h | 235 +++++++++++++++++++++++++++++++++
lib/crypto/tests/ascon_hash_kunit.c | 33 +++++
14 files changed, 641 insertions(+)
---
base-commit: 92de2d349e02c2dd96d8d1b7016cc78cf80fc085
change-id: 20251214-ascon_hash256-704130f41b29
Best regards,
--
Rusydi H. Makarim <rusydi.makarim@kriptograf.id>