Paper 2018/739

Using MILP in Analysis of Feistel Structures and Improving Type II GFS by Switching Mechanism

Mahdi Sajadieh and Mohammad Vaziri


Some features of Feistel structures have caused them to be considered as an efficient structure for design of block ciphers. Although several structures are proposed relied on Feistel structure, the type-II generalized Feistel structures (GFS) based on SP-functions are more prominent. Because of difference cancellation, which occurs in Feistel structures, their resistance against differential and linear attack is not as expected. Hitherto, to improve the immunity of Feistel structures against differential and linear attack, two methods are proposed. One of them is using multiple MDS matrices, and the other is using changing permutations of sub-blocks. In this paper by using MILP and summation representation method, a technique to count the active S-boxes is proposed. Moreover in some cases, the results proposed by Shibutani at SAC 2010 are improved. Also multiple MDS matrices are applied to GFS, and by relying on a new proposed approach, the new inequalities related to using multiple MDS matrices are extracted, and results of using the multiple MDS matrices in type II GFS are evaluated. Finally results related to linear cryptanalysis are presented. Our results show that using multiple MDS matrices leads to 22% and 19% improvement in differential cryptanalysis of standard and improved 8 sub-blocks structures, respectively, after 18 rounds.

Available format(s)
Publication info
Preprint. MINOR revision.
MILPGeneralized Feistel structureSwitching mechanismDifferential cryptanalysisLinear cryptanalysis.
Contact author(s)
mohammad vaziri67 @ gmail com
2018-08-15: received
Short URL
Creative Commons Attribution


      author = {Mahdi Sajadieh and Mohammad Vaziri},
      title = {Using MILP in Analysis of Feistel Structures and Improving Type II GFS by Switching Mechanism},
      howpublished = {Cryptology ePrint Archive, Paper 2018/739},
      year = {2018},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.