Paper 2020/396

Improving Non-Profiled Side-Channel Attacks using Autoencoder based Preprocessing

Donggeun Kwon, HeeSeok Kim, and Seokhie Hong


In recent years, deep learning-based side-channel attacks have established their position as mainstream. However, most deep learning techniques for cryptanalysis mainly focused on classifying side-channel information in a profiled scenario where attackers can obtain a label of training data. In this paper, we introduce a novel approach with deep learning for improving side-channel attacks, especially in a non-profiling scenario. We also propose a new principle of training that trains an autoencoder through the noise from real data using noise-reduced labels. It notably diminishes the noise in measurements by modifying the autoencoder framework to the signal preprocessing. We present convincing comparisons on our custom dataset, captured from ChipWhisperer-Lite board, that demonstrate our approach outperforms conventional preprocessing methods such as principal component analysis and linear discriminant analysis. Furthermore, we apply the proposed methodology to realign de-synchronized traces that applied hiding countermeasures, and we experimentally validate the performance of the proposal. Finally, we experimentally show that we can improve the performance of higher-order side-channel attacks by using the proposed technique with domain knowledge for masking countermeasures.

Note: This paper is submitted a specific journal.

Available format(s)
Publication info
Preprint. MINOR revision.
Side-channel attackNon-profilingDeep learningAutoencoderPreprocessing
Contact author(s)
donggeun kwon @ gmail com
2020-10-12: revised
2020-04-09: received
See all versions
Short URL
Creative Commons Attribution


      author = {Donggeun Kwon and HeeSeok Kim and Seokhie Hong},
      title = {Improving Non-Profiled Side-Channel Attacks using Autoencoder based Preprocessing},
      howpublished = {Cryptology ePrint Archive, Paper 2020/396},
      year = {2020},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.