| CPC G09C 5/00 (2013.01) [G06F 17/16 (2013.01)] | 6 Claims |

|
1. A secure computation system comprising a plurality of secure computation devices
in which m is a number of records and is an integer of 1 or more, k→ is a vector of a key k→=(k1, . . . , km), f→ is a vector of a flag f→=(f1, . . . , fm), [α] is a ciphertext of α with α set as any value or any vector, and a predetermined operation using α as a ciphertext is possible,
wherein the plurality of secure computation devices comprises processing circuitry configured to:
generate a ciphertext [f′→] and a ciphertext [k′→] of a vector f′→ and a vector k′→ obtained by sorting the vector f→ and the vector k→, respectively, with a vector obtained by concatenating negative of the vector f→ and the vector k→ set as a key, using a ciphertext [f→] of the vector f→ and a ciphertext [k→] of the vector k→;
generate a ciphertext [e′→] of a vector e′→ including ei (i=1, . . . , m) as an element by generating a ciphertext [e′m] of e′m such that e′i=0 is satisfied when f′i=1 and k′i≠k′i+1 or f′i=1 and f1+1=0 are satisfied or otherwise e′i=1 is satisfied, and e′m=0 is satisfied when f′m=1 is satisfied or otherwise e′m=1 is satisfied, with i=1, . . . , m−1 set, using the ciphertext [f′→] and the ciphertext [k′→];
generate a ciphertext [m′] of m′ with a result obtained by subtracting a number of records having a flag of 0 from the m set as m′, using at least the m;
generate a ciphertext [x→] of a vector x→ including xi (i=1, . . . , m) as an element by generating a ciphertext [xi] of xi having a value of i when an element ei=0 is satisfied, the element ei being an element of the vector e→, and a value of m′ when an element ei=1 is satisfied, the element ei being an element of the vector e→, with i=1, . . . , m set, using the ciphertext [e′→];
obtain a ciphertext [x′→], a ciphertext [k″→], and a ciphertext [e″→] of a vector x′→, a vector k″→, and a vector e″→ obtained by sorting the vector x→, the vector k′→, and the vector e′→, respectively, with the vector e′→ set as a key, using the ciphertext [e′→], the ciphertext [x→], and the ciphertext [k′→];
generate a ciphertext [c→] of a vector c→ including ci (i=1, . . . , m) as an element by generating a ciphertext [ci] of ci that is a value obtained by subtracting an element x′i−1 from an element x′i of the vector x′→ with a ciphertext [x′1] of an element x′1 of the vector x′→ set as a ciphertext [c1] and with i=2, . . . , m set, using the ciphertext [x″→]; and
calculate a ciphertext [e′″→] of a vector e′″→ including a value obtained by subtracting each element of the vector e″→ from 1, using the ciphertext [e″→].
|