SECURE EXPONENTIAL FUNCTION COMPUTATION SYSTEM, SECURE EXPONENTIAL FUNCTION COMPUTATION METHOD, SECURE COMPUTATION APPARATUS, AND PROGRAM
In secure computation, an exponential function is calculated at high speed. A secure exponential function computation system ( 100 ) receives [a] as an input and calculates [exp (a)]. The minimum value subtraction unit ( 11 ) calculates [a′]:=[a]−μ. A bit decomposition unit ( 12 ) generates a bit representation [a′ 0 ], . . . , [a′ u-1 ] of u upper bits of a′ from [a′]. A selective product unit ( 13 ) calculates a total product [f′] of values that are [a′ i ?f i :1]. An upper bit calculation unit ( 14 ) calculates a total product [ε′] of [a′ i ?2 ε_i :1] for 0≤i<u. A lower bit calculation unit ( 15 ) calculates [a′ ρ ]:=[a′]−Σ2 i-t [a′ i ]. An exponential function calculation unit ( 16 ) calculates [w]:=[exp (a′ ρ )]. A result calculation unit ( 17 ) calculates [w][f′][ε′]exp (μ).
1 . A secure exponential function computation system for receiving a share value [a] of a value a as an input, and calculating a share value [exp (a)] of an output of an exponential function of the value a, the secure exponential function computation system comprising:
a plurality of secure computation apparatuses
wherein μ is an acquirable minimum value of the value a, t is a predetermined integer, and u is the number of bits more than t bits after a decimal point of the value a, and
each of the plurality of secure computation apparatuses comprises:
processing circuitry configured to:
obtain a share value [a′] of a value a′ obtained by subtracting the minimum value μ from the share value [a];
generate a sequence of share values [a′ 0 ], . . . , [a′ u-1 ] of a bit representation a′ 0 , . . . , a′ u-1 of u upper bits of the value a′ from the share value [a′];
set f i as a mantissa part of exp (2 i-t ) and calculate a share value [f′] of a value f′ obtained by multiplying all values that become f i when a′ i =1 and 1 when a′ i =0 where i is an integer equal to or greater than 0 and smaller than u;
set ε i as an exponential part of exp (2 i-t ) and calculate a share value [ε′] of a value ε′ obtained by multiplying all values that become 2 ε_i when a′ i =1 and 1 when a′ i =0 where i is an integer equal to or greater than 0 and smaller than u;
calculate a share value [a′ ρ ] of a value a′ ρ obtained by subtracting a sum of values obtained by multiplying 2 i-t by the share value [a′ i ] from the share value [a′] where i is an integer equal to or greater than 0 and smaller than u;
use the share value [a′ ρ ] to obtain a share value [w] obtained by calculating [exp (a′ ρ )]; and
calculate the share value [exp (a)] obtained by multiplying the share value [w], the share value [f′], the share value [ε′], and exp (μ).
2 . The secure exponential function computation system according to claim 1 ,
wherein a, b, c, d, f, g, H, i, j, k, l, m, n, o, p, q, α, β, γ, δ, and ζ are parameters for approximating an exponential function with an eighth degree polynomial, and [x]:=[a′ ρ ] is assumed, and
the processing circuitry further configured to:
calculate [y′]:=[x(δx+a−i)−j],
calculate [y]:=[y′+(ix+j)],
calculate [z′]:=[y(ζy+b−k)+(c−l)x−m],
calculate [z]:=[z′+(ky+lx+m)],
calculate [w′/γ]:=[z(αz+d−n/γ)+(βx+f−o/γ)y+(g−p)x+(H−q)/γ],
calculate [w′]:=[w/γ]*γ; and
calculate [w]:=[w′+(nz+op+px+q)].
3 . The secure exponential function computation system according to claim L,
wherein the processing circuitry further configured to:
calculate a share value [a′ j a′ j+1 ] obtained by multiplying the share value [a′ j ] by the share value [a′ j+1 ] where j is an even number equal to or greater than 0 and smaller than u;
generate a four-value table including m′ 00 , m′ 01 , m′ 10 , and m′ 11 , where m′ 00 :=1, m′ 01 :=f j+1 , m′ 10 :=f j , m′ 11 :=f j f j+1 , and j is an even number equal to or greater than 0 and smaller than u;
generate share values [a″ j ] of values a″ j obtained by calculating [a′ j a′ j+1 ](m 00 +m 11 −m 01 −m 10 )+[a′ j+1 ](f j −1)+1 where j is an even number equal to or greater than 0 and smaller than u;
calculate a share value [A] of a value A obtained by multiplying all the share values [a″ j ]; and
multiply, if u is an odd number, the share value [A] by a value that becomes f u-1 when a′ u-1 =1 and 1 when a′ u-1 =0.
4 . A secure exponential function computation method executed by a secure exponential function computation system including a plurality of secure computation apparatuses, having a share value [a] of a value a as an input, and calculating a share value [exp (a)] of an output of an exponential function of the value a,
the secure exponential function computation method comprising:
obtaining, by processing circuitry of each of the plurality of secure computation apparatus, a share value [a′] of a value a′ obtained by subtracting a minimum value μ from the share value [a];
generating, by the processing circuitry of the secure computation apparatus, a sequence of share values [a′ 0 ], . . . , [a′ u-1 ] of a bit representation a′ 0 , . . . , a′ u-1 of u upper bits of the value a′ from the share value [a′];
setting, by the processing circuitry of the secure computation apparatus, f i as a mantissa part of exp (2 i-t ) and calculating a share value [f′] of a value f′ obtained by multiplying all values that become f i when a′ i =1 and 1 when a′ 1 =0 for each integer i equal to or greater than 0 and smaller than u;
setting, by the processing circuitry of the secure computation apparatus, ε i as an exponential part of exp (2 i-t ) and calculating a share value [ε′] of a value ε′ obtained by multiplying all values that become 2 ε_i when a′ i =1 and 1 when a′ i =0 for each integer i equal to or greater than 0 and smaller than u;
calculating, by the processing circuitry of the secure computation apparatus, a share value [a′ ρ ] of a value a′ ρ obtained by subtracting a sum of values obtained by multiplying 2 i-t by the share value [a′ i ] from the share value [a′] for each integer i equal to or greater than 0 and smaller than u;
using, by the processing circuitry of the secure computation apparatus, the share value [a′ ρ ] to calculate a share value [w] obtained by calculating [exp (a′ ρ )]; and
calculating, by the processing circuitry of the secure computation apparatus, the share value [exp (a)] obtained by multiplying the share value [w], the share value [f′], the share value [ε′], and exp (μ)
wherein μ is an acquirable minimum value of the value a, t is a predetermined integer, and u is the number of bits more than t bits after a decimal point of the value a.
5 . The secure computation apparatus used in the secure exponential function computation system according to claim 1 .
6 . A non-transitory computer recording medium on which a program for causing a computer to operate as the secure computation apparatus according to claim 5 .