Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Secret sharing
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Trivial secret sharing== Note: ''n'' is the total number of 'players', among whom the shares are distributed, and ''t'' is the minimum number of players required to reveal the secret. === ''t'' = 1 === ''t'' = 1 secret sharing is trivial. The secret can simply be distributed to all ''n'' participants. === ''t'' = ''n'' === There are several {{nowrap|(''t'', ''n'')}} secret-sharing schemes for {{nowrap|1=''t'' = ''n''}}, when all shares are necessary to recover the secret: # Encode the secret as a [[Binary numeral system|binary]] number ''s'' of any length. For each player ''i'', where ''i'' is one fewer than the total number of players, give a random binary number ''p<sub>i</sub>'' of the same length as ''s''. To the player without a share, give the share calculated as {{nowrap|1=''p''<sub>''n''</sub> = ''s'' β ''p''<sub>1</sub> β ''p''<sub>2</sub> β ... β ''p''<sub>''n''β1</sub>}}, where β denotes [[bitwise operation#XOR|bitwise exclusive or]]. The secret is the bitwise exclusive-or of all the players' numbers (''p''<sub>''i''</sub>, for 1 β€ ''i'' β€ ''n''). # Instead, (1) can be performed using the binary operation in any [[Group (mathematics)|group]]. For example, take the cyclic group of integers with addition modulo 2<sup>32</sup>, which corresponds to 32-bit integers with addition defined with the binary overflow being discarded. The secret ''s'' can be partitioned into a vector of ''M'' 32-bit integers, which we call ''v''<sub>secret</sub>. Then {{nowrap|(''n'' β 1)}} of the players are each given a vector of ''M'' 32-bit integers that is drawn independently from a uniform probability distribution, with player ''i'' receiving ''v<sub>i</sub>''. The remaining player is given ''v<sub>n</sub>'' = ''v''<sub>secret</sub> β ''v''<sub>1</sub> β ''v''<sub>2</sub> β ... β ''v''<sub>''n''β1</sub>. The secret vector can then be recovered by summing across all the players' vectors. === 1 < ''t'' < ''n'' === The difficulty{{clarify|is this a major "difficulty" that's still unresolved? If not, then why to mention it at all?|date=April 2023}} lies in creating schemes that are still secure, but do not require all ''n'' shares. When space efficiency is not a concern, trivial {{nowrap|1=''t'' = ''n''}} schemes can be used to reveal a secret to any desired subsets of the players simply by applying the scheme for each subset. For example, to reveal a secret ''s'' to any two of the three players Alice, Bob and Carol, create three (<math>\binom{3}{2}</math>) different {{nowrap|1=''t'' = ''n'' = 2}} secret shares for ''s'', giving the three sets of two shares to Alice and Bob, Alice and Carol, and Bob and Carol. === ''t'' belonging to any desired subset of {1, 2, ..., ''n''} === For example, imagine that the board of directors of a company would like to protect their secret formula. The president of the company should be able to access the formula when needed, but in an emergency any 3 of the 12 board members would be able to unlock the secret formula together. One of the ways this can be accomplished is by a secret-sharing scheme with {{nowrap|1=''t'' = 3}} and {{nowrap|1=''n'' = 15}}, where 3 shares are given to the president, and one share is given to each board member.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)