Date: Jun 17, 2013 11:18 AM
Author: Mok-Kong Shen
Subject: A block encryption processing idea taken from linear algebra

The iterative solution of a system of n linear equations can be
formulated as follows:

x1 := a11*x1 + a12*x2 + ... + a1n*xn + b1
x2 := a21*x1 + a22*x2 + ... + a2n*xn + b2
xn := an1*x1 + an2*x2 + ... + ann*xn + bn

where (in the so-called single-step method) the assignments are
performed sequentially. See V. N. Faddeeva, Computational Methods of
Linear Algebra, p.117, Dover Publ., 1959. (Note that many textbooks
of linear algebra present however a different, in fact less general,

Using this as a hint, we propose to do for block encryption processing
of n blocks, x1, x2, ... xn, the follwoing, where the f's are
invertible non-linear functions, the r's are pseudo-random numbers and
the assignments are performed sequentially (the f's and the r's are
(secret) key-dependent and different for different rounds, if more
then one rounds are used, computation is mod 2**m for block size of
m bits):

x1 := f1(x1 + x2 ... + xn + r1)
x2 := f2(x1 + x2 ... + xn + r2)
xn := fn(x1 + x2 ... + xn + rn)

Note that we have left out the multiplication with a's, which is
deemed a justifiable simplicity since the f's are non-linear and
further the r's are pseudo-random. Note also that the effect of
block-chaining in the use of the common block ciphers is intrinsically
present in our scheme. A viable variant of the scheme is to employ
^r instead of +r.

M. K. Shen