Impossible Differential Distinguishers of Two Generalized Feistel Structures

Generalized Feistel structures are widely used in the design of block ciphers. In this paper, we focused on retrieving impossible differentials for two kinds of generalized Feistel structures: CAST256-like structure with Substitution-Permutation (SP) or Substitution-Permutation-Substitution (SPS) round functions (named <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M1"><mml:msub><mml:mrow><mml:mrow><mml:mtext>CAST</mml:mtext><mml:mn>256</mml:mn></mml:mrow></mml:mrow><mml:mrow><mml:mtext>SP</mml:mtext></mml:mrow></mml:msub></mml:math> and <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M2"><mml:msub><mml:mrow><mml:mrow><mml:mtext>CAST</mml:mtext><mml:mn>256</mml:mn></mml:mrow></mml:mrow><mml:mrow><mml:mtext>SPS</mml:mtext></mml:mrow></mml:msub></mml:math>, respectively) and MARS-like structure with SP/SPS round function (named <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M3"><mml:msub><mml:mrow><mml:mtext>MARS</mml:mtext></mml:mrow><mml:mrow><mml:mtext>SP</mml:mtext></mml:mrow></mml:msub></mml:math> and <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M4"><mml:msub><mml:mrow><mml:mtext>MARS</mml:mtext></mml:mrow><mml:mrow><mml:mtext>SPS</mml:mtext></mml:mrow></mml:msub></mml:math>, respectively). Known results show that for bijective round function, CAST256-like structures and MARS-like structures have (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M5"><mml:msup><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:math>) and (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M6"><mml:mn>2</mml:mn><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:math>) rounds impossible differentials, respectively. By our observation, there existed (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M7"><mml:msup><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mi>m</mml:mi></mml:math>) rounds impossible differentials in <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M8"><mml:msub><mml:mrow><mml:mrow><mml:mtext>CAST</mml:mtext><mml:mn>256</mml:mn></mml:mrow></mml:mrow><mml:mrow><mml:mtext>SP</mml:mtext></mml:mrow></mml:msub></mml:math> and (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M9"><mml:mn>3</mml:mn><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>3</mml:mn></mml:math>) rounds impossible differentials in <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M10"><mml:msub><mml:mrow><mml:mtext>MARS</mml:mtext></mml:mrow><mml:mrow><mml:mtext>SPS</mml:mtext></mml:mrow></mml:msub></mml:math> (this result does not require the P layer to be invertible). When the diffusion layer satisfied some special conditions, <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M11"><mml:msub><mml:mrow><mml:mrow><mml:mtext>CAST</mml:mtext><mml:mn>256</mml:mn></mml:mrow></mml:mrow><mml:mrow><mml:mtext>SPS</mml:mtext></mml:mrow></mml:msub></mml:math> had (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M12"><mml:msup><mml:mrow><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:math>) rounds impossible differentials and <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M13"><mml:msub><mml:mrow><mml:mtext>MARS</mml:mtext></mml:mrow><mml:mrow><mml:mtext>SPS</mml:mtext></mml:mrow></mml:msub></mml:math> had (<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M14"><mml:mn>3</mml:mn><mml:mi>m</mml:mi><mml:mo>−</mml:mo><mml:mn>3</mml:mn></mml:math>) rounds impossible differentials.