Lines Matching refs:state
294 void FSPRG_GenState0(void *state, const void *mpk, const void *seed, size_t seedlen) {
304 memcpy(state, mpk, 2 + secpar / 8);
305 mpi_export(state + 2 + 1 * secpar / 8, secpar / 8, x);
306 memzero(state + 2 + 2 * secpar / 8, 8);
312 void FSPRG_Evolve(void *state) {
319 secpar = read_secpar(state + 0);
320 n = mpi_import(state + 2 + 0 * secpar / 8, secpar / 8);
321 x = mpi_import(state + 2 + 1 * secpar / 8, secpar / 8);
322 epoch = uint64_import(state + 2 + 2 * secpar / 8, 8);
327 mpi_export(state + 2 + 1 * secpar / 8, secpar / 8, x);
328 uint64_export(state + 2 + 2 * secpar / 8, 8, epoch);
334 uint64_t FSPRG_GetEpoch(const void *state) {
336 secpar = read_secpar(state + 0);
337 return uint64_import(state + 2 + 2 * secpar / 8, 8);
340 void FSPRG_Seek(void *state, uint64_t epoch, const void *msk, const void *seed, size_t seedlen) {
364 store_secpar(state + 0, secpar);
365 mpi_export(state + 2 + 0 * secpar / 8, secpar / 8, n);
366 mpi_export(state + 2 + 1 * secpar / 8, secpar / 8, xm);
367 uint64_export(state + 2 + 2 * secpar / 8, 8, epoch);
380 void FSPRG_GetKey(const void *state, void *key, size_t keylen, uint32_t idx) {
385 secpar = read_secpar(state + 0);
386 det_randomize(key, keylen, state + 2, 2 * secpar / 8 + 8, idx);