private-attribution / ipa

A raw implementation of Interoperable Private Attribution
MIT License
41 stars 23 forks source link

Decouple vectorization for share conversion and PRF evaluation #1087

Closed andyleiserson closed 3 months ago

andyleiserson commented 3 months ago

Share conversion uses boolean shares, while PRF evaluation uses Fp25519 and RP25519 shares. The latter are much larger than the former, so adjust the implementation to support differing vectorization factors. This introduces a vector-to-vector conversion problem like the one in aggregation, although vectorization is still across records on both sides so the solution here at least doesn't involve a transpose.

The separation of share conversion and PRF evaluation into two seq_joins may also be useful when adding malicious securitiy.

This also cleans up a few things that were left over from when there were multiple versions of the share conversion test for vectorization factors of 1, 16, 64, and 256.

codecov[bot] commented 3 months ago

Codecov Report

Attention: Patch coverage is 99.55556% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 91.01%. Comparing base (6cc97cd) to head (6d8a68c). Report is 14 commits behind head on main.

:exclamation: Current head 6d8a68c differs from pull request most recent head 3b47221

Please upload reports for the commit 3b47221 to get more accurate results.

Files Patch % Lines
...otocol/ipa_prf/boolean_ops/share_conversion_aby.rs 98.95% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #1087 +/- ## ========================================== - Coverage 91.10% 91.01% -0.10% ========================================== Files 187 183 -4 Lines 26342 25999 -343 ========================================== - Hits 23998 23662 -336 + Misses 2344 2337 -7 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.