US 12,106,227 B2
Non-interactive private decision tree evaluation
Anselme Kemgne Tueno, Erlenbach (CH); Yordan Boev, Karlsruhe (DE); and Florian Kerschbaum, Waterloo (CA)
Assigned to SAP SE, Walldorf (DE)
Filed by SAP SE, Walldorf (DE)
Filed on Sep. 17, 2019, as Appl. No. 16/573,813.
Prior Publication US 2021/0081807 A1, Mar. 18, 2021
Int. Cl. G06N 5/01 (2023.01); G06N 20/00 (2019.01); H04L 9/00 (2022.01); H04L 9/06 (2006.01); H04L 9/40 (2022.01)
CPC G06N 5/01 (2023.01) [G06N 20/00 (2019.01); H04L 9/008 (2013.01); H04L 9/0656 (2013.01); H04L 63/0442 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A computerized method, performed at a client, comprising:
homomorphically encrypting a plaintext data set bitwise, on a bit-by-bit basis;
receiving, from a trusted randomizer, a list comprising a plurality of non-encrypted random strings having been generated by the trusted randomizer;
forming an input comprising the list of random strings and the homomorphically encrypted data set;
transmitting the input to a server executing a decision tree for evaluation without decryption of the input, the trusted randomizer not allowed to collaborate with the server such that the server is blinded to the fact that some of the input was generated by the trusted randomizer;
receiving, from the server, data characterizing the evaluation by the server; and
decrypting the evaluation, wherein the data characterizing the evaluation by the server is calculated using a computer-implemented machine learning model comprising a decision tree and a dependency graph, wherein the decision tree is a machine learning model that maps an n-dimensional attribute vector to a finite set of classification labels, the decision tree comprising a plurality of internal nodes that each comprise a test condition, and a plurality of leaf nodes that each comprise a classification label, wherein a decision bit is computed for each internal node and, for each leaf node, the computed decision bits along a corresponding path are aggregated to determine whether one leaf node has been reached by a classification algorithm; wherein n is greater than zero.