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)