By using SSSS we distribute the key to "N" people where any "k" (N>=k) are required to participate to unlock the code. But what if I wish to have the people "x" and "y" always be part of "k".

Any provisions for that??


1 Answer 1


It's very straightforward. You divide your secret into three random shares $s=s_x\oplus s_y\oplus s_z$. Now divide $s_z$ into $N-2$ shares using SSSS and pass these to the non-special participants while passing $s_x$ and $s_y$ to $x$ and $y$ respectively.

This can be thought of as a generalisation of a scheme where multiple groups share the secret among them and a certain level of representation is required from each group. The scheme consist of splitting $s$ into $g$ parts where $g$ is the number of groups and then using SSSS on each of the parts.

This in turn can be thought of as a generalisation of an "electoral college" version of SSSS where a minimum threshold of groups/constituencies must participate and a minimum threshold of users is required for each group/constituency to participate. Split the master secret into as many shares as there are constituencies using SSSS, then divide each of the constituency shares into user shares again using SSSS.

Further iterations and variations are of course possible and it should be clear how to orchestrate them.

  • $\begingroup$ Thank you so much $\endgroup$ Dec 1, 2021 at 13:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.