Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor HMSS to remove sketch params #1689

Merged
merged 9 commits into from
Jul 19, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,16 @@ bazel_dep(
version = "0.62.0",
repo_name = "wfa_measurement_proto",
)

# DO_NOT_SUBMIT: Use version
archive_override(
module_name = "cross-media-measurement-api",
strip_prefix = "cross-media-measurement-api-e72bcd049d592c58e51276abeaa4565611b6597d",
urls = [
"https://github.com/world-federation-of-advertisers/cross-media-measurement-api/archive/e72bcd049d592c58e51276abeaa4565611b6597d.tar.gz",
],
)

bazel_dep(
name = "consent-signaling-client",
version = "0.22.0",
Expand Down
97 changes: 27 additions & 70 deletions MODULE.bazel.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,6 @@ absl::Status VerifySketchParameters(const ShareShuffleSketchParams& params) {
"The ring modulus must be greater than maximum combined frequency plus "
"one.");
}
if (params.ring_modulus() > (1 << (8 * params.bytes_per_register()))) {
return absl::InvalidArgumentError(
"The bit length of the register is not enough to store the shares.");
}
return absl::OkStatus();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
# proto-file: src/main/proto/wfa/measurement/internal/kingdom/protocol_config_config.proto
# proto-message: HmssProtocolConfigConfig
protocol_config {
sketch_params {
bytes_per_register: 2
ring_modulus: 127
}
noise_mechanism: DISCRETE_GAUSSIAN
reach_and_frequency_ring_modulus: 127
reach_ring_modulus: 127
}

required_external_duchy_ids: "worker1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ import org.wfanet.measurement.internal.duchy.encryptionPublicKey
import org.wfanet.measurement.internal.duchy.protocol.HonestMajorityShareShuffle
import org.wfanet.measurement.internal.duchy.protocol.HonestMajorityShareShuffle.Stage
import org.wfanet.measurement.internal.duchy.protocol.HonestMajorityShareShuffleKt
import org.wfanet.measurement.internal.duchy.protocol.shareShuffleSketchParams
import org.wfanet.measurement.system.v1alpha.Computation

private const val RANDOM_SEED_LENGTH_IN_BYTES = 48
Expand Down Expand Up @@ -207,17 +206,11 @@ object HonestMajorityShareShuffleStarter {
frequencyDpParams =
measurementSpec.reachAndFrequency.frequencyPrivacyParams
.toDuchyDifferentialPrivacyParams()
ringModulus = hmssConfig.reachAndFrequencyRingModulus
} else {
maximumFrequency = 1
reachDpParams = measurementSpec.reach.privacyParams.toDuchyDifferentialPrivacyParams()
}

sketchParams = shareShuffleSketchParams {
registerCount = hmssConfig.sketchParams.registerCount
bytesPerRegister = hmssConfig.sketchParams.bytesPerRegister
maximumCombinedFrequency =
measurementSpec.reachAndFrequency.maximumFrequency * measurementSpec.nonceHashesCount
this.ringModulus = hmssConfig.sketchParams.ringModulus
ringModulus = hmssConfig.reachRingModulus
}
noiseMechanism = hmssConfig.noiseMechanism.toInternalNoiseMechanism()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ kt_jvm_library(
"//src/main/proto/wfa/measurement/internal/duchy:differential_privacy_kt_jvm_proto",
"//src/main/proto/wfa/measurement/internal/duchy/config:protocols_setup_config_kt_jvm_proto",
"//src/main/proto/wfa/measurement/internal/duchy/protocol:honest_majority_share_shuffle_methods_kt_jvm_proto",
"//src/main/proto/wfa/measurement/internal/duchy/protocol:share_shuffle_sketch_kt_jvm_proto",
"//src/main/proto/wfa/measurement/internal/duchy/protocol:share_shuffle_sketch_params_kt_jvm_proto",
"//src/main/proto/wfa/measurement/system/v1alpha:computation_control_service_kt_jvm_grpc_proto",
"//src/main/proto/wfa/measurement/system/v1alpha:computation_participants_service_kt_jvm_grpc_proto",
Expand Down
Loading
Loading