I am studying the SCA Evaluation method success rate, and I have a doubt regarding to it.

From my understanding, to calculate success rate, first we have a pool of traces all using same key and random inputs (let's say 10000 traces). The success rate for a certain trace number M(e.g. 1000), randomly choose M(1000) traces from the pool and apply them into the distinguisher to get the result by checking whether the correct key performs best. Conduct the attack operation for N times(N usually chose to be 100). The success rate for the trace number M(1000) is then calculated as the number of correct cases divided by the total attack times N(100).

Here I have a question about the specific key value. Let's say for AES-128, the key has 16 subkeys and each subkey is 1 byte. Everytime We only attack one subkey. So once the trace pool is given, the attacked key is fixed(256 possiblities for each subkey), so can I understand that the calculated success rate is just for this key value because if I use another trace pool with different key, the distinguisher results may be different so that the success rate may be different.

In practice, we can collect multiple trace pools corresponding to different keys. After calculating the success rate for each trace pool with same key, do we need to average all success rates for each key? Or the success rate for each key does not vary a lot, so we can just calculate the success rate for one key value trace pool to represent all other keys.

My question is, when calculating the success rate of an attack, do we need to go through all the possible subkey values([0,255]) and get the average? How do we deal with different key values for calculating success rate usually?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.