En matemáticas, la inmunidad a la correlación de una función booleana es una medida del grado en que sus salidas no están correlacionadas con algún subconjunto de sus entradas. En concreto, se dice que una función booleana es inmune a la correlación de orden m si cada subconjunto de m o menos variables en es estadísticamente independiente del valor de .
Una función es inmune a la correlación de orden -ésimo si, para cualquier variable aleatoria binaria independiente , la variable aleatoria es independiente de cualquier vector aleatorio con .
Cuando se utiliza en un cifrado de flujo como una función de combinación para registros de desplazamiento de retroalimentación lineal , una función booleana con inmunidad a la correlación de orden bajo es más susceptible a un ataque de correlación que una función con inmunidad a la correlación de orden alto .
Siegenthaler demostró que la inmunidad de correlación m de una función booleana de grado algebraico d de n variables satisface m + d ≤ n ; para un conjunto dado de variables de entrada, esto significa que un grado algebraico alto restringirá la inmunidad de correlación máxima posible. Además, si la función está balanceada, entonces m + d ≤ n − 1. [1]