I am implementing Shamir's Secret Sharing, and I find that in (t,n)-threshold scheme, the shares are just using 1,2,3...,n as the key to form the shares (i,f(i)).

For example, I want share "Hello", and the shares look like this:


where 01,02,03,04 are the keys and XXXX are the values.

But I find in some place, people are using random numbers as the key. And I want to further extend it by using different key for each character.

For example, the secret is still "Hello", but the share are become:

x1-AAAA1, x2-AAAA2, x3-AAAA3, x4-AAAA4, x5-AAAA5
y1-BBBB1, y2-BBBB2, y3-BBBB3, y4-BBBB4, y5-BBBB5
z1-CCCC1, z2-CCCC2, z3-CCCC3, z4-CCCC4, z5-CCCC5
u1-DDDD1, u2-DDDD2, u3-DDDD3, u4-DDDD4, u5-DDDD5

where x1,x2,x3,x4,x5 are random and distinct.

In this way the only disadvantage is that we need more store space for keys, and it may takes more time to generate random number.

But I wonder whether there is some advantages? Say, Safety issue?

I am new with computer security, hope to get answer. Thanks!

  • $\begingroup$ I would be very surprised that the shares in the first example decode to "Hello" using any natural (nothing-up-my-sleeves) implementation of Shamir secret sharing. $\;$ Perhaps you are confusing key (usually understood as the secret value of a share, or shares, or the secret shared), and index (the identifier of a share, usually public), and really wanting to ask if there is benefit in using random index in Shamir secret sharing? In any case, it would help if you defined what benefit you expect; can't be about secrecy of the shared secret, Shamir secret sharing provably insures this. $\endgroup$
    – fgrieu
    Apr 14, 2015 at 7:06
  • $\begingroup$ @fgrieu Thanks for your reply. In the first example, AAAA1 is just a symbol for the value of the shares, it is not the real value. Because I am now sharing a image, and I need to encode for each pixel. Initially, I just use 1,2,...,n as the index, and get shares values, then store into new image shares. But I am not sure how to store the index. Then I random select a random and distinct number as index, and I store both index and value consecutively. So the image shares is twice as the initial secret. So I wonder why I bother to do this, is there any benefit. $\endgroup$
    – g1692963
    Apr 14, 2015 at 7:45

1 Answer 1


There are no security advantages to evaluating the polynomial at random places instead of sequential. The information theoretic security proof of Shamir secret sharing does not depend on the evaluation points being chosen in any specific manner.


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.