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 .
DETAILED ACTION
The present application is being examined under the pre-AIA first to invent provisions.
This office action is in response to the documents filed on 12/15/2025. Claims 1, 15 – 16 and 20 have been amended. Claims 1 – 20 dated by 12/15/2025 are pending for consideration.
Response to Arguments
Applicant's arguments in Arguments/Remarks filed on 12/15/2025 (hereafter Remarks) referring to the Office Action on 09/19/2025 (hereafter OA) have been fully considered but they are not persuasive.
On p. 6 of the Remarks Applicant argued that limitation “invariable partially-calculated input values” is not presented in the inventor’s thesis referred in OA as a prior art, PA, thus indicating novelty of the application.
Examiner respectfully disagrees. The recited limitation is formulated very broadly. The idea to modify input values by using a constant, invariable, part of the input to reduce a number of computation cycles and to improve efficiency and performance of hashing algorithm is not new, as it has been disclosed by V2009 (used in updated OA as a new ground of rejection) that input values, the messages, could be divided into a few blocks, i.e., portions, and a constant, i.e., invariable, part of the input value was processed to reduce a number of computations and to improve efficiency and performance of the hashing algorithm, V2009, [0062] and Figs. 2,3. Also see e.g., Condorelli US_7151829.
On p. 8 of the Remarks, Applicant brought additional arguments in support of the statement of originality of the application referring to para. [0022, 0089] of the SPECS and disclosed more details for determination of the constant, invariable part of the message.
Examiner respectfully notes, that, in accordance with MPEP, the examination of the application is based not on SPECS but on claims only. The broadly formulated limitations in claims resulted in broad reasonable interpretation of the claims causing further rejection as indicated in the updated OA.
Other arguments are moot in view of new ground of rejection. Accordingly, rejections under 103 maintained.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1 – 3, and 8 – 20 are rejected under 35 U.S.C. 103 as being unpatentable over R. P. Naik. Optimising the SHA256 Hashing Algorithm for Faster and More Efficient Bitcoin Mining. MS thesis. Information Security at University College London (2013) (hereafter Naik) and in view of Vijayarangan (US 20090262925) (hereafter V2009).
As per claim 1 Naik discloses: A method of performing cryptographic hashing in respect of plural different input messages to be hashed (Naik in sec 6 discloses cryptographic method comprising hashing of a plurality of distinct input messages such as hashPrevBlock, hashMerkleRoot, Timestamp, see e.g. Figs. 1 and 4 of instant application that are identical to Figs. 2 and 5 of Naik, respectively),
and also using one or more values based on one or more variable portions of the subsequent input message to be hashed, (Naik, in sec. 6.3 discloses that inputs of compression function are based on pre-calculated and stored values, e.g. H0, i.e., partially-calculated parts of inputs, as depicted in Fig. 9),
wherein corresponding ones of the variable portions do vary across the plural different input messages to be hashed; and provide the set of fully-calculated input values for use when performing the cryptographic compression function in respect of the subsequent input message (Naik, in sec. 6.4 discloses variable portions of the hash values for different input values, e.g. of A and E values, computed using disclosed algorithm for different nonces).
Naik failed to specifically disclose creation and usage of invariable part of the modified inputs to reduce number of calculations.
However, V2009 discloses: the method comprising: causing a message scheduler to: calculate a set of one or more invariable partially-calculated input values (V2009 discloses in para. [0069] and in Figs. 2, 3 usage of a constant value as a part of the modified input for the hashing)
for a cryptographic compression function using one or more values based on one or more invariable portions of an initial input message to be hashed, wherein corresponding ones of the invariable portions do not vary across the plural different input messages to be hashed; and for each of one or more subsequent input messages to be hashed: a set of fully-calculated input values for the cryptographic compression function, wherein calculating the set of fully-calculated input values comprises performing calculations reusing one or more of the invariable partially-calculated input values to reduce the number of calculations (V2009 discloses in para. [0140-0142] and in Figs. 1, modifications of the inputs for hashing comprising padding with divisions of the incoming message into a number of blocks, i.e., parts, the modified message includes constant, invariable, portion thus representing partially calculated inputs as depicted in Figs. 2, 3. The disclosed modification reduce number of computation cycles [0034]).
It would have been obvious to one having ordinary skill in the art, before the effective filing date of the claimed invention to modify Naik, in view of teaching of V2009 because they both disclose hashing algorithm optimization by modifying input messages to optimize hashing algorithm. The motivation to combine would be to modify method of Naik by using of a constant, invariable, part of inputs in order to improve efficiency of the hashing.
As per claim 2 Naik as modified discloses: The method as claimed in claim 1, wherein the cryptographic hashing is performed when mining for Bitcoin (Naik, in sec. 2.3 discloses cryptographic method with mining for Bitcoin).
As per claim 3 Naik as modified discloses: The method as claimed in claim 1, wherein the plural different input messages to be hashed each correspond to a different Bitcoin Block Header (Naik, in sec. 5.1 discloses that the hashed input messages correspond to Bitcoin Block Header according to the hashing algorithm).
As per claim 8 Naik as modified discloses: The method as claimed in claim 1, wherein the plural different input messages to be hashed each comprise part of a HashMerkleRoot field, a Timestamp field, a Target field, a Nonce field, and a Padding + Length field (Naik, in sec. 5.2 discloses all listed fields as parts of block headers for data inputs processing).
As per claim 9 Naik as modified discloses: The method as claimed in claim 8, wherein the one or more invariable portions correspond to at least one of the part of the HashMerkleRoot field; the Timestamp field; the Target field; and/or the Padding + Length field (Naik, in sec. 6.1 discloses usage of unchanged or fixed, i.e., invariable, HashPrevBlock field).
As per claim 10 Naik as modified discloses: The method as claimed in claim 8, wherein the one or more variable portions correspond to the Nonce field (Naik, in sec. 6.4 discloses variable portions of the hash values for different input values, e.g. of A and E values, computed using disclosed algorithm for different nonces).
As per claim 11 Naik as modified discloses: The method as claimed in claim 8, wherein the Nonce field is incremented across the plural different input messages (Naik, in sec. 6.4 discloses usage of SHA256 algorithm including incremental of specified input fields.).
As per claim 12 Naik as modified discloses: The method as claimed in claim 1, wherein the plural different input messages to be hashed each comprise a Message Digest field and a Padding + Length field (Naik, in secs. 5.1, 5.2 discloses inputs comprising various fields such as Message Digest field and a Padding + Length field).
As per claim 13 Naik as modified discloses: The method as claimed in claim 12, wherein the one or more invariable portions correspond to the Padding + Length field (Naik, in sec. 6.1 discloses usage of unchanged or fixed the Padding + Length field).
As per claim 14 Naik as modified discloses: The method as claimed in claim 12, wherein the one or more variable portions correspond to the Message Digest field. (Naik, in sec. 3.2.3 discloses variables corresponding to the message digest field).
As per claim 15 Naik as modified discloses: The method as claimed in claim1, wherein calculation of a partially-calculated input value of the set of one or more invariable partially-calculated input values comprises performing some, but not all, of the operations in a message scheduling calculation (V2009 discloses in para. [0140-0142] and in Figs. 1, modifications of the inputs for hashing comprising padding with divisions of the incoming message into a number of blocks, i.e., parts, the modified message includes constant, invariable, portion thus representing partially calculated inputs as depicted in Figs. 2, 3. The disclosed modification reduce number of computation cycles [0034]).
It would have been obvious to one having ordinary skill in the art, before the effective filing date of the claimed invention to modify Naik, in view of teaching of V2009 because they both disclose hashing algorithm optimization by modifying input messages to optimize hashing algorithm. The motivation to combine would be to modify method of Naik by using of a constant, invariable, part of inputs in order to improve efficiency of the hashing.
As per claim 16 Naik as modified discloses: The method as claimed in claim 1, wherein calculation of a partially- calculated input value of the set of one or more invariable partially-calculated input values comprises performing one or more of: an add operation; a bitwise rotate right (ROTR) operation; a bitwise shift right (SHR) operation; and a bitwise exclusive OR (®) operation. (V2009 discloses in para. [0140-0142] and in Figs. 1, modifications of the inputs for hashing comprising padding with divisions of the incoming message into a number of blocks, i.e., parts, the modified message includes constant, invariable, portion thus representing partially calculated inputs as depicted in Figs. 2, 3. The disclosed modification reduce number of computation cycles [0034]).
It would have been obvious to one having ordinary skill in the art, before the effective filing date of the claimed invention to modify Naik, in view of teaching of V2009 because they both disclose hashing algorithm optimization by modifying input messages to optimize hashing algorithm. The motivation to combine would be to modify method of Naik by using of a constant, invariable, part of inputs in order to improve efficiency of the hashing.
As per claim 17 Naik discloses: The method as claimed in claim1, wherein calculation of a fully-calculated input value of the set of fully-calculated input values comprises performing some, but not all, of the operations in a message scheduling calculation (Naik, in sec. 3.2.2 discloses operations of SHA256 message compression functions performing computation of input values comprising various operations of a message scheduler).
As per claim 18 Naik as modified discloses: The method as claimed in claim1, wherein calculation of a fully-calculated input value of the set of fully-calculated input values comprises performing one or more of: an add operation; a bitwise rotate right (ROTR) operation; a bitwise shift right (SHR) operation; and a bitwise exclusive OR (®) operation (Naik, in sec. 3.2.3 discloses preprocessing stage comprising logical functions including bitwise rotating, exclusive OR and shifting operations).
As per claim 19 Naik as modified discloses: The method as claimed in claim1, wherein calculating the set of one or more fully-calculated input values for a subsequent input message comprises calculating a first set of fully-calculated input values for the subsequent input message and calculating a second set of fully-calculated input values for the subsequent input message, wherein calculation of the first set of fully-calculated input values is performed in parallel with calculation of the second set of fully-calculated input values (Naik, in sec. 3.2 discloses application of SHA256 hashing algorithm; processing of the respective input messages in parallel, i.e., optimization of hashing algorithm is disclosed in sec. 6.1).
As per claim 20, claim 20 encompasses same or similar scope as claim 1. Therefore, claim 20 is rejected based on the same reasons set forth above in rejecting claim 1.
Claims 4 – 7 are rejected under 35 U.S.C. 103 as being unpatentable over R. P. Naik. Optimising the SHA256 Hashing Algorithm for Faster and More Efficient Bitcoin Mining. MS thesis. Information Security at University College London (2013) (hereafter Naik) in view of Vijayarangan (US 20090262925) (hereafter V2009) and in view of N. T. Courtious et al. Optimizing SHA256 in Bitcoin Mining. CSS 2014, CCIS 448, pp. 131-144. Springer-Verlag, Berlin, Heidelberg, 2014. (hereafter Courtious).
As per claim 4 Naik as modified discloses: The method as claimed in any one of claim1, wherein the plural different input messages to be hashed [each comprise a Version field], a HashPrevBlock field, and part of a HashMerkleRoot field (Naik, in sec. 5.2.1 – 5.2.3 discloses usage of HashPrevBlock and HashMerkleRoot fields, respectively; the HashMerkleRoot field could be changed, i.e., included partially, as disclosed in sec. 5.2.6).
Naik as modified failed to explicitly disclose: processing of the version field for input messages by applying the encryption algorithm. However, Courtious discloses: each comprise a Version field (Courtious, in sec. 2.4 discloses a processing of version field within a Constrained Input Small Output (CISO) hashing problem).
It would have been obvious to one having ordinary skill in the art, before the effective filing date of the claimed invention to modify Naik, in view of teaching of Courtious because they both disclose hashing algorithm optimization by input messages processing including different specified fields. The motivation to combine would be to modify method of Naik for inclusion of a version field by input messages encryption.
As per claim 5 Naik as modified discloses: The method as claimed in claim 4, wherein the one or more invariable portions correspond to at least one of the HashPrevBlock field, and/or to the part of the HashMerkleRoot field (Naik, in sec. 6.1 discloses usage of unchanged or fixed, i.e., invariable, HashPrevBlock field).
As per claim 6 Naik as modified discloses: The method as claimed in claim 4, wherein the one or more variable portions correspond to the Version field (Courtious, in sec. 2.4 discloses a processing of version field within a Constrained Input Small Output (CISO) hashing problem) (Courtious, in sec. 3 and Fig. 2 discloses usage of version field as a part of variable portion).
It would have been obvious to one having ordinary skill in the art, before the effective filing date of the claimed invention to modify Naik, in view of teaching of Courtious because they both disclose hashing algorithm optimization by input messages processing including different specified fields. The motivation to combine would be to modify method of Naik for inclusion of a version field by input messages encryption.
As per claim 7 Naik as modified discloses: The method as claimed in claim 4, wherein the Version field is incremented across the plural different input messages. (Naik, in sec. 6.4 discloses usage of SHA256 algorithm including incremental of specified input fields in input messages).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure: Condorelli US_7151829.
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 extension fee 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 VLADIMIR IVANOVICH GAVRILENKO whose telephone number is (313) 446-6530. The examiner can normally be reached on Monday-Friday 7:30-4:30 EST.
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, Lynn Feild can be reached on (571) 272-2092. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see https://ppair-my.uspto.gov/pair/PrivatePair. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Vladimir I. Gavrilenko/Examiner, Art Unit 2431
/SHIN-HON (ERIC) CHEN/Primary Examiner, Art Unit 2431