Data-oblivious Subarray Copying via Index Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data-oblivious techniques, such as secret indexing, are inefficient for copying a subarray from one array to another as they do not allow for efficient and data-oblivious operations with respect to the length of the subarray, limiting their application in secure data processing and multi-party computations.

Innovation Solution

A data retrieval device and method that selects different indices for each element in the second array based on the first array's indices, allowing for data-oblivious copying of a subarray by performing linear scans and using cryptographic verifiable computations to ensure the process is secure and efficient, even when the starting and ending indices of the subarray are private values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If secret indexing is used to retrieve elements from an array, then data-oblivious access is achieved, but the technique only allows retrieving a single element and cannot efficiently copy subarrays

Engineering Contradiction:
Improvecapability to copy subarraysVSAvoidefficiency of subarray copying
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent divides the array copying operation into multiple element-level operations. Instead of attempting to copy the entire subarray at once, it processes elements individually using data-oblivious element computation, which can then be composed to achieve efficient subarray copying. This segmentation allows the technique to handle subarray operations while maintaining data-obliviousness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the data-oblivious computation by using a counter variable that tracks the current element being processed. This counter dimension enables the system to efficiently manage the copying process across multiple elements without compromising the data-oblivious property, thereby improving productivity while maintaining security.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If different second indices are selected for first indices that differ by less than the length of the subarray, then data-oblivious computation efficiency is improved, but the complexity of index selection increases

Engineering Contradiction:
Improveefficiency of data-oblivious computationVSAvoidcomplexity of index selection mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The index selection mechanism is designed to automatically adapt to the input data characteristics. By using a counter variable that naturally increments with each element processed, the system self-regulates the index selection without requiring external intervention or complex control logic. This self-service approach simplifies the overall system while achieving the desired computational efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11334547B2Data-oblivious copying from a first array to a second array
Publication Date: 2022.05.17 KONINKLIJKE PHILIPS NV
  • US11334547B2 patent drawing
  • US11334547B2 patent drawing
  • US11334547B2 patent drawing

AI summary

Some embodiments are directed to a data retrieval device 210 for data-obliviously copying a subarray of a first array to a second array. The length of the second array is more than one and less than the length of the first array. The length of the subarray is at most the length of the second array. For each first element at a first index in the first array, the data retrieval device selects a second index in the second array for the first index in the first array; data-obliviously computes a choice bit indicative of whether to copy the first element to the second index in the second array; and replaces a second element at the second index in the second array by a replacement element, the replacement element being data-obliviously set to the first element or the second element based on the choice bit.