Patent ID: 11971998
Assignee: HITACHI, LTD.
Field: Digital communication (Electrical engineering)
Classification: CPC G  H | IPC G  H

Claim 6:
7. A browsing computer for an encrypted data comparison system including a registration computer and a data comparison computer, the browsing computer comprising:
a processor;
a memory storing first instructions; and
a network interface,

wherein a registration target numerical value is expressed by N bits with or without 0 padding, wherein an N-th bit is a MSB, and a first bit is a LSB, wherein a processor of the registration computer is configured:
(1) for each i-th bit of the N bits expressing the registration target numerical value:
(1a) extract the N-th bit through the i-th bit of the N bits expressing the registration target numerical value,
(1b) obtain a first hash value of the extracted bits of (1a) using a hash key which is shared by the browsing computer,
(1c) obtain a second hash value of the first hash value using a certain random number,
(1d) XOR the second hash value and i-th bit, and
(1e) shuffle a storing position of the XORed second hash value in registration target encrypted data based on a shuffle key,

(2) using the shuffled storing positions of (1e), generate the registration target encrypted data including the XORed second hash value of (1d) and the certain random number, and
(3) send the registration target encrypted data to the data comparison computer, for storing the registration target encrypted data in the data comparison computer,
wherein a comparison condition numerical value is expressed by N bits, wherein an N-th bit is a MSB, and a first bit is a LSB,
wherein the first instructions, when executed, cause, the processor of the browsing computer to:
(A) obtain the hash key and the shuffle key,
(B) for each k-th bit of the N bits expressing the comparison condition numerical value:
(Ba) extract the N-th bit through the k-th bit from the N bits expressing the comparison condition numerical value,
(Bb) XOR the extracted bits of (Ba) and 1,
(Bc) obtain a third hash value of the XORed extracted bits of (Bb) using the hash key, and
(Bd) shuffle a storing position of the third hash value in an encrypted query based on the shuffle key,

(C) generate the encrypted query including the third hash value of (Bc), using the shuffled storing position of (Bd), in the memory, and
(D) send the encrypted query to the data comparison computer using the network interface for the data comparison computer performing to data comparison processing, and
(E) receive result data of the data comparison processing using the network interface,
wherein as the data comparison processing, a processor of the data comparison computer is configured to:
((a)) compare the registration target encrypted data with the encrypted query without using the hash key and the shuffle key for acquiring a comparison result that indicates:
the registration target numerical value is greater than the comparison condition numerical value,
the registration target numerical value is equal to the comparison condition numerical value, or
the registration target numerical value is less than the comparison condition numerical value, and

((b)) generate the result data based on the comparison result acquired in ((a)), and
wherein, as the comparison of the registration target encrypted data with the encrypted query in ((a)), the processor of the data comparison computer is configured:
((aA)) obtain the certain random number from the registration target encrypted data, and
((aB)) with changing variable q between 1 and N:
((aBa)) obtain a q-th XORed second hash value stored in a q-th postion of the registration target encrypted data,
((aBb)) obtain a q-th third hash value stored in a q-th position of the encrypted query,
((aBc)) obtain a fourth hash value of the q-th third hash value using the certain random number, and
((aBd)) for acquiring the comparison result of ((a)), XOR the q-th XORed hash value and the fourth hash value.