Secure computation system, secure computation apparatus, secure computation method, and recording medium
AssigneeNippon Telegraph and Telephone Corporation
InventorsDai Ikarashi, Koji Chida, Ryo Kikuchi
Life of this patent
Estimating the term…
Abstract
Pi and P+ have stored a+∈{a0, a1, a2} and b+∈{b0, b1, b2} therein, and Pi and P− have stored a−∈A− and b−∈B− therein. Here, P+−P(i+1)mod 3, P−=P(i−1)mod 3, and a and b are arbitrary values and satisfy a=a0+a1+a2 and b=b0+b1+b2, where A− is a complement of a+ in {a0, a1, a2} and B− is a complement of b+ in {b0, b1, b2}. Pi and P+ share r+, Pi and P− share r−, and Pi calculates c+=(a++a−)(b++b−)−a−b−+r+−r−. Pi sends c+ to P+.
Claims8
A secure computation system comprising:
- a secure computation apparatus P0;
- a secure computation apparatus Pi;
- and
- a secure computation apparatus P2, wherein
- each of the secure computation apparatuses comprising processing circuitry configured to receive, over a network, an input of one or more respective subshares of data a and b, wherein the data a and b is concealed from each of the secure computation apparatuses;
- i∈{0, 1, 2} holds;
- P+ is P+ is P(i+1)mod 3;
- P− is P(i−1)mod 3;
- a and b are arbitrary values;
- a0, a1, and a2 are subshares satisfying a=a0+a1+a2;
- b0, b1, and b2 are subshares satisfying b=b0+b1+b2,
- a storage of a secure computation apparatus Pi and a storage of a secure computation apparatus P+ have stored therein subshares a+∈{a0, a1, a2} and b+∈{b0, b1, b2},
- the storage of the secure computation apparatus Pi and a storage of a secure computation apparatus P− have stored therein subshares a−∈A− and b−∈B−, where A− is a complement of a+ in {a0, a1, a2} and B− is a complement of b+ in {b0, b1, b2},
- a sharing unit of the secure computation apparatus Pi and a sharing unit of the secure computation apparatus P+ share an arbitrary value r+, wherein r+∈F,
- the sharing unit of the secure computation apparatus Pi and a sharing unit of the secure computation apparatus P− share an arbitrary value r−, wherein r−∈F,
- an arithmetic unit of the secure computation apparatus Pi calculates c+=(a++a−)(b++b−)−a−b−+r+−r−, wherein c+∈{c0, c1, c2}, and c0+c1+c2=a*b, and
- an output unit of the secure computation apparatus Pi outputs c+ to the secure computation apparatus P+, and c+ is input to an input unit of the secure computation apparatus P+, which results in an exchange process of secure computation apparatus P0 calculating ci and transmitting c1 to secure computation apparatus P1, secure computation apparatus P1 calculating and transmitting c2 to secure computation apparatus P2 and secure computation apparatus P2 calculating c0 and transmitting c0 to secure computation apparatus P0,
- wherein after the exchange process, each of P0, P1, and P2 store a different pair of values among c0, c1, c2.
A secure computation system comprising:
- a secure computation apparatus P0;
- a secure computation apparatus P1;
- and
- a secure computation apparatus P2, wherein
- each of the secret computation apparatuses comprising processing circuitry configured to receive, over a network, an input of one or more respective subshares of data a(n) and b(n), wherein the data a(n) and b(n) is concealed from each of the secret computation apparatuses;
- i∈{0, 1, 2} holds;
- P+ is P(i+1)mod 3;
- P− is P(i−1)mod 3;
- a(n) and b(n) are arbitrary values;
- a0(n), a1(n), and a2(n) are subshares of a(n) satisfying a(n)=a0(n)+a1(n)+a2(n);
- b0(n), b1(n), and b2(n) are subshares of b(n) satisfying b(n)=b0(n)+b1(n)+b2(n);
- and N is a positive integer, where n=0, . . . , N−1,
- a storage of a secure computation apparatus Pi and a storage of a secure computation apparatus P+ have stored therein subshares a+(n)∈{a0(n), a1(n), a2(n)} and b+(n)∈{b0(n), b1(n), b2(n)},
- the storage of the secure computation apparatus Pi and a storage of a secure computation apparatus P− have stored therein subshares a−(n)∈A−(n) and b−(n)∈B−(n), where A−(n) is a complement of a+(n) in {a0(n), a1(n), a2(n)} and B−(n) is a complement of b+(n) in {b0(n), b1(n), b2(n)},
- a sharing unit of the secure computation apparatus Pi and a sharing unit of the secure computation apparatus P+ share an arbitrary value r+, wherein r+∈F,
- the sharing unit of the secure computation apparatus Pi and a sharing unit of the secure computation apparatus P− share an arbitrary value r−, wherein r−∈F,
- an arithmetic unit of the secure computation apparatus Pi calculates:
- c+=Σn=0N-1{(a+(n)+a−(n))(b+(n)+b−(n))−a−(n)b−(n)+r+−r−},
- wherein c+{c0, c1, c2}, and c0+c1+c2=a(0)b(0)+ . . . +a(N−1)b(N−1), and
- an output unit of the secure computation apparatus Pi outputs c+ to the secure computation apparatus P+, and c+ is input to an input unit of the secure computation apparatus P+, which results in an exchange process of secure computation apparatus P0 calculating c1 and transmitting c1 to secure computation apparatus P1, secure computation apparatus P1 calculating c2 and transmitting c2 to secure computation apparatus P2 and secure computation apparatus P2 calculating c0 and transmitting c0 to secure computation apparatus P0,
- wherein after the exchange process, each of P0, P1, and P2 store a different pair of values among c0, c1, c7.
A secure computation apparatus, wherein
- the secure computation apparatus is one of a plurality of secure computation apparatuses P0, P1, and P2,
- each of the secure computation apparatuses comprising processing circuitry configured to receive, over a network, an input of one or more respective subshares of data a and b, wherein the data a and b is concealed from each of the secure computation apparatuses,
- i∈{0, 1, 2} holds;
- P+ is P(i−1)mod 3, P− is P(i−1)mod 3, a and b are arbitrary values;
- a0, a1, and a2 are subshares of a satisfying a=a0+a1+a2, and b0, b1, and b2 are subshares of b satisfying b=b0+b1+b2, and
- the secure computation apparatus includes
- a storage that stores subshares a+∈{a0, a1, a2} and b+∈{b0, b1, b2} which are stored on a secure computation apparatus P and subshares a−∈A− and b−∈B− which are stored on a secure computation apparatus P− (where A− is a complement of a+ in {a0, a1, a2} and B− is a complement of b+ in {b0, b1, b2}),
- a sharing unit that shares an arbitrary value r+ with the secure computation apparatus P+ and shares an arbitrary value r− with the secure computation apparatus P−, wherein r+∈F and r−∈F,
- an arithmetic unit that calculates c+=(a++a−)(b++b−)−a−b−r+r−, wherein c+∈{c0, c1, c2}, and c0+c1+c2=a*b, and
- an output unit that outputs c+ to the secure computation apparatus P+, which results in an exchange process of secure computation apparatus P0 calculating c1 and transmitting c1 to secure computation apparatus P1, secure computation apparatus P1 calculating c2 and transmitting c2 to secure computation apparatus P2 and secure computation apparatus P2 calculating c0 and transmitting c0 to secure computation apparatus P0,
- wherein after the exchange process, each of P0, P1, and P2 store a different pair of values among c0, c1, c2.
A secure computation apparatus, wherein
- the secure computation apparatus is one of a plurality of secure computation apparatuses P0, P1, and P2,
- each of the secure computation apparatuses comprising processing circuitry configured to receive, over a network, an input of one or more respective subshares of data a(n) and b(n), wherein the data a(n) and b(n) is concealed from each of the secure computation apparatuses;
- i∈{0, 1, 2} holds;
- P+ is P(i+1)mod 3;
- P− is P(i−1)mod 3;
- a(n) and b(n) are arbitrary values;
- a0(n), a1(n), and a2(n) are subshares of a(n) satisfying a(n)=a0(n)+a1(n)+a2(n);
- and b0(n), b1(n), and b2(n) are subshares of b(n) satisfying b(n)=b0(n)+b1(n)+b2(n), and
- the secure computation apparatus includes
- a storage that stores subshares a+(n)∈{a0(n), a1(n), a2(n)} and b+(n)∈{b0(n), b1(n), b2(n)} which are stored on a secure computation apparatus P+, and subshares a−(n)∈A−(n) and b−(n)∈B−(n) which are stored on a secure computation apparatus P− (where A−(n) is a complement of a+(n) in {a0(n), a1(n), a2(n)} and B−(n) is a complement of b+(n) in {b0(n), b1(n), b2(n)}),
- a sharing unit that shares an arbitrary value r+ with the secure computation apparatus P+ and shares an arbitrary value r− with the secure computation apparatus P−, wherein r+∈F and r−∈F,
- an arithmetic unit that calculates:
- c+=Σn=0N-1{(a+(n)+a−(n))(b+(n)+b−(n))−a−(n)b−(n)+r+−r−},
- wherein c+∈{c0, c1, c2}, and c0+c1+c2=a(0)b(0)+ . . . +a(N−1)b(N−1), and
- an output unit that outputs to the secure computation apparatus P++, which results in an exchange process of secure computation apparatus P0 calculating c1 and transmitting c1 to secure computation apparatus P1, secure computation apparatus P1 calculating c2 and transmitting c2 to secure computation apparatus P2 and secure computation apparatus P2 calculating c0 and transmitting c0 to secure computation apparatus P0,
- wherein after the exchange process, each of P0, P1, and P2 store a different pair of values among c0, c1, c7.
A secure computation method implemented by a secure computation apparatus, wherein
- the secure computation apparatus is one of a plurality of secure computation apparatuses P0, P1, and P2,
- each of the secure computation apparatuses comprising processing circuitry configured to receive, over a network, an input of one or more respective subshares of data a and b, wherein the data a and b is concealed from each of the secure computation apparatuses;
- i∈{0, 1, 2} holds;
- P+ is P(i+1)mod 3;
- P− is P(i−1)mod 3;
- a and b are arbitrary values;
- a0, a1, and a2 are subshares of a satisfying a=a0+a1+a2;
- and b0, b1, and b2 are subshares of b satisfying b=b0+b1+b2,
- subshares a+∈{a0, a1, a2} and b+∈{b0, b1, b2} stored on a secure computation apparatus P+, and subshares a−∈A− and b−∈B− stored on a secure computation apparatus P− are stored in a storage of a secure computation apparatus Pi, where A− is a complement of a+ in {a0, a1, a2} and B− is a complement of b+ in {b0, b1, b2}, and
- the secure computation method includes
- a step of sharing, by a sharing unit of the secure computation apparatus Pi, an arbitrary value r+ with the secure computation apparatus P+ and sharing an arbitrary value r− with the secure computation apparatus P−, wherein r+∈F and r−∈F,
- a step of calculating c+=(a++a−)(b++b−)−a−b−+r+−r− by an arithmetic unit of the secure computation apparatus Pi, wherein c+∈{c0, c1 c2}, and c0+c1+c2=a*b, and
- a step of outputting c+ to the secure computation apparatus P+ by an output unit of the secure computation apparatus Pi+, which results in an exchange process of secure computation apparatus P0 calculating c1 and transmitting c1 to secure computation apparatus P1, secure computation apparatus P1 calculating c2 and transmitting c2 to secure computation apparatus P2, and secure computation apparatus P2 calculating c0 and transmitting c0 to secure computation apparatus P0,
- wherein after the exchange process, each of P0, P1, and P2 store a different pair of values among c0, c1, c2.
A secure computation method, implemented by a secure computation apparatus, wherein
- the secure computation apparatus is one of a plurality of secure computation apparatuses P0, P1, and P2,
- each of the secure computation apparatuses comprising processing circuitry configured to receive, over a network, an input of one or more respective subshares of data a(n) and b(n), wherein the data a(n) and b(n) is concealed from each of the secure computation apparatuses;
- i∈{0, 1, 2} holds;
- P is P(i+1)mod 3;
- P− is P(i−1)mod 3;
- a(n) and b(n) are arbitrary values;
- a0(n), a1 (n), and a2(n) are subshares of a(n) satisfying a(n)=a0(n)+a1(n)+a2(n);
- and b0(n), b1(n), and b2(n) are subshares of b(n) satisfying b(n)=b0(n)+b1(n)+b2(n),
- subshares a+(n)∈{a0(n), a1(n), a2(n)} and b+(n)∈{b0(n), b1(n), b2(n)} stored on a secure computation apparatus P+, and subshares a−(n)∈A−(n) and b−(n)∈B−(n) stored on a secure computation apparatus P− are stored in a storage of a secure computation apparatus Pi, where A−(n) is a complement of a+(n) in {a0(n), a1(n), a2(n)} and B−(n) is a complement of b+(n) in {b0(n), b1(n), b2(n)}, and
- the secure computation method includes
- a step of sharing, by a sharing unit of the secure computation apparatus Pi, an arbitrary value r+ with the secure computation apparatus P+ and sharing an arbitrary value r− with the secure computation apparatus P−, wherein r+∈F and r−∈F,
- a step of calculating, by an arithmetic unit of the secure computation apparatus Pi:
- c+=Σn=0N-1{(a+(n)+a−(n))(b+(n)+b−(n))−a−(n)b−(n)+r+−r−},
- wherein c+∈{c0, c1, c2}, and c0+c1+c2=a(0)b(0)+ . . . +a(N−1)b(N−1), and
- a step of outputting to the secure computation apparatus P+ by an output unit of the secure computation apparatus Pi, which results in an exchange process of secure computation apparatus P0 calculating c1 and transmitting c1 to secure computation apparatus P1, secure computation apparatus P1 calculating c2 and transmitting c2 to secure computation apparatus P2, and secure computation apparatus P2 calculating c0 and transmitting c0 to secure computation apparatus P0,
- wherein after the exchange process, each of P0, P1, and P2 store a different pair of values among c0, c1, c2.
Dependencies are inferred from the claim text.