A pre-calculation device (10; 10A), which is capable of communicating to and from a plurality of other pre-calculation devices, the pre-calculation device (10; 10A) comprising: a Beaver triple generation processor configured to generate a large number of secret-shared Beaver triples (<a[j]>, <b[j]>, <c[j]>) by repeatedly using a function of generating two (t, n) secret-shared random numbers (<a[j]>, <b[j]>) and causing the pre-calculation device (10; 10A) and the plurality of other pre-calculation devices to communicate a (2t-1, n) secret-shared value (<<c[j]>>) of a product of the two (t, n) secret-shared random numbers (<a[j]>, <b[j]>) to one another for generation thereof, to thereby cause the pre-calculation device (10; 10A) and the plurality of other pre-calculation devices to secret share a combination of three values(<a[j]>, <b[j]>, <c[j]>) including the two secret-shared random numbers and the product thereof; a Beaver triple random inspection processor configured to: randomly select a secret-shared Beaver triple (<a[j]>, <b[j]>, <c[j]>) from among the large number of secret-shared Beaver triples; restore a Beaver triple (Open a[j], Open b[j], Open c[j]) by the pre-calculation device (10; 10A) and the plurality of other pre-calculation devices communicating the secret-shared Beaver triple (<a[j]>, <b[j]>, <c[j]>) to one another; and confirm that a product of first two elements (Open a[j], Open b[j]) is equal to a third element (Open c[j]) by using a value of the restored Beaver triple (Open a[j], Open b[j], Open c[j]); and a Beaver triple position stirring processor (103; 103A) configured to randomly replace Beaver triples that have not been restored, to generate replaced secret-shared Beaver triples (<a[j]>, <b[j]>, <c[j]> for j ∈ {L-V}). a Beaver triple generation processor configured to generate a large number of secret-shared Beaver triples (<a[j]>, <b[j]>, <c[j]>) by repeatedly using a function of generating two (t, n) secret-shared random numbers (<a[j]>, <b[j]>) and causing the pre-calculation device (10; 10A) and the plurality of other pre-calculation devices to communicate a (2t-1, n) secret-shared value (<<c[j]>>) of a product of the two (t, n) secret-shared random numbers (<a[j]>, <b[j]>) to one another for generation thereof, to thereby cause the pre-calculation device (10; 10A) and the plurality of other pre-calculation devices to secret share a combination of three values(<a[j]>, <b[j]>, <c[j]>) including the two secret-shared random numbers and the product thereof; a Beaver triple random inspection processor configured to: randomly select a secret-shared Beaver triple (<a[j]>, <b[j]>, <c[j]>) from among the large number of secret-shared Beaver triples; restore a Beaver triple (Open a[j], Open b[j], Open c[j]) by the pre-calculation device (10; 10A) and the plurality of other pre-calculation devices communicating the secret-shared Beaver triple (<a[j]>, <b[j]>, <c[j]>) to one another; and confirm that a product of first two elements (Open a[j], Open b[j]) is equal to a third element (Open c[j]) by using a value of the restored Beaver triple (Open a[j], Open b[j], Open c[j]); and randomly select a secret-shared Beaver triple (<a[j]>, <b[j]>, <c[j]>) from among the large number of secret-shared Beaver triples; restore a Beaver triple (Open a[j], Open b[j], Open c[j]) by the pre-calculation device (10; 10A) and the plurality of other pre-calculation devices communicating the secret-shared Beaver triple (<a[j]>, <b[j]>, <c[j]>) to one another; and confirm that a product of first two elements (Open a[j], Open b[j]) is equal to a third element (Open c[j]) by using a value of the restored Beaver triple (Open a[j], Open b[j], Open c[j]); and a Beaver triple position stirring processor (103; 103A) configured to randomly replace Beaver triples that have not been restored, to generate replaced secret-shared Beaver triples (<a[j]>, <b[j]>, <c[j]> for j ∈ {L-V}). <EOS>