物理攻击与对策代写 Please complete this assignment (100 pts total) and submit your report/program code on Canvas (all files compressed in one .zip without the .csv
Please complete this assignment (100 pts total) and submit your report/program code on Canvas (all files compressed in one .zip without the .csv file)
1.
Please consider the following AES inputs and compute the output after the first SubBytes operation. Only use a pocket calculator and the table given in Figure 1. This is intended to make sure you fully understood the concept. (10 pts)
Plaintext = 00 00 00 00 00 00 C1 A5 51 F1 ED C0 FF EE B4 BE Key = 00 00 01 02 03 04 DE CA F0 C0 FF EE 00 00 00 00
Note: FIPS 197 Appendix B is always a great reference for this kind of task∗ .
Your coworker needs to implement the AES MixColumns operation in software. He found some code on stackexchange.com. You remember the best practice to review (and test) code before using it in production. Therefore, you offer to review the code. (10 pts)
a) What is the type of problem here? (2 pts)
b) Identify the function(s) with undesired behavior. (2 pts)
c) Suggest a code fragment that solves the problem under idealized assumptions. (4 pts)
d) Is your solution processor independent? Please provide appropriate reasoning. (2 pts)
The file timing_noisy.csv contains 1 million timing samples of the AES with random plaintexts and a fixed key. This is representative for an actual attack scenario, as the attacker controls the input but not the key. The file format is .csv (Comma-Separated Values) and you should be able to read it in your preferred environment or convert it to any format that you need. Its first 16 columns contain the plaintext bytes in ASCII (from 0 to 255) and the last column shows the timing value. Your duty is to perform a timing side-channel analysis.
a) Recover the key. Please assume that the Most Significant Bit (MSB) is a good hypothesis. Provide figures to support that you found the correct key. (40 pts) 物理攻击与对策代写
b) Check how many samples you need for each key byte. This can be done, e.g., in 1 000 step increments and does not need to be an exact number. (20 pts)
c) Optimize your code such that the overall attack time (without incremental steps) is well below 3 Please report your execution time in addition to your processor and memory specification. Include a note which operating system you used. If you needed to optimize your code to improve runtime, briefly include a note how you optimized. (20 pts)
Please write your program in one of the following languages/environments: Python/Jupyter (strongly recommended), C/C++, Java, Rust, Matlab/Octave. Choose wisely, as you may be able to reuse code in follow-up assignments. Your .zip file should contain your code, instructions how to make it run (if needed), the figures, and the number of required samples.
COMP 424 Final Project Game: Colosseum Survival!
AI算法代写 1.Goal The main goal of the project for this course is to give you a chance to play around with some of the AI algorithms discuss...
CSCI 3022 Final Exam
CS考试代考 Read the following: • RIGHT NOW! Write your name, student ID and section number on the top of your exam. If you’re handwriting your exam,
Read the fol...
CS 170 Efficient Algorithms and Intractable Problems
Homework 4
高效算法与难题代写 Design an efficient algorithm that given a directed graph G determines whether there is a vertex v from wh...