Closed andyleiserson closed 1 month ago
Attention: Patch coverage is 98.31224%
with 4 lines
in your changes missing coverage. Please review.
Project coverage is 91.23%. Comparing base (
b50beae
) to head (c416d3b
).
Files | Patch % | Lines |
---|---|---|
ipa-core/src/ff/ec_prime_field.rs | 0.00% | 3 Missing :warning: |
ipa-core/src/protocol/basics/reveal.rs | 99.25% | 1 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Create a wrapper around revealed values similar to the existing wrapper around downgraded values. Currently just unwrap things where needed, but there is some restructuring of protocols to consolidate reveal operations.
From talking with @danielmasny, it may be better to defer the reveal until after the DZKP has been validated. Possibly we can just do the reveal within the
validate
function, and avoid the wrapper entirely.I am also changing reveal so that it is only implemented on "upgraded" contexts. This protects against inadvertent use of semi-honest protocols, which is a much greater concern in our new malicious security protocol where the share type is still
semi_honest::AdditiveShare
. In the previous protocol where shares weremalicious::AdditiveShare
, we were protected against inadvertently using semi-honest protocols because the non-upgraded context did not implement protocols formalicious::AdditiveShare
. Removing protocol support from the base context requires changing a bunch of tests that used to callTestWorld::semi_honest
to callTestWorld::upgraded_semi_honest
instead. A similar change should be made for multiplication, but that can be done in a separate PR.