Skip to content

Commit 591028d

Browse files
panvaanonrig
authored andcommitted
crypto: support SLH-DSA KeyObject, sign, and verify
PR-URL: nodejs/node#59537 Reviewed-By: Tobias Nießen <tniessen@tnie.de>
1 parent 17e213a commit 591028d

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/ncrypto.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,18 @@ constexpr static PQCMapping pqc_mappings[] = {
3838
{"ML-KEM-512", EVP_PKEY_ML_KEM_512},
3939
{"ML-KEM-768", EVP_PKEY_ML_KEM_768},
4040
{"ML-KEM-1024", EVP_PKEY_ML_KEM_1024},
41+
{"SLH-DSA-SHA2-128f", EVP_PKEY_SLH_DSA_SHA2_128F},
42+
{"SLH-DSA-SHA2-128s", EVP_PKEY_SLH_DSA_SHA2_128S},
43+
{"SLH-DSA-SHA2-192f", EVP_PKEY_SLH_DSA_SHA2_192F},
44+
{"SLH-DSA-SHA2-192s", EVP_PKEY_SLH_DSA_SHA2_192S},
45+
{"SLH-DSA-SHA2-256f", EVP_PKEY_SLH_DSA_SHA2_256F},
46+
{"SLH-DSA-SHA2-256s", EVP_PKEY_SLH_DSA_SHA2_256S},
47+
{"SLH-DSA-SHAKE-128f", EVP_PKEY_SLH_DSA_SHAKE_128F},
48+
{"SLH-DSA-SHAKE-128s", EVP_PKEY_SLH_DSA_SHAKE_128S},
49+
{"SLH-DSA-SHAKE-192f", EVP_PKEY_SLH_DSA_SHAKE_192F},
50+
{"SLH-DSA-SHAKE-192s", EVP_PKEY_SLH_DSA_SHAKE_192S},
51+
{"SLH-DSA-SHAKE-256f", EVP_PKEY_SLH_DSA_SHAKE_256F},
52+
{"SLH-DSA-SHAKE-256s", EVP_PKEY_SLH_DSA_SHAKE_256S},
4153
};
4254

4355
#endif
@@ -2804,6 +2816,18 @@ bool EVPKeyPointer::isOneShotVariant() const {
28042816
case EVP_PKEY_ML_DSA_44:
28052817
case EVP_PKEY_ML_DSA_65:
28062818
case EVP_PKEY_ML_DSA_87:
2819+
case EVP_PKEY_SLH_DSA_SHA2_128F:
2820+
case EVP_PKEY_SLH_DSA_SHA2_128S:
2821+
case EVP_PKEY_SLH_DSA_SHA2_192F:
2822+
case EVP_PKEY_SLH_DSA_SHA2_192S:
2823+
case EVP_PKEY_SLH_DSA_SHA2_256F:
2824+
case EVP_PKEY_SLH_DSA_SHA2_256S:
2825+
case EVP_PKEY_SLH_DSA_SHAKE_128F:
2826+
case EVP_PKEY_SLH_DSA_SHAKE_128S:
2827+
case EVP_PKEY_SLH_DSA_SHAKE_192F:
2828+
case EVP_PKEY_SLH_DSA_SHAKE_192S:
2829+
case EVP_PKEY_SLH_DSA_SHAKE_256F:
2830+
case EVP_PKEY_SLH_DSA_SHAKE_256S:
28072831
#endif
28082832
return true;
28092833
default:

0 commit comments

Comments
 (0)