Topic: ML-KEM in Post-quantum DTLS1.3
Hello,
I'm working on a DTLS 1.3 server using the wolfSSL library. I'm trying to implement a post-quantum connection using ML-KEM and Dilithium.
I've modified the C code for the server (https://github.com/wolfSSL/wolfssl-exam … r-dtls13.c) and client (https://github.com/wolfSSL/wolfssl-exam … t-dtls13.c) .I've added the following for it to use ML-KEM 1024 in both client and server implementations.
/* Create the WOLFSSL Object */
if ((ssl = wolfSSL_new(ctx)) == NULL) {
fprintf(stderr, "wolfSSL_new error.\n");
goto cleanup;
}
/* new code */
ret = wolfSSL_UseKeyShare(ssl, WOLFSSL_ML_KEM_1024);
if (ret < 0) {
fprintf(stderr, "ERROR: failed to set the requested group to "
"WOLFSSL_ML_KEM_1024.\n");
ret = -1;
goto cleanup;
}
When I run the client and connect to the server, the server successfully establishes a connection, and the output shows:
New connection established using DTLSv1.3 TLS_AES_256_GCM_SHA384
I'm confused because this output only specifies the symmetric cipher suite. It doesn't explicitly confirm that ML-KEM was used.
Is there a way to verify through the wolfSSL logs or API that ML-KEM 1024 was used? Thanks in advance for any insight and sorry if this is out of place.