Files
sss/test_hazmat.c
2017-10-30 12:38:27 +01:00

39 lines
940 B
C

#include "hazmat.h"
#include <assert.h>
#include <string.h>
static void test_key_shares(void)
{
uint8_t key[32], restored[32];
sss_Keyshare key_shares[256];
size_t idx;
for (idx = 0; idx < 32; idx++) {
key[idx] = idx;
}
sss_create_keyshares(key_shares, key, 1, 1);
sss_combine_keyshares(restored, (const sss_Keyshare*) key_shares, 1);
assert(memcmp(key, restored, 32) == 0);
sss_create_keyshares(key_shares, key, 3, 2);
sss_combine_keyshares(restored, (const sss_Keyshare*) key_shares[1], 2);
assert(memcmp(key, restored, 32) == 0);
sss_create_keyshares(key_shares, key, 255, 127);
sss_combine_keyshares(restored, (const sss_Keyshare*) key_shares[128], 127);
assert(memcmp(key, restored, 32) == 0);
sss_create_keyshares(key_shares, key, 255, 255);
sss_combine_keyshares(restored, (const sss_Keyshare*) key_shares, 255);
assert(memcmp(key, restored, 32) == 0);
}
int main(void)
{
test_key_shares();
return 0;
}