# Benefit of using random key in Shamir's Secret Sharing

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:

01-AAAA1,AAAA2,AAAA3,AAAA4,AAAA5
02-BBBB1,BBBB2,BBBB3,BBBB4,BBBB5
03-CCCC1,CCCC2,CCCC3,CCCC4,CCCC5
04-DDDD1,DDDD2,DDDD3,DDDD4,DDDD5

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!

• 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.
– fgrieu
Apr 14 '15 at 7:06
• @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. Apr 14 '15 at 7:45