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
This Office Action is in response to the application 18/919,612 filed on 10/18/2024.
Claims 1-16 have been examined and are pending.
Priority
This application is a divisional of U.S. Patent Application Serial No. 17/837,649, filed June 10, 2022, which claims priority of China patent application No. 202111020387.3 filed on September 1st, 2021.
Information Disclosure Statement
The information disclosure statement (IDS), submitted on 05/28/2025, 04/23/2025, 02/12/2025, 12/06/2024 and 10/18/2024, are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Claim Rejections - 35 USC § 103
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 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 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 of this title, 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.
Claims 1-4, 6 and 13-15 are rejected under 35 U.S.C. 103 as being unpatentable over Rahimi (US 2019/0245686) and in view of Jung (US 2023/0030805).
Regarding claim 1, Rahimi discloses a processor with the elliptic curve cryptographic algorithm designed for a responder of key exchange (Rahimi par. 0016 and 0047; The key stored in a key register may be, for example, an Advanced Encryption Standard (AES) key (either 128, 192 or 256-bit), or an Elliptic-curve cryptography (ECC) private key (e.g., an ECC key that conforms to the NIST P-256—or other standardized/unstandardized ECC curves. Perform elliptic-curve Diffie-Hellman key exchange using PCR value), and comprising:
a first register and a second register (Rahimi Fig. 1(131-135) and par. 0056),
wherein: the second register stores a key exchange information pointer, pointing to key exchange information stored in a system memory, wherein the key exchange information includes a first temporary public key provided by an initiator of the key exchange, an initiator processor executes a first elliptic curve cryptographic instruction of an instruction set architecture to perform a first key exchange procedure using the elliptic curve cryptographic algorithm and thereby generate the first temporary public key (Rahimi par. 0016, 0024, 0044 and 0047; In an embodiment, based on one or more commands received via interface 130, a randomly generated cryptographic key having an attribute that indicates the randomly generated cryptographic key is statistically unique among other cryptographic key management systems may be written to a cryptographic key register 131-135. Derive an ECC public key. Input: key register identifier storing an ECC private key. Perform elliptic-curve Diffie-Hellman key exchange using PCR value. Inputs: ECC private key register identifier, PCR register identifier, destination register identifier, public key value, destination attributes. Notes: This operation uses the key in the specified register private key to perform elliptic-curve Diffie-Hellman key exchange with the supplied public key);
the first register stores a key pointer, pointing to the system memory for storage of a responder-generated shared key and a second temporary public key (Rahimi par. 0026and 0047; In an embodiment, based on one or more commands received via interface 130, a cryptographic key and associated set of attributes from an encrypted cryptographic data block are decrypted using a cryptographic key stored in a cryptographic register (e.g., key register 131) and written to another (or the same) key register (e.g., key register 132).This operation does not allow the attributes stored in the destination key register to indicate the key is a device specific secret key);
in response to a second elliptic curve cryptographic instruction, the processor performs a second key exchange procedure using the elliptic curve cryptographic algorithm to generate a random number as a temporary private key, to process an elliptic curve base point using the temporary private key to generate the second temporary public key, to obtain the first temporary public key by referring to, and to program the second temporary public key and the responder-generated shared key into the system memory as indicated by the first register (Rahimi par. 0076 and 0077; The system of example 1, wherein, based on one or more commands received via the interface, a derived cryptographic key and an associated set of attributes are to be written to a second cryptographic key register, the derived cryptographic key being generated by the processing circuitry based at least in part on the first cryptographic key stored in the first cryptographic key register. Wherein, based on one or more commands received via the interface, a second cryptographic key and associated set of attributes from an encrypted cryptographic data block are to be written to a second cryptographic key register); and
the second temporary public key is read by the initiator processor to execute a third elliptic curve cryptographic instruction to perform a third key exchange procedure using the elliptic curve cryptographic algorithm for generation of an initiator-generated shared key (Rahimi par. 0047, 0076 and 0077; Perform elliptic-curve Diffie-Hellman key exchange using PCR value. Inputs: ECC private key register identifier, PCR register identifier, destination register identifier, public key value, destination attributes. Notes: This operation uses the key in the specified register private key to perform elliptic-curve Diffie-Hellman key exchange with the supplied public key. The resulting elliptic-curves point's coordinates are concatenated with the PCR value from the specified PCR slot number, and the provided destination attributes to form a key which is placed into the destination key register. The destination attributes are placed in the destination key slot attribute field. This operation is only performed if the attributes of the ECC private key allow it to be used for elliptic-curve Diffie-Hellman key exchange. The system of example 1, wherein, based on one or more commands received via the interface, a derived cryptographic key and an associated set of attributes are to be written to a second cryptographic key register, the derived cryptographic key being generated by the processing circuitry based at least in part on the first cryptographic key stored in the first cryptographic key register. Wherein, based on one or more commands received via the interface, a second cryptographic key and associated set of attributes from an encrypted cryptographic data block are to be written to a second cryptographic key register. See also par. 0030).
Rahimi teaches, the second temporary public key is read by the initiator processor to execute a third elliptic curve cryptographic instruction to perform a third key exchange procedure using the elliptic curve cryptographic algorithm for generation of an initiator-generated shared key (Rahimi par. 0076 and 0077). However, Rahimi does not explicitly disclose the second register, to generate the responder-generated shared key based on the first temporary public key and the second temporary public key.
However, in an analogous art, Jung teaches wherein the second register, to generate the responder-generated shared key based on the first temporary public key and the second temporary public key (Jung par. 0073; the diagnostic device 120 may exchange the first public key and the second public key with each other to generate the shared key capable of encoding a decoding data. When exchanging the first public key and the second public key to generate the shared key, the vehicle control apparatus 110 and the diagnostic device 120 may use an elliptic-curve Diffie-Hellman (ECDH) algorithm. See also par. 0098).
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the teachings of Jung with the method and system of Rahimi, wherein the second register, to generate the responder-generated shared key based on the first temporary public key and the second temporary public key to provide users with a means for encoding data based on the shared key and transmits the encoded data (Jung abstract).
Regarding claim 2, Rahimi and Jung disclose the processor with the elliptic curve cryptographic algorithm as claimed in claim 1,
Rahimi further discloses wherein: parameters used in the second elliptic curve cryptographic instruction include the key exchange information pointer, a shared key length, and the shared key pointer (Rahimi par. 0016; ATR circuitry 101 uses key registers 130 to hold cryptographic keys in key portions 131a-135a and associated key attributes in attribute portions 131b-135b. PCRs 120 hold measurements. The N number of key registers 130, (a.k.a., key slots) and M number of PCRs 120 in ATR circuitry 101 is implementation defined. In an embodiment, a minimum of 16 key registers and 4 PCRs are defined. Each key portion 131a-135a may be, for example, 256 bits wide. Each attribute portion may be, for example, extra 24 bits wide. PCR registers 120 may be, for example, 256 bits wide. The key stored in a key register may be, for example, an Advanced Encryption Standard (AES) key (either 128, 192 or 256-bit), or an Elliptic-curve cryptography (ECC) private key (e.g., an ECC key that conforms to the NIST P-256—or other standardized/unstandardized ECC curves).
Regarding claim 3, Rahimi and Jung disclose the processor with the elliptic curve cryptographic algorithm as claimed in claim 1,
Rahimi further discloses further comprising: a third register, storing an intermediate variable pointer; wherein an intermediate variable generated by the processor during the second key exchange procedure is stored in the system memory as indicated by the intermediate variable pointer obtained from the third register (Rahimi Fig. 1(131-135), par. 0016 and 0047; The key stored in a key register may be, for example, an Advanced Encryption Standard (AES) key (either 128, 192 or 256-bit), or an Elliptic-curve cryptography (ECC) private key (e.g., an ECC key that conforms to the NIST P-256—or other standardized/unstandardized ECC curves. Perform elliptic-curve Diffie-Hellman key exchange using PCR value. See also par. 0056).
Regarding claim 4, Rahimi and Jung disclose the processor with the elliptic curve cryptographic algorithm as claimed in claim 1,
Rahimi further discloses further comprising: a fourth register, storing a shared key length (Rahimi Fig. 1(131-135) and par. 0016, 0042 and 0047; Encrypt using AES. Inputs: encryption key register identifier, AES mode, length of data, pointer to plaintext source, pointer to ciphertext destination, initial value (if needed). Perform elliptic-curve Diffie-Hellman key exchange using PCR value. See also par. 0056).
Regarding claim 13, Rahimi and Jung disclose the processor with the elliptic curve cryptographic algorithm as claimed in claim 6,
Rahimi further discloses wherein: the cryptographic unit includes a random number generator; the microinstructions further include a random number generation microinstruction, operating the random number generator to generate the random number (Rahimi par. 0023-0024; In an embodiment, based on one or more commands received via interface 130, a randomly generated cryptographic key and an associated set of attributes may be written to a cryptographic key register 131-135 where the randomly generated cryptographic key is generated by processing circuitry 110. This is illustrated notionally in FIG. 2D. In FIG. 2D, one or more commands 295d are provided to interface 230 for provision to processing circuitry 210. In response, processing circuitry 210 creates a random key 252 using random number generator circuitry 211. Random key 252 and an associated set of attributes 242 (e.g., provided at least in part by a command 295d) are combined into a key register write value 262 that is written to key register 231).
Regarding claims 14-15; claims 14-15 are directed to non-transitory computer readable storage medium associated with the system claimed in claims 1-2 respectively. Claims 14-15 are similar in scope to claims 1-2 respectively, and are therefore rejected under similar rationale respectively.
Claims 5-6 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Rahimi (US 2019/0245686), in view of Jung (US 2023/0030805) and further in view of Ducharme (US 2012/0221852).
Regarding claim 5, Rahimi and Jung disclose the processor with the elliptic curve cryptographic algorithm as claimed in claim 1,
Rahimi and Jung failed to disclose but Ducharme discloses further comprising: a fifth register, storing a control word; wherein, for execution of the second elliptic curve cryptographic instruction, the control word stored in the fifth register indicates to perform the second key exchange procedure (Ducharme par. 0160 In an embodiment of the present invention, the content source generates cryptographic data and sends the cryptographic data and the scrambled media content to the caching server. The caching server forwards the cryptographic data and the scrambled media content to at least one client device. At least one client device generates the scrambling control word for descrambling the scrambled media content based on the proxy data and the cryptographic data. The proxy data and the cryptographic data can be generated in accordance with a Rivest, Shamir, Adelman (RSA) cryptography algorithm, an elliptic curve cryptography algorithm, or other cryptography algorithm. See also claim 10).
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the teachings of Ducharme with the method and system of Rahimi and Jung, storing a control word; wherein, for execution of the second elliptic curve cryptographic instruction, the control word stored in the fifth register indicates to perform the second key exchange procedure to provide users with a means for conceal or obfuscate the data from unauthorized access (Ducharme par. 0006).
Regarding claim 6, Rahimi and Jung disclose the processor with the elliptic curve cryptographic algorithm as claimed in claim 1,
Rahimi and Jung failed to disclose but Ducharme discloses further comprising: a cryptographic unit; a set of architectural registers including the first register and the second register; a microcode storage device, storing microcode; and a decoder, generating a plurality of microinstructions based on the microcode in response to the second elliptic curve cryptographic instruction; wherein: according to the microinstructions: the set of architectural registers is defined, read and updated; and when a register of the set of architectural registers provides a control word indicating a second key exchange code, the cryptographic unit using the set of architectural registers performs the second key exchange procedure (Ducharme par. 0160 In an embodiment of the present invention, the content source generates cryptographic data and sends the cryptographic data and the scrambled media content to the caching server. The caching server forwards the cryptographic data and the scrambled media content to at least one client device. At least one client device generates the scrambling control word for descrambling the scrambled media content based on the proxy data and the cryptographic data. The proxy data and the cryptographic data can be generated in accordance with a Rivest, Shamir, Adelman (RSA) cryptography algorithm, an elliptic curve cryptography algorithm, or other cryptography algorithm. See also claim 10).
Therefore, it would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to combine the teachings of Ducharme with the method and system of Rahimi and Jung, storing a control word; wherein, for execution of the second elliptic curve cryptographic instruction, the control word stored in the fifth register indicates to perform the second key exchange procedure to provide users with a means for conceal or obfuscate the data from unauthorized access (Ducharme par. 0006).
Regarding claim 16; claim 16 is directed to non-transitory computer readable storage medium associated with the system claimed in claim 6. Claim 16 is similar in scope to claim 6, and is therefore rejected under similar rationale respectively.
Allowable Subject Matter
Claims 7-12 objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SANCHIT K SARKER whose telephone number is (571)270-7907. The examiner can normally be reached M-F 8:30 AM-5:30 PM.
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, FARID HOMAYOUNMEHR can be reached at 571-272-3739. 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.
/SANCHIT K SARKER/Primary Examiner, Art Unit 2495