0
$\begingroup$

I would like to know if there is a way to place a condition on $k$-out-of-$n$ secret sharing such that out of $k$ participants who can pool their shares to reconstruct a secret, one of them should always be a particular user say $P_1$. In other words, say we share a secret $S$ with $n$ users $P_1,P_2,\dots, P_n$. The participants will be able to re-construct the secret $S$ iff { $P_1$ + at least $(k-1)$ other users from $\{P_2,\dots,P_n\}$ } pool their shares. If $P_1$ is not there, the other $(n-1)$ users cannot reconstruct the secret.

$\endgroup$
3
$\begingroup$

This can be trivially achieved by sharing twice. First share your secret $S$ using a $2$-out-of-$2$ secret sharing scheme into $S_1$ and $S_2$. (E.g. choose $S_1$ at random and set $S_2:=S\oplus S_1$.)

In the next step you now share $S_2$ using a $(k-1)$-out-of-$(n-1)$ secret sharing scheme into $S_{2,1},\dots,S_{2,n-1}$.

Give $S_1$ to $P_1$ and $S_{2,i}$ to $P_{i+1}$ for $1\leq i <n$.

The secrecy of the $2$-out-of-$2$ secret sharing scheme guarantees that both shares $S_1$,$S_2$ are required. $S_1$ is only known to $P_1$, and $S_2$ can only be recovered by at least $k-1$ of the other parties collaborating.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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