Leakage-Resilient Key Derivation for Side-Channel Resistant Ciphers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic solutions are vulnerable to side-channel attacks (SCA) and require costly or impractical hardware upgrades, while existing leakage-resilient methods are inefficient and limited by the need for frequent key changes, especially in unprotected crypto hardware accelerators.
Innovation Solution
A method involving a Leakage Resilient derivation function that derives a key from a master key using multiple instances of an encryption cipher, with a unique initialization vector, iteratively encoding each bit of the initialization vector across input bytes, reducing the number of encryption operations and enhancing resistance to localized electromagnetic side channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a Leakage Resilient Key Derivation Function is implemented using traditional methods (e.g., GGM scheme), then security against side-channel attacks is improved, but the number of encryption operations increases significantly (129 encryptions for 128-bit IV)
Solution Approach 1:
The patent segments the initialization vector processing by introducing only 1 bit per byte of the cipher state instead of processing all IV bits separately. This segmentation approach reduces the number of required encryption operations from 129 to just 2 encryptions while maintaining security, as the segmented bit introduction creates sufficient complexity for side-channel resistance without requiring exhaustive encryption sequences
Solution Approach 2:
The patent changes the parameter of how initialization vector bits are introduced into the cipher state - specifically reducing from introducing multiple IV bits per encryption operation to introducing only 1 bit per byte across the state. This parameter change fundamentally reduces the computational complexity while preserving the leakage-resilient properties through the iterative application of the cipher with modified key schedules
2Reliability
If DPA protected hardware is used, then resistance to side-channel attacks is improved, but hardware cost and complexity increase significantly
Solution Approach 1:
The patent implements a self-service approach where the software algorithm itself provides protection against side-channel attacks without requiring specialized hardware structures. The leakage-resilient key derivation is achieved through careful software implementation of the cipher with modified key schedules and controlled introduction of IV bits, making the system self-protecting without external hardware assistance
Solution Approach 2:
The patent substitutes hardware-based protection mechanisms with a software-based cryptographic approach. Instead of using physically protected hardware modules that resist side-channel attacks, the solution uses mathematical properties of the cipher and key derivation process to achieve the same security goal through software algorithms, replacing mechanical/hardware protection with computational protection
3Duration of action of stationary object
If a master key is used for multiple encryptions, then key longevity is improved, but vulnerability to side-channel attacks increases
Solution Approach 1:
The patent applies preliminary action by deriving secure intermediate keys from the master key through a leakage-resilient key derivation process before actual encryption operations. The modified key schedule introduces IV bits into the cipher state in advance, creating intermediate keys that are computationally dependent on both the master key and the IV, thereby preventing attackers from learning information about the master key through side-channel analysis of multiple encryptions
Solution Approach 2:
The patent introduces intermediate keys as mediators between the master key and the encryption process. These intermediate keys are derived through the modified cipher application with controlled IV bit introduction, serving as a protective layer that prevents direct side-channel analysis of the master key. The intermediate keys expire after use while the master key remains secure and reusable
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Method for performing cryptographic operations in a processing device, said cryptographic operations comprising a Leakage Resilient derivation function which derives at least a key (DK) from a master key (MK), said method comprising performing said operation of deriving said at least a key (DK) from a master key (MK) by invoking a plurality of instances of an encryption cipher (11), providing a unique initialization vector (NC), in particular a random number, comprising a plurality of initialization vector bits, in particular 128, invoking a first instance of said cipher (11) providing to said first instance of said cipher (11) a master key (MK) as encryption key and a first set of bits (NCS0) in said plurality of initialization vector bits as plaintext input which is encoded by said cipher with said master key (MK) obtaining an intermediate key, performing an iterative procedure comprising at each iteration invoking a further instance of said cipher (11), providing an intermediate key (IKi-1) at the encrypted output of an instance of the cipher (11), previous with respect to said further instance, and a set (NCSi) of said plurality of initialization vector bits as plaintext input, which is subsequent the set (NCSi-1) used by the previous instance of the cipher, said subsequent set (NCSi) being encoded by said further instance of the cipher (11) with said previous intermediate key (IKi-1) to obtain a subsequent intermediate key (IKi), said iteration being performed on all the sets (NCSi) of the plaintext, wherein said providing set (NCSi) of said plurality of initialization vector bits as plaintext input includes providing introducing said initialization vector bits in bytes of an input state (S) of the cipher (11), introducing at most one initialization vector bit per byte, a number (nn) of bits introduced in said input state (S) varying from 2 to the number of bytes in the input state of the cipher (11).