Secure Computation System for Fisher Exact Test

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for computing Fisher's exact test require significant computational resources due to repeated references to large tables, especially in secure computation scenarios where genome information needs to be kept secret, leading to inefficiencies and potential data breaches.

Innovation Solution

A secure computation system with multiple devices that preprocesses and secures frequency values, using batch-reading algorithms to efficiently compute function values without disclosing raw frequencies, thereby reducing computational overhead and maintaining data secrecy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional secure computation methods are used to compute Fisher's exact test, then data security is maintained, but computational efficiency deteriorates due to repeated references to large tables

Engineering Contradiction:
Improvedata securityVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by precomputing factorials and logarithmic factorial values and storing them in lookup tables before the actual Fisher's exact test computation. This allows the secure computation process to directly reference precomputed values rather than calculating them repeatedly, significantly improving computational efficiency while maintaining data security through encrypted table access

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates encrypted copies of the lookup tables containing precomputed factorial and logarithmic factorial values. These encrypted tables can be referenced multiple times during secure computation without decrypting the underlying data, allowing efficient repeated access while maintaining security. The tables are copied and distributed to participating parties for local access

Inventive Principle:
Principle #26Copying

2Loss of time

If the number of table references is reduced, then computational overhead decreases, but the complexity of the secure computation protocol increases

Engineering Contradiction:
Improvecomputational overheadVSAvoidprotocol complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent merges multiple computational operations into a unified secure protocol framework. By combining the secure access to precomputed factorial tables, logarithmic factorial tables, and the Fisher's exact test computation into a single integrated secure computation process, it reduces the number of separate table references and cryptographic operations needed, thereby reducing computational overhead while managing protocol complexity

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If precomputed tables are used to improve efficiency, then computation speed increases, but memory requirements increase

Engineering Contradiction:
Improvecomputation speedVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential precomputed values (factorials and logarithmic factorials) needed for Fisher's exact test into separate lookup tables, rather than storing all possible computation results. This selective extraction minimizes memory requirements while still providing the necessary precomputed data to speed up the actual test computation, balancing memory usage with computational efficiency

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11121868B2Secure computation system, secure computation device, secure computation method, and program
Publication Date: 2021.09.14 NIPPON TELEGRAPH & TELEPHONE CORP
  • US11121868B2 patent drawing
  • US11121868B2 patent drawing

AI summary

Fisher's exact test is efficiently computed through secure computation. A computation range determination part determines i0, i1, x0, x1. A preliminary computation part computes f(x0), . . . , f(x1), and generates an array M=(f(x0), . . . , f(x1)). A securing part secures the array M, and generates a secure text array <M>=(<f(x0)>, . . . , <f(x1)>). A batch-reading part generates a function value secure text (<f(ai)>, <f(bi)>, <f(ci)>, <f(di)>) (i0≤i≤i1).