A secure computation system for computing Fisher's exact test comprising three or more secure computation devices (1 1 , ..., 1 n ), wherein the secure computation system generates a function value secure text (<f(a i )>, <f(b i )>, <f(c i )>, <f(d i )>) (i 0 ≤i≤i 1 ) for computing a secret text of a probability p i (i 0 ≤i≤i 1 ) defined by a following equation by secret multi-party computation: p i = f a + b f c + d f a + c f b + d f a + b + c + d f a i f b i f c i f d i wherein f(x):=x!, a, b, c, and d are non-negative integers, a is a frequency on a first row and a first column in a 2×2 contingency table, b is a frequency on the first row and a second column in the contingency table, c is a frequency on the second row and the first column in the contingency table, d is a frequency on the second row and the second column in the contingency table, <a>, <b>, <c>, and <d> are secure text pieces of respective frequencies a, b, c, and d, <a>=(<a >, <α >,..., <α[n-1]>) is a secure text array having a size of n, <β> is a secure text of a position in the secure text array <α>, j 0 ,..., j m-1 are relative positions from β, and BatchRead(<α>; <β>; j 0 ,..., j m-1 ) represents a function of generating a secure text array (<α[β+j 0 mod n]>,..., <α[β+j m-1 mod n]>) having a size of m by batch-reading elements at positions β+j 0 mod n, ..., β+j m-1 mod n from the secure text array <α>, wherein each of the secure computation devices (1 1 , ..., 1 n ) comprises: a computation range determination part that determines i 0 , i 1 , x 0 and x 1 that satisfy i 0 ≤i 1 and x 0 ≤x 1 ; a preliminary computation part that computes f(x 0 ),..., f(x 1 ), and generates an array M=(f(x 0 ),..., f(x 1 )); a securing part that secures the array M, and generates a secure text array <M>=(<f(x 0 )>,..., <f(x 1 )>); and a batch-reading part that executes following formulae, and generates the function value secure text (<f(a i )>, <f(b i )>, <f(c i )>, <f(d i )>) (i 0 ≤i≤i 1 ), (< f(a i 0 ) >,<f(a i 0 +1 )>,···,<f(a i 1 ) >) ← BatchRead(< M >;< a >;i 0 ,i 0 + 1,···,i 1 ), (< f(b i 0 ) >,<f(b i 0 +1 ) >,···,<f(b i 1 ) >) ← BatchRead(< M >;<b>;-i 0 ,-(i 0 + 1),···,-i 1 ), (< f(c i 0 )>,<f(c i 0 +1 )>,···,<f(c i 1 ) >) ← BatchRead(< M >; < c >;-i 0 ,-(i 0 + 1),···,-i 1 ), (<f(d i 0 )>,<f(d i 0 +1 )>,···,<f(d i 1 )>)←BatchRead(<M>;<d>;i 0 ,i 0 + 1,···,i 1 ) wherein the secure text of a value v is defined as an encryption of v or a secret sharing of the value v. a computation range determination part that determines i 0 , i 1 , x 0 and x 1 that satisfy i 0 ≤i 1 and x 0 ≤x 1 ; a preliminary computation part that computes f(x 0 ),..., f(x 1 ), and generates an array M=(f(x 0 ),..., f(x 1 )); a securing part that secures the array M, and generates a secure text array <M>=(<f(x 0 )>,..., <f(x 1 )>); and a batch-reading part that executes following formulae, and generates the function value secure text (<f(a i )>, <f(b i )>, <f(c i )>, <f(d i )>) (i 0 ≤i≤i 1 ), (< f(a i 0 ) >,<f(a i 0 +1 )>,···,<f(a i 1 ) >) ← BatchRead(< M >;< a >;i 0 ,i 0 + 1,···,i 1 ), (< f(b i 0 ) >,<f(b i 0 +1 ) >,···,<f(b i 1 ) >) ← BatchRead(< M >;<b>;-i 0 ,-(i 0 + 1),···,-i 1 ), (< f(c i 0 )>,<f(c i 0 +1 )>,···,<f(c i 1 ) >) ← BatchRead(< M >; < c >;-i 0 ,-(i 0 + 1),···,-i 1 ), (<f(d i 0 )>,<f(d i 0 +1 )>,···,<f(d i 1 )>)←BatchRead(<M>;<d>;i 0 ,i 0 + 1,···,i 1 ) <EOS>