DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claims 1-4 are pending in this application. Claims 1-3 are currently amended; claim 4 is previously presented.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 1-4 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 1 recites “the inside object iterative calculation” in lines 29, 30, and 31. There is insufficient antecedent basis for this limitation in the claim. It is unclear whether this is supposed to be interpreted to refer to the object iterative calculation or to the inside iterative calculation or to something else. For purposes of examination, this is interpreted to refer to the inside iterative calculation. Claim 3 recites a similar limitation in lines 35-36, 36, and 37-38 and is rejected for the same reason. Claims 2 and 4 inherit the same deficiency as claim 1 by reason of dependence.
Claim 2 recites “the respective conditions” in line 4. There is insufficient antecedent basis for this limitation in the claim. For purposes of examination, this is interpreted as respective conditions.
Claim 3 recites “the object iterative computation” in line 23. There is insufficient antecedent basis for this limitation in the claim. For purposes of examination, this is interpreted as the object iterative calculation instead.
Claim 4 recites “the respective units” in line 2. There is insufficient antecedent basis for this limitation in the claim. For purposes of examination, this is interpreted as the processing circuitry instead.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim 3 is rejected under 35 U.S.C. 102(a)(1) as being anticipated by Molnar et al. (NPL – “The Program Counter Security Model: Automatic Detection and Removal of Control-Flow Side Channel Attacks”), hereinafter Molnar. Molnar is cited in the IDS submitted on 06/01/2023.
Regarding claim 3, Molnar teaches a secure multi-iterative computation method, comprising:
a secret initialization step in which processing circuitry 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" (Molnar page 9 loops section first paragraph “in many cases a constant upper bound can be established on the number of iterations”; page 21 theorem 5 “For every IncredibL program P, TProgram [[P]] consists only of straight-line code and (possibly nested) loops with straight-line bodies that run for a fixed constant number of iterations with no assignments to induction variables”; Fig. 1(b) line 1; the variables are initialized prior to the loop execution; page 4 line 6); and
a secure iterative computation step in which the processing circuitry outputs a result of performing an iterative calculation that is an object of calculation using an input and the predetermined number of iterations (Molnar page 3 section 2 paragraphs 1-3 “Programs will take two inputs, a key k and an input x; we write Pk(x) for the result of evaluating P on key k and input x”; page 8 section 5 paragraph 1 “Given a program P, the transformed program P’ is PC-secure and has the same input-output behavior as P on all inputs”; page 10 theorem 4; page 4 line 6),
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, processing circuitry 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 processing circuitry initializes a state of each inside iterative calculation to "pre-execution" and changes the state of the object iterative calculation to "execution running" (Molnar page 10 lines 2-4 “We transform the loop so that it always executes for the full number of iterations, but the results of any iterations that would not have occurred in the original program are discarded”; page 18 Rule forR1 and RuleforR2; page 22 case 4 “Suppose C = for I := n to n’ do C’. Just as in case 3, the conditional assignment in the transform of the for is reducible to I0 := 0. Hence, the evaluation of TCom[[C’]](Iif, I0) preserves σ and στ (Iif) by structural induction. If n > n’, then rule ForR2 applies and the proof is trivial. Otherwise, rule ForR1 applies”);
(ii) a secret update step which includes:
(a) a secret loop variable calculation step in which the processing circuitry 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 the inside iterative calculation, by performing processing of the processing circuitry with respect to each inside iterative calculation (Molnar page 10 lines 2-5 “We transform the loop so that it always executes for the full number of iterations, but the results of any iterations that would not have occurred in the original program are discarded. In essence, this can be thought of as prepending if (loop done) to every statement in the loop, and transforming break statements into conditional assignments to loop done”);
(b) a secret loop variable update step in which the processing circuitry 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" (Molnar page 10 lines 2-5 “We transform the loop so that it always executes for the full number of iterations, but the results of any iterations that would not have occurred in the original program are discarded. In essence, this can be thought of as prepending if (loop done) to every statement in the loop, and transforming break statements into conditional assignments to loop done”; page 9 middle and Fig. 6); and
(c) a secret end state reflection step in which the processing circuitry changes the state of the inside object iterative calculation to "end" when the state of the inside object iterative calculation is "execution running" and the value of the loop variable of the inside object iterative calculation satisfies a predetermined end condition, the processing circuitry performing processing of the object iterative calculation for the predetermined number of iterations (Molnar page 10 lines 1-4 “We transform the loop so that it always executes for the full number of iterations, but the results of any iterations that would not have occurred in the original program are discarded. In essence, this can be thought of as prepending if (loop done) to every statement in the loop and transforming break statements into conditional assignments to loop done”; Page 10 section 5.1 “IncredibL captures a memory-safe subset of C with only bounded loops, if statements, and straight-line assignments. Note that we do not allow any forms of recursion or unstructured control flow, as these may introduce unbounded iteration … Note that because loop bounds are known statically in IncredibL, we can in principle unroll all loops in any IncredibL program to obtain code with no branches”); and
(iii) a secret output calculation step in which the processing circuitry 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" (Molnar page 10 lines 3-4 “the results of any iterations that would not have occurred in the original program are discarded”; page 3 section 2 paragraphs 1-3 “Programs will take two inputs, a key k and an input x; we write Pk(x) for the result of evaluating P on key k and input x”; page 2 paragraph 4 “a source-to-source program transformation that takes a program P and produces a transformed program P0 with the same input-output behavior and with a guarantee that P0 will be program counter secure”).
Allowable Subject Matter
Claims 1-2 and 4 would be allowable if rewritten to overcome the 35 U.S.C. 112(b) rejection discussed above.
The following is a statement of reasons for the indication of allowable subject matter:
Examiner is persuaded and adopts Applicant’s arguments (see remarks page 10-11 submitted on 11/24/2025) that none of the prior art references cited, in combination with other limitations of the claims, explicitly teach or suggest, “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” as recited in claim 1 because in Molnar the for loops including nested for loops i.e., the iterative calculation(s) always executes for the full number of iterations.
Response to Arguments
In view of amendments made, the objection to the drawings, specification and claims has been withdrawn.
The amendments made has not addressed all the 35 U.S.C. 112(b) rejection discussed in the non-final office action submitted on 08/25/2025. Further, the amendments made raises new clarity issues as discussed above.
Applicant’s arguments, see remarks page 10-11, filed on 11/24/2025, with respect to the 35 U.S.C. 102(a)(1) rejection of claims 1-2 and 4 have been fully considered and are persuasive. The 35 U.S.C. 102(a)(1) rejection of claims 1-2 and 4 has been withdrawn.
Applicant's arguments filed 11/24/2025, see remarks page 11 with respect to the 35 U.S.C. 102(a)(1) rejection of claim 3 have been fully considered but they are not persuasive.
Applicant relied on the same argument for claims 1 and 3 that the limitations of (ii)(c) (i.e., the features of “a secret end state reflection step in which the processing circuitry changes the state of the inside object iterative calculation to "end" when the state of the inside object iterative calculation is "execution running" and the value of the loop variable of the inside object 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”) is not disclosed in Molnar.
Response: Examiner respectfully disagrees. See at least Molnar page 10 lines 2-3 discloses “We transform the loop so that it always executes for the full number of iterations”. Therefore, Molnar fairly discloses the claimed features of “the processing circuitry performing processing of the object iterative calculation for the predetermined number of iterations”. Further, the features of “a secret end state reflection step in which the processing circuitry changes the state of the inside object iterative calculation to "end" when the state of the inside object iterative calculation is "execution running" and the value of the loop variable of the inside object iterative calculation satisfies a predetermined end condition before reaching the predetermined number of iterations” is a contingent limitation that is only required (a) “when the object iterative calculation includes an inside iterative calculation” as recited in claim 3 lines 15-16; and is not required to be performed when the object iterative calculation does not include an inside iterative calculation; (b) “when the state of the inside object iterative calculation is "execution running"” and is not required when the state of the inside object iterative calculation is something else; and (c) when the value of the loop variable of the inside object iterative calculation satisfies a predetermined end condition before reaching the predetermined number of iterations” and is not required when the value of the loop variable of the inside object iterative calculation does not satisfy a predetermined end condition before reaching the predetermined number of iterations. Therefore, these features are disclosed by Molnar because they are not required by the claim (i.e., in the case of (a) Molnar discloses all of the limitations of (ii)(c) in at least page 10 lines 2-3 as discussed above. See also MPEP 2111.04 II for more information which discloses in part
“The broadest reasonable interpretation of a method (or process) claim having contingent limitations requires only those steps that must be performed and does not include steps that are not required to be performed because the condition(s) precedent are not met. For example, assume a method claim requires step A if a first condition happens and step B if a second condition happens. If the claimed invention may be practiced without either the first or second condition happening, then neither step A or B is required by the broadest reasonable interpretation of the claim. If the claimed invention requires the first condition to occur, then the broadest reasonable interpretation of the claim requires step A. If the claimed invention requires both the first and second conditions to occur, then the broadest reasonable interpretation of the claim requires both steps A and B.”
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Carlo Waje whose telephone number is (571)272-5767. The examiner can normally be reached 9:00-6:00 M-F.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, James Trujillo can be reached at (571) 272-3677. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Carlo Waje/Examiner, Art Unit 2182 (571)272-5767