|
|
|
@ -5067,6 +5067,7 @@ START_TEST(test_shamir) {
|
|
|
|
|
const uint8_t share_values[SHAMIR_MAX_COUNT][SHAMIR_MAX_LEN];
|
|
|
|
|
uint8_t share_count;
|
|
|
|
|
size_t len;
|
|
|
|
|
bool ret;
|
|
|
|
|
} vectors[] = {{{7, 151, 168, 57, 186, 104, 218, 21, 209, 96, 106,
|
|
|
|
|
152, 252, 35, 210, 208, 43, 47, 13, 21, 142, 122,
|
|
|
|
|
24, 42, 149, 192, 95, 24, 240, 24, 148, 110},
|
|
|
|
@ -5078,7 +5079,8 @@ START_TEST(test_shamir) {
|
|
|
|
|
24, 42, 149, 192, 95, 24, 240, 24, 148, 110},
|
|
|
|
|
},
|
|
|
|
|
1,
|
|
|
|
|
32},
|
|
|
|
|
32,
|
|
|
|
|
true},
|
|
|
|
|
|
|
|
|
|
{{53},
|
|
|
|
|
255,
|
|
|
|
@ -5102,7 +5104,32 @@ START_TEST(test_shamir) {
|
|
|
|
|
{175},
|
|
|
|
|
},
|
|
|
|
|
16,
|
|
|
|
|
1},
|
|
|
|
|
1,
|
|
|
|
|
true},
|
|
|
|
|
|
|
|
|
|
{{91, 188, 226, 91, 254, 197, 225},
|
|
|
|
|
1,
|
|
|
|
|
{5, 1, 10},
|
|
|
|
|
{
|
|
|
|
|
{129, 18, 104, 86, 236, 73, 176},
|
|
|
|
|
{91, 188, 226, 91, 254, 197, 225},
|
|
|
|
|
{69, 53, 151, 204, 224, 37, 19},
|
|
|
|
|
},
|
|
|
|
|
3,
|
|
|
|
|
7,
|
|
|
|
|
true},
|
|
|
|
|
|
|
|
|
|
{{0},
|
|
|
|
|
255,
|
|
|
|
|
{3, 12, 3},
|
|
|
|
|
{
|
|
|
|
|
{100, 176, 99, 142, 115, 192, 138},
|
|
|
|
|
{54, 139, 99, 172, 29, 137, 58},
|
|
|
|
|
{216, 119, 222, 40, 87, 25, 147},
|
|
|
|
|
},
|
|
|
|
|
3,
|
|
|
|
|
7,
|
|
|
|
|
false},
|
|
|
|
|
|
|
|
|
|
{{163, 120, 30, 243, 179, 172, 196, 137, 119, 17},
|
|
|
|
|
3,
|
|
|
|
@ -5111,7 +5138,8 @@ START_TEST(test_shamir) {
|
|
|
|
|
{121, 9, 79, 98, 132, 164, 9, 165, 19, 230},
|
|
|
|
|
{86, 52, 173, 138, 189, 223, 122, 102, 248, 157}},
|
|
|
|
|
3,
|
|
|
|
|
10}};
|
|
|
|
|
10,
|
|
|
|
|
true}};
|
|
|
|
|
|
|
|
|
|
for (size_t i = 0; i < (sizeof(vectors) / sizeof(*vectors)); ++i) {
|
|
|
|
|
uint8_t result[SHAMIR_MAX_LEN];
|
|
|
|
@ -5119,10 +5147,13 @@ START_TEST(test_shamir) {
|
|
|
|
|
for (size_t j = 0; j < vectors[i].share_count; ++j) {
|
|
|
|
|
share_values[j] = vectors[i].share_values[j];
|
|
|
|
|
}
|
|
|
|
|
shamir_interpolate(result, vectors[i].result_index,
|
|
|
|
|
vectors[i].share_indices, share_values,
|
|
|
|
|
vectors[i].share_count, vectors[i].len);
|
|
|
|
|
ck_assert_mem_eq(result, vectors[i].result, vectors[i].len);
|
|
|
|
|
ck_assert_int_eq(shamir_interpolate(result, vectors[i].result_index,
|
|
|
|
|
vectors[i].share_indices, share_values,
|
|
|
|
|
vectors[i].share_count, vectors[i].len),
|
|
|
|
|
vectors[i].ret);
|
|
|
|
|
if (vectors[i].ret == true) {
|
|
|
|
|
ck_assert_mem_eq(result, vectors[i].result, vectors[i].len);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
END_TEST
|
|
|
|
|