Skip to content
CodingHsuPublic

About

This is the official code repository for the article "Construction of Differential-Neural Distinguishers Based on SKNet for \textsc{Speck} and \textsc{Simon}"

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

Differential-Neural Distinguishers for SPECK and SIMON

This repository contains the code and resources accompanying the paper:

"Construction of Differential-Neural Distinguishers Based on SKNet for SPECK and SIMON"
Chinese Journal of Electronics, vol 35, no. 3, pp. 1-10, 2026.

Overview

This repository provides implementations and experimental resources for constructing differential-neural distinguishers for the SPECK and SIMON block ciphers using Selective Kernel Networks (SKNet). It includes:

  • Implementations of the SPECK and SIMON ciphers.
  • Experiments exploring the impact of convolutional kernel sizes on distinguisher performance.
  • SKNet and ResNet network implementations with training code.
  • State-of-the-art (SOTA) differential-neural distinguisher models and training logs.

Repository Structure

  • ciphers/
    Implementations of the SPECK and SIMON block ciphers used in the experiments.

  • kernel_size_explore/
    Code and data analyzing the effect of different convolutional kernel sizes on the performance of differential-neural distinguishers.

  • sknet_vs_resnet/
    Implementations of SKNet and ResNet architectures, along with training scripts for differential-neural distinguishers.

    • sknet_vs_resnet/trained_sknets/
      Pre-trained SOTA distinguisher models (SKNet-based) and their training logs.
  • Gohr_key_recovery/
    Code and experimental logs for performing actual key recovery attacks.
    The implementation is adapted from agohr/deep_speck.

Getting Started

Prerequisites

The following software and libraries are required to run the code in this repository:

  • Python: 3.9.15
  • TensorFlow-GPU: 2.10.0
  • CUDA Toolkit: 11.2.2
  • cuDNN: 8.4.1.50
  • NumPy: 1.26.4
  • Additional dependencies listed in requirements.txt

Ensure your system has a compatible GPU and drivers to support TensorFlow-GPU with the specified CUDA and cuDNN versions.

Usage

  • Cipher Implementations: Explore SPECK and SIMON implementations in ciphers/.
  • Kernel Size Experiments: Run scripts in kernel_size_explore/ to analyze kernel size impacts.
  • Training and Evaluation: Use scripts in sknet_vs_resnet/ to train or evaluate distinguishers. Pre-trained models are available in sknet_vs_resnet/trained_sknets/.
  • Training Logs: Review logs in sknet_vs_resnet/trained_sknets/ for model performance details.
  • Key Recovery Attack: Execute the script Gohr_key_recovery/test_key_recovery_sknet.py to perform actual key recovery attacks.

Citation

If you use this code or models in your research, please cite:

@article{XZ26,
  title={Construction of Differential-Neural Distinguishers Based on SKNet for Speck and Simon},
  author={Xu Haiyi and Zhang Lei},
  journal={Chinese Journal of Electronics},
  volume={35},
  number={3},
  pages={1-10}
  year={2026}
}

Contact

For questions or issues, please open an issue on this repository or contact the authors at 1455096897@qq.com.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

This is the official code repository for the article "Construction of Differential-Neural Distinguishers Based on SKNet for \textsc{Speck} and \textsc{Simon}"

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages