I need to implement Blakley's Secret Sharing Scheme. I have read below mentioned two research papers but still unable to understand how to implement it.

  1. Safeguarding cryptographic keys
  2. Two Matrices for Blakley’s Secret Sharing Scheme

The following is the steps I have been able to understand.

  1. We chose positive integers $z$, $a$ and $b$.
  2. We chose a large $p$
  3. A $(a+b+2)\times(b+2)$ matrix $M$ is created satisfying the following conditions:

    • Random entry in each row is set to $1$.
    • Another random entry in first row is set to $k$, chosen from $\mathbb F_p$.
    • All other entries are filled with random values from $\mathbb F_p$.

After this some equation need to be formed and then solved for share.

I am unable to understand how shares are calculated and how can they be verified. Kindly help me understand the remaining process.


1 Answer 1


An easier way of explaining it is here: http://www.demoivre.org/courses/CIS628/chapter15.pdf

So for a point $(x_0,y_0,z_0)$ we set $x_0$ as the secret and then randomly choose $y_0$ and $z_0\pmod{P}$.

Now we generate our plane to distribute to the participants:
we pick two random integers $a$ and $b$, then we set

$$C = z_0 - ax_0 -by_0 \pmod{P}$$

we now have our equation for the plane, such that:

$$z = ax + by + c$$

to reassemble the secret we use matrix manipulation and it is simply:

$$a_i x + b_i y - z \equiv -c_i \pmod{P} $$

scroll down to page 12 on that link for a really good example


Your Answer

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

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