I am trying to understand how neural networks are used to do DPA, but I am having trouble understand DPA.

My current understanding is that with DPA, we are just guessing one piece of a key at a time, and DPA tells us if our guess is correct or not.

Now I am not sure what role do the neural networks play here. Are they trained to make better guesses, or is DPA computationally efficient enough to go through each guess? Or do neural networks act as image recognition for the trace graphs to find the one corresponding to the correct key?

How correct am I?

  • 1
    $\begingroup$ Well, actually one collects many signals (maybe more than hundreds) to deduce the value. At some point, the signals can be noisy, due to kernel scheduler, etc., that can cause shifts, or random spikes for some other reasons, and you may wish to automize the decision process in one way or another. And good luck if the target is not the only process actively running on CPU. $\endgroup$ – kelalaka Jan 3 at 18:19
  • $\begingroup$ The data may be absolutely massive (think gigabytes or even terabytes), depending on the attack. A neural network is pretty good at finding that 128 bits of information hidden within a trillion bits. $\endgroup$ – forest Jan 4 at 3:13
  • $\begingroup$ @forest That's going to confuse the people whom we tell that machine learning is useless for "normal" cryptanalysis. (Attacks on the algorithm) There is no amount of data that would enable that kind of thing. Attacks on an implementation... I guess you could say that ML is applicable to DPA and other side channel attacks because it's something that can be seen as noise plus a non-random signal. The relationship between things like ciphertext and plaintext isn't like that, so ML fails. (Is that correct? I'm not qualified to talk about the formal part of machine learning.) $\endgroup$ – Future Security Jan 4 at 5:10
  • $\begingroup$ @FutureSecurity It's useful for normal cryptanalysis because ciphers and the like hide the relationship between plaintext, ciphertext, and key very, very well. I just mean that it's useful for massive amounts of signal data, not that it's useful anywhere large amounts of data are involved. $\endgroup$ – forest Jan 4 at 7:29

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.