1/* 2 * Copyright 2025 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the Apache License 2.0 (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10#include "lms_common.inc" 11 12typedef struct LMS_ACVP_TEST_DATA_st { 13 const unsigned char *pub; 14 size_t publen; 15 const unsigned char *priv; 16 size_t privlen; 17 const unsigned char *msg; 18 size_t msglen; 19 const unsigned char *sig; 20 size_t siglen; 21} LMS_ACVP_TEST_DATA; 22 23/* 24 * The data for HSS with a single level is almost identical 25 * to LMS data, except the public key & signature have extra 4 byte headers. 26 */ 27#define LMS_ACVP_ITEM(name) { \ 28 name##_pub + 4, sizeof(name##_pub) - 4, \ 29 name##_priv, sizeof(name##_priv), \ 30 name##_msg, sizeof(name##_msg), \ 31 name##_sig + 4, sizeof(name##_sig) - 4 } 32 33/* We can only use the hss tests that have a single level here */ 34static LMS_ACVP_TEST_DATA lms_testdata[] = { 35 LMS_ACVP_ITEM(sha256_192), 36 LMS_ACVP_ITEM(shake256_192), 37 LMS_ACVP_ITEM(shake256_256) 38}; 39