#include <stdlib.h>
#include <string.h>
#include "libbitcoinpqc/slh_dsa.h"
#include "../../sphincsplus/ref/api.h"
#include "../../sphincsplus/ref/randombytes.h"
#include "../../sphincsplus/ref/params.h"
extern void slh_dsa_init_random_source(const uint8_t *random_data, size_t random_data_size);
extern void slh_dsa_setup_custom_random(void);
extern void slh_dsa_restore_original_random(void);
int slh_dsa_shake_128s_keygen(
uint8_t *pk,
uint8_t *sk,
const uint8_t *random_data,
size_t random_data_size
) {
if (!pk || !sk || !random_data || random_data_size < 128) {
return -1;
}
return crypto_sign_seed_keypair(pk, sk, random_data);
}