/* * (C) 2009 Jack Lloyd * * Distributed under the terms of the Botan license */ #include #include #include #include namespace { void print(const Botan::SecureVector& r) { for(Botan::u32bit i = 0; i != r.size(); ++i) printf("%02X", r[i]); printf("\n"); } } int main() { using namespace Botan; LibraryInitializer init; AutoSeeded_RNG rng; byte id[16]; for(int i = 0; i != 16; ++i) id[i] = i; const byte S2[] = { 0xDE, 0xAD, 0xCA, 0xFE, 0xBA, 0xBE, 0xBE, 0xEF }; std::vector shares = RTSS_Share::split(4, 6, S2, sizeof(S2), id, rng); for(size_t i = 0; i != shares.size(); ++i) std::cout << i << " = " << shares[i].to_string() << "\n"; print(RTSS_Share::reconstruct(shares)); }