25 lines
633 B
C++
25 lines
633 B
C++
#ifndef FORTUNA_GENERATOR_H
|
|
#define FORTUNA_GENERATOR_H
|
|
|
|
#include <string>
|
|
#include <cstring>
|
|
#include <tuple>
|
|
|
|
struct G_state;
|
|
|
|
/* initializes generator */
|
|
G_state *initialize_generator();
|
|
|
|
auto do_crypto(int64_t k, unsigned __int128 ctr) -> std::string;
|
|
|
|
auto reseed(G_state G, const std::string& s) -> std::tuple<G_state, unsigned __int128>;
|
|
|
|
auto do_sha(int64_t key_with_seed) -> int64_t;
|
|
|
|
auto generate_blocks(G_state G, int k_blocks) -> std::tuple<std::string, G_state>;
|
|
|
|
/* returns output of 0 <= n <= 2^20 bytes */
|
|
auto generate_random_data(G_state G, int n) -> std::tuple<std::string, G_state>;
|
|
|
|
#endif//FORTUNA_GENERATOR_H
|