Paper 2018/899

Differential Cryptanalysis of Round-Reduced SPECK

Ashutosh Dhar Dwivedi and Pawel Morawiecki


In this paper, we propose a new algorithm inspired by Nested to find a differential path in ARX ciphers. In order to enhance the decision process of our algorithm and to reduce the search space of our heuristic nested tool, we use the concept of partial difference distribution table (pDDT) along with the algorithm. The algorithm itself is applied on reduced round variants of the SPECK block cipher family. In our previous paper, we applied a naive algorithm with a large search space of values and presented the result only for one block size variant of SPECK. In this new approach, we provide the results within a simpler framework and within a very short period of time for all bigger block size variants of SPECK. More specifically, we report the differential path for up to 8, 9, 11, 10 and 11 rounds of SPECK32, SPECK48, SPECK64, SPECK96 and SPECK128, respectively. To construct a differential characteristics for large number of rounds, we divide long characteristics into short ones, by easily constructing a large characteristic from two short ones. Instead of starting from the first round, we start from the middle and run the experiments forwards as well as in the reverse direction. Using this method, we were able to improve our previous results and report the differential path for up to 9, 10, 12, 13 and 15 rounds of SPECK32, SPECK48, SPECK64, SPECK96 and SPECK128, respectively.

Available format(s)
Publication info
Preprint. MINOR revision.
Differential pathNested Monte-Carlo SearchARX ciphersSPECK CipherDifferential Cryptanalysis
Contact author(s)
ashudhar7 @ gmail com
2018-11-24: last of 2 revisions
2018-09-25: received
See all versions
Short URL
Creative Commons Attribution


      author = {Ashutosh Dhar Dwivedi and Pawel Morawiecki},
      title = {Differential Cryptanalysis of Round-Reduced SPECK},
      howpublished = {Cryptology ePrint Archive, Paper 2018/899},
      year = {2018},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.