SSS_SECRET_SIZE
ret = hmac(seed, SSS_SECRET_SIZE, SHA512, C, sizeof(C), hmac_val, &len); EG(ret, err);
u8 secret_seed[SSS_SECRET_SIZE];
MUST_HAVE((SSS_SECRET_SIZE == sizeof(prime)), ret, err);
ret = fp_import_from_buf(&a0, secret->secret, SSS_SECRET_SIZE); EG(ret, err);
ret = fp_export_to_buf(cur_share_i->share, SSS_SECRET_SIZE, &s); EG(ret, err);
ret = fp_export_to_buf(secret->secret, SSS_SECRET_SIZE, &a0);
MUST_HAVE((SSS_SECRET_SIZE == sizeof(prime)), ret, err);
ret = fp_import_from_buf(&s, cur_share_i->share, SSS_SECRET_SIZE); EG(ret, err);
ret = fp_export_to_buf(secret->secret, SSS_SECRET_SIZE, &y);
ret = hmac_scattered((const u8*)secret, SSS_SECRET_SIZE, SHA256, inputs, ilens, cur_share_hmac, &len); EG(ret, err);
ret = hmac_scattered((const u8*)secret, SSS_SECRET_SIZE, SHA256, inputs, ilens, hmac_val, &len); EG(ret, err);
ret = hmac_scattered((const u8*)secret, SSS_SECRET_SIZE, SHA256, inputs, ilens, hmac_val, &len); EG(ret, err);
ret = hmac_scattered((const u8*)secret, SSS_SECRET_SIZE, SHA256, inputs, ilens, cur_share_hmac, &len); EG(ret, err);
buf_print(" secret", (u8*)&secret, SSS_SECRET_SIZE); EG(ret, err);
buf_print(" secret", (u8*)&secret, SSS_SECRET_SIZE);
buf_print(" secret", (u8*)&secret, SSS_SECRET_SIZE);
buf_print(" secret", (u8*)&secret, SSS_SECRET_SIZE);
buf_print(" secret", (u8*)&secret, SSS_SECRET_SIZE);
buf_print(" secret", (u8*)&secret, SSS_SECRET_SIZE);
buf_print(" secret", (u8*)&secret, SSS_SECRET_SIZE);
buf_print(" secret", (u8*)&secret, SSS_SECRET_SIZE);
ATTRIBUTE_WARN_UNUSED_RET static int _sss_derive_seed(fp_t out, const u8 seed[SSS_SECRET_SIZE], u16 idx)
MUST_HAVE((SHA512_DIGEST_SIZE >= (2 * SSS_SECRET_SIZE)), ret, err);
unsigned char secret[SSS_SECRET_SIZE];
unsigned char share[SSS_SECRET_SIZE];