33 typedef std::function<void (
size_t,
const uint8_t[],
size_t)>
output_cb_t;
40 ZFEC(
size_t K,
size_t N);
45 std::string provider()
const;
53 const uint8_t input[],
size_t size,
54 output_cb_t output_cb)
63 const std::vector<const uint8_t*>& shares,
65 output_cb_t output_cb)
74 const std::map<size_t, const uint8_t*>& shares,
76 output_cb_t output_cb)
80 static void addmul(uint8_t z[],
const uint8_t x[], uint8_t y,
size_t size);
82#if defined(BOTAN_HAS_ZFEC_SSE2)
83 static size_t addmul_sse2(uint8_t z[],
const uint8_t x[], uint8_t y,
size_t size);
86#if defined(BOTAN_HAS_ZFEC_VPERM)
87 static size_t addmul_vperm(uint8_t z[],
const uint8_t x[], uint8_t y,
size_t size);
90 const size_t m_K, m_N;
91 std::vector<uint8_t> m_enc_matrix;