Correlation immunity and resiliency of Boolean functions

From Boolean
Revision as of 10:48, 26 November 2024 by Nadiia (talk | contribs)

In the standard model of a stream cipher, the outputs of linear feedback shift registers are the entries of a Boolean function. The output of the function produces the keystream, which is then bitwise xored with the message to produce the cipher. The decryption consists symmetrically in xoring this same keystream with the ciphertext. There are a lot of divide-and-conquer attacks on this method of encryption, see [1],[2],[3],[4]. To resist these attacks the Boolean function must be properly chosen: balanceness, large algebraic degree, high nonlinearity, and high order correlation immunity [5].

The Boolean functions used in the stream ciphers must be balanced for avoiding statistical dependence between their input and their output [6]. It must also have large algebraic degree, because its degree conditions are the linear complexity of the produced running-key. A third usual criterion is that the function should be far from all affine functions regarding Hamming distance, since the existence of a “good” approximation of by an affine function makes fast correlation attacks feasible, see [7]. A fourth criterion on the combining function is that the distribution probability of its output should be unaltered when any of its inputs are fixed, with m as large as possible. This property, called -th order correlation immunity.

Combining function, combiner model, combination generator

A combination generator is a running-key generator for stream cipher applications. It is composed of several linear feedback shift registers whose outputs are combined by a Boolean function to produce the keystream. The combining function  is a Boolean function that takes the outputs of  individual generators as inputs and produces a single output bit at each step. The choice of significantly affects the cryptographic strength of the system, such as its resilience to correlation attacks, balance properties, and algebraic complexity.

Any combination function used for generating the pseudorandom sequence in the stream cipher must stay balanced if we keep constant some coordinates of .

Correlation immunity

Definition

The Boolean function is called -th order correlation immune if the output distribution probability of is unaltered when any of its input bits are kept constant.

Using, Walsh transform below, the Boolean function is -th order correlation immune if and only if , for all , s.t. , where is the Hamming weight of .

Importance of correlation-immune functions

The notion of correlation-immune function is related to the notion of orthogonal array. The notion of correlation immunity was introduced by Siegenthaler [8]. If combining function is not -th order correlation-immune, then there exist a correlation between the output of the function and coordinated of its input. Moreover, if is small enough ― a divide-and-conquer attack, correlation attack for stream ciphers, and later improved to fast correlation attack ― uses this weakness for attacking the system.

Resiliency

Definition

Balanced -th order correlation-immune functions are called -resilient functions.

Using, Walsh transform below, the Boolean function is -resilient if and only if , for all , s.t. .

The maximum value of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle m } such that Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f} is Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle m } -resilient is called the resiliency order of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f} .

Walsh transform

Correlation immunity and resiliency can be characterized through the Walsh transform of the Boolean function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f } [9].

The discrete Fourier transform of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f } is by definition the function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \widehat{f} } defined by

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \widehat{f}(u)=\sum_{x \in F_2^n} f(x)(-1)^{u \cdot x} \text{ for all } u \in \mathbb{F}_2^n,}

where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u \cdot x } is inner product Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle u \cdot x = u_1x_1 \oplus \dots \oplus u_n x_n } . The Walsh transform of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f } is the discrete Fourier transform of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \chi_f = (-1)^f } , i.e Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \forall u \in \mathbb{F}_2^n }

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \widehat{\chi_f}(u)=\sum_{x \in \mathbb{F}_2^n}(-1)^{f(x) \oplus x \cdot u}.}

Example

Let Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle r } be a positive integer smaller than Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n } . Let Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle g } be any Boolean function on Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbb{F}_2^{n-r} } and let Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi } be a mapping, s.t. Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi : \mathbb{F}_2^{n-r} \mapsto \mathbb{F}_2^{r} } . Define the function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f_{\phi , g}(x, y) } for Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle x \in \mathbb{F}_2^r, \; y \in \mathbb{F}_2^{n-r} } , s.t.

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f_{\phi , g}(x, y)=x \cdot \phi(y) \oplus g(y)=\bigoplus_{i=1}^r x_i \phi_i(y) \oplus g(y), }

where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi_i(y) } is the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle i } -th coordinate of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi(y) } . Then Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle f_{\phi , g}(x, y) } is Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle m } -resilient with Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle m \geq k } if every element in Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \phi(\mathbb{F}_2^{n-r}) } has Hamming weight strictly greater than Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle k } [10].

  1. A. Canteaut, M. Trabbia, Improved fast correlation attacks using paritycheck equations of weight 4 and 5, Advanced in Cryptology-EUROCRYPT 2000. Lecture notes in computer science 1807 (2000), pp. 573-588.
  2. T. Johansson, F. Jonsson ¨ , Improved fast correlation attack on stream ciphers via convolutional codes, Advances in Cryptology - EUROCRYPT’99, number 1592 in Lecture Notes in Computer Science (1999), pp. 347–362.
  3. T. Johansson, F. Jonsson ¨ Fast correlation attacks based on turbo code techniques, Advances in Cryptology - CRYPTO’99, number 1666 in Lecture Notes in Computer Science (1999), pp. 181–197.
  4. T. Siegenthaler, Decrypting a Class of Stream Ciphers Using Ciphertext Only, IEEE Transactions on Computer, V. C-34, No 1 (1985), pp. 81-85.
  5. Carlet, C. (2002). On the Coset Weight Divisibility and Nonlinearity of Resilient and Correlation-Immune Functions. In: Helleseth, T., Kumar, P.V., Yang, K. (eds) Sequences and their Applications. Discrete Mathematics and Theoretical Computer Science. Springer, London. https://doi.org/10.1007/978-1-4471-0673-9_9
  6. Carlet C. Boolean Functions for Cryptography and Coding Theory. Cambridge University Press; 2021.
  7. W. Meier, O. Staffelbach, Fast correlation attack on certain stream ciphers, Jounal of Cryptology (1989), pp. 159-176.
  8. Siegenthaler, T. (1984). “Correlation-immunity of nonlinear combining functions for cryptographic applications.” IEEE Transactions on Information theory, IT-30 (5), 776–780.
  9. Xiao, Guo-Zhen and J.L. Massey (1988). “A spectral characterization of correlation-immune combining functions.” IEEE Trans. Inf. Theory, IT-34 (3), 569– 571.
  10. Carlet, C. (2005). Correlation Immune and Resilient Boolean Functions. In: van Tilborg, H.C.A. (eds) Encyclopedia of Cryptography and Security. Springer, Boston, MA . https://doi.org/10.1007/0-387-23483-7_81