Claims
- 1. A list matching method for extracting a common item among a plurality of lists using a computer, the method comprising:
reading from memory the lists to be processed; generating for each list read a list polynomial having roots equivalent to items of the list; generating an addition polynomial by adding the list polynomials; and generating an addition result containing an addition item constituted by a root of the addition polynomial.
- 2. The method of claim 1, further comprising:
generating a hash polynomial having a root obtained by adding the list polynomial with a one-way hash function; and generating a hash result containing a hash item constituted by subtracting the hash polynomial from the addition polynomial.
- 3. A list matching method for extracting a common item among a plurality of lists held by a plurality of information terminals within a network, the method comprising:
generating a terminal polynomial for each of the information terminals holding a terminal list, the terminal polynomial having roots equivalent to items of the terminal list; for each terminal, generating a resulting polynomial by adding the information terminal's respective terminal polynomial to a preceding polynomial, the preceding polynomial being received from a preceding information terminal specified in a set order, the resulting polynomial being passed to a subsequent information terminal specified in the set order; and generating a final list containing an item equivalent to a root of a final polynomial, the final polynomial being generated by a last information terminal specified in the set order.
- 4. The method of claim 3, wherein the last information terminal informs the subsequent information terminals of the generated final list.
- 5. A list matching method for extracting a common item among a plurality of lists held by a plurality of information terminals within a network, the method comprising:
generating a terminal polynomial for each of the information terminals holding a terminal list, the terminal polynomial having roots equivalent to items of the terminal list; adding the terminal polynomials through a distributed secret computation involving a plurality of servers in the network, the servers being arranged to be commonly used by the information terminals; and restoring by the information terminals a restored polynomial resulting from the addition of the terminal polynomials; and generating a result list containing an item equivalent to a root of the restored polynomial.
- 6. A list matching method for extracting a common item among a plurality of lists held by a plurality of information terminals interconnected via network, the method comprising:
generating a bivariate polynomial for each of the information terminals holding a terminal list, the bivariate polynomial based on a first polynomial having roots equivalent to items of the terminal list and a second polynomial with an order corresponding to a predetermined number of servers on the network; distributing the bivariate polynomial to the servers according to the second polynomial; adding the bivariate polynomials distributed to the servers into a resulting polynomial; sending the resulting polynomial to the information terminals; generating a restored polynomial from the resulting polynomial, the restored polynomial describing the lists held by the information terminals; and generating a final list containing an item equivalent to a root of the restored polynomial.
- 7. A list matching method for extracting a common item among a plurality of lists held by a plurality of information terminals within a network, the method comprising:
obtaining, by a predetermined information terminal, open information generated based on a polynomial having roots equivalent to the items of a first list held by another terminal; verifying, by the predetermined information terminal, the open information obtained from the another terminal; and determining, by the predetermined information terminal, a common item among the first list and a second list held by the information terminal, wherein the common item is based on the open information of the another terminal having the verified open information and a polynomial having roots equivalent to items of the second list.
- 8. The method of claim 7, further comprising:
generating, by the predetermined information terminal, predetermined information based on the polynomial generated from the second list and the open information; exchanging the predetermined information with the another terminal only when the open information passes verification; and determining the common item among the first list and the second list based on the exchanged predetermined information.
- 9. A network system comprising a server and a plurality of client terminals interconnected via a network, the system comprising:
a first client terminal configured to add a first polynomial to a second polynomial and to generate a resulting polynomial, the first polynomial describing a list to be matched, the second polynomial received from a second terminal via the network, the first client terminal further configured to transmit the resulting polynomial to a third client terminal; and a server configured to receive a total polynomial resulting from the addition of all the polynomials generated from the plurality of client terminals, the server configured to generate a list containing an item equivalent to a root of the total polynomial.
- 10. The system of claim 9, further comprising:
an initial client terminal predetermined to generate an initial polynomial describing an initial list to be matched and an arbitrary polynomial having a root equivalent to an arbitrary item, the initial client configured to transmit a beginning polynomial resulting from the addition of the initial polynomial and the arbitrary polynomial to another client terminal; and wherein the server is further configured to subtract the arbitrary polynomial from the total polynomial.
- 11. A network system comprising a plurality of information terminals and a plurality of interconnected via a network, the system comprising:
a server configured to perform a distributed secret computation on data transmitted from the information terminals and to send back the computation result to the information terminals; and an information terminal configured to transmit a polynomial describing a list to be matched to the servers in a distributive manner, receive the computation result from the server, restore a polynomial resulting from an addition of polynomials generated by the plurality of information terminals based on the computation result, and generate a list containing an item equivalent to a root of the restored polynomial.
- 12. The system of claim 11, wherein:
the number of information terminals is m and the number of items of the list is n; the information terminal is configured to generate a (n+1)-th order polynomial FYi(y) under conditions of FYi(li, . . . h)=0 and h=1, . . . , n, an arbitrary (k−1)-th order polynomial FXi(x) with a constant term being 0, and a bivariate polynomial Qi(x, y)=FXi(x)+FYi(y), and to transmit the polynomial Qi(j, y), where j=1, . . . , k, to k of the plurality of servers; and the server is configured to add all the polynomials Qi(j, y) received from the m information terminals and send back the addition result to the plurality of information terminals.
- 13. A network system comprising a plurality of information terminals that exchange information via a network, the system comprising:
a first information terminal configured to generate a polynomial having a root equivalent to an item of a list held by the terminal itself, generates and opens first information based on the polynomial and generates second information based on the polynomial; and a second information terminal that obtains and verifies said first information of said first information terminal, and if the verification is passed, obtains said second information from the first information terminal, and based on the first and second information and said polynomial generated from a list held by the terminal itself, determines a common item among the list used to generate the open information and the list held by the terminal itself.
- 14. The network system of claim 13, wherein said second information terminal generates a polynomial having roots equivalent to the items of the list held by the terminal itself and generates and opens first information based on the polynomial, and
said first information terminal generates said second information using said first information of said second information terminal, which is opened.
- 15. The network system of claim 13, further comprising:
a server that obtains encrypted data generated based on said first information of said first information terminal and the list held by said second information terminal, and determines, while keeping secret contents of the lists held by said first and second information terminals, a common item to the lists, wherein, if it is impossible to obtain said second information or to determine the common item to said lists based on said obtained second information, said second information terminal generates said encrypted data to transmit the same to said server and decrypts a response data from the server to obtain the common item to said lists.
- 16. A server for extracting a common item among a plurality of lists held by a plurality of information terminals interconnected via a network, the server comprising:
a communication unit for obtaining from the information terminals via the network a resulting polynomial from an addition of a plurality of polynomials describing the lists held by the plurality of information terminals; and a processing unit for generating a list containing an item equivalent to a root of the resulting polynomial.
- 17. A first information terminal connected to a second information terminal via a network, the first information terminal comprising:
a communication unit for exchanging data with the second information terminal via the network; a storage unit for storing a predetermined list; a processing unit for generating a polynomial having roots equivalent to items of the predetermined list and for processing the polynomial; and an output unit for outputting information on a resulting list containing an item equivalent to a root of a resulting polynomial from an addition of a plurality of polynomials.
- 18. A first information terminal connected to a second information terminal via a network, the first information comprising:
a storage unit for storing a predetermined list; a processing unit for generating a bivariate polynomial based on a first polynomial having roots equivalent to items of the predetermined list and a second polynomial having an order corresponding to a number of predetermined servers on the network; a communication unit for transmitting the bivariate polynomial to the predetermined servers based on the second polynomial in a distribution manner, and for receiving an addition result of the distributed polynomials from the servers; and an output unit for outputting information on a list containing an item equivalent to a root of a polynomial restored from the addition result received via the communication unit.
- 19. An information terminal connected to a network, the information terminal comprising:
a storage section for storing a predetermined list; a verification section for obtaining open information based on a terminal list held by another terminal via the network, and for verifying the open information; and a matching result output section for, based on the open information having passed the verification by the verification section and a polynomial having roots equivalent to the items of the predetermined list, determining a common item among the terminal list and the predetermined list.
- 20. The information terminal of claim 19, further comprising an open information generation section for generating open information based on the terminal polynomial, wherein if the open information of the another terminal passes the verification by the verification section, the matching result output section obtains, from the another terminal, predetermined information generated based on the open information of the information terminal generated by the open information generation section and the terminal list, and determining the common item to the terminal list and the predetermined list based on the predetermined information.
- 21. The information terminal of claim 20, further comprising:
an exception processing request section for, if it is impossible to obtain the predetermined information or to determine the common item, generating encrypted data based on the open information of the another terminal and the predetermined list, and transmitting an exception processing request based on the encrypted data to a predetermined server; and an exception processing result output section for decrypting the processing result the to obtain the common item.
- 22. A computer program product embodied in a tangible media comprising:
computer readable program codes coupled to the tangible media, the computer readable program codes configured to cause the program to: input a predetermined list from a memory and generate a bivariate polynomial based on a first polynomial describing the predetermined list and a second polynomial having an order corresponding to a number of predetermined servers; transmit the bivariate polynomial to the predetermined servers via a network interface in a distribution manner based on the second polynomial; and restore a resulting polynomial from a distribution secret computation result received from the servers and generate a resulting list containing an item equivalent to a root of the resulting polynomial.
- 23. A computer program embodied in a tangible media for controlling a computer connected to a network, the computer program comprising:
a communication unit for obtaining open information based on a list held by an information terminal via the network; a verification unit for verifying the open information obtained via the communication unit; and a matching result output unit for, based on the open information having passed the verification by the verification unit and a polynomial having roots equivalent to the items of the list stored in a predetermined storage device, determining a common item among a list used to generate the open information and the list stored in the storage device.
- 24. A computer program product embodied in a tangible media comprising:
computer readable program codes coupled to the tangible media, the computer readable program codes configured to cause the program to: input a predetermined list from a memory and generate a bivariate polynomial based on a fist polynomial describing the list and a second polynomial having an order corresponding to a number of predetermined servers; transmit the bivariate polynomial to the predetermined servers via a network interface in a distribution manner based on the second polynomial; and restore a resulting polynomial from a distribution secret computation result received from the servers via the network interface and generate a list containing an item equivalent to a root of the resulting polynomial.
- 25. A computer program embodied in a tangible media for controlling a computer connected to a network, the computer program comprising:
a communication unit for obtaining open information based on a list held by another information terminal via the network; a verification unit for verifying the open information obtained via the communication unit; and a matching result output unit for, based on the open information having passed the verification by the verification unit and a polynomial having roots equivalent to the items of the list stored in a predetermined storage device, determining a common item among a list used to generate the open information and the list stored in the storage device.
Priority Claims (1)
Number |
Date |
Country |
Kind |
2002-191591 |
Jul 2002 |
JP |
|
RELATED APPLICATIONS
[0001] The present patent application claims a right of priority under 35 U.S.C §119 from Japanese Patent Application No. 2002-191591 filed Jul. 1, 2002.