US 12,362,904 B2
Homomorphic encryption operation accelerator, and operating method of homomorphic encryption operation accelerator
Hongrak Son, Anyang-si (KR); Sangpyo Kim, Suwon-si (KR); Jongmin Kim, Seoul (KR); Jungho Ahn, Seoul (KR); Hanbyeul Na, Yongin-si (KR); Youngsik Moon, Suwon-si (KR); and Junho Shin, Suwon-si (KR)
Assigned to Samsung Electronics Co., Ltd., Gyeonggi-do (KR); and Seoul National University R&DB Foundation, Seoul (KR)
Filed by Samsung Electronics Co., Ltd., Suwon-si (KR)
Filed on Oct. 18, 2022, as Appl. No. 17/968,375.
Claims priority of application No. 10-2022-0021622 (KR), filed on Feb. 18, 2022; and application No. 10-2022-0048140 (KR), filed on Apr. 19, 2022.
Prior Publication US 2023/0269067 A1, Aug. 24, 2023
Int. Cl. H04L 9/00 (2022.01); G06F 7/72 (2006.01); H04L 9/06 (2006.01)
CPC H04L 9/008 (2013.01) [G06F 7/722 (2013.01); H04L 9/0618 (2013.01); H04L 2209/122 (2013.01)] 17 Claims
OG exemplary drawing
 
9. An operating method of a homomorphic encryption operation accelerator located within a cloud server, the method comprising:
receiving at the cloud server, a search request to perform a search for existence of an original data at the cloud server from a user device, the request comprising an encrypted original data;
in response to receiving the search request and the encrypted original data, performing, by the homomorphic encryption operation accelerator, a number of theoretic transform (NTT) operations on a number of polynomials included in the encrypted original data received from the user device and encrypted data stored at the cloud server, in parallel with a base conversion operation, wherein the base conversion operation is a conversion of a base set on an NTT domain into a base set of a residue number system (RNS) to accelerate the search by,
storing, in a first level register file, first data to be used for a base conversion operation, wherein the first data is a first polynomial corresponding to the encrypted original data;
moving second data of the first level register file to a transposing unit, the second data is a second polynomial corresponding to the encrypted data stored, the second data being included in the first data;
moving the second data from the transposing unit to a second level register file;
performing an NTT operation on the first and second polynomials in parallel with a modular multiplication and accumulation operation using the second data stored in the second level register file;
determining whether the second data stored in the second level register file is exhausted;
determining whether the first data stored in the first level register file is exhausted in response to the second data stored in the second level register file being exhausted;
determining whether the base conversion operation is completed and has generated a rescaled ciphertext, in response to the first data stored in the first level register file being exhausted;
transmitting, over a communication channel, an instruction to the user device to decrypt the rescaled ciphertext to generate a decrypted result; and
enabling, by the homomorphic encryption operation accelerator, the user device to determine of the existence of the original data at the cloud server based on the decrypted result without the homomorphic encryption operation accelerator accessing the decrypted result.