US 12,323,521 B2
Processor with an elliptic curve cryptographic algorithm and a data processing method thereof
Yanting Li, Beijing (CN); Zhenhua Huang, Beijing (CN); Yingbing Guan, Shanghai (CN); Yun Shen, Beijing (CN); Lei Yi, Xi'an (CN); and Shuang Yang, Shanghai (CN)
Assigned to SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD., Shanghai (CN)
Filed by Shanghai Zhaoxin Semiconductor Co., Ltd., Shanghai (CN)
Filed on Jun. 10, 2022, as Appl. No. 17/837,559.
Claims priority of application No. 202111019627.8 (CN), filed on Sep. 1, 2021.
Prior Publication US 2023/0083411 A1, Mar. 16, 2023
Int. Cl. H04L 9/30 (2006.01); G06F 9/30 (2018.01)
CPC H04L 9/3066 (2013.01) [G06F 9/30101 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A processor with an elliptic curve cryptographic algorithm, comprising:
a cryptographic unit;
a set of architectural registers including a first register, wherein the first register stores a public key pointer that points to a public key;
a microcode storage device, storing microcode; and
a decoder, generating a plurality of microinstructions based on the microcode in response to a single elliptic curve cryptographic instruction;
wherein in response to the single elliptic curve cryptographic instruction of an instruction set architecture, the processor reads a plaintext input from a first storage space within a system memory, performing an encryption procedure using the elliptic curve cryptographic algorithm on the plaintext input based on the public key obtained by referring to the first register to encrypt the plaintext input and to generate a ciphertext output, and programming the ciphertext output into a second storage space within the system memory,
wherein, according to the microinstructions:
the set of architectural registers is defined, read and updated; and
when a register in the set of architectural registers provides a control word indicating an encryption code, the cryptographic unit using the set of architectural registers performs the encryption procedure using the elliptic curve cryptographic algorithm on the plaintext input based on the public key.