Secret multiple repetition calculation apparatus, method and program
AssigneeNTT, Inc.
InventorKoki Hamada
Life of this patent
Estimating the term…
Abstract
When an inside iterative calculation does not end after a predetermined number of iterations, a midway value of a loop variable is retained and a calculation of an output value is not performed in an outside iterative calculation. In addition, subsequently, execution of the iterative calculation is continued using the value of the loop variable having been retained when the inside iterative calculation is executed once again. In other words, in each iterative calculation, an object iterative calculation is only performed when all iterative calculations immediately inside the object iterative calculation have ended.
Claims3
A secure multi-iterative computation apparatus, comprising:
- processing circuitry configured to
- set a loop variable that is a predetermined variable to be used in iterative calculations and of which a value may change for each iterative calculation as a dummy value and which sets a state of each iterative calculation to “pre-execution”;
- and
- output a result of performing an iterative calculation that is an object of calculation using an input and a predetermined number of iterations, wherein
- the processing circuitry configured to:
- (i) when a state of an object iterative calculation that is an iterative calculation presently being an object of calculation is “pre-execution” and all inputs of the object iterative calculation are not dummy values, perform a secure computation of an initial value of the loop variable of the object iterative calculation using an input of the object iterative calculation, when the object iterative calculation includes an inside iterative calculation, initialize a state of each inside iterative calculation to “pre-execution”, and change the state of the object iterative calculation to “execution running”;
- (ii) (a) perform a secure computation of a new value of the loop variable of the object iterative calculation using a value of the loop variable of the object iterative calculation obtained by an immediately prior secure computation and, when the object iterative calculation includes the inside iterative calculation, by performing processing of the processing circuitry with respect to each inside iterative calculation;
- (b) adopt the new value as the value of the loop variable of the object iterative calculation when the state of the object iterative calculation is “execution running” and the state of each iterative calculation inside the object iterative calculation is “end” and update the state of each iterative calculation inside the object iterative calculation to “pre-execution”;
- and
- (c) change the state of the inside iterative calculation to “end” when the state of the inside iterative calculation is “execution running” and the value of the loop variable of the inside iterative calculation satisfies a predetermined end condition before reaching the predetermined number of iterations, the processing circuitry performing processing of the object iterative calculation for the predetermined number of iterations;
- and
- (iii) perform a secure computation of an output value of the object iterative calculation from the value of the loop variable and output the output value when the state of the object iterative calculation is “end”.
Dependencies are inferred from the claim text.