Secure Decision Tree Evaluation Protocol

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for privacy-preserving decision tree evaluation require extensive computational complexity and bandwidth, as they necessitate multiple comparisons at each level of the decision tree, which is inefficient and resource-intensive.

Innovation Solution

A new protocol that utilizes additively homomorphic encryption and a comparison protocol to perform only one comparison per level of the decision tree by permuting tree nodes and using a 1-out-of-2d oblivious transfer, reducing the total number of comparisons by a logarithmic factor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple comparisons are performed at each level of the decision tree using existing privacy-preserving protocols, then privacy evaluation is achieved, but computational complexity and bandwidth requirements increase significantly

Engineering Contradiction:
Improveprivacy evaluationVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The server performs preliminary actions by pre-computing and storing encrypted threshold values for all nodes in the decision tree before the actual evaluation. This allows the client to directly compare encrypted feature values with pre-prepared encrypted thresholds without requiring complex real-time computations, thereby reducing computational complexity while maintaining privacy evaluation reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The decision tree evaluation is segmented into discrete levels, and at each level, only one comparison is performed between encrypted values rather than multiple comparisons. This segmentation approach reduces the overall computational complexity and bandwidth requirements while still achieving accurate privacy-preserving evaluation through the structured traversal of tree levels

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If multiple comparisons are performed at each level of the decision tree, then accurate evaluation is achieved, but bandwidth requirements increase due to extensive data exchange

Engineering Contradiction:
Improveevaluation accuracyVSAvoidbandwidth
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

Encrypted threshold values for all decision nodes are pre-computed and stored by the server before the evaluation process. This preliminary action eliminates the need for real-time computation and exchange of multiple threshold values during traversal, reducing bandwidth requirements while maintaining evaluation accuracy through direct comparison of encrypted feature values with pre-prepared thresholds

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The evaluation process is segmented by tree levels, with only one comparison performed at each level. This segmentation reduces the quantity of data exchanged between server and client compared to performing multiple comparisons at each node, thereby reducing bandwidth requirements while preserving measurement precision through systematic level-by-level traversal

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10764048B2Privacy-preserving evaluation of decision trees
Publication Date: 2020.09.01 NXP BV
  • US10764048B2 patent drawing
  • US10764048B2 patent drawing

AI summary

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=xi<sub2>0</sub2><sup2>(0)</sup2>−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, . . . , −1; performing a comparison protocol on and , wherein is a random mask and is based upon, x, , yk, and and the server produces a comparison bit and the client produces a comparison bit ; choosing a random bit ∈{0,1} and when =1 switching all left and right subtrees at level of ′; and sending ⊕ to the client.