Is there a precise definition of what counts as a Linear Cipher? If so, what is it?
-
3$\begingroup$ Maybe Alice has an answer... :D What research have you done ? $\endgroup$– BivMar 5, 2017 at 15:31
-
1$\begingroup$ I have done some Google searches. I am thinking that it might be the same as the Affine Cipher. $\endgroup$– BobMar 5, 2017 at 15:34
-
5$\begingroup$ I'd suppose a linear cipher is a cipher that has a linear property? $\endgroup$– SEJPMMar 5, 2017 at 15:47
-
$\begingroup$ Read the beginning of this answer $\endgroup$– fgrieu ♦Mar 5, 2017 at 16:56
1 Answer
A linear cipher is a cipher that all of its inner operations (diffusion and confusion operations) have the mathematical linear property. Linear property in mathematics is defined in such a way: f(a+b) = f(a) + f(b). But what does it mean in origin? It means that if we think a cipher like a magic box, then if we give this magic box the sum of two quantities, then in the output of this magic box we can distinguish these two quantities. But how does it relate to cipher security? This linearity property causes the transformation of any inputs properties to output properties. For example, think about one of these properties can be the odd or even of inputs. Then, if the input data to the cipher are all even, then all of the output data be even, too. As we told, every cipher operates with two operations. Each of these operations is defined with mathematical functions: Substitution function that makes the confusion property and Permutation Function that makes diffusion property. Permutation functions are originally linear or affine functions(affine function: linear function + constant value). The only part of cipher that should be non-linear is confusion parts. For example SBoxes. And choosing a good SBox that has the high nonlinearity property is very important. So if we can change a cipher to a linear or affine form(by some technics of cryptanalysis like Linear cryptanalysis), we can change the cipher to some linear equations and by solving these equations, we can extract the Key.