Homomorphic White-Box Cryptography for Secure Computation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing white-box cryptographic systems face challenges in performing large integer cryptographic operations efficiently while minimizing storage and processing requirements, and are vulnerable to side-channel attacks due to their size and complexity.
Innovation Solution
A fully homomorphic white-box implementation method that uses a white-box fully-homomorphic key generation function and encoding/decoding functions to perform operations on encoded inputs and secrets, allowing for secure and efficient computations without exposing secrets, and is applicable to general-purpose program code, reducing expertise and implementation weaknesses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional white-box cryptographic systems use lookup tables to perform cryptographic operations, then security against attackers with full access is improved, but storage requirements and code footprint increase significantly
Solution Approach 1:
The patent replaces the mechanical lookup table system with a homomorphic encryption-based computational system. Instead of using encoded lookup tables that require extensive storage, the invention uses mathematical operations on encrypted data that can be performed with minimal storage of cryptographic keys and parameters. The homomorphic encryption scheme allows cryptographic operations to be performed directly on encrypted values without decryption, substituting the need for large encoded tables with efficient mathematical computations.
2Reliability
If traditional white-box cryptographic systems use lookup tables to perform cryptographic operations, then security against attackers with full access is improved, but processing time and computational complexity increase
Solution Approach 1:
The patent replaces the inefficient lookup table mechanism with homomorphic encryption operations that leverage mathematical properties for efficient computation. The homomorphic encryption scheme allows addition and multiplication operations to be performed on ciphertexts directly, with computational complexity that scales efficiently compared to large lookup table operations. This substitution maintains security while dramatically improving processing speed and reducing computational overhead.
3Reliability
If white-box implementations use encoded lookup tables, then resistance to brute-force attacks is improved, but the implementation becomes vulnerable to side-channel attacks due to increased size and complexity
Solution Approach 1:
The patent extracts the secret key material from the large encoded lookup table structure and replaces it with compact homomorphic encryption keys. By taking out the vulnerable large-scale encoded structures and replacing them with mathematically equivalent but structurally different cryptographic primitives, the system maintains resistance to brute-force attacks while eliminating the side-channel attack surface associated with large lookup table implementations.
4Ease of operation
If general-purpose processors are used instead of secure processors, then accessibility and ease of deployment are improved, but security against attacks on the execution platform deteriorates
Solution Approach 1:
The patent introduces homomorphic encryption as an intermediary layer between the untrusted general-purpose processor and the cryptographic operations. This intermediary allows secret computations to be performed on encrypted data, with the encryption scheme itself providing the security guarantees rather than relying on the trustworthiness of the execution platform. The homomorphic encryption acts as a mediator that enables secure computation even when the processor is completely untrusted.
Data Source
Figure 1A~1B
Figure 2
Figure 3
AI summary
A method for whitebox cryptography is provided for computing an algorithm A(m,S) with input m and secret S, using one or more white-box encoded operations. The method includes accepting an encoded input c, where c= Enc(P,m); accepting an encoded secret S', where S' =Enc (P,S); performing one or more operations on the encoded input c and the encoded secret S' modulo N to obtain an encoded output c'; and decoding the encoded output c' with the private key p to recover an output m' according to m' = Dec(p,c'), such that m' = A(m,S).