Security in Cloud Computing
Distributed cryptography, private computation and trustworthy cloud services
01 / Security in Cloud ComputingCryptography across a trust boundary
Outsourcing storage or computation transfers work, not automatically trust. A provider may return an old file, keep only part of it, learn sensitive inputs or compute a result incorrectly. An encrypted upload addresses only some of these concerns. This course asks which cryptographic functionality is needed at each boundary and what evidence a verifier actually obtains.
Here cloud computing includes cryptographic cooperation across independently controlled machines: client–server services, two-party protocols, outsourced computation and peer-to-peer systems. A commercial provider is one deployment, not a prerequisite. The emphasis is on algorithms, information flow and proof obligations, rather than configuration of a particular cloud product.
The central question is not simply whether data are encrypted. It is: which parties can jointly obtain a useful result without granting any one of them excessive knowledge or authority? A related but different question is how replicas agree when some participants lie, stop responding or send contradictory messages.
Course route
| Stage | Mechanisms | Question answered |
|---|---|---|
| Foundations | Models, roles and permitted leakage | Who holds inputs, who computes, who learns the output? |
| Two parties | OT, one-of-many transfer, garbled circuits | Can two parties cooperate without a trusted online intermediary? |
| Several parties | Secret sharing, private sums, Beaver multiplication, MPC | How can a value remain shared throughout a computation? |
| Private queries | DH-based PSI, shuffled PSI-cardinality, OPRFs | How do equal inputs become comparable without releasing the datasets? |
| Private evaluation | OPE, hidden polynomial points, OT and interpolation | How can a client learn one evaluation while hiding its evaluation point? |
| Delegation | Homomorphic encryption, proxy re-encryption | What may a service compute or transform without decrypting? |
| Agreement | Byzantine broadcast, quorum certificates, replicated state | How do honest participants maintain one consistent history? |
| Cloud services | Anonymous access, joint approval, storage auditing, forensics | How are these mechanisms composed into an accountable service? |
The prerequisite is System Security I. The companion System Security II develops simulation, rewinding, forking and game-based reductions. Here those tools explain why an outsourced task may be accepted, which inputs remain private, and where additional assumptions enter.
Separate the promises
| Desired property | A suitable question | What does not follow automatically |
|---|---|---|
| Confidentiality | Can the provider learn the protected plaintext? | Availability, freshness or correct computation |
| Integrity | Can changed data be accepted? | That the newest version was returned |
| Possession | Can the server answer fresh storage challenges? | Extraction of the whole file from one answer |
| Retrievability | Can an extractor recover the encoded data from a sufficiently successful prover? | Permanent availability or independent physical replicas |
| Input privacy | Does an execution reveal only the permitted outputs and leakage? | That the permitted output itself is harmless |
| Accountability | Is a claim bound to an authorised identity or key? | Anonymity, unless the construction explicitly provides it |
These study materials can be read independently of a current teaching schedule.
02 / Security in Cloud ComputingMathematical and system model
Let have prime order , and let be its scalar field. A user has secret and public key . A fresh nonce is , its commitment is , and a Schnorr challenge and response are . Every concatenation denotes an unambiguous encoding, with separate domains for different protocols.
Hash notation and output types
| Function | Output and use |
|---|---|
| A scalar, for challenges or derived exponents | |
| A point from the specified secure hash-to-group construction | |
| Bit-string keys of the length required by the symmetric algorithm | |
| An -bit digest or mask, not a scalar or a curve point | |
| A deliberately defective replacement, defined locally in an exercise |
The group subscript names the actual output group. When a derivation uses a generic group , write ; use if the output is in . This does not identify distinct source groups or change a proof's assumptions. All hash inputs are unambiguously encoded byte strings; writing a tuple or group point as an input abbreviates its specified encoding. Independent roles use separate domains, even when they share the symbol .
A public deterministic hash-to-group function must not provide a publicly computable discrete logarithm of its output relative to the generator. Merely returning a point of the right type is insufficient. In the BLS WebAssembly demo, denotes the group-hashing role implemented with MCL's hashAndMapToG1; scalar hashing has a different interface, hashToFr. The notation alone does not assert compatibility with an RFC 9380 suite or a standard BLS byte format. See RFC 9380 and MCL WebAssembly.
For pairing-based storage, use additive groups with generators , a multiplicative target group , and . Thus . File blocks are field elements obtained by an explicitly specified encoding, possibly after erasure coding. They are not arbitrary strings that can silently be used as scalars.
The data owner prepares authenticated material. The storage server holds it and answers challenges. An auditor checks evidence. A computation protocol may instead have two parties, each with private input. Distinguish an honest-but-curious participant, which follows the algorithm but studies its view, from a malicious participant, which chooses arbitrary messages and may abort.
For a two-party functionality with inputs , a simulation-based privacy goal asks for efficient simulators such that
Here means computational indistinguishability, and the view contains local coins, input and received messages. Public sizes and other allowed leakage must also be supplied to the simulators. The display is a semi-honest teaching definition. Malicious security additionally needs an account of effective inputs, inconsistent messages and aborts.
03 / Security in Cloud ComputingParticipants, intermediaries and the ideal functionality
Data owners, computing parties and output recipients need not be the same entities. Two hospitals can compute directly, or send shares to three independently operated servers. A relay carrying their messages is not necessarily entitled to read them. A cloud machine may implement one role, several roles, or only the communication channel.
An ideal functionality is a specification, not an extra server that the implementation must deploy. For parties with inputs , specify a function
Only receives ; an empty output means no result is authorised for that party. In the ideal description a trusted box receives the inputs and distributes these outputs. The real protocol aims to realise this contract without that trusted box, subject to its assumptions. The MPC introduction by Evans, Kolesnikov and Rosulek explains this real/ideal distinction and its common adversary models.
Does this design need a third party?
| Role | What it receives | Trust that must be stated |
|---|---|---|
| Two-party computation | Each endpoint's own input and protocol messages | A selected 2PC protocol can protect either honest endpoint without an online trusted third party; it still needs cryptographic and communication assumptions |
| Trusted evaluator | Both plaintext inputs | Confidentiality and correctness depend directly on that evaluator |
| Preprocessing dealer | Random correlations for later computation | Correlations must be correct and remain secret as required; a dealer retaining masks and seeing their later openings can recover inputs |
| Third computing party | Its input or its shares | It is another protocol participant, not automatically trusted; a three-party profile may tolerate only one corruption |
| Relay or proxy | Messages or transformable ciphertexts | Availability and metadata remain concerns even if plaintext is protected |
| Auditor | Evidence and challenge responses | It checks a particular claim; it need not be allowed to read data or compute arbitrary functions |
Thus “three parties” is not a security property. Three processes on one administrator's laptop do not establish non-collusion. Conversely, an OT protocol between two endpoints does not secretly require a third endpoint merely because its definition uses an ideal OT box.
Write a contract before choosing a protocol
For a joint incident count, specify the reporting period, eligible organisations, duplicate handling, range of counts, recipients and permitted leakage. A valid encrypted negative count is still an invalid contribution if the contract permits only nonnegative counts. A protocol can protect the submitted values without proving that those values accurately describe the world.
Distinguish privacy, correctness, fairness and guaranteed output delivery. Privacy permits deductions from the authorised result. Security with abort allows a dishonest participant to prevent completion. Fairness asks whether one party can obtain its output while denying another its output. A general two-party computation does not automatically provide fairness or delivery just because it protects inputs.
04 / Security in Cloud ComputingOblivious transfer, one of two
In 1-out-of-2 oblivious transfer, the sender holds two messages and the receiver holds a choice bit . The receiver learns but should learn nothing about the other message beyond what follows from its own input and output. The sender should not learn . This is not ordinary encryption: the sender deliberately offers two alternatives without learning which was obtained.
The following semi-honest teaching flow illustrates the DH algebra used in simplest-OT constructions. Choose a validated prime-order group with hard DH problems. The sender samples nonzero and sends . The receiver samples and sends . The sender computes
while the receiver computes . If , then ; if , then . Derive separate keys and encrypt with the agreed authenticated-encryption profile. The receiver derives only its selected key from the corresponding .
For uniform , both choices give a uniform . That explains receiver privacy: the sender cannot distinguish the receiver's choice bit in this semi-honest flow. Sender privacy protects the unchosen message from the receiver. It requires a computational argument, not merely observing that one key was not used in a program. Malicious points, key relations, repeated sessions and a sender choosing malformed messages require additional analysis.
The original lecture uses Chou and Orlandi's simplest OT, paper 2015/267. Consult its current security statement rather than inferring universal composability from this abbreviated exchange. The teaching flow above claims neither a complete malicious-secure protocol nor a production implementation.
05 / Security in Cloud ComputingOne-of-many transfer and private queries
In 1-out-of- OT the receiver chooses an index and learns exactly the corresponding sender message under the specified privacy model. Running an independent 1-out-of-2 OT for each bit of an index is not by itself a construction: the sender's ciphertexts and keys must be composed so that one consistent index, rather than pieces of many messages, can be recovered. Naor and Pinkas, Computationally Secure Oblivious Transfer, is the original course reference.
The desired output remains one selected item, not the entire database. This distinguishes OT from basic private information retrieval: PIR hides which item is requested from the server, but its definition need not protect all other database contents from the client. Database privacy must be requested separately. Likewise, encrypting a client's network connection hides its traffic from outsiders, not its query from the service receiving it.
06 / Security in Cloud ComputingGarbled circuits: one AND gate, then a computation
Consider a Boolean AND gate with input bits and output . For each wire assign two independent opaque labels: , and . A label encodes a wire value; it should not reveal the bit by its visible representation.
For each input pair , the garbler prepares a protected row encoding under a key derived from , and the unique gate identifier. This is an explanatory view of garbling, not a security claim for an arbitrary home-made encryption wrapper. The evaluator receives exactly one label for each input wire and can evaluate the corresponding row, obtaining one output label.
| Input-label pair | Output label represented by the row |
|---|---|
The table above explains the truth function. Do not transmit such a truth-labelled table to the evaluator. Real garbling permutes or otherwise encodes row selection and uses a proven garbling scheme. Point-and-permute uses selection bits attached to labels whose relation to the semantic bits is hidden.
The garbler can directly send labels for its own input. Labels for the evaluator's input are obtained through OT: the garbler offers the two wire labels and the evaluator chooses one without exposing its bit. Intermediate labels become inputs to later gates; only authorised final outputs are decoded. This is the composition that turns the single AND gate from the old lab into a full computation.
For semi-honest security, justify why the evaluator learns only its active labels and why the garbler learns no OT choices. Malicious security additionally addresses incorrect circuits, inconsistent inputs and selective failures; it does not follow from the four-row truth table. Bellare, Hoang and Rogaway's foundations of garbled circuits provides a precise framework for these separate properties.
07 / Security in Cloud ComputingSecret sharing and private aggregation
Use a prime field . In this chapter is an input value, not the Schnorr nonce from the signature chapters. Write for the share held by computing party , and for the whole distributed representation. Brackets here denote shares, not rounding or public disclosure.
Additive sharing: no individual share is the input
Choose independently and uniformly, and set
All shares sum to . Any shares have a distribution independent of before other permitted information is considered. This is an -out-of- scheme: it hides the secret from a proper subset but cannot reconstruct if a share is withheld. Privacy against collusion and tolerance of missing shares are different properties.
To add two shared values, each party adds its own shares. For a public scalar , each party multiplies its share by :
No interaction is needed for these two operations. Opening a result means collecting enough result shares, according to the sharing scheme, at the authorised recipient. Opening every intermediate value defeats the purpose.
Worked private sum
Three organisations report , and incidents. They use three computing parties and the small teaching field . The following fixed shares illustrate the arithmetic; an actual protocol must sample fresh shares.
| Input | Share for | Share for | Share for |
|---|---|---|---|
| Local sum modulo |
The collector receives only the last row, whose sum modulo is . Each computing party sees one column, not all three input sharings. For honest-but-curious parties, fresh independent sharing and private authenticated delivery are essential assumptions. These equations do not detect a party replacing its result share.
To interpret a field result as an ordinary integer count, choose above the largest permitted total and enforce the input bounds in a malicious-secure design. Otherwise and are indistinguishable modulo . Even a correctly computed total reveals one organisation's count to a coalition that already knows every other count. That inference belongs to the output, not to a broken sharing algorithm.
Shamir sharing: a reconstruction threshold
Shamir's construction replaces additive shares with evaluations of a random polynomial. For reconstruction threshold , choose random coefficients and set
using distinct nonzero field points. Any correct shares reconstruct by interpolation; fewer than reveal no information about . Plain interpolation does not establish that received shares are correct. Verification or error correction needs additional redundancy and a protocol.
For a small example, over gives shares at points . The first two reconstruct . If the second share is changed to , the same unchecked calculation gives . Threshold reconstruction is not, by itself, Byzantine robustness.
08 / Security in Cloud ComputingMultiplying shares with Beaver triples
Local multiplication is not enough: includes cross terms missing from . A multiplication protocol must account for them while preserving privacy.
Beaver's circuit-randomisation method uses a fresh shared triple , where are independent random field elements and . Here denote preprocessing values. For private operands , open the masked differences and . Then compute
For additive sharing, the public value is added to one designated share, with zero added to the others. Adding it to every share would multiply that term by . Expanding the right-hand side gives
The opened differences are masked only while the masks remain hidden and independent. A used triple is consumed, never recycled.
A numerical trace to check the implementation
Take , , , , , . Then , , and
One two-party sharing of the triple is , and . Adding the public term to gives output shares
Their sum is modulo . The two output shares, rather than itself, can enter the next multiplication. Only the final authorised answer needs to be opened.
Why reusing a mask exposes a relation between inputs
If another multiplication reuses for operand , the opened values are and . Subtraction yields . An observer knowing recovers . This is a privacy failure even when both products are calculated correctly.
Where do the triples come from?
A trusted dealer is one option, not a necessity. A dealer that retains and later obtains can recover . Distributed preprocessing instead generates correlations through a protocol. MASCOT, by Keller, Orsini and Scholl, uses OT-based techniques and consistency checks for malicious arithmetic computation with a dishonest majority. Its preprocessing is not simply a third machine sending random numbers.
The displayed algebra describes a multiplication with correctly generated private triples and honest openings. For active security, the chosen MPC system must also authenticate shares, check triples and openings, bind messages to sessions, and handle aborts. These checks belong to the construction, not to an optional final comparison with a plaintext answer.
09 / Security in Cloud ComputingSecure multiparty computation as a complete protocol
A computation becomes an MPC protocol only when input sharing, every gate and output release use compatible representations and security guarantees. Let be the corrupted computing parties. Their joint view includes their inputs, shares, randomness and messages. The privacy claim concerns the whole coalition, not each member examined separately.
From a function to an execution
- Fix the contract. Specify the function, public parameters, party identities, input encodings, recipients, allowed leakage and abort policy.
- Choose a computation domain. Boolean circuits suit comparisons and bitwise operations. Arithmetic circuits suit sums and products. Conversion between the two requires a protocol, not a cast.
- Establish keys and channels. Authenticate peers and bind transcripts to a fresh session and the agreed function. A private channel protects transport, not a dishonest endpoint.
- Input and compute. Share inputs or obtain wire labels. Keep intermediate data secret. Use fresh, checked preprocessing where required.
- Release outputs. Open or decode only specified results to specified recipients. Perform the integrity checks required before accepting them.
Data-oblivious execution also matters. A program branch or memory address derived from a secret may reveal it even when its value is never printed. Use an appropriate circuit or oblivious access mechanism when such information is not permitted leakage. “Oblivious” does not mean that a participant learns nothing: it learns its own input, authorised output and declared public information.
Fault bounds belong to a model
In the classical synchronous private-channel setting, Ben-Or, Goldwasser and Wigderson give information-theoretic MPC with a passive threshold and an active threshold . The protocol includes more than secret reconstruction: multiplication and consistency must remain secure as well. These are not universal bounds for all MPC. Computational dishonest-majority protocols can protect honest parties even when all but one party are corrupted, typically with abort rather than guaranteed output delivery.
In a three-party deployment tolerating one corruption, assigning two servers to the same organisation changes the practical trust assumption. In two-party computation with abort, a correctly protected computation may still fail to finish because either endpoint disconnects. Adding an arbitrary proxy does not repair that issue.
Example: a private threshold decision
Suppose organisations hold bounded counts and authorise only the bit
where is a public threshold and is one when its condition holds, zero otherwise. The sum must stay secret until a secure comparison produces the output bit. Opening the sum first and then printing only leaks more than the contract permits. A field element also has no intrinsic integer order: the comparison needs a bounded integer encoding and a suitable comparison circuit.
Changing repeatedly can reveal the total by binary search. Restricting outputs is therefore both a circuit-design decision and a query-policy decision.
For implementation work, MP-SPDZ provides multiple explicit security profiles. Select the adversary model before benchmarking. Its emulation mode is useful for arithmetic debugging but is not an execution among independent distrustful parties. Record the protocol, field or ring, party count, corruption bound and whether preprocessing is included in measurements.
10 / Security in Cloud ComputingPrivate set intersection: matching through Diffie–Hellman
Two organisations want to identify shared records without exchanging their complete databases. Alice holds a set and Bob holds . In client-output PSI, Alice receives and Bob receives no result. In PSI-cardinality, Alice instead receives only . In both cases, the following protocols expose set sizes. A protocol with hidden sizes needs an additional, explicitly analysed padding strategy.
Use the running example and . Ordinary PSI releases . PSI-cardinality releases . The two outputs support different applications and different privacy claims.
Encode, hash to the group, then blind
Agree on an identifier type and canonical byte encoding first. Leading zeros may matter in an account identifier. Case folding may be appropriate for one field and incorrect for another. Include a protocol and identifier-domain label in the encoding. Deduplicate each input: repeated records change the functionality and can leak multiplicities.
Let be a prime-order group of order in which the relevant decisional Diffie–Hellman (DDH) assumption is appropriate. The notation is multiplicative; on an elliptic curve, denotes scalar multiplication . Use independent, fresh nonzero scalars , not the long-term signing keys from other chapters. Define
This is a hash-to-group map modelled as a random oracle in the teaching protocol. It must not reveal a known discrete logarithm of the output. For an elliptic-curve instantiation, start from a suitable RFC 9380 hash-to-curve suite, including its domain separation and subgroup rules, and specify handling of the negligible identity-output case. Do not substitute the defective replacement with a publicly computable scalar .
Why does that substitution matter? If Bob sends and Alice knows a matching candidate with nonzero , she can compute . She can then test further dictionary candidates locally. The scalar hash is not the problem: the defective point map exposes the scalar relation to the generator. This is an algebraic failure of the encoding, not a reason to avoid properly defined hash-to-group. Likewise, a group with easy DDH, for example one equipped with a suitable symmetric pairing, cannot inherit a DDH-based privacy argument merely because its discrete logarithms are hard.
Message-by-message PSI flow
The following semi-honest commutative-blinding protocol is the DH-style private-matching approach: each element supplies its own group base, rather than every operation starting at one fixed generator. Agrawal, Evfimievski and Srikant, Information Sharing Across Private Databases, SIGMOD 2003, §§3 and 5, develops both intersection and intersection-size protocols in this family. Its publication record identifies the original reference.
Alice randomly orders her local list before sending it and retains its input-to-position map. The indices below refer to this order, not to a meaningful database order such as a ranking of patients or transactions.
| Step | Computation and transmitted message | Who can attach an input name? |
|---|---|---|
| 1. Alice blinds | Send for | Alice retains the local relation |
| 2. Bob reblinds | Return in the received order | Alice can still attach to returned position |
| 3. Bob supplies his set | Send an independently shuffled list of | Bob knows the underlying names; Alice does not receive them |
| 4. Alice compares | Compute and find | Alice outputs the matching , not Bob's entire set |
The correctness calculation is
Multiplication of scalars commutes. Since modulo , exponentiation by is a bijection on . Thus exactly when , and hence, except for hash collisions, when . The equality calculation proves correctness, not the whole privacy theorem. Privacy also relies on the group and random-oracle assumptions and on following the specified message flow.
The group work and communication are linear in ; token lookup can use a hash table or sorting. Raw exponentiation is neither authenticated encryption nor a complete defence against an actively cheating participant. Use an authenticated channel and a protocol with the required malicious-security guarantees when inconsistent scalars, invalid group elements or dishonest datasets are in scope.
11 / Security in Cloud ComputingPSI-cardinality: count without releasing the matches
For the same example, PSI-cardinality authorises the number , not the two identifiers. The public input sizes are and if the protocol leaks sizes. A private union count can then be derived as . If the union is nonempty, the Jaccard similarity is . For two empty sets, specify a convention separately rather than dividing by zero.
A specialised DH protocol with server-side shuffling
The central reference is De Cristofaro, Gasti and Tsudik, Fast and Private Computation of Cardinality of Set Intersection and Union, CANS 2012, pp. 218–231. Use the corrected full text, Figure 1 and §4. The authors' revision note records the hash-to-group correction identified by Tan and Lv. The historical publication date must not be taken to mean that an uncorrected parameter or hash definition should be copied.
Retain from the PSI chapter. Also define a separately domain-separated token hash for security parameter , applied to canonical group encodings. Bob chooses independent secret uniform permutations of Alice's positions and of his positions. Here Bob, not Alice, shuffles the returned client values.
- Alice blinds her set. Send .
- Bob reblinds and removes the positions. Return , without or the original indices.
- Bob prepares comparison tokens. Send , without the names or the intermediate group points.
- Alice removes only her exponent. Compute and , where is inversion modulo .
- Alice counts. Output . Bob receives no output unless a separate policy authorises releasing the count to him.
For a returned position , the arithmetic is
Consequently equal input elements produce equal tokens. Alice compares tokens but does not receive the map . Shuffling removes record-to-token correspondence; it does not remove deductions from the count. The protocol's semi-honest privacy analysis is in the random-oracle model with its stated DH assumptions. Correctness also has a negligible collision error from the two hash functions. This description does not assert malicious security for the basic Figure 1 protocol.
Which shuffle is necessary?
| Change to the execution | Consequence |
|---|---|
| Return Alice's values in their original order | Alice can associate each matching token with its original record; the result is no longer count-only |
| Alice shuffles before sending, but Bob returns in the same order | Alice knows her own permutation and can undo it; this does not hide match identities from her |
| Bob shuffles only his own token list | Alice's returned positions still identify her matching records |
| Bob independently shuffles the returned client values and his token list | This is the correspondence-hiding step in the specialised protocol, together with its hashes, blinding and assumptions |
| Run ordinary PSI, then display only a count | The client has already received the match identities; a UI cannot retract them |
For the running example, Alice knows there are two matches among her three records, but should not receive which two beyond deductions available from her input, the count and other permitted information. If the count equals , she necessarily knows that every element of is present. If , the count is a membership answer. Neither is a contradiction of the cardinality-only functionality.
A complete generic route through a circuit
Here is a deliberately small, quadratic-size construction at the functionality/circuit level. It can be evaluated by a secure two-party circuit protocol; the circuit alone is not cryptography. Encode each identifier in bits. Alice supplies up to records, Bob up to records. Padded records have secret validity bits so that a dummy identifier cannot become a match. Valid identifiers within each party's set must be distinct, either enforced by the circuit or by an explicitly justified input-validation mechanism.
Let and be bit of the two encoded identifiers. Define equality bits , Alice's match bits , and the final count :
The equality work is . Use an output counter wide enough for the maximum possible count. The circuit releases only , not or . With generic secure circuit evaluation, only the chosen output labels are decoded. With arithmetic MPC, use equivalent checked bit operations and open only the count. A proof follows by composing a secure evaluator with this correctly specified circuit, under the evaluator's security and abort model.
PSI would deliberately reveal the matching records. PSI-CA keeps those records and the match vector internal. Simply running ordinary PSI and hiding the names on screen does not undo the information already delivered to the client.
Local functionality model with both inputs visible. This is not a cryptographic PSI implementation. Inputs are comma-separated, case-sensitive identifiers; duplicates are removed.
Default example: Alice receives the count 2. Bob receives no output. Public set sizes: 3 and 4.
A boundary case worth testing
Let Alice choose . The count is either or , so even ideal PSI-CA answers a membership question about Bob's set. The correct response is not to label the cryptography broken. Decide whether singleton or repeated adaptive queries are allowed, whether the dataset must be committed in advance, and whether a different, possibly noisy, output is required.
Output leakage cannot be encrypted away. Fresh exponents and permutations prevent carrying stable protocol labels across sessions; they do not stop deductions from a sequence of authorised counts. Input commitments, query policy or a separately specified noisy functionality address different risks.
12 / Security in Cloud ComputingOPRF-based matching and its output boundary
An oblivious pseudorandom function lets a client obtain a keyed function value on its input without learning the key, while the server does not learn that input. RFC 9497 specifies OPRF and verifiable variants over prime-order groups. A VOPRF adds evidence that the evaluation used the specified key; it does not authenticate the truth of the client's dataset.
At the application level, suppose Bob holds a key and set . Alice obtains tokens through OPRF, while Bob supplies a shuffled token set for . Token comparison identifies Alice's matches. Alice knows which input each OPRF invocation used, so this is a PSI composition, not a count-only protocol. It is also not a complete malicious-secure PSI construction: the OPRF alone does not enforce dataset membership, input limits or correct construction of Bob's token list.
De Cristofaro and Tsudik, Practical Private Set Intersection Protocols with Linear Complexity, Financial Cryptography 2010, is a related specialised-protocol reference. Its construction and assumptions should not be conflated with the commutative-blinding sketch or with the standardised RFC 9497 API.
Do not replace keyed tokens with a public hash of an email address or another small-domain identifier. An observer can enumerate guesses locally. Even a secure OPRF service needs a policy restricting submitted inputs: authorised online queries can still test guesses.
13 / Security in Cloud ComputingOblivious polynomial evaluation
In this course OPE means oblivious polynomial evaluation, not order-preserving encryption. The sender holds a polynomial over a specified finite field. The receiver holds and obtains without revealing to the sender or learning more about the coefficients than the permitted output entails.
For example, let over and . The result is . Computing this value locally is elementary. Making it the only permitted information flow is the cryptographic task. Sending all coefficients solves correctness but destroys sender privacy. Sending in clear destroys receiver privacy.
A readable circuit route
Horner's rule expresses evaluation as a sequence of multiply-add steps:
Execute that field-arithmetic circuit in a suitable secure-computation protocol, giving only to the receiver. Inputs must be range-checked or encoded as field elements according to the chosen malicious or semi-honest profile. For a Boolean garbling, modular multiplication and addition must themselves be compiled into an explicit circuit. A displayed formula is not yet an implementation of private multiplication.
This is the generic secure-circuit route. Its security comes from the chosen evaluator, not from an assumption that polynomial points are hidden in noise. The next two chapters explain the different Naor–Pinkas route: first its hiding assumption, then the protocol that combines it with OT.
Privacy allows deductions from the output. A degree- polynomial is determined by evaluations at distinct points. Therefore repeated permitted queries can reveal the entire polynomial without violating a per-execution ideal functionality. A service must decide how many evaluations it intends to authorise.
14 / Security in Cloud ComputingHidden polynomial points: what is assumed?
Interpolation is easy when the correct points are known. Finding useful information when those points are hidden is a different problem. This distinction motivates Naor and Pinkas's Oblivious Transfer and Polynomial Evaluation, STOC 1999, and the expanded Oblivious Polynomial Evaluation, SIAM Journal on Computing 35(5), 1254–1281, 2006. The definitions below follow the expanded author's text, §2.2, not the broken early same-coordinate variant.
A hidden constant term, not an invisible drawing
Work over a finite field . Let bound the degree of a receiver's auxiliary polynomial, let be the number of deliberately planted points, and let be an expansion factor. There are transmitted points, requiring . These parameters describe this construction; is not a signing key or a security level in bits.
For a possible private input , generate a distribution as follows:
- Choose , with independent uniform coefficients .
- Choose pairwise distinct nonzero abscissas and a secret uniform index set of size .
- Set for . At every other index choose independently and uniformly in .
- Reveal the list , but not , or .
Random filler points may accidentally lie on as well; do not exclude them by a biased sampling rule. The planted points are not marked or presented as a separate contiguous block. A finite-field polynomial is not a smooth real curve whose visually nearby points can be selected by eye.
The relevant computational indistinguishability assumption says, for an appropriate asymptotic parameter family and all candidate constants ,
Equivalently, every probabilistic polynomial-time distinguisher should have negligible difference
The source calls this Assumption 1. It concerns hiding , which will be the receiver's query. It is stronger than merely failing to reconstruct all of : an algorithm could conceivably learn one bit of without recovering every coefficient. Conversely, indistinguishability from a list of entirely independent random points would be a stronger statement than is required here. Do not silently replace one statement with the other.
Why parameters and the point layout matter
If correctly identified points are available, interpolation recovers . If every transmitted point is correct, the hiding disappears. Even without labels, list-decoding algorithms recover low-degree polynomials in substantial parameter regimes. In the usual asymptotic form, more than about agreements enters the Guruswami–Sudan list-decoding regime discussed in the source. Being below that threshold does not prove security; exhaustive and other attacks still matter. The paper does not supply a modern concrete parameter recommendation for deployment.
The expanded paper also gives Assumption 2: the sender sees groups of candidate points, with one planted point in each group. This exposes more structure and requires its own assumption. All abscissas remain distinct across the groups. The grouped protocol can then use one 1-out-of- OT per group.
An early version instead reused the same abscissa for candidates within each group. Bleichenbacher and Nguyen, Noisy Polynomial Interpolation and Noisy Chinese Remaindering, EUROCRYPT 2000, analyses attacks exploiting this structure. The expanded OPE paper explicitly distinguishes its revised assumption from that early variant. This course studies the construction and its conditional proof; it does not recommend historical noisy-polynomial parameters as a production primitive.
15 / Security in Cloud ComputingOPE through hidden points, masking and OT
Here is the construction behind the assumption. The sender Bob knows , with public degree bound . The receiver Alice knows . Capital denote formal variables; are field elements. The auxiliary below is a polynomial, not Alice's set from the PSI chapters.
Use the expanded Naor–Pinkas text, Protocols 3.1–3.2 for this basic construction. We explain the semi-honest execution. Protecting against a malicious receiver for general needs the additional construction in the paper; OT alone does not force its chosen points to be consistent with one valid query.
Two different polynomials hide two different inputs
Alice samples of degree at most subject to . Set and . Independently, Bob samples a mask
and defines the bivariate polynomial
Alice's selected evaluations will lie on the univariate composition
Its degree is at most , and its constant term is exactly the answer:
Alice hides where she wants to evaluate; Bob masks the other information in his polynomial. Alice's and Bob's serve different purposes. Omitting either changes the privacy argument.
The actual exchange
- Hide the useful locations. Alice creates the candidate pairs from the preceding chapter, with planted pairs at the secret indices . She sends all pairs to Bob.
- Evaluate candidates. Bob computes a table . He does not know which indices are useful to Alice. This table stays with him.
- Transfer only the useful evaluations. Run one -out-of- OT over Bob's table. Alice selects and receives only the corresponding . The OT hides the chosen indices from Bob and restricts Alice to the authorised number of entries.
- Interpolate at zero. For , . From these evaluations Alice recovers .
The Lagrange weights at zero are public once Alice fixes her selected abscissas:
All operations, including inverses, are in . Pairwise distinct abscissas make every denominator nonzero. Excluding prevents an unmasked direct query from bypassing the intended evaluation pattern.
Worked arithmetic: one answer survives the mask
Use the deliberately insecure teaching field with , , , and . Here , , , and three selected evaluations suffice. Substitution gives
| Selected | Alice's | Bob's | Received | |
|---|---|---|---|---|
The Lagrange weights at zero for are . Hence
The last display identifies the same field element; in ordinary integer arithmetic the intermediate value is , not . For readability the table reveals both parties' secrets to the reader. In an execution Alice must not receive Bob's mask or the coefficients of . Bob must not receive , or . Small parameters and hand-picked points verify the algebra, not the hiding assumption.
Why learning R does not reveal P
Reconstructing is intended. Every nonconstant coefficient of is hidden by an independent coefficient of . For a fixed, honestly generated , changing to any with can be absorbed by a change of mask:
The difference has degree at most and zero constant term, so is an equally valid uniform mask. The observed is unchanged. This explains sender privacy for the honest query shape; OT prevents Alice from obtaining additional table entries that the argument did not authorise. Revealing the complete table is not an implementation of this OT step.
Receiver privacy has two separate obligations: the noisy-point distribution must hide , and the OT transcript must hide which entries Alice selected. Neither obligation replaces the other. A malicious Alice can choose candidates that do not come from one degree- polynomial; the basic construction can then expose a linear combination of coefficients that need not be a legitimate . The expanded paper's Protocol 3.4 addresses that issue under its stated definition. Its private-computation notion does not by itself bind a dishonest sender to one precommitted polynomial or supply universally composable security.
The conceptual chain is now complete: OT controls which values arrive; the noisy-point assumption hides the query; the zero-constant mask hides the unwanted coefficients; interpolation recovers the authorised answer. The following chapters turn to a different tool, encrypted computation, and then to delegation and agreement among machines.
16 / Security in Cloud ComputingHomomorphic computation: what can the server evaluate?
An owner encrypts inputs, a server evaluates a permitted function on the ciphertexts, and the owner decrypts the result. For an encryption scheme with evaluation algorithm , the correctness target is
This equation is subject to the scheme's message space, permitted circuit, parameters and error bound. For approximate arithmetic, replace equality with the specified numerical accuracy. The server's ability to evaluate a function does not force it to evaluate the requested function. Confidentiality and verifiable computation are separate goals.
| Family | Computation and use | Constraint to carry into the application |
|---|---|---|
| Additively homomorphic encryption | Encrypted sums, public scalar multiples | Multiplying two encrypted inputs is a different capability |
| Pairing-based two-level encryption | Sums and degree-two expressions, including inner products | One encrypted multiplication level, bounded plaintext recovery |
| BGV-style leveled encryption | Exact modular arithmetic through a chosen circuit depth | Parameters and noise budget depend on the computation |
| CKKS-style encryption | Approximate real or complex arithmetic, often packed into slots | Encoding, scale, rescaling and approximation error affect the answer |
Boneh, Goh and Nissim give a foundational pairing-based construction supporting additions and one multiplication level. The later prime-order construction used by Herumi is a separate design. Brakerski, Gentry and Vaikuntanathan develop leveled fully homomorphic encryption. Cheon, Kim, Kim and Song introduce approximate arithmetic in CKKS. The choice is about the required function and numerical contract, not a ranking in which every more general scheme is automatically preferable.
Polynomial-based PSI is a different construction
Freedman, Nissim and Pinkas, Efficient Private Matching and Set Intersection, EUROCRYPT 2004, uses a polynomial whose roots encode a set, together with homomorphic evaluation. At the algebraic level, represent distinct identifiers by field elements and form
Membership becomes the test . The useful blinding identity is that equals at a root and is uniform in the field for a nonroot when is uniform. Additive homomorphism permits evaluation from encrypted coefficients using public powers of and fresh encryption randomness. The full protocol specifies encodings, randomisation and output handling so that nonmatching replies do not masquerade as identifiers.
This explains the connection between encrypted polynomial evaluation and set matching. It is not the noisy-point Naor–Pinkas OPE construction. Releasing raw evaluations of a set polynomial would also be a different functionality: sufficiently many evaluations permit interpolation and may expose the set itself.
Depth is not the number of multiplication calls
The inner product has multiplicative depth one: all products can be formed in parallel and then summed. The expression has depth two. A scheme may support a thousand first-level products but no second multiplication of an already multiplied ciphertext.
Fix bounds before encrypting. If and , then . The result, not just each input, must fit the plaintext and decoding range. In approximate schemes, instead track scale and accumulated error. Modular wraparound and numerical approximation are not interchangeable explanations for an unexpected answer.
A malicious computation service
A server can return an encryption of zero, replay an earlier result or evaluate another function. An encrypted answer by itself does not certify the input set, model version or computation. Conversely, authorising arbitrary decryption requests can defeat privacy because homomorphic encryption is deliberately malleable. A complete service needs authenticated job context, input validation, a defined output policy and, where required, a separate proof of correct computation. Zero-knowledge proofs that inputs lie in a range help with that input constraint; they do not prove the whole subsequent computation.
17 / Security in Cloud ComputingHerumi's two-level encryption in WebAssembly
The relevant project is Herumi's she-wasm, built on the pairing library MCL. Its research basis is Attrapadung, Hanaoka, Mitsunari, Sakai, Shimizu and Teruya, Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and A Fast Implementation in WebAssembly, ASIACCS 2018, pp. 685–697. It is two-level homomorphic encryption, not arbitrary-depth FHE.
Source ciphertexts
This section uses a decryption key with two scalars , public points and , and fresh encryption randomness . For small integer messages represented in , the source ciphertexts have the form
The owner computes and recovers by a bounded discrete-logarithm search. This last step is practical only for the configured small message range. It is not an algorithm for solving arbitrary group discrete logarithms. Source ciphertext addition adds both components; fresh random encryptions of the same message need not have the same bytes.
A multiplication uses four pairings
For one ciphertext from each source group, the server computes a target ciphertext :
All four pairings have a first argument and a second argument. The server needs public ciphertexts, not the secret scalars. The owner cancels the randomness using
Indeed, the exponent is the product of the two unmasked source exponents: . Bounded decoding now recovers . Multiplying target ciphertext tuples componentwise adds their plaintext products, because exponents add in .
Run the real implementation
Open the author's browser cross-tabulation demonstration for a WebAssembly implementation, or run the accompanying local inner-product example. The example uses the published she-wasm package, fresh keys and encryptions, and checks decrypted sums and products. The library's SHE API distinguishes source addition, public scalar multiplication and ciphertext multiplication.
npm install she-wasm@1.8.0
node cloud-homomorphic-example.cjs
The file name above is the downloadable release name. Install in a separate exercise directory. This is a local educational example, not a hosted decryption service. Its small decoding range and example curve configuration are not a production security recommendation.
const left = publicKey.encG1(2);
const right = publicKey.encG2(3);
const product = she.mul(left, right); // CipherTextGT
const twice = she.mulInt(product, 2); // public scalar, same level
const result = secretKey.dec(twice); // 12, within the decoding range
For and the encrypted inner product decrypts to . Both vectors are encrypted under the same key in this example. Distinct owners' independently generated keys cannot simply be mixed. If a protocol supplies an encryption of the same claimed value in both groups, equality of those plaintexts is an additional statement to prove or trust, not a consequence of their types.
18 / Security in Cloud ComputingDelegation and proxy re-encryption
A proxy can be useful without being trusted to decrypt. Transporting a ciphertext, computing on it and changing its authorised recipient are three different operations. Homomorphic evaluation addresses the second; proxy re-encryption addresses the third.
In a proxy re-encryption interface, Alice authorises a transformation from her public key to Bob's by issuing a re-encryption key . The intended correctness relation is
Alice creates the authorisation, the proxy transforms an eligible ciphertext, and Bob decrypts. The proxy is not given Alice's secret key. Ateniese, Fu, Green and Hohenberger study this approach for secure distributed storage. Directionality, allowed transformation levels and resistance to collusion are properties of the particular scheme, not consequences of the interface equation.
For a document service, ask four separate questions: can the proxy read the document, can it redirect it to an unauthorised recipient, can it omit or replay it, and can a former recipient retain plaintext? Revoking future transformations does not erase plaintext already obtained by Bob.
Other intermediary roles should be named precisely:
- Threshold key holders jointly approve a decryption or signature under a dedicated threshold protocol. Reconstructing the complete secret at a coordinator is a different design.
- An MPC helper holds shares and participates under a stated corruption threshold.
- A relay forwards authenticated messages but may observe timing and endpoints or withhold delivery.
- A trusted execution environment introduces hardware and attestation assumptions; it is not equivalent to a non-colluding MPC party.
None of these labels means that the intermediary can be ignored in the threat model. Record its key material, observable transcript and effect on availability.
19 / Security in Cloud ComputingByzantine agreement: consistent decisions despite faults
Imagine independent replicas of a service receiving “accept” or “reject” from a coordinator. A Byzantine coordinator may send “accept” to one replica and “reject” to another. A faulty replica may also invent messages, remain silent or equivocate. A crash stops participation; a Byzantine fault permits arbitrary behaviour.
For the designated-sender broadcast problem, require agreement among honest recipients, validity of the sender's value when the sender is honest, and termination under the network assumptions. Consensus starts with proposals from several parties and needs its own validity condition. Neither problem says that private proposals stay hidden.
What changes when messages are signed?
Lamport, Shostak and Pease distinguish synchronous oral-message and signed-message models. “Oral” does not mean unauthenticated network traffic: a receiver knows the immediate sender, but cannot transfer cryptographic evidence of what someone else said. With up to faults, the oral-message model needs . The paper's signed-message broadcast tolerates more faults under its synchronous round and authentication assumptions. This does not remove timing assumptions or imply the same result for arbitrary asynchronous consensus.
Consider the oral-message case , . Coordinator A sends a value to B, C and D; those recipients relay what they received to one another. Each honest recipient takes a majority over its three entries, using a fixed default for missing values.
| Faulty coordinator A sends | B's assembled values | C's assembled values | D's assembled values |
|---|---|---|---|
| B: accept; C: reject; D: reject | accept, reject, reject | accept, reject, reject | accept, reject, reject |
Every honest recipient decides “reject”. In the other case, where A is honest and one recipient lies, the direct value from A and the report of the other honest recipient agree and form a majority. This two-round example handles one fault; it is not a general protocol obtained by repeating majority votes indefinitely.
Why waiting is part of the model
In a fully asynchronous network there is no known delay bound: an absent message may come from a failed process or a slow honest process. Fischer, Lynch and Paterson show that deterministic consensus cannot guarantee termination in every admissible asynchronous execution even with one possible crash. This is not a claim that every run fails. Systems obtain progress under additional conditions, for example eventual synchrony, or use suitable randomised protocols. A timeout is an operational suspicion, not a proof of Byzantine behaviour.
Membership before voting
Peer-to-peer connectivity does not supply trustworthy voting identities. Counting connections allows one adversary to create many apparent voters, a Sybil attack. A fixed consortium can define authorised member keys and reconfiguration rules. An open system needs an explicit mechanism governing voting power. Signatures authenticate votes by keys; they do not establish that those keys represent independent people.
20 / Security in Cloud ComputingQuorums, certificates and replicated services
Let be the number of replicas, the maximum faulty replicas, and the required number of distinct authenticated voters in a certificate. Two sets of size in the same membership epoch overlap in at least members. To force an honest member into that overlap, require
To form a certificate even when all faulty replicas withhold votes, also require . Combining these constraints gives for this quorum design. At , choosing meets both:
This counting argument assumes an honest replica does not endorse conflicting certificates in the relevant phase, slot and view. Across view changes, a protocol must carry forward sufficient evidence to preserve that rule. Quorum intersection alone is not a consensus protocol.
Set-counting model, not a consensus implementation. The tests concern one membership epoch and require honest voting rules.
Default example: two 3-of-4 certificates intersect in at least 2 voters, at least 1 honest. Three nonfaulty replicas can form a certificate without the faulty replica.
A normal-case PBFT execution
Castro and Liskov's PBFT orders requests among replicas. In the normal case:
- Pre-prepare. The primary proposes a request digest for a sequence number and view.
- Prepare. Backups exchange matching prepares. A replica becomes prepared with the proposal and matching prepares from distinct backups.
- Commit. Replicas exchange commits. A prepared replica waits for matching commits, counting its own, and executes in sequence.
- Reply. The client accepts matching replies from distinct replicas, so at least one reply is honest.
These phases are described in the algorithm. View changes preserve the necessary evidence when the primary stops making progress. Safety does not require a fixed message-delay bound; liveness needs the additional timing conditions stated in the service model. A signature on a proposal does not replace prepare, commit or view-change logic.
For example, with four replicas and one fault, three matching commit votes form a certificate. Two votes are insufficient: certificates and could intersect only at Byzantine B, which signs both. Three-vote certificates must intersect in two replicas, at least one honest. Seven replicas tolerating two faults instead need five-vote certificates under the same design.
Combine agreement with private computation deliberately
A replicated service can agree on a session identifier, participant list, function digest, commitments to inputs and output-release policy. An MPC protocol can then compute on private inputs associated with that session. The shared log does not need the plaintext inputs. However, a hash commitment to a guessable input needs appropriate hiding; a bare hash of “yes” or “no” is not hiding.
The MPC result must be linked to the agreed session by the construction's integrity mechanism. Recording an arbitrary number in a consensus log proves that replicas agreed on that number, not that a private computation produced it correctly. Conversely, a correct private result does not ensure that every replica records it at the same position. Agreement, input privacy and computation integrity require compatible but distinct evidence.
21 / Security in Cloud ComputingAnonymous access and ring signatures
A service may need proof that a requester belongs to an authorised set without learning which member is requesting access. Let be a canonical list of public keys. An anonymous identification protocol proves knowledge of a secret for an eligible key during a live session. A ring signature gives publicly verifiable evidence for a message without a live verifier.
For a simple one-of- Schnorr OR composition, each branch has a commitment , challenge and response satisfying . The signer simulates the branches whose secrets it does not know. The real branch absorbs the remaining challenge so that
The proof course gives the complete teaching algorithm and extraction calculation. This OR composition is a readable entry point; it is not an assertion that all ring constructions use the same signature format. Herranz and Sáez, INDOCRYPT 2003, analyse ring-specific forking and anonymity.
One member, several secrets, or every member?
A one-of- ring signature shows that at least one eligible secret was used. A -of- identification relation involves knowledge of at least eligible secrets. It does not by itself imply participation by different people: one person may know several keys. A multisignature, discussed next, has a different meaning again: a specified group jointly approves the same message.
The research paper Anonymous Deniable Identification in Ephemeral Setup and Leakage Scenarios, by Krzywiecki, Kutyłowski, Pezda and Słowik, studies an anonymous identification setting with explicit ephemeral-state concerns. The published brief announcement and the full paper should be distinguished. Deniability concerns the evidentiary meaning of a transcript; it does not mean that the verifier rejects an honest prover.
Hierarchies are not just larger rings
In hierarchical signatures, a new node may depend on earlier authenticated nodes as well as public-key leaves. A verifier must check those dependencies; the set of possible leaf signers is determined by the construction and its admissibility conditions, not by the colour of a visualised node. The hierarchical-ring-signature demo shows this functional layer with real cryptographic checks. It is linked to the 2025 paper. The demonstration's administratively known signer is not public evidence that an observer learns the signer.
22 / Security in Cloud ComputingMultisignatures and rogue-key attacks
Suppose several users must jointly approve a cloud policy update. Adding ordinary Schnorr equations suggests aggregating public keys, commitments and responses. The algebra is attractive, but naive public-key aggregation is unsafe when adversaries choose keys after seeing honest keys.
If Alice has public key , an attacker can choose a known scalar and register . The naive aggregate is , whose secret the attacker knows. It can sign alone for that aggregate even though it does not know the discrete logarithm of its registered . This is a rogue-key attack on the meaning of joint approval.
MuSig addresses this issue by binding coefficients to the full public-key list. In explanatory multiplicative notation, let encode the ordered keys and define and . With properly generated nonces , commitments and , the partial responses have the shape
The challenge binds the aggregate key, commitment and message. These equations explain aggregation; they are not a complete signing protocol. The original three-round MuSig includes nonce commitments before nonce disclosure, together with the required checks. Nonce reuse, concurrent-session handling and premature disclosure can invalidate a protocol that still satisfies the final equation. See Maxwell, Poelstra, Seurin and Wuille.
For an implementation, pick one complete published version. Do not combine MuSig's aggregation equation with a simplified round structure or borrow a nonce rule from another variant without its proof. The local paper Multi-Signature Scheme Resistant to Randomness Injection Attacks: A Bitcoin Case is a relevant research connection because it asks what happens when the randomness interface itself is adversarial.
23 / Security in Cloud ComputingRemote possession: why an old checksum is insufficient
A server can retain a checksum after deleting a file. Returning that checksum proves neither present possession nor an ability to deliver the data. A useful audit is fresh: its unpredictable challenge forces a response tied to the stored object, its identity and its version.
The owner may authenticate individual blocks and ask for a random subset. This elementary approach is easy to reason about but its communication grows with the sample and block sizes. Homomorphic authenticators compress several block checks into one aggregate response. They must still bind the file identifier, block index and version so that valid material from another object cannot be substituted.
The original course introduces Sebé et al., Efficient Remote Data Possession Checking, Golle, Jarecki and Mironov's communication and storage complexity work, and Ateniese et al., Provable Data Possession at Untrusted Stores. Their constructions and assumptions differ. The linear pairing-based example below is a separate teaching profile, not the RSA-based Ateniese construction with its notation renamed.
What random sampling detects
Suppose of blocks are missing before the audit and distinct indices are chosen uniformly. If the server cannot fabricate an acceptable answer for a missing block, then
The numerator is zero when . Sampling with replacement instead gives . These are different experiments. A sample chosen predictably, or a server allowed to adapt the missing set after seeing the sample, does not satisfy the premise.
Availability-only probability model. It does not authenticate blocks or implement a proof of retrievability.
The model above measures coverage, not cryptographic authenticity. A real audit also needs a sound response check. Repetition improves confidence only under a specified server strategy and challenge distribution; an old passing report is not a permanent guarantee of availability.
24 / Security in Cloud ComputingA compact linear audit and retrievability
This pedagogical profile uses the homomorphic-authenticator structure associated with Shacham and Waters' compact proofs of retrievability. Fix an authenticated file identifier , a block count , a version, a nonzero secret , public , and a nonidentity public point . Validate the public parameters and group encodings. Hash each index and its context to . Generate tags
The auditor samples indices and nonzero coefficients . The server returns one scalar and one point:
The verifier checks
To see completeness, substitute the tags into . Distributing scalar multiplication gives . Bilinearity moves the factor to the second argument, producing the verification equation. Every term before the pairing is a point; is a scalar, not a point.
Why one valid response is not the whole file
Each valid response provides a linear equation in the blocks. Collecting independent equations gives a matrix equation . Recovering all encoded blocks requires sufficient rank, not merely many copies of the same equation. A retrievability theorem must connect the prover's response success to an extractor that obtains enough information, and then to the decoding guarantees of the selected erasure code.
A single sparse audit cannot establish full rank. Nor does a signature on an aggregate prove that the server maintains a particular number of independently recoverable replicas. These are additional properties with their own models.
Privacy caveat. The displayed response exposes , a linear combination of plaintext blocks. Repeated independent queries may reveal the blocks. This profile is not a privacy-preserving public audit. Encryption or masking changes the construction and needs its own verification and extraction argument; merely encrypting a field somewhere is not a proof of either property.
25 / Security in Cloud ComputingMulti-copy PDP: an attack and its repair
Bartosz Drzazga, Łukasz Krzywiecki and Hannes Salin, Cryptanalysis of Deterministic and Probabilistic Multi-Copy PDP Schemes For Cloud Storage: Attacks and Countermeasures, TrustCom 2021, pp. 172–179, studies a particularly useful failure mode: a verifier accepts although the server no longer retains the promised copies. The attack exploits the verification equation, not a broken pairing or a hash collision.
Below, the paper's multiplicative source-group notation is translated into the additive notation used in this course. There are copies, each with scalar blocks . The copy index is , the block index is , and identifies the file. The secret is , public key , and is a public nonidentity point. Indices, file identifiers and hash domains must have unambiguous encodings.
Deterministic scheme: one block can stand in for all blocks
Here the hash-to-group function itself remains proper; the flaw is the tag's missing block binding, not a defective hash primitive. The vulnerable tag uses the same point for every block:
For challenge coefficients , put . An honest answer contains
The vulnerable verifier checks . Now let a dishonest server keep only one block and its tag . It responds to every challenge with
Substitution gives , so the verification equation accepts. The response need not equal the true weighted sum of the deleted blocks. The verifier has no remaining index-specific term that could distinguish them. Fresh challenges do not repair missing bindings.
There is a second algebraic warning. Two tags under the same , for distinct scalars , reveal
The inverse is in . This does not reveal the scalar , but gives a group element sufficient for manipulations that the tag design was supposed to prevent.
Probabilistic scheme: copy information disappears in a sum
The probabilistic scheme hashes the column index, , but aggregates tags across the copies:
A challenge selects columns and weights . The server reports per-copy responses , but the verifier uses them only through . Its equation is
A dishonest server retains only the column sums and aggregated tags . It computes and invents reported copy responses whose sum is . The check accepts. The individual copies have been replaced by a lossy representation.
What the countermeasure changes
Bind both indices in each tag:
For challenged pairs , use independently sampled coefficients and check
The deterministic variant challenges all copy–block pairs. The probabilistic repair selects copies and columns , with , and weights the individual pairs. Merely adding a copy index to the hash while keeping a check that sees only the old column sums does not establish the repaired guarantee. The tag structure, challenge and response must change together.
The retained single tag now contributes instead of the required . These are no longer identically equal. Likewise, a stored column sum is not enough to answer independently weighted copy–block queries. This explains why the two displayed attacks stop working; it is not a replacement for a security reduction.
The paper analyses its countermeasures under its stated assumption. An implementation report must retain that assumption and the specified adversary model rather than calling every pairing-based repair “secure under discrete logarithms.” Recovery also needs sufficiently many independent response equations. Neither this argument nor a passing audit proves geographically independent physical storage. The repair has a cost: individual bindings, tags and weighted hashes must be processed instead of collapsing away the copy dimension.
26 / Security in Cloud ComputingVersions, replicas and research extensions
The verifier must know which version is current. A server returning an older, correctly authenticated version has not forged its tags. Bind the version in the tag context and keep a trusted current-version record, or use an authenticated update mechanism whose freshness is independently established.
Dynamic data complicates index binding. If inserting a block shifts every later index, naively index-bound tags may all need to change. Stable block identifiers or an authenticated index structure can address this, but their roots and updates become additional trusted inputs to verification. State this cost explicitly in an implementation report.
Similarly, two server addresses do not prove two independent copies. The endpoints might consult one shared store. Replication and proof-of-storage results depend on the resource, communication or timing model. Network distance and a response deadline are operational assumptions, not consequences of a pairing equation.
The local research thread Distributed Data Possession Schemes: Blockchain-Based Scalability connects to the question of organising possession evidence at scale. Read the precise construction and model before treating its guarantees as those of another PDP or PoR scheme. An append-only log can organise commitments and order, but it cannot manufacture missing data or replace an audit's soundness argument.
Design exercise. Specify an outsourced file service with append, overwrite and delete operations. For each operation record which metadata changes, who authenticates it, which audit messages become stale and how rollback is detected. Keep confidentiality, current-version integrity, retrievability and replication as separate claims.
27 / Security in Cloud ComputingCloud forensics: evidence, acquisition and trust
Cloud forensics reconstructs events from resources whose physical infrastructure the investigator may not control. Preserving an object, authenticating its source and interpreting its meaning are different tasks. An intact log can contain an incorrect event. A valid signature on a report identifies the signing key; it does not establish that all relevant events were recorded.
NIST SP 800-201, Cloud Computing Forensic Reference Architecture, provides a framework for forensic readiness: decide what evidence can be obtained, by whom, before an incident. NISTIR 8006 catalogues cloud-specific obstacles. In practice, start with the service model. An IaaS tenant may acquire its virtual disks but not the hypervisor. In SaaS, an export API and provider records may be the principal acquisition interfaces. No permission to administer a tenant implies permission to collect another tenant's data.
Which layer supplied the evidence?
In their 2012 IaaS acquisition study, Josiah Dykstra and Alan Sherman examine the tools and trust dependencies of cloud acquisition. An in-guest collector depends on the guest it is investigating. A provider-side interface moves acquisition outside that guest, but introduces reliance on the provider and its control plane.
Their FROST prototype demonstrates this distinction in OpenStack through virtual-disk, API-log and guest-firewall-log acquisition. It is a research case study, not a claim that the historical prototype is a maintained forensic product. Its lesson is architectural: choose the collection layer deliberately, and state which potentially compromised components remain below it.
The following acquisition plan is a teaching checklist, not a promise that every provider exposes each item.
| Evidence | Preserve together with the content | Important limit |
|---|---|---|
| VM disk or snapshot | Resource ID, snapshot ID, region, acquisition time and method | Disk state does not include all volatile memory or unsaved application state |
| Memory capture | VM identity, tool version, capture interval, acquisition permissions | Capture may disturb execution; terminated instances may be unrecoverable |
| Object version | Bucket/container, object key, version ID, metadata and access policy | A current object is not necessarily the version involved in the incident |
| Identity and control-plane events | Account, principal/session ID, operation, result, source and event time | Use of a credential does not identify the human holding it |
| Application and network records | Logging configuration, sampling, retention and clock information | No record can mean no event, disabled logging, sampling or lost evidence |
A reproducible investigation
NIST SP 800-86 separates collection, examination, analysis and reporting. Apply that separation to a small cloud incident as follows:
- Define the question and scope. Name the affected tenant, service, resources and time window. Record the authorisation and exclusions. Do not collect unrelated personal data merely because an API permits it.
- Preserve before investigating destructively. Record the current configuration and retention settings. Capture available volatile evidence before stopping an instance where authorised and technically possible. Record every containment action: isolation or key revocation changes the system too.
- Acquire through documented interfaces. Keep exported content, request parameters, pagination details and provider-returned identifiers. Record failures and inaccessible intervals. An export that stopped after its first page is not a complete event history.
- Freeze the acquired set. Compute content hashes, keep an acquisition manifest and restrict modification of the originals. Examine working copies. Record transfers of custody and recheck hashes after transfers.
- Build a timeline with uncertainty. Retain original timestamps and time zones alongside UTC normalisation. Distinguish event time, ingestion time and acquisition time. Events closer than the clock uncertainty cannot safely be ordered by timestamp alone.
- Report facts separately from inference. State which artefacts support each conclusion, which alternative explanations remain, and which evidence is missing. Make the analysis reproducible without exposing credentials or other tenants' content.
For example, a successful API call deleting a VM, followed by loss of application heartbeats, supports a narrower statement than “Alice destroyed the evidence.” The API record may identify a role session, while Alice's credential could have been delegated or stolen. Check the session creation, policy and application records before attributing a human action. This example is a reasoning exercise, not a forensic conclusion about a real account.
Integrity checks have a starting point
Let an evidence entry be an unambiguously encoded record . With a collision-resistant, fixed-length bit-string digest applied to encoded records, a simple chain is
Retaining an independently authenticated checkpoint containing the final hash and entry count makes later changes detectable under the hash assumption. A chain stored only beside the evidence can be replaced with that evidence. A signature authenticates a checkpoint's origin, not the truth of each event or the absence of events omitted before signing.
CloudTrail log-file integrity validation is a concrete provider example using signed digest files. Enabling digest delivery and actually validating a delivered log set are separate steps. A successful integrity check concerns the protected files; it is not a proof that every action in the cloud was logged. Keep exported evidence and any verification material needed to repeat the check.
28 / Security in Cloud ComputingChoosing and composing the mechanisms
| Task | Inputs and permitted output | Suitable direction | Remaining question |
|---|---|---|---|
| Compare two private bids | Two bids; winner only | 2PC comparison | Are ties, ranges and aborts defined? |
| Count shared identifiers | Two sets; intersection size | PSI-CA or a count-only MPC circuit | Can adaptive queries probe individual membership? |
| Sum confidential incident counts | Many bounded counts; total | Secret-sharing MPC | Who may collude, and can participants inject out-of-range inputs? |
| Evaluate a private model | Client features, provider model; prediction | 2PC/MPC, possibly with HE components | What can repeated predictions reveal about the model? |
| Delegate an encrypted document | Ciphertext and scoped authorisation; recipient plaintext | Proxy re-encryption | What happens after revocation or proxy–recipient collusion? |
| Keep one service history | Authenticated requests; agreed order | Byzantine state-machine replication | Are membership, fault threshold and progress assumptions justified? |
| Audit retained data | Authenticated file state; fresh evidence | PDP/PoR | Is the claim possession, retrievability, freshness or a physical replica count? |
Start a design review at the interfaces. A garbled output label is not a field share. A target-group ciphertext from the two-level scheme cannot be fed into another pairing multiplication. A count-only service must not return the match vector. A consensus certificate must identify the membership epoch, phase and request it covers. A protocol that silently changes any of these types changes its claim.
29 / Security in Cloud ComputingLaboratory sequence and proof checkpoints
Use synthetic files and datasets. Small fields are helpful for debugging, but label them as insecure. A common implementation interface should distinguish scalars, points, points and encoded bytes. All experiments run locally; no exercise needs another person's files or credentials.
- Oblivious transfer. Reproduce the semi-honest 1-out-of-2 teaching equations first. Show which shared group element the chosen receiver can compute. For 1-out-of-, select and cite one complete original protocol rather than extrapolating the two-message diagram.
- Garbled AND. Build the gate using a selected garbling implementation, obtain the evaluator's label through OT, and verify all four input combinations. The evaluator must not receive both labels of its private input wire. Record exactly which party learns the output.
- Private aggregation. Reproduce the sum over , then resample shares for the same inputs. Inspect one column at a time. Test modular wraparound, a missing share and a changed share. Explain which cases plain additive sharing cannot handle.
- Multiplication and mask reuse. Reproduce the Beaver trace and verify that the public term is added only once. Chain two multiplications using different triples. Reuse a mask deliberately on synthetic inputs and recover the input difference from the openings.
- Three-party MPC. Implement the private threshold decision in a selected framework profile. Keep the sum unopened. Compare a passive run with the guarantees of a malicious profile; record corruption threshold, checks, aborts, bytes and rounds. Do not describe three local processes as three independent trust domains.
- PSI and PSI-CA. Trace both displayed DH protocols on the same synthetic sets, with a proper hash-to-group implementation. Record every message, permutation owner and local input-to-position map. In the cardinality protocol, remove Bob's shuffle of the returned client list and show that Alice can identify matching records. Compare with a count-only secure circuit. Test deduplication, empty sets, no matches, all matches, invalid group encodings and singleton queries. Treat padding and malicious input validation as additional design obligations. An observer that holds both parties' secrets is a test harness, not a participant's permitted view.
- Polynomial evaluation and hidden points. First check Horner evaluation. Then reproduce the OPE example, including , selected evaluations, Lagrange weights and . Add random decoys at distinct nonzero abscissas; explicitly separate the sender's view, the receiver's view and the instructor's complete trace. In a tiny field, exhaustively enumerate low-degree candidate polynomials to demonstrate why a small example does not provide cryptographic hiding. Compare global -out-of- selection with one selection per group. An array lookup can model ideal OT for arithmetic tests, but must not be described as a secure OT implementation. Finally explain which assumption hides , which mask hides , and what repeated authorised evaluations reveal.
- Encrypted inner product. Run the SHE example. Add tests for zero, negative inputs, repeated encryption, source addition and sums of products. State a bound on the result before choosing the decoding range. Show, at the API type boundary, why a target ciphertext cannot be multiplied by another encrypted input. Test incorrect returned results separately from decryption correctness.
- Delegation review. Draw owner, proxy and recipient roles for an encrypted-document service. Select a published proxy re-encryption construction and state its directionality, ciphertext types and collusion guarantee. Test wrong recipients and explain why revocation cannot retract plaintext already delivered.
- Byzantine messages and quorum sets. Simulate the four-replica example with authenticated sender labels, one equivocator and missing messages. Enumerate certificate intersections for . Separate this counting experiment from implementing PBFT, which also requires phase, view-change and log rules.
- Anonymous access. Implement the one-of- OR composition or reproduce one explicitly selected original-paper identification scheme. Keep unforgeability, anonymity and leakage resistance as three separately tested or argued properties.
- Joint signatures. Demonstrate the rogue-key attack against naive aggregation. Then reproduce one complete published multisignature variant, including nonce handling. Test mismatched key lists and attempted nonce reuse.
- Possession baseline. Divide a synthetic file into indexed blocks. Implement random sampling and authenticated block checking. Compare measured detection frequency with the exact without-replacement formula. Include a server that has deleted a fixed fraction of blocks.
- Linear audit. Implement the displayed pairing-based tag and aggregation equations with MCL. Test altered blocks, altered tags, wrong file identifiers, wrong versions and changed coefficients. Explain why an unmasked audit leaks linear equations.
- Extraction experiment. On a small field, collect honest linear responses, compute matrix rank and recover the block vector only after enough independent equations. Show that repeated identical challenges do not increase rank. This illustrates linear algebra, not the full extractor theorem against an arbitrary malicious prover.
- PDP attack and repair. Implement both attacks in the multi-copy chapter using synthetic scalar blocks. Record the state retained by the dishonest server and a passing transcript. Apply the corresponding repair, then test the same attack, wrong copy indices and changed challenge coefficients. A failed attack is a regression test, not a security proof.
- Forensic acquisition and timeline. Create synthetic control-plane and application logs with a known clock offset, one omitted interval and one changed record. Produce an acquisition manifest, content hashes, working copies and a UTC timeline. Explain which modification your integrity checks detect and why an event absent before acquisition cannot be recovered from its hash. No real tenant or personal data is needed.
For each report include functionality, threat model, algorithm, correctness, privacy or soundness argument, tests and limitations. A simulator may receive only the information granted by its ideal functionality. A storage extractor must obtain enough information to reconstruct data, not just a Boolean acceptance result. These two checks prevent many composition errors.
30 / Security in Cloud ComputingPublications and documentation
- MPC foundations: Evans, Kolesnikov and Rosulek; Shamir, secret sharing; Ben-Or, Goldwasser and Wigderson; Beaver, circuit randomisation.
- Active MPC and implementation profiles: Keller, Orsini and Scholl, MASCOT; MP-SPDZ documentation.
- DH-style private matching: Agrawal, Evfimievski and Srikant, Information Sharing Across Private Databases, SIGMOD 2003, 86–97 (author's PDF, §§3 and 5). De Cristofaro and Tsudik, Practical Private Set Intersection Protocols with Linear Complexity, FC 2010, 143–159.
- PSI-cardinality: De Cristofaro, Gasti and Tsudik, Fast and Private Computation of Cardinality of Set Intersection and Union, CANS 2012, 218–231. The corrected ePrint full text incorporates the hash correction discussed by Tan and Lv, 2022.
- Hashing and oblivious functions: RFC 9380, Hashing to Elliptic Curves; RFC 9497, Oblivious Pseudorandom Functions. Neither standard alone specifies a complete PSI protocol.
- Oblivious polynomial evaluation: Naor and Pinkas, Oblivious Transfer and Polynomial Evaluation, STOC 1999, 245–254; Oblivious Polynomial Evaluation, SIAM Journal on Computing 35(5), 2006, 1254–1281 (expanded author's text, §2.2 and Protocols 3.1–3.4).
- Limits of early noisy-point assumptions: Bleichenbacher and Nguyen, Noisy Polynomial Interpolation and Noisy Chinese Remaindering, EUROCRYPT 2000, 53–69. The attacked repeated-abscissa setting must be distinguished from the expanded OPE paper's distinct-abscissa assumptions.
- Polynomial-based matching: Freedman, Nissim and Pinkas, Efficient Private Matching and Set Intersection, EUROCRYPT 2004, 1–19.
- Agreement and replication: Lamport, Shostak and Pease; Fischer, Lynch and Paterson; Castro and Liskov, PBFT.
- Proxy re-encryption: Ateniese, Fu, Green and Hohenberger.
- Forensic readiness: NIST SP 800-201, NISTIR 8006 and NIST SP 800-86.
- Cloud acquisition: Dykstra and Sherman, Acquiring forensic evidence from IaaS cloud computing, 2012, and FROST, 2013.
- Possession and retrievability: Ateniese et al., PDP, Shacham and Waters, compact PoR, and Drzazga, Krzywiecki and Salin, multi-copy attacks and countermeasures.
- Related possession research: Krzywiecki and Kutyłowski, Proof of Possession for Cloud Storage via Lagrangian Interpolation Techniques, 2012; Krzywiecki, Majcher and Macyna, Efficient Probabilistic Methods for Proof of Possession in Clouds, 2016.
- Homomorphic computation: Boneh–Goh–Nissim, Attrapadung et al., two-level encryption, BGV and CKKS.
- Anonymous access and joint approval: Herranz–Sáez, anonymous deniable identification and MuSig.
- Private computation: Chou–Orlandi OT, Naor–Pinkas OT, and Bellare–Hoang–Rogaway garbling. Construction-specific sources also appear beside their definitions above.
Related material: cryptography exercises, System Security I, System Security II, and the publication list.