Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Performing fault injections to recover the encryption key in an AES ( Advanced Encryption Standard ) implementation. To achieve this, you need to carry out
Performing fault injections to recover the encryption key in an AES Advanced Encryption Standard implementation. To achieve this, you need to carry out an attack based on your preference. All bash commands are to be executed in a Nix terminal.
Identifying the Fault Injection Parameters
this is the gitlab resource to be used next: https:gitlabinria.frsimpphysicalattacksaes.git
Q What does the script Kfaultcalibration.py output?
The output of the script Kfaultcalibration.py likely provides information about the result of fault injections. It may include success rates, failure rates, or other relevant metrics.
Q What iteration and symbol should be chosen and why?
Choose the iteration and symbol based on the output of the calibration script. Look for points where fault injections are most effective. The iteration is the number of executions before the fault injection occurs, and the symbol is the function you want to explore.
Q What injection address do you choose?
Select the injection address based on the calibration results. Look for locations where faults have a significant impact.
Measurements
Q What theoretical attacks compatible with this fault model do you know? Specify the chosen attack for the rest of the lab.
Common theoretical attacks compatible with a fault model involving instruction jumps and dependent on Hamming weight include Differential Fault Analysis DFA and Correlation Power Analysis CPA
To conduct a measurement campaign, run the script:
bash
pythonLDFALDFA.py targetaddressnumber of executionsiteration
This generates the files ciphertexts.npy and faultyciphertexts.npy
Q Load the previously obtained files and compare them. Identify which bytes were affected. Are they consistent with the theoretical fault model of the chosen attack?
Analyze the generated files and observe which bytes were affected by the fault injections. Check if the observed faults align with the expected behavior according to the chosen attack model.
Confrontation Dependent on Chosen Attack
Q What is the target of your attack, precisely?
Specify the precise target of your attack, such as a specific round key, the master key, or another part of the cryptographic implementation.
Q Describe the functioning of your attack and its implementation.
Explain how your chosen attack works and provide details about its implementation. This may involve manipulating faulted ciphertexts to gain information about the secret key.
Q Conclude what the correct key hypothesis is
Based on the results of your attack, make an educated guess about the correct key hypothesis.
Q If only a part of the key has been obtained, repeat the operation to recover the complete key.
Q Compare your results with the true key.
Q Write a conclusion highlighting the strengths and weaknesses of this attack.
Summarize your findings, emphasizing the strengths and weaknesses of the performed attack. Discuss potential countermeasures to improve security against fault injection attacks.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started