US 11,728,966 B2
Method of constructing a semi-public key system in QAP-based homomorphic encryption
Zheng-Yao Su, Hsinchu (TW); and Ming-Chung Tsai, Hsinchu (TW)
Assigned to National Applied Research Laboratories, Hsinchu (TW)
Filed by National Applied Research Laboratories, Hsinchu (TW)
Filed on Dec. 10, 2021, as Appl. No. 17/547,570.
Claims priority of provisional application 63/270,633, filed on Oct. 22, 2021.
Claims priority of application No. 110142066 (TW), filed on Nov. 11, 2021.
Prior Publication US 2023/0128727 A1, Apr. 27, 2023
Int. Cl. H04L 9/00 (2022.01); H04L 9/08 (2006.01)
CPC H04L 9/008 (2013.01) [H04L 9/0869 (2013.01); H04L 2209/34 (2013.01)] 1 Claim
OG exemplary drawing
 
1. A method of constructing a semi-public key system in Quotient Algebra Partition (QAP)-based homomorphic encryption (HE), by an algebraic structure, QAP, and an arithmetic operation of homomorphic encryption, wherein the method comprises:
S1: encryption: comprising key generation and encoding;
S11: key generation: a data receiver generates a semi-public key, Keys-pub and a private key, Keypriv;
wherein the semi-public key Keys-pub, randomly generates an arbitrary k-qubit operation from a gigantic number of invertible gates of the same qubits;
the private key, Keypriv, for decryption is represented by Keypriv=custom characterP, which is a product of two k-qubit operators, custom character and P; wherein the semi-public key, Keys-pub is published in public space to transforming a plaintext to a ciphertext by anyone; and the private key, Keypriv, is retained by the data receiver to decrypt the encrypted ciphertext;
S12: encoding: a data provider provides a k-qubit plaintext, |xcustom character, a k-qubit operation Qp generated by the semi-public key, Keys-pub; an encoded state of ciphertext |ψencustom character=Qp|xcustom character with the same qubit length is obtained; the semi-public key, Keys-pub, encodes a binary string ζp, which is 1-to-1 correspondence to Qp according to a given code system Gcrypt, into an encrypted message En(ζp) and sends it to the data receiver through a communication channel of small resource; and the data provider sends the ciphertext |ψencustom character to a computation provider;
S2: Computation:
S21: a k-qubit arithmetic operation M is given to be operated and output a homomorphic encryption operation Uen enable to be conducted on the encrypted state |ψencustom character; after receiving the encrypted message En(ζp) from the data provider and obtaining the corresponding k-qubit operation Qp by the decryption process in Gcrypt, the data receiver produces a computational instructions of the homomorphic encryption operation Uen with a form:

OG Complex Work Unit Math
where QP=W1W2 is a product of a qubit permutation W1 and an operation W2 comprising of elementary gates (CNOTs, SWAPs, Toffolis, CSWAPs), Pj=0,1 and P are qubit permutations following the nilpotent condition PW1P1=I2n, and then sends Uen to the computation provider;
S22: the computation provider receives the computational instructions to computes Uenencustom character and an encrypted evaluation is obtained;
S3: Decryption:
the computation provider conducts homomorphic encryption computation Uenencustom character and sends the encrypted evaluation to the data receiver; the data receiver decrypts the evaluation by applying the private key Keypriv=custom characterP to the state Uenencustom character, which is written as custom characterPUenencustom character=M|xcustom character, and then obtains the unencoded result M|xcustom character.