Patents by Inventor Michael Naehrig

Michael Naehrig 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: 10211975
    Abstract: The subject disclosure is directed towards secure computations of encrypted data over a network. In response to user desired security settings with respect to the encrypted data, software/hardware library components automatically select parameter data for configuring a fully homomorphic encryption scheme to secure the encrypted data items while executing a set of computational operations. A client initiates the set of computational operations via the library components and if requested, receives secure computation results in return.
    Type: Grant
    Filed: March 7, 2016
    Date of Patent: February 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jacob J Loftus, Michael Naehrig, Joppe Willem Bos, Kristin Estella Lauter
  • Patent number: 10153894
    Abstract: The techniques and/or systems described herein are directed to improvements in homomorphic encryption to improve processing speed and storage requirements. For example, the techniques and/or systems can be used on a client device to encode data to be sent to a remote server, to be operated on while maintaining confidentiality of data. For example, data including a real number can be encoded as a polynomial, with the fractional part of the real number encoded as high-order coefficients in the polynomial. Further, real numbers can be approximated and encoded in a polynomial using a fractional base, and/or the encoding can include slot encoding. Thus, the optimized encodings disclosed herein provide an optimized homomorphic encryption scheme.
    Type: Grant
    Filed: November 5, 2015
    Date of Patent: December 11, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kim Laine, Nathan Dowlin, Ran Gilad-Bachrach, Michael Naehrig, John Wernsing, Kristin E. Lauter
  • Patent number: 10075289
    Abstract: The techniques and/or systems described herein are directed to improvements in homomorphic encryption to improve processing speed and storage requirements. For example, the techniques and/or systems can be used on a client device to encode data to be sent to a remote server, to be operated on while maintaining confidentiality of data. The encoding scheme can be optimized by automatically selecting one or more parameters using an error growth simulator based on an actual program that operates on the encoded data. For example, the simulator can be used iteratively to determine an optimized parameter set which allows for improved homomorphic operations while maintaining security and confidentiality of a user's data.
    Type: Grant
    Filed: November 5, 2015
    Date of Patent: September 11, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kim Laine, Nathan Dowlin, Ran Gilad-Bachrach, Michael Naehrig, John Wernsing, Kristin E. Lauter
  • Patent number: 9900147
    Abstract: The techniques and/or systems described herein are directed to improvements in homomorphic operations within a homomorphic encryption scheme. The homomorphic operations may be performed on encrypted data received from a client device without decrypting the data at a remote computing device, thereby maintaining the confidentiality of the data. In addition to the operations of addition, subtraction, and multiplication, the homomorphic operations may include an approximate division, a sign testing, a comparison testing, and an equality testing. By combining these operations, a user may perform optimized operations with improved processor and memory requirements.
    Type: Grant
    Filed: December 18, 2015
    Date of Patent: February 20, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Kim Laine, Nathan P. Dowlin, Ran Gilad-Bachrach, Michael Naehrig, John Wernsing, Kristin E. Lauter
  • Patent number: 9825758
    Abstract: A user device and one or more server computers securely evaluate a k-nearest neighbor model, with reasonable computation speed and bandwidth utilization, using a combination of techniques. The user device encrypts input vectors using a client's public key to keep client information private. The server computer homomorphically computes a distance between the encrypted input vector and vectors stored in the k-nearest neighbor model. The server computer then engages in a minimization process which results in the user device receiving classification vectors corresponding to the k-nearest neighbors.
    Type: Grant
    Filed: December 2, 2014
    Date of Patent: November 21, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Tony Feng, David J. Wu, Michael Naehrig, Kristin Lauter
  • Patent number: 9787647
    Abstract: Decision trees can be securely evaluated with reasonable computation speed and bandwidth utilization. A user device encrypts input vectors using a client's public key in an additively homomorphic encryption system. A server computer effectively randomizes the decision tree for each use, such that a value indicative of a path resulting from applying an input vector to the decision tree is different each time the decision tree is used. The server computer homomorphically computes the evaluations of each decision node. The server computer provides the value indicative of the path through the decision tree as one part accessible by the client, and another part accessible by the server. The server computer uses the parts to look up a corresponding output value from a database of output values for each path. In this operation, only the output value corresponding to the combined parts can be retrieved, and only by the intended recipient.
    Type: Grant
    Filed: December 2, 2014
    Date of Patent: October 10, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David J. Wu, Tony Feng, Michael Naehrig, Kristin Lauter
  • Publication number: 20170180115
    Abstract: The techniques and/or systems described herein are directed to improvements in homomorphic operations within a homomorphic encryption scheme. The homomorphic operations may be performed on encrypted data received from a client device without decrypting the data at a remote computing device, thereby maintaining the confidentiality of the data. In addition to the operations of addition, subtraction, and multiplication, the homomorphic operations may include an approximate division, a sign testing, a comparison testing, and an equality testing. By combining these operations, a user may perform optimized operations with improved processor and memory requirements.
    Type: Application
    Filed: December 18, 2015
    Publication date: June 22, 2017
    Inventors: Kim Laine, Nathan P. Dowlin, Ran Gilad-Bachrach, Michael Naehrig, John Wernsing, Kristin E. Lauter
  • Publication number: 20170134156
    Abstract: The techniques and/or systems described herein are directed to improvements in homomorphic encryption to improve processing speed and storage requirements. For example, the techniques and/or systems can be used on a client device to encode data to be sent to a remote server, to be operated on while maintaining confidentiality of data. The encoding scheme can be optimized by automatically selecting one or more parameters using an error growth simulator based on an actual program that operates on the encoded data. For example, the simulator can be used iteratively to determine an optimized parameter set which allows for improved homomorphic operations while maintaining security and confidentiality of a user's data.
    Type: Application
    Filed: November 5, 2015
    Publication date: May 11, 2017
    Inventors: Kim Laine, Nathan Dowlin, Ran Gilad-Bachrach, Michael Naehrig, John Wernsing, Kristin E. Lauter
  • Publication number: 20170134157
    Abstract: The techniques and/or systems described herein are directed to improvements in homomorphic encryption to improve processing speed and storage requirements. For example, the techniques and/or systems can be used on a client device to encode data to be sent to a remote server, to be operated on while maintaining confidentiality of data. For example, data including a real number can be encoded as a polynomial, with the fractional part of the real number encoded as high-order coefficients in the polynomial. Further, real numbers can be approximated and encoded in a polynomial using a fractional base, and/or the encoding can include slot encoding. Thus, the optimized encodings disclosed herein provide an optimized homomorphic encryption scheme.
    Type: Application
    Filed: November 5, 2015
    Publication date: May 11, 2017
    Inventors: Kim Laine, Nathan Dowlin, Ran Gilad-Bachrach, Michael Naehrig, John Wernsing, Kristin E. Lauter
  • Patent number: 9524392
    Abstract: Genomic data encryption embodiments are presented which generally maintain the privacy of genomic data via an encryption scheme which allows computations to be performed on the encrypted data without the need for decryption. The genomic data is encrypted using a homomorphic polynomial encryption scheme to produce a vector of ciphertexts, where each ciphertext represents a different sample of the genomic data and takes the form of a polynomial and its associated coefficients. Computations on the encrypted genomic data are then performed on the vector or vectors of ciphertexts without decrypting the data. The results of the computations are then provided to an end user who decrypts them.
    Type: Grant
    Filed: November 30, 2013
    Date of Patent: December 20, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Michael Naehrig, Kristin Lauter, Adriana Lopez-Alt
  • Publication number: 20160191233
    Abstract: The subject disclosure is directed towards secure computations of encrypted data over a network. In response to user desired security settings with respect to the encrypted data, software/hardware library components automatically select parameter data for configuring a fully homomorphic encryption scheme to secure the encrypted data items while executing a set of computational operations. A client initiates the set of computational operations via the library components and if requested, receives secure computation results in return.
    Type: Application
    Filed: March 7, 2016
    Publication date: June 30, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Jacob J Loftus, Michael Naehrig, Joppe Willem Bos, Kristin Estella Lauter
  • Publication number: 20160156595
    Abstract: Decision trees can be securely evaluated with reasonable computation speed and bandwidth utilization. A user device encrypts input vectors using a client's public key in an additively homomorphic encryption system. A server computer effectively randomizes the decision tree for each use, such that a value indicative of a path resulting from applying an input vector to the decision tree is different each time the decision tree is used. The server computer homomorphically computes the evaluations of each decision node. The server computer provides the value indicative of the path through the decision tree as one part accessible by the client, and another part accessible by the server. The server computer uses the parts to look up a corresponding output value from a database of output values for each path. In this operation, only the output value corresponding to the combined parts can be retrieved, and only by the intended recipient.
    Type: Application
    Filed: December 2, 2014
    Publication date: June 2, 2016
    Inventors: David J. Wu, Tony Feng, Michael Naehrig, Kristin Lauter
  • Publication number: 20160156460
    Abstract: A user device and one or more server computers securely evaluate a k-nearest neighbor model, with reasonable computation speed and bandwidth utilization, using a combination of techniques. The user device encrypts input vectors using a client's public key to keep client information private. The server computer homomorphically computes a distance between the encrypted input vector and vectors stored in the k-nearest neighbor model. The server computer then engages in a minimization process which results in the user device receiving classification vectors corresponding to the k-nearest neighbors.
    Type: Application
    Filed: December 2, 2014
    Publication date: June 2, 2016
    Inventors: Tony Feng, David J. Wu, Michael Naehrig, Kristin Lauter
  • Patent number: 9306738
    Abstract: The subject disclosure is directed towards secure computations of encrypted data over a network. In response to user desired security settings with respect to the encrypted data, software/hardware library components automatically select parameter data for configuring a fully homomorphic encryption scheme to secure the encrypted data items while executing a set of computational operations. A client initiates the set of computational operations via the library components and if requested, receives secure computation results in return.
    Type: Grant
    Filed: December 21, 2012
    Date of Patent: April 5, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jacob J. Loftus, Michael Naehrig, Joppe Willem Bos, Kristin Estella Lauter
  • Publication number: 20150154406
    Abstract: Genomic data encryption embodiments are presented which generally maintain the privacy of genomic data via an encryption scheme which allows computations to be performed on the encrypted data without the need for decryption. The genomic data is encrypted using a homomorphic polynomial encryption scheme to produce a vector of ciphertexts, where each ciphertext represents a different sample of the genomic data and takes the form of a polynomial and its associated coefficients. Computations on the encrypted genomic data are then performed on the vector or vectors of ciphertexts without decrypting the data. The results of the computations are then provided to an end user who decrypts them.
    Type: Application
    Filed: November 30, 2013
    Publication date: June 4, 2015
    Applicant: Microsoft Corporation
    Inventors: Michael Naehrig, Kristin Lauter, Adriana Lopez-Alt
  • Publication number: 20140177828
    Abstract: The subject disclosure is directed towards secure computations of encrypted data over a network. In response to user desired security settings with respect to the encrypted data, software/hardware library components automatically select parameter data for configuring a fully homomorphic encryption scheme to secure the encrypted data items while executing a set of computational operations. A client initiates the set of computational operations via the library components and if requested, receives secure computation results in return.
    Type: Application
    Filed: December 21, 2012
    Publication date: June 26, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Jacob J. Loftus, Michael Naehrig, Joppe Willem Bos, Kristin Estella Lauter
  • Patent number: 8677135
    Abstract: Representations of polynomials a, s, t, e—1 and e—2 can be provided. Values of coefficients of the polynomials can be limited, and can be computed using randomization techniques. A verification key can be generated to include representations of polynomials a, b, and c. Computation of b can include computing a product using a and s, and adding e—1. Computation of c can include computing a product using a and t, and adding e—2. A signing key can represent s and t. The signing key can be used to produce a message signature that can represent a sum of t and a product of s and m, with m being derived from a message to be signed. The verification key can be used to verify the signature by checking coefficient sizes of a polynomial represented by the signature, and of a checking polynomial derived from the verification key and the signature.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: March 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Kristin E. Lauter, Elisabeth Malmskog, Michael Naehrig, Vinod Vaikuntanathan
  • Patent number: 8548160
    Abstract: One or more techniques and/or systems are disclosed that provide for determining mathematical pairings for a curve for use in cryptography. A plurality of inversions used for determining the mathematical pairings for the curve are aggregated (e.g., into a single inversion in respective levels of a binary tree representation of elements of the computation). The mathematical pairings for the curve are determined in affine coordinates from a binary representation of a scalar read from right to left using the aggregated plurality of inversions.
    Type: Grant
    Filed: January 13, 2010
    Date of Patent: October 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Kristin Lauter, Peter Montgomery, Michael Naehrig
  • Publication number: 20130097417
    Abstract: An encryption scheme allows meaningful, efficient computation of encrypted data in various application domains, including without limitation patient health care, financial analysis, market research, and targeted advertising. Data providers, computational services, and results consumers work in concert using a somewhat homomorphic encryption scheme to preserve the secrecy while providing practical computational performance. Encrypted data is stored within network-accessible storage. The data is encrypted using an encryption scheme that allows predictive analysis on the encrypted data without decrypting the encrypted data. The predictive analysis includes evaluation of polynomials of bounded degree on elements of the encrypted data. The evaluation includes ciphertext addition compositions and a bounded number of ciphertext multiplication compositions.
    Type: Application
    Filed: October 13, 2011
    Publication date: April 18, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Kristin Estella Lauter, Michael Naehrig, Vinod Vaikuntanathan
  • Publication number: 20120159179
    Abstract: Representations of polynomials a, s, t, e—1 and e—2 can be provided. Values of coefficients of the polynomials can be limited, and can be computed using randomization techniques. A verification key can be generated to include representations of polynomials a, b, and c. Computation of b can include computing a product using a and s, and adding e—1. Computation of c can include computing a product using a and t, and adding e—2. A signing key can represent s and t. The signing key can be used to produce a message signature that can represent a sum of t and a product of s and m, with m being derived from a message to be signed. The verification key can be used to verify the signature by checking coefficient sizes of a polynomial represented by the signature, and of a checking polynomial derived from the verification key and the signature.
    Type: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Kristin E. Lauter, Elisabeth Malmskog, Michael Naehrig, Vinod Vaikuntanathan