| CPC G06F 21/6245 (2013.01) [G06F 7/582 (2013.01)] | 8 Claims |

|
1. A secure computation system including a first secure computation apparatus, a second secure computation apparatus, and a third secure computation apparatus each having a tripartite share of a concealed input vector,
wherein the first secure computation apparatus includes
a processor; and
a memory storing program instructions that cause the processor to:
convert its own tripartite share into a bipartite share with the third secure computation apparatus;
calculate a third vector obtained by subtracting, from a result of applying its own permutation to its own bipartite share, a result of applying a second permutation determined according to the permutation to a first vector determined by a predetermined method and a second vector determined by a predetermined method; and
transmit the third vector and the second permutation to the second secure computation apparatus,
the third secure computation apparatus includes
a processor; and
a memory storing program instructions that cause the processor to
convert its own tripartite share into a bipartite share with the first secure computation apparatus;
calculate a fourth vector obtained by adding the first vector to a result of applying a first permutation determined according to the permutation to its own bipartite share;
transmit the fourth vector to the third secure computation apparatus;
set the second vector as a bipartite share, with the second secure computation apparatus, of a result of applying the permutation to the input vector, and
the second secure computation apparatus includes
a processor; and
a memory storing program instructions that cause the processor to set a vector obtained by adding a result of applying the second permutation to the fourth vector to the third vector, as a bipartite share, with the third secure computation apparatus, of the result of applying the permutation to the input vector.
|