5 #include "sw/device/tests/penetrationtests/firmware/sca/prng_sca.h"
8 #include "sw/device/lib/base/status.h"
10 #include "sw/device/lib/testing/test_framework/ottf_test_config.h"
11 #include "sw/device/lib/testing/test_framework/ujson_ottf.h"
12 #include "sw/device/lib/ujson/ujson.h"
14 #include "sw/device/tests/penetrationtests/json/prng_sca_commands.h"
27 cryptotest_prng_sca_lfsr_t uj_data;
28 TRY(ujson_deserialize_cryptotest_prng_sca_lfsr_t(uj, &uj_data));
30 if (uj_data.seed_length !=
sizeof(uint32_t)) {
31 return OUT_OF_RANGE();
46 prng_sca_subcommand_t cmd;
47 TRY(ujson_deserialize_prng_sca_subcommand_t(uj, &cmd));
49 case kPrngScaSubcommandSeedPrng:
50 return handle_prng_sca_seed_prng(uj);
53 LOG_ERROR(
"Unrecognized PRNG SCA subcommand: %d", cmd);
54 return INVALID_ARGUMENT();