1
$\begingroup$

Confusion is a necessary component of any encryption algorithm. S-boxes play an important role in ensuring confusion. If an encryption algorithm does not use any S-box (rather some other Operations/technique to provide confusion), then by looking at Cipher Algorithm, how can we identify which component is providing confusion.

$\endgroup$
6
$\begingroup$

You can express the output of a cipher in terms of XOR and AND gates applied to the ciphers input bits.

"Confusion" implies an increase in the degree of the equations that represent the bits of cipher output. Basically, the goal of confusion is to make the expressions that represent the bits of the cipher too complex to be able to work with, and to make it to where there is no linear expression that can be used to approximate the actual expression; A linear approximation would imply a % chance that a given set of inputs will make the expressions easy to work with.

For a boolean circuit (i.e an s-box), AND and OR gates will increase the degree of the equations. XOR and shift/rotations will not increase the degree of the equations. (They increase the number of terms in a given equation, which is helpful in making more complex expressions).

Another technique to obtain non-linearity is to interleave operations from different fields, for example mixing bitwise XOR and integer ADD operations. However, if you were to pull apart the adder circuit, you would find AND/OR gates providing the non-linearity yet again.

So look for the AND/OR gates, and you should find the source of confusion in the design.

$\endgroup$
  • $\begingroup$ In fact, all deterministic relationships between a fixed-length input word and a fixed-length output word that can be written down with a non-Turing complete algorithm (essentially, without while loops or for-loops with non-compiler-time length), are combinatorial, and hence can be expressed by NAND ports (or NOR ports, your choice) only. Whether that is the technologically smartest implementation is to be seen, but as a matter of principle, it is possible. Any boolean expression can be written as a combination of NAND ports only or a combination of NOR ports only. $\endgroup$ – entrop-x Dec 8 '17 at 8:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.