# TECHNOLOGY

## Background

But what if participants are unwilling to reveal sensitive data to even a trusted third party? Secure multi-party computation (MPC) offers the same functionality as the data pool described above, but without requiring a trusted third party to see the data. This is possible due to a combination of the mathematical properties of encrypted data and clever structuring of the computations.

SCRAM mimics the traditional aggregation technique, but works exclusively on encrypted data that it cannot see. The system takes in encrypted data from the participants, runs a blind computation on it, and returns an encrypted result that must be unlocked by each participant separately before anyone can see the answer. The security of the system comes from the requirement that the keys from all the participants are needed in order to unlock any of the data. Participants guarantee their own security by agreeing to unlock only the result using their privately held key.

### SCRAM replaces the need for a trusted third party.

## Our Proccess

Each firm individually generates its own key pair, where each key pair contains a public encryption key and a private decryption key.

All firms submit their public keys to the server.

The server combines all firms' public keys into a single joint/shared public key.

Each firm individually generates its own key pair, where each key pair contains a public encryption key and a private decryption key.

All firms submit their public keys to the server.

The server combines all firms' public keys into a single joint/shared public key.

Each firm individually generates its own key pair, where each key pair contains a public encryption key and a private decryption key.

Each firm encrypts its private data using this new joint/shared public key, generating a ciphertext (an encrypted block of data).

Each firm sends the ciphertext of its private data to the server. This ciphertext completely hides the firm's data.

Each firm encrypts its private data using this new joint/shared public key, generating a ciphertext (an encrypted block of data).

Each firm sends the ciphertext of its private data to the server. This ciphertext completely hides the firm's data.

The server runs computations on all the encrypted data, producing an encrypted result of the computation.

The server sends the encrypted result back to each firm.

Each firm uses the private key they generated in Step 1 to partially decrypt the answer.

The server runs computations on all the encrypted data, producing an encrypted result of the computation.

The server sends the encrypted result back to each firm.

Each firm uses the private key they generated in Step 1 to partially decrypt the answer.

Each firms sends this partially decrypted answer back to the server. Note that without all the partial decryption pieces from all firms, the result is still completely hidden.

Each firms sends this partially decrypted answer back to the server. Note that without all the partial decryption pieces from all firms, the result is still completely hidden.

The server combines the results of all the partial decryptions it receives from firms to produce the decrypted result that is then shared with all firms.