Cryptographic Method Preventing Differential Fault Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic systems are vulnerable to differential fault analysis attacks, where malicious actors can infer the secret key by observing power consumption or modifying the circuit, leading to potential decryption and encryption of messages.
Innovation Solution
Implement a cryptographic method where the secret key is never directly used for encryption/decryption, instead relying on a plurality of random numbers to derive encryption keys, and generating a pseudo message before encryption, ensuring that even if random numbers are guessed, the initial message remains secure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If cryptographic algorithms are implemented in integrated circuits with transistors, then the algorithm can be physically executed for encryption/decryption, but observable physical quantities (power consumption, electromagnetic emanation) are generated that can be used to attack the circuit
Solution Approach 1:
The patent applies preliminary action by performing cryptographic operations on random numbers before they are used in the final encryption process. The random numbers are processed through cryptographic algorithms in advance, and the results are stored for later use, so that when actual encryption is needed, the secret key is not directly exposed to potential attacks
Solution Approach 2:
The patent introduces random numbers as intermediaries between the secret key and the encryption process. Instead of directly encrypting messages with the secret key, the system first encrypts random numbers, then uses these encrypted random numbers as keys for message encryption. This intermediary layer prevents direct observation and analysis of the secret key through physical attacks
2Productivity
If the secret key is directly used for encryption/decryption, then the process is simple and efficient, but the key becomes vulnerable to guessing through observation of power consumption or circuit modification
Solution Approach 1:
The patent segments the encryption process into multiple independent stages: first encrypting random numbers, then using those results as keys for message encryption. This segmentation ensures that even if one stage is compromised, the secret key remains protected because it is never directly used in the message encryption stage
Solution Approach 2:
The patent changes the parameters used in encryption by introducing random numbers that vary for each encryption operation. Instead of using a fixed secret key directly, the system dynamically generates encryption keys based on encrypted random numbers, making each encryption operation unique and resistant to analysis
3Reliability
If random numbers are used to derive encryption keys, then the security against differential fault analysis is enhanced, but the cryptographic process becomes more complex with multiple encryption levels
Solution Approach 1:
The patent reduces complexity by performing the complex operation of encrypting random numbers in advance and storing the results. When actual message encryption is needed, the system simply retrieves the pre-computed encrypted random numbers and uses them as keys, avoiding the need to perform complex cryptographic operations in real-time
Data Source
AI summary
At least one embodiment refers to a method for securely exchanging messages between at least two devices, each of them storing a shared secret key. The method comprises: at each device: generating a random number, then sending it to the other devices; determining a first key by a first operation based onto said secret key and each random number; determining a second key based on said first key and said random numbers; at a sending device: determining a pseudo message on the basis of the message and said random numbers; calculating then sending a cryptogram on the basis of said pseudo message and said second key; and at the receiving device: decrypting said cryptogram by means of said second key; and retrieving said message from said pseudo message.


