ExchangeWorkflow
The representation for the Panel Matching Workflow. These are unique per recurring exchange as they contain the identities of each party.Sequence of steps of the workflow.
Identifiers for the Exchange.
Resource key of the Data Provider for the recurring exchange.Format:
dataProviders/{data_provider}Resource key of the Model Provider for the recurring exchange.Format:
modelProviders/{model_provider}Identifies which party is managing the shared storage client.
Identifies what chosen storage will be used to back the underlying StorageClient for shared storage.
The date of the first Exchange.
How often to run the exchange_workflow.
Valid CRON expression. See https://en.wikipedia.org/wiki/Cron#CRON_expressionCurrently, only
@daily, @weekly, @monthly and @yearly are supported.Enums
Party
The type of participant that executes each step.PARTY_UNSPECIFIED: Default value used if the party is omittedMODEL_PROVIDER: Model provider partyDATA_PROVIDER: Data provider party
StorageType
The type of storage used for shared storage in a workflow.STORAGE_TYPE_UNSPECIFIED: Default value used if the storage type is omittedGOOGLE_CLOUD_STORAGE: Google Cloud StorageAMAZON_S3: Amazon S3
Step
Building blocks of the ExchangeWorkflow.Identifier unique in the ExchangeWorkflow.
The party that should execute this step.
Map from the step-specific name to a label for the input.Each step expects some inputs of certain names. The step is ready to run when, for each input label, there is a completed step with the same output label.
Map from the step-specific name to a label for the output.
The specific step type. One of:
copy_from_shared_storage_stepcopy_to_shared_storage_stepintersect_and_validate_stepcommutative_deterministic_encrypt_stepcommutative_deterministic_reencrypt_stepcommutative_deterministic_decrypt_stepinput_stepgenerate_commutative_deterministic_key_stepgenerate_serialized_rlwe_key_pair_stepexecute_private_membership_queries_stepbuild_private_membership_queries_stepdecrypt_private_membership_query_results_stepgenerate_certificate_steppreprocess_events_stepcopy_from_previous_exchange_stepgenerate_lookup_keys_stephybrid_encrypt_stephybrid_decrypt_stepgenerate_hybrid_encryption_key_pair_stepgenerate_random_bytes_stepassign_join_key_ids_step
Step Types
CopyToSharedStorageStep
Copies blobs from private to shared storage. The keys of input_labels and output_labels must be the same. For each input, it copies it to an output given by the value in the output_labels.Options for copying.
LABEL_TYPE_UNSPECIFIED: Default valueBLOB: Indicates the blob should be treated as an opaque blobMANIFEST: Indicates the blob for a label is a manifest file containing a file glob referencing other files that should be copied
CopyFromSharedStorageStep
Copies blobs from shared storage to private storage.Options for copying.
IntersectAndValidateStep
Compares the inputs to determine if they overlap sufficiently.The maximum number of items to allow.
The maximum number of items allowed that do not exist in the previous day’s set of items.
CommutativeDeterministicEncryptStep
Applies deterministic, commutative encryption to the input plaintext join keys.CommutativeDeterministicReEncryptStep
Applies an additional layer of deterministic, commutative encryption to already encrypted join keys.CommutativeDeterministicDecryptStep
Removes a layer of deterministic, commutative encryption from a set of encrypted join keys.InputStep
Represents an input to the protocol derived from some unknown process by the party. These steps are used as placeholders to allow parties to signal when their inputs are ready.GenerateCommutativeDeterministicKeyStep
Generates a commutative deterministic key.GenerateSerializedRlweKeyPairStep
Generates a serialized RLWE key pair.This is generally an instance of private_membership.batch.Parameters.
ExecutePrivateMembershipQueriesStep
Executes Private Membership queries.This is generally an instance of private_membership.batch.Parameters.
Number of encrypted query result files.
Number of shards.
Number of buckets per shard.
Maximum queries per shard.
BuildPrivateMembershipQueriesStep
Builds Private Membership queries.This is generally an instance of private_membership.batch.Parameters.
Number of encrypted query bundle files.
Number of query ID to IDs files.
Number of shards.
Number of buckets per shard.
Queries per shard.
Whether to add padding queries.
DecryptPrivateMembershipQueryResultsStep
Decrypts results from Private Membership queries.This is generally an instance of private_membership.batch.Parameters.
Number of decrypt event data set files.
GenerateCertificateStep
Generates an X509 Certificate to use. This should take no inputs and produces a single output “certificate”, which should be the serialization of the Certificate resource.PreprocessEventsStep
Preprocesses data for later use by ExecutePrivateMembershipQueriesStep.CopyFromPreviousExchangeStep
Copies a blob from a previous exchange into this one. Requires a single output label “output”. If this is the first exchange in a recurring exchange, this step is treated as an InputStep that awaits the existence of the indicated output blob key. For all subsequent exchanges, this step copies the blob namedprevious_blob_key from the previous exchange and writes it to the indicated output blob key.
The key of the blob to copy from the previous exchange.
GenerateLookupKeysStep
Hashes a set of decrypted join keys.HybridEncryptStep
Hybrid encrypts input given a public key.HybridDecryptStep
Hybrid decrypts input given a private key.GenerateHybridEncryptionKeyPairStep
Generates a hybrid encryption key pair.GenerateRandomBytesStep
Generates random bytes.Number of random bytes to generate.
