Patents by Inventor Fariborz SALEHI

Fariborz SALEHI has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10764048
    Abstract: A method for performing a secure evaluation of a decision tree, including: receiving, by a processor of a server, an encrypted feature vector x=(x1, . . . , xn) from a client; choosing a random mask ?0; calculating m0 and sending m0 to the client, wherein m0=xi0(0)?t0(0)+?0 and t0(0) is a threshold value in the first node in the first level of a decision tree ?; performing a comparison protocol on m0 and ?0, wherein the server produces a comparison bit b0 and the client produces a comparison bit b?0; choosing a random bit s0?{0,1} and when s0=1 switching a left and right subtrees of ?; sending b0?s0 to the client; and for each level =1, 2, . . . , d?1 of the decision tree ?, where d is the number of levels in the decision tree ?, perform the following steps: receiving from the client yk where k=0, 1, . . .
    Type: Grant
    Filed: December 20, 2017
    Date of Patent: September 1, 2020
    Assignee: NXP B.V.
    Inventors: Marc Joye, Fariborz Salehi
  • Patent number: 10601579
    Abstract: A method for performing a secure comparison between a first secret data and a second secret data, including: receiving, by a processor of a first party, encrypted bits of the second secret data y from a second party, where is an integer; computing the Hamming weight h of first secret data x, wherein x has bits; computing the value of a first comparison bit ?A such that ?A=0 when h>?/2?, ?A=1 when h<?/2?, and ?A is randomly selected when h=/2; forming a set of ?/2? indexes that includes at least the indexes i where xi=?A; selecting random invertible scalars ri for each i in and computing c*i=(1+(1?2?A)xi·yi2?A?1·(xj?yj))ri wherein w denotes the homomorphic encryption of w using a cryptographic key of the second party; selecting random invertible scalars r?1 and computing c*?1=(?A·xj?yj)r?1; transmitting ciphertexts c*i in a random order to the second party.
    Type: Grant
    Filed: December 20, 2017
    Date of Patent: March 24, 2020
    Assignee: NXP B.V.
    Inventors: Marc Joye, Fariborz Salehi
  • Publication number: 20190190694
    Abstract: A method for performing a secure comparison between a first secret data and a second secret data, including: receiving, by a processor of a first party, encrypted bits of the second secret data y from a second party, where is an integer; computing the Hamming weight h of first secret data x, wherein x has bits; computing the value of a first comparison bit ?A such that ?A=0 when h>?/2?, ?A=1 when h<?/2?, and ?A is randomly selected when h=/2; forming a set of ?/2? indexes that includes at least the indexes i where xi=?A; selecting random invertible scalars ri for each i in and computing c*i=+(1+(1?2?A)xi·yi2?A?1·(xj?yj))ri wherein w denotes the homomorphic encryption of w using a cryptographic key of the second party; selecting random invertible scalars r?1 and computing c*?1=(?A·xj?yj)r?1; transmitting ciphertexts c*i in a random order to the second party.
    Type: Application
    Filed: December 20, 2017
    Publication date: June 20, 2019
    Inventors: Marc JOYE, Fariborz SALEHI
  • Publication number: 20190190714
    Abstract: A method for performing a secure evaluation of a decision tree, including: receiving, by a processor of a server, an encrypted feature vector x=(x1, . . . , xn) from a client; choosing a random mask ?0; calculating m0 and sending m0 to the client, wherein m0=xi0(0)?t0(0)+?0 and t0(0) is a threshold value in the first node in the first level of a decision tree ?; performing a comparison protocol on m0 and ?0, wherein the server produces a comparison bit b0 and the client produces a comparison bit b0?; choosing a random bit s0?{0,1} and when s0=1 switching a left and right subtrees of ?; sending b0?s0 to the client; and for each level =1, 2, . . . , d?1 of the decision tree ?, where d is the number of levels in the decision tree ?, perform the following steps: receiving from the client y0 where k=0, 1, . . .
    Type: Application
    Filed: December 20, 2017
    Publication date: June 20, 2019
    Inventors: Marc JOYE, Fariborz SALEHI