Add KDF interface and HKDF implementation

This commit is contained in:
Lucas Gabriel Vuotto 2024-06-18 14:30:06 +00:00
parent cef67c9f09
commit 5eb28b420d
9 changed files with 570 additions and 7 deletions

View file

@ -1,19 +1,21 @@
.PATH: ${.CURDIR}/..
AEAD= wycheproof_aead
HKDF= wycheproof_hkdf
MAC= wycheproof_mac
PROGS= ${AEAD} ${MAC}
PROGS= ${AEAD} ${HKDF} ${MAC}
NOMAN= noman
SRCS_wycheproof_aead= wycheproof_aead.c
SRCS_wycheproof_hkdf= wycheproof_hkdf.c
SRCS_wycheproof_mac= wycheproof_mac.c
DPADD+= ${.CURDIR}/../lib/obj/liblilcrypto.a
LDADD+= ${.CURDIR}/../lib/obj/liblilcrypto.a
tests: all tests-aead tests-mac
tests: all tests-aead tests-hkdf tests-mac
tests-aead:
.ifndef WYCHEPROOF_DIR
@ -27,6 +29,22 @@ tests-aead:
${WYCHEPROOF_DIR}/testvectors_v1/xchacha20_poly1305_test.json
.endfor
tests-hkdf:
.ifndef WYCHEPROOF_DIR
@echo Undefined WYCHEPROOF_DIR; false
.endif
.for p in ${HKDF}
perl ${.CURDIR}/hkdf.pl ${TESTOPTS} -x ./${p} \
${WYCHEPROOF_DIR}/testvectors/hkdf_sha256_test.json \
${WYCHEPROOF_DIR}/testvectors_v1/hkdf_sha256_test.json \
${WYCHEPROOF_DIR}/testvectors/hkdf_sha384_test.json \
${WYCHEPROOF_DIR}/testvectors_v1/hkdf_sha384_test.json \
${WYCHEPROOF_DIR}/testvectors/hkdf_sha512_test.json \
${WYCHEPROOF_DIR}/testvectors_v1/hkdf_sha512_test.json
.endfor
.include <bsd.prog.mk>
tests-mac:
.ifndef WYCHEPROOF_DIR
@echo Undefined WYCHEPROOF_DIR; false