Assessment: Partially valid; strongest against ShareManager, weaker against generic Shamir.
Confirmed:
- ShareManager::new does not call validate_threshold_config.
- It is publicly re-exported.
- Its fields are public, allowing constructor checks to be bypassed.
- ShamirSecretSharing::split accepts threshold = 0.
- A degree-zero sharing gives every recipient the secret.
For ShareManager, this violates trBFV’s required honest-majority configuration. It should call validate_threshold_config, and its fields should be private so callers cannot construct invalid managers directly.
For ShamirSecretSharing, threshold zero is mathematically defined, though it provides no secrecy. A generic Shamir primitive does not inherently need threshold == (n-1)/2; thresholds larger than half can also be valid in non-robust use cases. Therefore applying the complete trBFV threshold policy inside the generic Shamir type would be unnecessarily restrictive.
A better generic validation policy is:
1 <= threshold < share_amount
prime is valid
share_amount fits the evaluation domain
The stricter honest-majority condition belongs in TRBFV and ShareManager.
Verdict: Valid Medium defense-in-depth for ShareManager; Low/API-safety for ShamirSecretSharing. The proposed fix should not impose the trBFV honest-majority threshold on every generic Shamir use.
Assessment: Partially valid; strongest against ShareManager, weaker against generic Shamir.
Confirmed:
For ShareManager, this violates trBFV’s required honest-majority configuration. It should call validate_threshold_config, and its fields should be private so callers cannot construct invalid managers directly.
For ShamirSecretSharing, threshold zero is mathematically defined, though it provides no secrecy. A generic Shamir primitive does not inherently need threshold == (n-1)/2; thresholds larger than half can also be valid in non-robust use cases. Therefore applying the complete trBFV threshold policy inside the generic Shamir type would be unnecessarily restrictive.
A better generic validation policy is:
1 <= threshold < share_amount
prime is valid
share_amount fits the evaluation domain
The stricter honest-majority condition belongs in TRBFV and ShareManager.
Verdict: Valid Medium defense-in-depth for ShareManager; Low/API-safety for ShamirSecretSharing. The proposed fix should not impose the trBFV honest-majority threshold on every generic Shamir use.