Talk:Substitution–permutation network

(comment taken from article, added in edit: 22:21, 16 May 2004 . . 213.84.46.114) &mdash; Matt 21:24, 16 May 2004 (UTC)


 * S-boxes substitute or transform input bits into output bits. A good S-box will have the property that changing one input bit will change about half of the output bits.  It will also have the property that each output bit will depend on every input bit. P-boxes permute or transpose bits across S-box inputs. (<- could someone elaborate on that sentence?)


 * It took only five years to fix this... I hope it's enough explanation that I have put in. --GaborPete (talk) 06:44, 5 April 2009 (UTC)

Invertible S-box?
It might be worth explaining that -- contrary to a Feistel scheme -- the S-box has to be invertible in order to permit decryption. This makes the statement The length of the output could be the same as the length of the input (the picture on the right has S-boxes with 4 input and 4 output bits), but could also change the length somewhat questionable. -- Jonas Wagner, 29 Oct 2009


 * You are right: although S-boxes in general don't have to be invertible (e.g., in DES they are not), for an SP-network they should be. Also, the article should mention how decryption is done. I will do this, unless you do it earlier :-). --GaborPete (talk) 20:57, 9 November 2009 (UTC)


 * Go ahead... --Jonas Wagner (talk) 16:14, 14 November 2009 (UTC)


 * OK, I have finally done it. --GaborPete (talk) 06:52, 27 January 2010 (UTC)

Meaning of "permutation"
The "permutation" part of a modern cipher is typically not a bit permutation as described in the illustration. It is a simple (usually, but not necessarily, linear) vectorial Boolean function transformation of the state. This greatly enhanced machinery is still called "permutation", causing confusion: the term “permutation” has become established and is still used, even when we do not talk about a bit-permutation (Thorsten Kranz, 2020, p. 8, see also note 5 on the same page). If someone can find a better source with the same blunt statement, it would be great. We can then change this article and the Permutation box. Dimawik (talk) 22:33, 9 October 2023 (UTC)

All output bit are dependent, half change
Our article includes text
 * Rather, a good S-box will have the property that changing one input bit will change about half of the output bits (or an avalanche effect). It will also have the property that each output bit will depend on every input bit.

While this is an obvious statement for a practitioner, these sentences can be extremely confusing to our readers who came here to understand the terminology, as noticed by. It would be nice to properly source the statement and add text explaining why the proper design of an S-box should randomize its input (some attempt at it is done in avalanche effect). Dimawik (talk) 02:00, 25 February 2024 (UTC)