Commit eb1c9a2
committed
slhdsa: add WOLF_CRYPTO_CB and WOLF_PRIVATE_KEY_ID support
Wire SLH-DSA into the existing PQC CryptoCb dispatch (the same path
already used by ML-DSA / Dilithium) so a registered device can intercept
key generation, signing, verification, and key release. Also add
algorithm-specific id/label storage on SlhDsaKey for use with
WOLF_PRIVATE_KEY_ID, mirroring the dilithium_key API.
- types.h: add WC_PQC_SIG_TYPE_SLHDSA and widen the WC_PK_TYPE_PQC_SIG_*
/ wc_PqcSignatureType guards to include WOLFSSL_HAVE_SLHDSA.
- cryptocb.h/.c: include wc_slhdsa.h, widen the PQC sig guards, and
teach wc_CryptoCb_PqcSigGetDevId to extract devId from SlhDsaKey.
- wc_slhdsa.h: add devCtx (alongside devId) under WOLF_CRYPTO_CB; add
id/label storage and SLHDSA_MAX_{ID,LABEL}_LEN under WOLF_PRIVATE_KEY_ID;
declare wc_SlhDsaKey_Init_id and _Init_label.
- wc_slhdsa.c: implement Init_id / Init_label; hook
wc_CryptoCb_MakePqcSignatureKey in MakeKey, wc_CryptoCb_PqcSign in
Sign / SignHash, wc_CryptoCb_PqcVerify in Verify / VerifyHash, and
wc_CryptoCb_Free in Free; scrub id/label/devCtx on free.1 parent 7d1516f commit eb1c9a2
5 files changed
Lines changed: 242 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1286 | 1286 | | |
1287 | 1287 | | |
1288 | 1288 | | |
1289 | | - | |
| 1289 | + | |
| 1290 | + | |
1290 | 1291 | | |
1291 | 1292 | | |
1292 | 1293 | | |
| |||
1305 | 1306 | | |
1306 | 1307 | | |
1307 | 1308 | | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
| 1312 | + | |
| 1313 | + | |
1308 | 1314 | | |
1309 | 1315 | | |
1310 | 1316 | | |
| |||
1454 | 1460 | | |
1455 | 1461 | | |
1456 | 1462 | | |
1457 | | - | |
| 1463 | + | |
1458 | 1464 | | |
1459 | 1465 | | |
1460 | 1466 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6557 | 6557 | | |
6558 | 6558 | | |
6559 | 6559 | | |
6560 | | - | |
| 6560 | + | |
| 6561 | + | |
6561 | 6562 | | |
6562 | 6563 | | |
| 6564 | + | |
| 6565 | + | |
| 6566 | + | |
| 6567 | + | |
6563 | 6568 | | |
6564 | 6569 | | |
6565 | 6570 | | |
| |||
6595 | 6600 | | |
6596 | 6601 | | |
6597 | 6602 | | |
| 6603 | + | |
| 6604 | + | |
| 6605 | + | |
| 6606 | + | |
| 6607 | + | |
| 6608 | + | |
| 6609 | + | |
| 6610 | + | |
| 6611 | + | |
| 6612 | + | |
| 6613 | + | |
| 6614 | + | |
| 6615 | + | |
| 6616 | + | |
| 6617 | + | |
| 6618 | + | |
| 6619 | + | |
| 6620 | + | |
| 6621 | + | |
| 6622 | + | |
| 6623 | + | |
| 6624 | + | |
| 6625 | + | |
| 6626 | + | |
| 6627 | + | |
| 6628 | + | |
| 6629 | + | |
| 6630 | + | |
| 6631 | + | |
| 6632 | + | |
| 6633 | + | |
| 6634 | + | |
| 6635 | + | |
| 6636 | + | |
| 6637 | + | |
| 6638 | + | |
| 6639 | + | |
| 6640 | + | |
| 6641 | + | |
| 6642 | + | |
| 6643 | + | |
| 6644 | + | |
| 6645 | + | |
| 6646 | + | |
| 6647 | + | |
| 6648 | + | |
| 6649 | + | |
| 6650 | + | |
| 6651 | + | |
| 6652 | + | |
| 6653 | + | |
| 6654 | + | |
| 6655 | + | |
| 6656 | + | |
| 6657 | + | |
| 6658 | + | |
| 6659 | + | |
| 6660 | + | |
| 6661 | + | |
| 6662 | + | |
| 6663 | + | |
| 6664 | + | |
| 6665 | + | |
| 6666 | + | |
| 6667 | + | |
| 6668 | + | |
| 6669 | + | |
| 6670 | + | |
| 6671 | + | |
| 6672 | + | |
| 6673 | + | |
| 6674 | + | |
| 6675 | + | |
| 6676 | + | |
| 6677 | + | |
| 6678 | + | |
| 6679 | + | |
| 6680 | + | |
| 6681 | + | |
| 6682 | + | |
6598 | 6683 | | |
6599 | 6684 | | |
6600 | 6685 | | |
| |||
6603 | 6688 | | |
6604 | 6689 | | |
6605 | 6690 | | |
| 6691 | + | |
| 6692 | + | |
| 6693 | + | |
| 6694 | + | |
| 6695 | + | |
| 6696 | + | |
| 6697 | + | |
| 6698 | + | |
| 6699 | + | |
6606 | 6700 | | |
6607 | 6701 | | |
6608 | 6702 | | |
| |||
6641 | 6735 | | |
6642 | 6736 | | |
6643 | 6737 | | |
| 6738 | + | |
| 6739 | + | |
| 6740 | + | |
| 6741 | + | |
| 6742 | + | |
| 6743 | + | |
| 6744 | + | |
| 6745 | + | |
| 6746 | + | |
| 6747 | + | |
| 6748 | + | |
| 6749 | + | |
6644 | 6750 | | |
6645 | 6751 | | |
6646 | 6752 | | |
| |||
6752 | 6858 | | |
6753 | 6859 | | |
6754 | 6860 | | |
| 6861 | + | |
| 6862 | + | |
| 6863 | + | |
| 6864 | + | |
| 6865 | + | |
| 6866 | + | |
| 6867 | + | |
| 6868 | + | |
| 6869 | + | |
| 6870 | + | |
| 6871 | + | |
| 6872 | + | |
| 6873 | + | |
| 6874 | + | |
| 6875 | + | |
| 6876 | + | |
| 6877 | + | |
6755 | 6878 | | |
6756 | 6879 | | |
6757 | 6880 | | |
| |||
7251 | 7374 | | |
7252 | 7375 | | |
7253 | 7376 | | |
| 7377 | + | |
| 7378 | + | |
| 7379 | + | |
| 7380 | + | |
| 7381 | + | |
| 7382 | + | |
| 7383 | + | |
| 7384 | + | |
| 7385 | + | |
| 7386 | + | |
| 7387 | + | |
| 7388 | + | |
| 7389 | + | |
| 7390 | + | |
| 7391 | + | |
| 7392 | + | |
| 7393 | + | |
7254 | 7394 | | |
7255 | 7395 | | |
7256 | 7396 | | |
| |||
7418 | 7558 | | |
7419 | 7559 | | |
7420 | 7560 | | |
| 7561 | + | |
| 7562 | + | |
| 7563 | + | |
| 7564 | + | |
| 7565 | + | |
| 7566 | + | |
| 7567 | + | |
| 7568 | + | |
| 7569 | + | |
| 7570 | + | |
| 7571 | + | |
| 7572 | + | |
| 7573 | + | |
| 7574 | + | |
| 7575 | + | |
| 7576 | + | |
| 7577 | + | |
| 7578 | + | |
7421 | 7579 | | |
7422 | 7580 | | |
7423 | 7581 | | |
| |||
8048 | 8206 | | |
8049 | 8207 | | |
8050 | 8208 | | |
| 8209 | + | |
| 8210 | + | |
| 8211 | + | |
| 8212 | + | |
| 8213 | + | |
| 8214 | + | |
| 8215 | + | |
| 8216 | + | |
| 8217 | + | |
| 8218 | + | |
| 8219 | + | |
| 8220 | + | |
| 8221 | + | |
| 8222 | + | |
| 8223 | + | |
| 8224 | + | |
| 8225 | + | |
8051 | 8226 | | |
8052 | 8227 | | |
8053 | 8228 | | |
| |||
8147 | 8322 | | |
8148 | 8323 | | |
8149 | 8324 | | |
| 8325 | + | |
| 8326 | + | |
| 8327 | + | |
| 8328 | + | |
| 8329 | + | |
| 8330 | + | |
| 8331 | + | |
| 8332 | + | |
| 8333 | + | |
| 8334 | + | |
| 8335 | + | |
| 8336 | + | |
| 8337 | + | |
| 8338 | + | |
| 8339 | + | |
| 8340 | + | |
| 8341 | + | |
| 8342 | + | |
8150 | 8343 | | |
8151 | 8344 | | |
8152 | 8345 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
89 | 92 | | |
90 | 93 | | |
91 | 94 | | |
| |||
312 | 315 | | |
313 | 316 | | |
314 | 317 | | |
315 | | - | |
| 318 | + | |
| 319 | + | |
316 | 320 | | |
317 | 321 | | |
318 | 322 | | |
| |||
775 | 779 | | |
776 | 780 | | |
777 | 781 | | |
778 | | - | |
| 782 | + | |
| 783 | + | |
779 | 784 | | |
780 | 785 | | |
781 | 786 | | |
| |||
791 | 796 | | |
792 | 797 | | |
793 | 798 | | |
794 | | - | |
| 799 | + | |
795 | 800 | | |
796 | 801 | | |
797 | 802 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1559 | 1559 | | |
1560 | 1560 | | |
1561 | 1561 | | |
1562 | | - | |
| 1562 | + | |
| 1563 | + | |
1563 | 1564 | | |
1564 | 1565 | | |
1565 | 1566 | | |
| |||
1597 | 1598 | | |
1598 | 1599 | | |
1599 | 1600 | | |
1600 | | - | |
| 1601 | + | |
| 1602 | + | |
1601 | 1603 | | |
1602 | 1604 | | |
1603 | 1605 | | |
| |||
1611 | 1613 | | |
1612 | 1614 | | |
1613 | 1615 | | |
| 1616 | + | |
| 1617 | + | |
| 1618 | + | |
| 1619 | + | |
| 1620 | + | |
1614 | 1621 | | |
1615 | 1622 | | |
1616 | 1623 | | |
| |||
0 commit comments