IP Library Patent Application 17764977
Patent Application
App. No. 17/764,977

SECRET MULTIPLE REPETITION CALCULATION APPARATUS, METHOD AND PROGRAM

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/764,977
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. Recursively performing these processing steps enables wasteful calculation in inside iterative calculations to be reduced.

Claims (19)

1 . 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 the 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 an 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 object iterative calculation to “end” when the state of the object iterative calculation is “execution running” and the value of the loop variable of the object iterative calculation satisfies a predetermined end condition, the processing circuitry performing processing 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”.

2 . The secure multi-iterative computation apparatus according to claim 1 , wherein

the processing circuitry performs processing while securing whether or not a present case corresponds to the cases.

3 . A secure multi-iterative computation method, comprising:

a secret initialization step in which a secret initialization unit sets 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

a secure iterative computation step in which a secure iterative computation unit outputs a result of performing an iterative calculation that is an object of calculation using an input and the predetermined number of iterations, wherein

the secure iterative computation step includes:

(i) a secret input reflecting step in which, 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, a secret input reflection unit performs 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, the secret input reflection unit initializes a state of each inside iterative calculation to “pre-execution” and changes the state of the object iterative calculation to “execution running”;

(ii) a secret update step which includes: (a) a secret loop variable calculation step in which a secret loop variable calculation unit performs a secure computation of a new value of the loop variable of the object iterative computation 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 an inside iterative calculation, by performing processing of the secure iterative computation unit with respect to each inside iterative calculation; (b) a secret loop variable update step in which a secret loop variable update unit adopts 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 which updates the state of each iterative calculation inside the object iterative calculation to “pre-execution”;

and (c) a secret end state reflection step in which a secret end state reflection unit changes the state of the object iterative calculation to “end” when the state of the object iterative calculation is “execution running” and the value of the loop variable of the object iterative calculation satisfies a predetermined end condition, the secret update unit performing processing for the predetermined number of iterations; and

(iii) a secret output calculation step in which a secret output calculation unit performs a secure computation of an output value of the object iterative calculation from the value of the loop variable and outputs the output value when the state of the object iterative calculation is “end”.

4 . A non-transitory computer readable medium that stores a program for causing a computer to function as the respective units of the secure multi-iterative computation apparatus according to claim 1 .

Assignments (2)
CHANGE OF NAME Recorded Aug 20, 2025
From: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
To: NTT, INC.
Reel/Frame 072801/0812 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2022
From: HAMADA, KOKI
To: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Reel/Frame 059439/0375 →