ArticleslgStudy

mathematics

Homomorphic secret sharing

Homomorphic secret sharing is a mathematics topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Homomorphic secret sharing rather than just read about it. In short: In cryptography, homomorphic secret sharing is a type of secret sharing algorithm in which the secret is encrypted via homomorphic encryption. A homomorphism is a transformation from one algebraic structure into another of the same type so that the structure is preserved.

Homomorphic secret sharing — main illustration
Homomorphic secret sharing — illustration

Key takeaways

  • Homomorphic secret sharing belongs to mathematics; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Homomorphic secret sharing to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Homomorphic secret sharing from memory before moving on to harder problems.

Reference excerpt

In cryptography, homomorphic secret sharing is a type of secret sharing algorithm in which the secret is encrypted via homomorphic encryption. A homomorphism is a transformation from one algebraic structure into another of the same type so that the structure is preserved. Importantly, this means that for every kind of manipulation of the original data, there is a corresponding manipulation of the transformed data.

Technique Homomorphic secret sharing is used to transmit a secret to several recipients as follows:

Transform the "secret" using a homomorphism. This often puts the secret into a form which is easy to manipulate or store. In particular, there may be a natural way to 'split' the new form as required by step (2). Split the transformed secret into several parts, one for each recipient. The secret must be split in such a way that it can only be recovered when all or most of the parts are combined. (See Secret sharing.) Distribute the parts of the secret to each of the recipients. Combine each of the recipients' parts to recover the transformed secret, perhaps at a specified time. Reverse the homomorphism to recover the original secret.

Examples Suppose a community wants to perform an election, using a decentralized voting protocol, but they want to ensure that the vote-counters won't lie about the results. Using a type of homomorphic secret sharing known as Shamir's secret sharing, each member of the community can add their vote to a form that is split into pieces, each piece is then submitted to a different vote-counter. The pieces are designed so that the vote-counters can't predict how any alterations to each piece will affect the whole, thus, discouraging vote-counters from tampering with their pieces. When all votes have been received, the vote-counters combine them, allowing them to recover the aggregate election results. In detail, suppose we have an election with:

Two possible outcomes, either yes or no. We'll represent those outcomes numerically by +1 and −1, respectively. A number of authorities, k, who will count the votes. A number of voters, n, who will submit votes. In advance, each authority generates a publicly available numerical key, xk. Each voter encodes his vote in a polynomial pn according to the following rules: The polynomial should have degree k − 1, its constant term should be either +1 or −1 (corresponding to voting "yes" or voting "no"), and its other coefficients should be randomly generated. Each voter computes the value of his polynomial pn at each authority's public key xk. This produces k points, one for each authority. These k points are the "pieces" of the vote: If you know all of the points, you can figure out the polynomial pn (and hence you can figure out how the voter voted). However, if you know only some of the points, you can't figure out the polynomial. (This is because you need n points to determine a degree-(n − 1) polynomial. Two points determine a line, three points determine a parabola, etc.) The voter sends each authority the value that was produced using the authority's key. Each authority collects the values that he receives. Since each authority only gets one value from each voter, he can't discover any given voter's polynomial. Moreover, he can't predict how altering the submissions will affect the vote. Once the voters have submitted their votes, each authority k computes and announces the sum Ak of all the values he's received. There are k sums, Ak; when they are combined together, they determine a unique polynomial P(x) – specifically, the sum of all the voter polynomials: P(x) = p1(x) + p2(x) + ... + pn(x). The constant term of P(x) is in fact the sum of all the votes, because the constant term of P(x) is the sum of the constant terms of the individual pn. Thus the constant term of P(x) provides the aggregate election result: if it is positive, more people voted for +1 than for −1; if it is negative, more people voted for −1 than for +1.

Features This protocol works as long as not all of the k authorities are corrupt — if they were, then they could collaborate to reconstruct P(x) for each voter and also subsequently alter the votes. The protocol requires t + 1 authorities to be completed, therefore in case there are N > t + 1 authorities, N − t − 1 authorities can be corrupted, which gives the protocol a certain degree of robustness. The protocol manages the IDs of the voters (the IDs were submitted with the ballots) and therefore can verify that only legitimate voters have voted. Under the assumptions on t:

A ballot cannot be backtracked to the ID so the privacy of the voters is preserved. A voter cannot prove how they voted. It is impossible to verify a vote. The protocol implicitly prevents corruption of ballots. This is because the authorities have no incentive to change the ballot since each authority has only a share of the ballot and has no knowledge how changing this share will affect the outcome.

Vulnerabilities The voter cannot be certain that their vote has been recorded correctly. The authorities cannot be sure the votes were legal and equal, for example the voter can choose a value that is not a valid option (i.e. not in {−1, 1}) such as −20, 50, which will tilt the results in their favor.

See also End-to-end auditable voting systems Electronic voting Certification of voting machines Techniques of potential election fraud through physical tampering with voting machines Preventing Election fraud: Testing and certification of electronic voting Vote counting system E-democracy Secure multi-party computation Mental poker

References

Worked examples

Example 1 — a first encounter with Homomorphic secret sharing

Start with the simplest possible case. Write down what Homomorphic secret sharing claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In mathematics, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Homomorphic secret sharing before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Homomorphic secret sharing ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Homomorphic secret sharing

In research
Homomorphic secret sharing appears in mathematics research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Homomorphic secret sharing in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Homomorphic secret sharing is common in secondary-school and first-year university syllabi. It links to neighbouring topics Abstract algebra, Functions and mappings, so understanding it makes those chapters shorter.
In everyday life
Look for Homomorphic secret sharing outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Homomorphic secret sharing” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Homomorphic secret sharing in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Homomorphic secret sharing means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Homomorphic secret sharing out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Homomorphic secret sharing in simple terms?

In cryptography, homomorphic secret sharing is a type of secret sharing algorithm in which the secret is encrypted via homomorphic encryption. A homomorphism is a transformation from one algebraic structure into another of the same type so that the structure is preserved.

Why does Homomorphic secret sharing matter?

Because it connects several mathematics ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Homomorphic secret sharing?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Homomorphic secret sharing.

Tags

  • Abstract algebra
  • Functions and mappings

Keep exploring