A computer program product comprising a computer-readable non-transitory storage medium having computer readable instructions recorded thereon, the computer readable instructions being operative, when performed by a computerized device, to cause the computerized device to:
- divide inputted secret information K into same size (np−1) divided pieces of secret information Kq (np is a prime number which is equal to or greater than a secret distribution number), the secret information K being divided according to a first expression
- K=K1∥K2∥ . . . ∥Knp-1
- whose operators and symbols are defined according to a set of definitions including
- {circle around (x)}:
- Bitwise exclusive-or (XOR) operation
- ∥:
- Concatenation of binary sequence
- n:
- The number of participants (nεN,2≦n)
- k:
- Threshold (kεN,2≦k≦n)
- np:
- A prime number such that (np≧n)
- d:
- Data bit length in each processing (dεN)
- pi:
- Participant (iεN0, 0≦i≦n−1)
- K:
- Secret information (Kε{0,1}d(np−1))
- Kq:
- A divided piece of secret information such that
- Kqε{0,1}d,qεN,1≦q≦np−1,K1∥K2∥ . . . Knp-1=K
- K0:
- A dummy divided piece of secret information (K0ε{0}d)
- Rlt:
- A random number (Rltε{0,1}d, 0≦t≦k−2,0≦n≦np−1)
- Si:
- A share which is sent to the participant Pi
- S(i,m):
- A piece of share Si which is sent to the participant Pi,
- (S(i,0)∥S(i,1)∥Λ∥S(i,np-2)=S,0≦m≦np−2);
- generate dummy partial secret information K0, the symbol K0 being defined according to the set of definitions;
- generate sets of random numbers Rtl which are mutually independent, the symbol Rtl being defined according to the set of definitions;
- generate pieces of shares using exclusive-OR (XOR) computation based upon the dummy partial secret information K0, the divided pieces of secret information Kq, and the random numbers Rtl, the pieces of shares being generated according to a second expression
- S
- (
- i
- ,
- m
- )
- =
- {
- ⊕
- t
- =
- 0
- k
- -
- 2
-
- R
- t
- ·
- i
- +
- m
- t
- }
- ⊕
- K
- m
- -
- i
- ,
- (
- 0
- ≤
- i
- ≤
- n
- -
- 1
- ,
- 0
- ≤
- m
- ≤
- n
- p
- -
- 2
- )
- whose operators and symbols are defined according to the set of definitions;
- and
- concatenate the pieces of shares so as to generate n shares Si, the pieces of shares being concatenated according to a third expression
- Si=s(i,0)∥S(i,1)∥ . . . ∥S(i,np-3)∥S(i,np-2)
- whose operators and symbols are defined according to the set of definitions.