1 #ifndef SECRETSHARER_H_ 2 #define SECRETSHARER_H_ 31 static void split(std::istream *data,
int parts,
int threshold, std::vector<std::ostream*> *secrets)
45 static void join(std::vector<std::istream* > *secrets,
unsigned int parts,
unsigned int threshold, std::ostream *secret)
49 static unsigned char * int2char(
unsigned int value);
50 static unsigned int char2int(
unsigned char *data);
51 static char * bin2hex(
unsigned char *data,
int ndata);
52 static unsigned char * hex2bin(
char *data,
unsigned int *length);
53 static void setHeader(std::vector<std::ostream *>* secrets);
54 static unsigned int * getHeader(std::vector<std::istream *>* secrets);
55 static unsigned int * order_parts(
unsigned int *seq,
unsigned int parts,
unsigned int threshold);
57 static void rand_bytes(
unsigned char *data,
int num)
throw (
RandomException);
58 static unsigned int eval (
unsigned int * poly,
unsigned int n,
unsigned int x,
unsigned int mod)
60 static void split_poly (std::istream *data,
int parts,
int threshold, std::vector<std::ostream *>* secrets)
62 static unsigned int get_limited_16 (std::istream *data,
unsigned int limit,
struct splitContext * ctx)
64 static void split_out (
unsigned int d, std::vector<std::ostream *>* secrets,
int parts,
int threshold)
66 static void split_xor (std::istream *data,
int parts, std::vector<std::ostream *>* secrets)
69 static void ExtBinEuclid(
unsigned int * u,
unsigned int * v,
unsigned int * u1,
unsigned int * u2,
unsigned int * u3);
70 static unsigned int invert(
unsigned int n,
unsigned int modulus)
73 static unsigned int interp (
unsigned int i,
unsigned int x [],
unsigned int y [],
unsigned int n,
unsigned int mod)
75 static unsigned int get_assemble_16(std::vector<std::istream *>* secrets,
unsigned int i,
struct assembleContext * ctx,
unsigned int limit);
76 static unsigned int get_assemble (std::vector<std::istream *>* secrets,
unsigned int *seq,
unsigned int threshold,
unsigned int x [],
struct assembleContext * ctx)
78 static void assemble_poly(std::vector<std::istream *>* secrets,
unsigned int *seq,
unsigned int threshold, std::ostream *secret)
80 static void assemble_xor(std::vector<std::istream *>* secrets,
unsigned int parts, std::ostream *secret);
Definition: RandomException.h:6
Definition: SecretSharer.cpp:274
Definition: SecretSharer.cpp:546
static void split(std::istream *data, int parts, int threshold, std::vector< std::ostream *> *secrets)
Definition: SecretSharer.cpp:439
Definition: SecretSharer.h:18
Definition: SecretSharerException.h:6
static void join(std::vector< std::istream * > *secrets, unsigned int parts, unsigned int threshold, std::ostream *secret)
Definition: SecretSharer.cpp:756