Masking Circuitry for Side-Channel Attack Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing encryption methods face challenges in effectively protecting against high-order side-channel attacks, particularly in constrained devices like smartcards, due to the complexity and resource-intensive nature of countermeasures, and the inefficiency of true-random number generators for generating large amounts of independent masks.
Innovation Solution
The method involves generating unique combinations of random mask values from a set of random mask values, ensuring a class greater than or equal to a determined protection level against side-channel attacks, and using distinct partitions to create unique combinations that are not reused, thereby reducing the number of independent masks required.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional masking methods are used to protect against side-channel attacks, then security protection level is improved, but device complexity and resource consumption increase significantly
Solution Approach 1:
The patent segments the masking operation into two distinct phases: a first masking operation applied to intermediate values during computation, and a second masking operation applied to final results. This segmentation allows each masking layer to be optimized independently, reducing the overall complexity while maintaining high-order protection against side-channel attacks.
Solution Approach 2:
The patent introduces random mask values as intermediary elements that are applied to sensitive data and intermediate computation results. These masks act as mediators that hide the actual data values from side-channel analysis, allowing the system to maintain security without requiring complex cryptographic operations at each computation step.
2Reliability
If true-random number generators are used to generate independent masks for each data value, then protection level is improved, but generation time and resource usage increase
Solution Approach 1:
The patent generates a single set of random mask values and then creates multiple copies of these masks for different data values and computation steps. Instead of generating unique random masks for each intermediate value, the system reuses copied mask values, which dramatically reduces the time and computational resources required for mask generation while maintaining the statistical properties needed for security.
Solution Approach 2:
The patent makes the generated random mask values universal by using them across multiple computation steps and for multiple data values. A single set of random masks serves multiple functions: masking input data, masking intermediate results, and masking output data, thereby eliminating the need for separate random generation for each masking operation.
3Reliability
If more random mask values are used for each sensitive data value, then protection against high-order attacks is improved, but the number of required masks exceeds available resources in constrained devices
Solution Approach 1:
The patent merges the masking of multiple data values and intermediate results using the same set of random mask values. By combining the masking operations for different data elements into a unified masking scheme, the system achieves high-order protection (requiring d leakage operations to break) without needing d separate sets of masks for each data value, thus reducing the total number of required random masks to a manageable quantity.
Data Source
AI summary
Cryptographic circuitry masks sensitive data values. The masking includes extracting unique combinations of random mask values from one or more sets of random mask values. Each sensitive data value is masked using a respective unique combination. The unique combinations have a combination class greater than or equal to a determined integer corresponding to a protection-level against side-channel attacks, and a number of unique combinations greater than or equal to a number of the sensitive data values. A number of random mask values in the one or more sets of random mask values is based on the number of unique combinations and the class of the plurality of unique combinations.


