From the perspective of indistinguishability, an attack on a cryptosystem can be modeled as a training process of efficient distinguishers between ciphertexts and random values, or among ciphertexts. Though the theoretical relationship between cryptanalysis and machine learning has been studied and data-driven cryptanalysis methods have been proposed, the attacks become practically available recently due to the progress of the technologies including the parallel processing hardware and the deep learning algorithms. Gohr proposed differential neural cryptanalysis by making neural classifiers learn differential properties of a reduced-round lightweight block cipher in order to obtain the final round key. However, only one 32-bit block cipher called Speck32/64 had been evaluated. In this paper, we train neural distinguishers against three 64-bit reduced-round lightweight ciphers with (generalized) Feistel network, including SIMON64/96, CHAM64/128, and HIGHT, to evaluate learnability and accuracy of the attacks. Various models of distinguishers under different assumptions have been proposed, and the performance of each distinguisher has been empirically assessed.
비구별성의 측면에서 보았을 때, 암호체계에 대한 공격은 여러 암호문 사이를, 혹은 암호문과 무작위 값을 구분할 수 있는 효과적인 구별자를 학습하는 과정이라고 볼 수 있다. 예로부터 암호체계 공격과 기계학습 사이의 이론적 연관성이 연구되고 데이터에 기반한 공격 방법이 제시되었지만, 그러한 공격이 실제로 가능하게 된 것은 병렬 처리 하드웨어와 딥 러닝 알고리즘 등 여러 기술이 발전한 최근의 일이다. Gohr는 라운드 단축 경량 블록암호의 차분 특성을 신경망 분류기에 학습시켜 마지막 라운드 키를 얻는 방식을 제안했으나, Speck32/64라는 32비트 경량 블록암호 하나에 대해서만 실험이 진행되었다. 본 논문에서는 64비트의 키 길이를 갖는 (일반화된) Feistel 네트워크에 기반한, SIMON64/96, CHAM64/128, HIGHT 세 가지의 라운드 단축 경량 블록 암호를 대상으로 신경망을 이용한 구별자를 학습시켜 보고, Gohr가 제시한 공격 방식의 확장성과 네트워크의 구조에 따른 학습 가능성 및 정확도를 분석하였다. 또한 다양한 가정 하에서의 구별자의 유형을 제안하고 구분 성능을 실험적으로 평가하였다.