In this exercise we look again at brute forcing TC01. To make it a bit more interesting we increased the key space. The keys are chosen with the following mask (where * can be any value):
keymask = 0x00000000********
As you can see in the mask, there are 32 unknown bits. This means that on average you will need to perform 2^31
computations. This means that you have to do 2^12
more computations than in the last exercise. Thus if the program you wrote for the last exercise took 10 minutes to complete you will need at least '(10* 2^12)/60 =628' hours, or 28 days for this exercise.
Hint: Try rewriting the program in C, this can often give you a factor 100 increase in speed.
Hint2: Use the right optimisation flags I would suggest starting with: '-O3 -march=native
Hint3: Use a profiler to find the slowest part of you function and optimise that [Do not optimise blindly]