A computer-readable memory device storing a distributed information generation program for distributing secret information, the distributed information generation program causing a computer to execute:
- a distribution input process that receives secret information s, a threshold k, a number of distributed information n, and a predetermined fixed value t;
- a secret information distribution process;
- and
- a distributed secret information distribution process;
- in the secret information distribution process, the computer being caused to execute:
- a first random number generation process that generates n first random numbers which are different from the fixed value t and are different from one another, and outputs the generated first random numbers;
- a first distribution polynomial generation process that generates a (k−1)-degree polynomial F by embedding the secret information s in the (k−1)-degree polynomial F;
- and
- a distributed information output process that enters the respective first random numbers into the polynomial F to output values and also enters the fixed value t into the polynomial F to output a value;
- in the distributed secret information distribution process, the computer is caused to execute:
- a second random number generation process that generates n second random numbers which are different from one another, and outputs the generated second random numbers;
- a second distribution polynomial generation process that generates a (k−1)-degree polynomial G by embedding the output of the distributed information output process in the (k−1)-degree polynomial G, the output of the distributed information output process being the output when the fixed value t is entered into the polynomial F;
- and
- a distributed distributed information output process that enters the respective second random numbers to the polynomial G to output values.