US7979712B2

Network system, server and information terminal for list matching

Summary by NHIP

Polynomial list matching system

The method extracts common items by verifying open polynomial information and adding polynomials representing list items. Distinctive elements include representing list items as polynomial roots and using distributed secret computation to generate a resulting polynomial containing common item roots.

Claim Score by NHIP

Read claim 7, the broadest

Abstract

A method, apparatus and system to ensure the security in the information exchange and to provide list matching with higher efficiency and practicality. In a particular embodiment, each of lists to be subject to list matching is represented as a polynomial having roots equivalent to the items of the list. Then, polynomials generated for the lists to be subject to list matching are added according to a distributed secret computation. A list containing an item equivalent to a root of a polynomial resulting from the addition is created and output as the list of a common item.

US7979712B2, drawing sheet 1
Sheet 1 of 66

Term

Projected expiry 17 April 2030.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Projected expiry

16 claims: 11 independent, 5 dependent

  1. 1
    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.
  2. 3
    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.
  3. 5
    A network system comprising a plurality of information terminals 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.
  4. 7
    Broadest claimClaim Score 75, broad(NHIP)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.
  5. 8
    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.
  6. 9
    A first information terminal connected to a second information terminal via a network, the first information terminal 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.
  7. 10
    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.
  8. 13
    A computer program product embodied in a non-transitory 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.
  9. 14
    A computer program embodied in a non-transitory 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.
  10. 15
    A computer program product embodied in a non-transitory 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 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.
  11. 16
    A computer program embodied in a non-transitory 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.