Conversation
97bc64b to
e3f3ec7
Compare
Consolidated Tests Results 2026-05-04 - 13:41:07Test ResultsDetails
test-reporter: Run #1867
🎉 All tests passed!TestsView All Tests
🍂 No flaky tests in this run. Github Test Reporter by CTRF 💚 🔄 This comment has been updated |
447d725 to
11a6018
Compare
5498923 to
aae070f
Compare
aae070f to
235a7a7
Compare
| } | ||
|
|
||
| impl VerifiedPublicMaterial { | ||
| // TODO: is there no better way to find if a particular key exists? we want to avoid the cloning |
There was a problem hiding this comment.
Probably would need to ask tfhe-rs.
(more genrally, could be nice to have something that gives a ref to the inner keys instead of having to take onwership)
There was a problem hiding this comment.
improved slightly in 37b620a also asked tfhe-rs
| /// negative check: a fresh OPRF server key built from a one-bit-flipped | ||
| /// version of the same LWE key must produce some mismatches against the | ||
| /// cleartext reference. | ||
| fn assert_oprf_correctness<const EXTENSION_DEGREE: usize>( |
There was a problem hiding this comment.
part of this fn is duplicated with check_oprf_correctness from service/src/client/key_gen.rs I believe ?
Should we try and factor the duplicated part somewhere accessible to both here and there ?
| num_triples_needed += | ||
| // Raw triples necessary for the 2 BK | ||
| self.lwe_dimension().0 * (self.glwe_sk_num_bits() + self.glwe_sk_num_bits_sns()); | ||
| num_triples_needed += self.lwe_dimension().0 * self.glwe_sk_num_bits(); |
There was a problem hiding this comment.
What about modifying the line above with
num_triples_needed +=
// Raw triples necessary for the regular BK, the OPRF BK and the SnS BK
self.lwe_dimension().0 * (2*self.glwe_sk_num_bits() + self.glwe_sk_num_bits_sns());
Description of changes
Integrate homomorphic prf keygen on the service level.
There is a subtle issue around resharing. Namely when we rehare a sk between two different sets, set2 does not know whether set1 has a hom. prf key or not, so it does not know whether to run the protocol. The workaround is to have set2 detect from the public keys whether resharing should be run on the hom. prf keys. This means set1 and set2 is setting the flag
oprf_key_presentfrom different sources, the former sets it using its own secret key share, the latter sets it using what it finds in the public key.Issue ticket number and link
Closes zama-ai/kms-internal#2980
PR Checklist
I attest that all checked items are satisfied. Any deviation is clearly justified above.
chore: ...).TODO(#issue).unwrap/expect/paniconly in tests or for invariant bugs (documented if present).devopslabel + infra notified + infra-team reviewer assigned.!and affected teams notified.Zeroize+ZeroizeOnDropimplemented.unsafe; if unavoidable: minimal, justified, documented, and test/fuzz covered.Dependency Update Questionnaire (only if deps changed or added)
Answer in the
Cargo.tomlnext to the dependency (or here if updating):More details and explanations for the checklist and dependency updates can be found in CONTRIBUTING.md