A nonlinear boolean function f(x1; x2; : : : ; xk) of k binary variables may be used in two basically different ways to generate a non-linear binary sequence, internally or externally. Internally, f may be part of the feedback computation of a nonlinear feedback shift register. Externally, f may be applied to the output bit stream of another sequence generator (e.g. a linear shift register) to introduce nonlinearity, or greater nonlinearity. A third approach is to use f to obtain a nonlinear combination of k linear sequences. The vulnerability of systems using f in any of these ways to cryptanalysis depends on the multidimensional correlations of f with the modulo 2 sums of the subsets of its variables. This principle was published by the present author in [1] in 1959, and included as Chapter 8 in his book [2] in 1967. It was subsequently rediscovered and republished in 1988 in [3], on the basis of which it is sometimes known as the Xiao-Massey algorithm. Some practical aspects of the use of this principle in code construction as well as code breaking, and for other types of signal design, are discussed.