Message Authentication Code Generation with Dual-Block Subkey Obfuscation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing message authentication code (MAC) methods, such as CMAC, remain vulnerable to Differential Power Analysis (DPA) attacks despite re-encrypting the last block of a message, as the first-block-input and last-block-output vectors are still visible, allowing attackers to extract cryptographic keys from cryptographic hardware devices like smart cards.
Innovation Solution
A device and method that generate a message authentication code by dividing the message into blocks and performing exclusive disjunction operations on the last block with a first key and optionally the first block with a second key, using a block cipher algorithm, which obscures the data vectors required for DPA attacks by inserting additional subkeys at both the input and output of the first and last blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If re-encryption of the last block is performed to prevent DPA attacks, then security against DPA attacks is improved, but the visibility of critical vectors (first-block-input and last-block-output) remains insufficient
Solution Approach 1:
The patent introduces additional subkeys as intermediary elements that are XORed with the first and last blocks of the message. These subkeys act as mediators that obscure the visibility of critical vectors (first-block-input and last-block-output) to DPA attackers while maintaining the authentication function. The subkeys are derived from the main key through a key derivation function, creating a layered security structure where the intermediaries (subkeys) prevent direct observation of sensitive data vectors.
2Reliability
If additional subkeys are inserted at input and output of blocks to obscure data vectors, then protection against DPA attacks is improved, but device complexity increases
Solution Approach 1:
The patent performs preliminary key derivation actions by pre-computing additional subkeys from the main key using a key derivation function before the actual MAC computation. This preliminary action of key derivation allows the main MAC computation to focus only on the XOR operations with the message blocks, rather than implementing a fully complex encryption scheme. The subkeys are prepared in advance and stored or computed on-demand, reducing the computational complexity during the critical authentication operation.
Data Source
AI summary
Device for generating a message authentication code for authenticating a message, wherein the message is divided in blocks (M) with a specified block length, the device comprising a generating unit for generating the message authentication code based on a message by using a block cipher algorithm, and an encrypting unit for performing an exclusive disjunction on the last block with a first key (K1, K2) and for performing an exclusive disjunction on the first and/or the last block additionally with a second key (K3, K4) for generating the message authentication code.


