You are on page 1of 18

ALGUNAS PROPIEDADES CRIPTOGRÁFICAS DE LAS FUNCIONES

BOOLEANAS

Adler Rensso Chung Gonzalez1


L
CRYPT CODING GROUP

Resumen. Se presenta definiciones preliminares sobre las funciones Booleanas, se estudia


algunas de sus propiedades criptográficas mediante la transformada de Walsh y se da algunos
fundamentos matemáticos involucrados.
Palabras Clave: Criptografı́a, funciones Booleanas, transformada de Walsh.

1 Introducción naria(bitstring) en una computadora, y es en-


criptado reemplazando un bitstring por otro,
normalmente de la misma longitud [22]. Es
El rápido crecimiento de la comunica-
importante que estos mensajes no puedan ser
ción electrónica(principalmente internet)tiene
alterados y que la seguridad de la información
como resultado que el problema de la seguri-
se mantenga. La criptografı́a moderna brinda
dad de la información sea de una importancia
métodos matemáticos para solucionar, relati-
práctica creciente. Los mensajes que se inter-
vamente, estos problemas.
cambian en todas partes del mundo, y que son
Históricamente la criptografı́a ha sido vis-
publicamente accesibles a redes de computado-
to como una arte mas que una ciencia, pero
ras, deben ser mantenidos confidencialmente y
existiendo siempre dos grupos bien diferencia-
protegidos contra manipulación [5]. El comer-
dos. Los criptógrafos, cuyo trabajo es diseñar
cio electrónico requiere firmas digitales que son
sistemas criptográficos, y los criptóanalistas,
válidas para la ley y protocolos seguros de pa-
cuyo trabajo es tratar de infringir en estos
go. La criptografı́a moderna proporciona solu-
sistemas criptográficos [25]. Ası́, el arte y la
ción a todos estos problemas.
ciencia de la criptografı́a consite de dos mun-
La criptografı́a es el arte y la ciencia de
dos. Por un lado, el mundo de las comuni-
ofuscar mensajes. Antes de la época de las
caciones legales, como usuarios que intercam-
computadoras, un mensaje era una cadena de
biar mensajes de datos bancarios. Este mundo
letras y era encriptado reemplazando cada le-
puede ser visto como un mundo abierto y so-
tra con otra o un número. En la época de las
leado(criptografı́a). Por otro lado, el mundo
computadoras, un mensaje es una cadena bi-
1
Trujillo, Perú, 2009. E-mail: renssso@hotmail.com.

1
oscuro del enemigo(criptoanálisis) que ilegal- linealidad. Las propiedades anteriores son a
mente trata de interceptar los mensajes y ha- menudo investigadas mediante la transforma-
cer todo tipo de cosas maliciosas. Para la gente da de Walsh [12]. Las funciones Boolenas que
del mundo legal, es conveniente que el enemigo tienen estas propiedades son resistentes a los
entienda muy poco de los mensajes. El enemi- ataques criptoanáliticos. La criptografı́a, en-
go, por otro lado, le gustaria tener facilmen- tonces, necesita la manera de buscar buenas
te desifrable estos mensajes. La criptografı́a funciones Boolenas que sean resistentes a ata-
es una lucha continua entre estos dos mundos. ques criptoanáliticos.
El éxito obtenido por el enemigo conduce a la Existen otras propiedades criptográficas
necesidad de reforzar los métodos en el mun- como avalancha y (no exitencia de) estructuras
do soleado. Para el enemigo, en cambio, esto lineales diferentes de cero. Un ligero comenta-
constituye un nuevo reto. Y, de esa manera, rio de estas propiedades puede encontrarse en
la lucha continua [21]. En la referencia [2] se [31]. Hay que recalcar, sin embargo, que de las
puede encontrar aspectos históricos más preci- cuatro propiedades criptográficas mencionadas
sos de la criptografı́a. anteriormente, sólo el concepto de inmunidad-
El campo de la criptografı́a se ha expan- correlación, que fue introducido por T. Siegent-
dido en los últimos años. Las disciplinas ma- haler, no será estudiado en este artı́culo.
temáticas que están involucradas con la crip- Existen aún varios problemas abiertos so-
tografı́a incluye teorı́a de números, teorı́a de bre funciones Boolenas que son de importancia
grupos, lógica combinatoria, teorı́a de la com- primordial para la criptografı́a [16]. Muchos de
plejidad, teorı́a ergótica, teorı́a de la informa- ellos están relacionados con problemas de com-
ción y otras áreas de la matemática. El campo plejidad computacional.
de la criptografı́a puede ser visto, en la actua- En la sección 2 se da los preliminares
lidad, como una subdivisión de la matemática matemáticos necesarios, como la definición de
aplicada y las ciencias de la computación[25]. campo, espacio vectorial, funciones Boolenas
En este artı́culo se hace un revisión de al- y su representación. En la seeción 3 introdu-
gunos aspectos teóricos que relacionan las fun- ce un importante concepto para la criptografı́a
ciones Boolenas y la criptografı́a. El tema se moderna y la teorı́a de códigos, la distancia
emarca dentro del análisis de Fourier de las Hamming. En la sección 4 se presenta una de
funciones Boolenas. Más exactamente, en el las herramientas más importantes en cripto-
caso de caracterı́stica 2 de la transformada dis- grafı́a, la transformada de Walsh(también lla-
creta de Fourier(la transformada de Walsh). mada transformada de Hadamard), con el cual
Esta herramienta matemática permite estudiar se estudiará algunas propiedades criptográficas
algunas propiedades criptógraficas de las fun- de las funciones Boolenas. En la sección 5 se
ciones Boolenas. define la función de autocorrelación y se da al-
Cuatro son las propiedades criptógraficas gunos resultados. En la sección 6 se presenta la
deseables en las funciones Boolenas: grado al- relación entre las transformaciones lineales y la
gebraico, inmunidad-correlación, balance y no función signo, algunos resultados involucrados

2
y la ecuación de Parseval. En la sección 7 se es decir, aquellos que tienen un número fini-
estudia las matrices de Hadamard(y las matri- to de elementos. Finalmente, se recuerda que
ces de Sylvester-Hadamard y su construcción), F∗ := F − {0}.
que pose una estructura adecuada para expre- Un campo importante para la teorı́a de
sar las transformada(rápida) de Walsh; se es- códigos y la criptografı́a, está dado por el con-
tudia también resultados sobre la no linealidad junto B = {0; 1}, llamado conjunto binario,
de funciones Boolenas, se define el producto de donde se definen las operaciones de adición (⊕)
Kronecker y se cita algunas de sus propiedades. y multiplicación (·) por las tablas
Finalmente, en la sección 8, se tiene la conclu-
sión. ⊕ 0 1 · 0 1
0 0 1 y 0 0 0 .
1 1 0 1 0 1
2 Preliminares.
Funciones Booleanas El campo (B, ⊕, ·) será denotado por F2 .
La operación de adición, en este campo, recibe
2.1 Campos el nombre especial de xor (o adición módulo 2).
El campo F2 es, evidentemente, conmutativo.
Sea F un conjuto, que tiene al menos Es conveniente, además, usar la notación ab en
dos elementos, provisto de dos operaciones bi- lugar de a · b para la operación binaria definida
narias, llamada adición (denotada por +) y en F2 .
multiplicación (denotado por ·). Se dice que
(F, +, ·) es un campo si:
1. (F, +) es un grupo abeliano; Nota 1 Desde que el conjunto {0, 1} pue-
de ser visto como un subconjunto de Z o como
2. (F∗ , ·) es un grupo; el campo F2 , se necesita distinguir entre la adi-
ción en Z (denotada por + y la suma P de varios
3. la operación · es distributiva con respecto
términos a1 , ..., ar será denotado por ri=1 bi )
a la operación +.
y la adición en F2 (denotada por ⊕ y la suma
El hecho que F tenga al menos dos ele- de varios términos a1 , ..., ar será denotado por
Lr
mentos es para evitar el caso patológico don- i=1 ).
de 0 = 1 [18]. Si la operación · en el gru-
po (F∗ , ·) es conmutativa o, en otras palabras, En general, un campo con q elementos es

si (F , ·) es un grupo abeliano, se dice que el denotado por Fq . Esta notación está bien jus-
campo (F, +, ·) es conmutativo. En el lengua- tificada por el hecho que dos campos con q ele-
je algebraico, un campo es conocido también mentos son isomorfos. La notación GF (q)(el
como un cuerpo o como un anillo en el cual campo de Galois con q elementos) también es
todo elemento no nulo es inversible [6]. En es- usada por otros autores. En partı́cular, se pue-
te artı́culo sólo se consideran campos finitos, de escribir, de acuerdo a la notación anterior,

3
F2 = GF (2): el campo de Galois con dos ele- α ∈ Fn2 . Se escribe α = (a1 , ..., an ) < β =
mentos. Ejemplos de campos pueden ser aque- (b1 , ..., bn ) si existe k, 1 ≤ k ≤ n, tal que
llos formados por p elementos, donde p es un a1 = b1 , ..., ak−1 = bk−1 y ak = 0, bk = 1, de
número primo [28]. modo que se puede ordenar todos los vectores
Para un estudio más amplio del álgebra; en Fn2 por la relación <, es decir,
en particular estructuras algebraicas, como
grupos y campos; y los aspectos algebraicos α0 < α1 < · · · < α2n −1 ,
involucrados en la criptografı́a, puede consul-
tarse las referencias [10] y [9], respectivamente. donde

α0 = (0, ..., 0, 0)
2.2 Espacio vectorial sobre F2 ..
.
Un espacio vectorial puede ser definido en α2n−1 −1 = (0, 1, ..., 1)
cualquier campo F con las mismas propiedades ..
.
que son usadas para definir un espacio vectorial
α2n−1 = (1, 0, ..., 0)
sobre el conjunto de los números reales [17]. ..
Sea un espacio vectorial de dimensión n .
sobre el campo de dos elementos F2 . Tal es- α2n −1 = (1, 1, ..., 1).
pacio vectorial será denotado por Fn2 . Para dos
vectores α = (a1 , ..., an ) y β = (b1 , ..., bn ) en El modo anterior de ordenar los vectores
Fn2 , donde ai , bi ∈ F2 , se define el producto en Fn2 es a menudo conocido en la literatura
escalar por como orden lexicográfico.
n
X
hα, βi = aj bj = a1 b1 ⊕ · · · ⊕ an bn , 2.3 Funciones Booleanas
j=1
El concepto de función Booleana es central
donde la multiplicación y la adición ⊕ están para la lógica matemática, las ciencias de la
definidas en el campo F2 . El producto esca- computación, la matemática discreta, la crip-
lar de α y β será denotado también por α · β. tografı́a matemática, etc.
Ahora se define la operación ? por Las funciones Booleanas juegan un rol
básico en la teorı́a de la complejidad como tam-
α ? β = (a1 b1 , ..., an bn ).
bién en el diseño de circuitos y chips para las
Nota 2 F2 puede ser visto, desde el punto de computadoras digitales. En la generación de
n

vita de la teorı́a de códigos, como el conjuto de filtros no lineales y modelos combinados no li-
todas las palabras binarias de longitud n. neales, la seguridad depende en gran parte de
la elección de funciones Booleanas. Por lo tan-
Definición 1 ( Se sigue la definición de to, el estudio de las propiedades criptográficas
la referencia [23], p. 147 ) Dado un vector de las funciones Booleanas es estremadamente

4
importante y relevante [32]. Definición 2 Una función f en Fn2 puede ser
Una función Booleana de n argumentos representado unicamente por un polinomio en
es una función Fn2 , de grado a lo máximo n, de la forma
f : Fn2 −→ F2 . M
2n
Existen 2 funciones Booleanas en el es- f (x1 , ..., xn ) = g(a1 , ..., an )xa11 · · · xann ,
pacio vectorial Fn2 . El conjunto de todas las α∈ Fn2
funciones Boolenas en Fn2 será representado por
Bn . Se puede expresar una función Booleana donde α = (a1 , ..., an ), y g es una función en
por su tabla de verdad, una sucesión, una ma- Fn2 .
triz o en su forma normal algebraica. En todos
los casos de representación, cada función Boo-
leana se puede expresar de forma única. La representación polinomial de f es lla-
La representación básica de una fun- mada la forma normal algebraica(FNA) de
ción Booleana es su tabla de verdad. Es- la función y cada xa11 · · · xann es llamado un
pecı́ficamente, la tabla de verdad de una fun- término en la FNA de f . El grado algebrai-
ción Booleana f en Fn2 es una (0, 1)-sucesión co o, simplemente, grado de f , denotado por
definida por deg(f ), es definido como el número de varia-
bles en el término más grande de f , es decir, el
(f (α0 ), f (α1 ), ..., f (α2n −1 )).
grado del polinomio determina el grado alge-
Dado que el grupo {0, 1, ⊕} es isomorfo a braico de la función f . La función g, definida
{1, −1, ∗}, resulta útil considerar funciones en la forma normal algebraica, es llamada la
Booleanas con sı́mbolos de salidad {1, −1}. transformación de Möbius de f .
La observación anterior permite representar un La negación lógica, o complemento, de una
función Boolena f por su (1, -1)-sucesión defi- función f es f¯ = f ⊕ 1
nida por Las funciones Booleanas básicas son las
funciones afines. Una función afı́n h(x) = `a,c
((−1)f (α0 ) , (−1)f (α1 ) , ..., (−1)f (α2n −1 ) ).
en Fn2 es una función que tiene la forma
La matriz de f es una (1, -1)-matriz de orden
2n definidad por
h(x) = `a,c = a1 x1 ⊕ · · · ⊕ an xn ⊕ c,
f (αi ⊕αj )
M = [(−1) ],
donde ⊕ denota la adición en F2 . donde a = (a1 , ..., an ) ∈ Fn2 y c ∈ F2 . Por
n
Como existe precisamente 22 funciones ejemplo, f (x1 , x2 , x3 ) = 1 ⊕ x1 ⊕ x2 ⊕ x3 es una
n
Booleanas en Fn2 y 22 polinomios de grado n en función afı́n. En particular, si c = 0, entonces
Fn2 , cada función en Fn2 puede ser unicamente h(x) = `a,0 (`a ) es una función lineal. La suce-
expresado como uno polinomio Booleano [30]. sión de una función afı́n(una función lineal)será
Más formalmente se tiene la siguiente llamado una sucesión afı́n(una sucesión lineal).

5
Para cada función Booleana f se asocia su 2. fcg(x) = 1 − 2f g(x)
forma caracter, o función signo, denotado por = 1 − 2f (x)g(x)
1−fˆ(x) 1−ĝ(x)
= 1 − 2[ 2 ][ 2 ]
fˆ : Fn2 −→ {1, −1}
= 1 − [1 + fˆ(x) + ĝ(x) − fˆ(x)ĝ(x)]
y definido por = 21 [1 + fˆ(x) + ĝ(x) − fˆ(x)ĝ(x)]. ¤

fˆ = (−1)f (x) , (1)

cuando f (x) = 0, fˆ(x) = 1; y cuando f (x) = 1,


se tiene que fˆ(x) = −1. Una observación im-
portante es que 3 La distancia Hamming
h(x) = f (x) ⊕ g(x) ⇐⇒ ĥ(x) = fˆ(x)ĝ(x). El peso Hamming de un vector x ∈ Fn2 ,
denotado por wt(x), es el número de unos en
La fórmula (1) es una representación útil eln vector x. Para una función Booleana f en
para la funciones Boolenas. También es cono- F2 , se define
cida como la tabla de verdad de polaridad o,
simplemente, la representación polar de f . Ωf = {x ∈ Fn2 : f (x) = 1},
Nota 3 La función caracter puede expresarse
también por la forma el cual es llamado el soporte de la función f .
El peso Hamming de una función f es el pe-
fˆ = 1 − 2f (x).
so Hamming de su tabla de verdad, es decir
La función caracter se comporta respecto la cardinalidad del conjunto Ωf y se denota
a la suma y el producto de funciones Booleanas por wt(f ) = |Ωf |. Una función Boolena f se
de la siguiente manera dice que está balanceada si su peso Hamming
es exactamente 2n−1 . Es decir, si en su tabla
Teorema 1 Si f y g son funciones Boolenas de verdad tiene el mismo número de ceros y
en Fn2 , entonces se cumple: unos, en ese caso también se dice que f es 0-1
balanceada.
1. f[ ⊕ g = fˆĝ, El balance es un principal criterio cripto-
2. 2fˆg = 1 + fˆ + ĝ − fˆĝ. gráfico: esto asegura que la función no puede
Prueba. ser aproximado por una función constante [31].
1. f[
⊕ g(x) = (−1)(f ⊕g)(x)
= (−1)f (x)⊕g(x)
= (−1)f (x) (−1)g(x) Ejemplo 1 Número de funciones Balancea-
= fˆ(x)ĝ(x). das [17].

6
n Bn Funciones Balanceadas Porcentaje
2 1
1 2 =4 C220 = C12 = 2 50.0%
1
2 24 = 16 C222 = C24 = 6 37.5%
2
3 28 = 256 C223 = C48 = 70 27.3%
3
4 216 = 64 Kilos C224 = C816 = 12870 19.6%
4
5 232 = 4 Gigas C225 = C16 32
≈ 601 Meg 14.0%
5
6 264 = 16 Exas 2 64
C26 = C32 ≈ 1.6 Exas 9.9%

Tabla 1: Número de funciones balanceadas en Bn

En la tabla 1 se muestra el número de fun- Boolenas. Sin embargo, cuando n se incremen-


ciones balanceadas y su respectivo porcentaje ta, el número de funciones balanceadas decae
n!
en el total de funciones Booleanas para n = rápidamente. Se recuerda que Crn = r!(n−r)! . Es
1, ..., 6. Como puede observarse, existe una decir, combinatoria de n elementos tomados de
relativa abundancia de funciones balanceadas r en r.
en el enorme conjunto de todas las funciones

La distancia Hamming entre dos fun- Sean dos palabras binarias de longitud n,
ciones Boolenas f y g, denotado por d(f, g), se a = a1 a2 · · · an y b = b1 b2 · · · bn . La distancia
define como Hamming entre a y b, d(a, b), es definido co-
mo el número de posiciones bit en que a y b
d(f, g) = wt(f ⊕ g).
difieren. La distancia Hamming es un espacio
La distancia Hammimg también puede es- métrico sobre el espacio de todas las palabras
cribirse de la forma binarias de longitud. Es decir, para a, b y c,
X palabras binarias cualesquiera, se cumple
d(f, g) = 1.
f (x)6=g(x) 1. d(a, b) ≥ 0, y la igualdad cuando a = b;
Puede verse también la distancia Ham- 2. d(a, b) = d(b, a), propiedad de simetrı́a;
ming entre dos funciones Boolenas como la me-
dida de su mutual correlación. 3. d(a, b) + d(b, c) ≥ d(a, c), la desigualdad
El concepto de distancia Hamming, que triangular.
juega un rol fundamental en la teorı́a de
códigos([27],[29]), fue desarrollado por Richard Ejemplo 2
W. Hamming por los años 1950s [8], [22].
Desde el punto de vista de la teorı́a de la Sea n = 8 y a = 11010001, b = 00010010,
información, la distancia Hamming puede ver- c = 01010011. La distancia d(a, b) = 4 des-
se de la siguiente manera [26]: de que a difiere de b en cuatro posiciones bit,

7
a1 6= b1 , a2 6= b2 , a7 6= b7 , a8 6= b8 . Similar- La no linealidad es un criterio crucial para
mente, d(b, c) = 2, desde que b y c difieren por un buen diseño criptográfico. El concepto de
2 bit, bit 2 y 8; d(a, c) = 2 desde que a y c no linealidad fue introducido por Pieprzyk y
difieren en 2 bit, bit 1 y 7. Se puede verificar Finkelstein en [14].
que d(a, b) + d(b, c) ≥ d(a, c), 4 + 2 ≥ 2. La máxima no linealidad que puede lo-
grar una función Boolena de n argumentos es
(n−2)
3.1 Propiedades del peso 2n−1 − 2 2 [7]. Las funciones que logran este
valor de no linealidad son llamadas funciones
y la distancia Hamming
bent y sólo pueden existir cuando n es par
El peso y la distancia Hamming satisfacen [19]. Cuando n es impar, la máxima no linea-
las siguientes propiedades: lidad que puede lograr una función Boolena
1. wt(x ⊕ y) = wt(x) + wt(y) − 2wt(x ? y); de n argumentos es desconocida. Sin embar-
go, funciones que logran una no linealidad de
2. d(f, g) = |x ∈ Fn2 : f (x) 6= g(x)|; (n−2)
2n−1 − 2 2 son faciles de construir y son lla-
3. d(f, g) + d(g, h) ≥ d(f, h); madas al menos optimamente no lineales [3].
Es un importante problema abierto de-
4. d(f, ḡ) = 2n − d(f, g); terminar el conjunto de funciones balanceadas
P que máximice la no linealidad [31].
5. d(f, g) = 2n−1 − 12 x fˆ(x)ĝ(x).
Las funciones bent fueron introducidas y
Nota 4 El grado algebraico de f puede expre- estudiadas por primera vez por Rothaus por
sarse en términos de peso Hamming [30]. Ası́ los años 1960s en [19], y juegan un papel im-
se tiene: portante en la comunicación digital, la teorı́a
deg(f ) = max{wt(a , ..., a )|g(a , ..., a ) = 1}. de códigos y la criptografı́a moderna.
1 n 1 n

3.2 La no linealidad
La no linealidad de una función Booleana Ejemplo 3
mide la distancia de una función al conjunto de
todas las funciones afines. Más exactamente se
tiene la siguiente
En la tabla 2 se muestra la tabla de verdad de
Definición 3 Sea ϕ1 , ..., ϕ2n +1 , ..., ϕ2n+1 el una función Boolena f y de las funciones afines
conjunto de todas las funciones afines en Fn2 . fi . Se cálcula, además, la distancia Hamming
Se define la no linealidad de la función Boo- d(f, fi ). Luego se tiene que la no linealidad de
leana f , denotada por Nf , por la función Boolena f es 2. Es decir, la distan-
Nf = minn+1 d(f, ϕi ). cia mı́nima de f a la función afı́n fi , que en
i=1,...,2 este caso puede ser f2 o f3 .

8
x1 x2 x3 f1 f2 f3 f4 f5 f6 f7 f8 f Función afı́n Distancia de f
0 0 0 1 0 0 0 0 0 0 0 0 f1 6
0 0 1 1 0 0 1 0 1 1 1 0 f2 2
0 1 0 1 0 1 0 1 1 0 1 0 f3 2
0 1 1 1 0 1 1 1 0 1 0 0 f4 4
1 0 0 1 1 0 0 1 0 1 1 0 f5 6
1 0 1 1 1 0 1 1 1 0 0 0 f6 4
1 1 0 1 1 1 0 0 1 1 0 1 f7 4
1 1 1 1 1 1 1 0 0 0 1 1 f8 4

Tabla 2: Tabla de verdad de f y las funciones afines fi . Distancia Hamming d(f, fi ).

4 La transformada por (2) cuando w varia.


También es conveniente definir la Trans-
de Walsh formada de Walsh de la siguiente manera [11] :
La transformada de Walsh es una de las Definición 5 La transformada de Walsh de
herramientas matemáticas más importantes de una función Booleana f ∈ Fn2 es la función
la criptografı́a moderna. También es usado en W (f )(w) : Fn2 −→ [−2n , 2n ] dado por
teorı́a de códigos y procesamiento de señales
X
para estudiar algunas propiedades de las fun- W (f )(w) = (−1)f (x)⊕hw, xi. (3)
ciones Booleanas. El uso de esta herramienta x∈Fn2
permite calcular la no linealidad, y otras pro-
piedades criptográficas, de una manera senci- Para cualquier w ∈ Fn2 , el entero W (f )(w)
lla. Una función Boolena f está determinada,
es el coeficiente de Walsh de la función f . El
unicamente, por su transformada de Walsh. conjunto {W (f )(w) : w ∈ Fn2 } se llama el es-
pectro de Walsh de f . En este artı́culo se usará
Definición 4 La transformada de Walsh de
la definición anterior para calcular los coefi-
una función Boleana f en Fn2 es la función
cientes de Walsh(c.W). La ecuación (3) puede
W (f ) : Fn2 −→ R definido por
verse de la forma
X
W (f )(w) = w·x
f (x)(−1) , (2) X
W (fˆ)(w) = fˆ(x)(−1)w·x , (4)
F2
n
x∈
x∈ Fn2
que define los coeficientes de f con respecto
a la base ortonormal del grupo de caracteres es decir, en vez de calcular la tranformada de
Qx (x) = (−1)w·x . Walsh de la función f , se cálcula la transfor-
mada de la función signo fˆ. Ahora se pue-
El espectro de Walsh de una función f es de presentar algunos resultados utilizando la
la lista de los 2n coeficientes de Walsh dados ecuación (4). Por ejemplo, f es una función

9
bent ⇐⇒ W (fˆ)(w) tiene magnitud constante Booleanas donde existen coeficientes de Walsh
n
2 2 [18]. Además, las distancias Hamming en- que son iguales a cero, ∀ c.W.6= 0 es el número
tre f y las funciones afines w · x y w · x ⊕ 1 son de funciones donde todo coeficiente de Walsh
iguales a 2n−1 − 12 W (fˆ)(w) y 2n−1 + 12 W (fˆ)(w). es diferente de cero.

Ejemplo 4 Consideremos la función Boolena n ] fn ∃ c.W. = 0 ∀ c.W. 6= 0


de tres argumentos definido en Fn2 por 1 4 4 0
2 16 8 8
f (x) = x2 x1 ⊕ x3 x1 ⊕ x3 x1 3 256 128 128
4 216 31872 33664
x1 x2 x3 f (x) fˆ(x) c.W. 5 232 2113961984 2181005312
0 0 0 0 1 0
Tabla 3
0 0 1 0 1 4
0 1 0 0 1 4 Sobre la base de la distribución espectral
0 1 1 1 -1 0 y los valores de los coeficientes de Walsh puede
1 0 0 0 1 4 ser analizado las propiedades criptógraficas de
1 0 1 1 -1 0 las funciones Boolenas [15].
1 1 0 1 -1 0 El siguiente lema es útil para probar el le-
1 1 1 1 -1 -4 ma 2 y su prueba puede encontrarse en [4].
n
La transformada de Walsh es a menudo Lema 1 Si w ∈ F2 , se tiene
X ½ n
llamada la distribución espectral, espectro de u·w 2 si w = 0,
(−1) =
Walsh o, simplemente, el espectro de la función 0 en otro caso.
u∈Fn
Boolena. 2

En la teorı́a de funciones Boolenas existe Nota 5 La función Boolena f puede ser recu-
algunos tipos de funciones que tienen propie- perada por la transformada inversa de Walsh,
dades partı́culares. Mediante el espectro de X
f (x) = 2−n W (f )(w)(−1)w·x . (5)
Walsh es posible caracterizar estas propieda-
w∈F2n
des. Cada una de estas funciones tienen dife-
rente y único espectro.
5 La función
Ejemplo 5 de autocorrelación
En la tabla 3 se muestra la distribución es- Definición 6 La función de autocorrelación
pectral de los coeficientes de Walsh de algunas r̂f (a) es definido como
funciones Boolenas de n variables; donde ] fn X
es el número de funciones Booleanas de n va- r̂ f (a) = fˆ(x)fˆ(x ⊕ a).
riables, ∃ c.W.=0 es el número de funciones x∈Fn
2

10
Definición 7 El valor de correlación entre Lema 3 Si la función Booleana f puede ser
dos funciones Booleanas g y h es definido por obtenido de g por una transformación afı́n de
entrada, es decir,
d(g, h)
c(g, h) = 1 − n−1 .
2 g(v) = f (Av ⊕ g),
Definición 8 Sean f y g dos funciones Boo-
donde A es una matriz inversible y b ∈ Fn2 ; en-
leanas. La función de crosscorrelación es de-
tonces las transformada de Walsh de f y g está
finido por
relacionados por
X
c(fˆ, ĝ)(y) = fˆ(x) · ĝ(x ⊕ y).
W (g)(u) = ±W (f )(uA−1 ).
n x∈F2
La prueba del lema anterior puede verse
El siguiente lema relaciona la transforma-
en [4].
da de Walsh de f y fˆ. δ es la función delta de
En el siguiente teorema, A es una matriz
Kronecker definido por
no singular, (A−1 )t significa la transpuesta de
½
1 si x = 0 la función invertible y δ es la función delta de
δ(x) = Kronecker.
0 si x 6= 0.

Lema 2 Se tiene que Teorema 2 Se cumple que:

W (fˆ)(w) = −2W (f )(w) + 2n δ(w) (6) ⊕ 1)(x) = −W (fˆ)(x).


1. W (f[

Prueba 2. Si g(x) = f (x) ⊕ `a (x), entonces


X W (ĝ)(x) = W (fˆ)(x ⊕ a).
W (fˆ)(w) = fˆ(x)(−1)x·w
x∈ Fn2 3. Si g(x) = f (x ⊕ a), entonces W (ĝ)(x) =
X (−1)a·x W (fˆ)(x).
= [1 − 2f (x)](−1)x·w
x∈ Fn2 4. Si g(x) = f (xA), entonces W (ĝ)(x) =
X X
= (−1) x·w
−2 f (x)(−1)x·w W (fˆ)(x(A−1 )t ).
F
x∈ n2 x∈Fn2
n
= 2 δ(w) − 2W (f )(w). ¤ 5. Si h(x) = f (x) ⊕ g(x) en Fn2 , entonces

1 X
W (k̂)(x) = W (fˆ)(v)W (ĝ)(x ⊕ v).
6 Transformaciones linea- 2n v∈Fn
2

les y la función signo


6. Si h(x, y) = f (x) ⊕ g(y), f, g en Fn2 ; en-
Se sigue [4] en el desarrollo de esta sección. tonces W (ĥ)(x, y) = W (fˆ)(x)W (ĝ)(y).

11
7. Si k(x) = f (x)g(x) y h(x) = f (x) ⊕ Lema 4
g(x), entonces W (ĥ)(x) = 21 [2n δ(x) + X ½ 2n
ˆ ˆ 2 si v = 0,
W (fˆ)(x) + W (ĝ)(x) − W (ĥ)(x)]. W (f )(u)W (f (u ⊕ v) =
0 si v 6= 0.
n u∈ F2
El siguiente teorema es una versión más
precisa del lema anterior. Prueba.
X
Teorema 3 Sean h y g funciones Booleanas W (fˆ)(u)W (fˆ)(u ⊕ v)
relacionados por h(x) = g(Ax ⊕ a), donde A u∈ F n
2

es una matriz invertible de orden n × n sobre X X


el campo F2 .Entonces = (−1)u·w fˆ(w) (−1)(u⊕v)·x fˆ(x)
wA−t ·a
u,v∈Fn2 x∈ Fn2
W (g)(w) = (−1) −t
W (h)(A w) X X
= (−1)v·x fˆ(x) (−1)u·(w⊕x)
W (h)(w) = (−1)w·a W (g)(At w). w,x∈F2n u∈ Fn2
X
= 2n (−1)v·w fˆ(w)2
6.1 La ecuación de Parseval w∈ Fn2
X
= 2n (−1)v·w ,
Por la definición de la transformada de w∈Fn
Walsh se puede deducir que W (fˆ)(u) es igual 2

al número de ceros menos el número de unos desde que fˆ(w)2 = 1 se tiene que el lema está
en el vector binario f ⊕ `u , es decir, probado. ¤
n Ahora veamos la ecuación de Parseval
X
ˆ n
W (f )(u) = 2 − 2d(f, ui vi ). (7) Corolario 1 Para cualquier función Booleana
i=1
f de n argumentos, se cumple
Además X
[W (fˆ)(u)]2 = 22n .
Xn
1 u∈Fn2
d(f, 1 ⊕ ui vi ) = (2n + W (fˆ)(u)).
1=1
2 La relación (7) proporciona una mane-
ra de encontrar la función afı́n más cercana
El siguiente resultado permite expresar la a f (en términos de la distancia Hamming):
no linealidad en términos de la transformada ` (v) = a ⊕ u · v, donde |W (fˆ)| es el más
u,a0 0
de Walsh. grande.
Teorema 4 Se cumple que Ejemplo 6 [4] Sea f una función Booleana en
Fn2 definido por
1
Nf = 2n−1 − max |W (fˆ)(u)|
2 u∈Fn2 f (x1 , x2 , x3 ) = 1 ⊕ x1 ⊕ x2 ⊕ x2 x3 ⊕ x1 x2 x3

12
x1 x2 x3 f (x) fˆ(x) c.W. donde H t es la transpuesta de H y In es la
0 0 0 1 -1 -2 matriz identidad de orden n × n. Desde que
0 0 1 1 -1 2 H −1 = n1 H t se tiene que H t H = nIn , de ese
0 1 0 0 1 2 modo las columnas tienen la misma propiedad
0 1 1 1 -1 -2 que las filas, más exactamente se puede escribir
1 0 0 0 1 -2
1 0 1 0 1 2 HH t = H t H = nIn .
1 1 0 1 -1 -6
1 1 1 1 -1 -2 Las siguientes dos matrices son de Hada-
mard
Su tabla de verdad es 11010011 y  
· ¸ 1 1 1 1
sus (ordenados) coeficientes de Walsh  1 1 −1 −1 
1 1
son −2, 2, 2, −2, −2, 2, −6, 2. Desde que ,  
 1 −1 −1 1  .
1 −1
|W (fˆ(α6 )| = 6, se sigue que la función
1 −1 1 −1
`α6 ,1 = 1 ⊕ x1 ⊕ x2 es la función afı́n más
cercana a f . Se puede verificar, además, que También se les puede representar ası́
d(f, `α6 ,1 ) = 1.  
· ¸ + + + +
+ +  + + − − 
7 Matrices de Hadamard y , 
 + − −
.
+ − + 
la transformada + − + −

de Walsh Si H es una matriz de Hadamard, enton-


ces también lo es HP para culaquier matriz P
7.1 La matriz de Hadamard con entradas ±1 satisfaciendo P P t = In . De
ese modo se puede cambiar el -1 en la primera
Una de las aplicaciones de las matrices de fila de H por +1. Existe sólo una matriz de
Hadamard se encuentra en la criptografı́a. A Hadamard de ese tipo.
continuación se da su definición, y algunas pro- La prueba del siguiente resultado puede
piedades y resultados que usaremos posterior- verse en el libro de F. Zhang [30].
mente. Para un estudio más amplio de las ma-
trices de Hadamard puede consultarse el libro Teorema 5 Sea n > 2. Una condición nece-
de Again [1]. saria para que una matriz cuadrada de orden
Una matriz cuadrada H de orden n se dice n sea una matriz de Hadamard es que n sea un
que es una matriz de Hadamard si cada entra- múltiplo de 4.
da de H es 1 ó -1 y si las filas o columnas son
ortogonales, es decir, si se tiene El siguiente teorema, verificado por un
cálculo directo, permite construir matrices de
HH t = nIn , Hadamard de dimensiones mayores.

13
Teorema 6 Si H es una matriz de Hadamard, 4. T r(A ⊗ B) = T r(A)T r(B),
también es la matriz de orden 2n × 2n de la
forma 5. det(A ⊗ B) = (detA)n (detB)m ,
· ¸
H H
. donde A y B son de orden n × n y m × m,
H −H
respectivamente.
Nota 6 Se ha conjeturado que una matriz de
Hadamard de orden 4n × 4n existe para todo 7.3 Construcción de matrices
entero positivo n [30]. Sin embargo, que yo se- Sylvester-Hadamard
pa, la conjetura aún no está resuelta.
y la transfomada de Walsh
7.2 El producto de Kronecker Existen varias maneras de construir ma-
trices de Hadamard. Uno de los métodos, que
El producto de Kronecker(también conoci-se presenta en este trabajo, esta basado en el
do como el producto tensorial o producto di- producto de Kronecker y el teorema 6. Otros
recto) de dos matrices A y B de orden m × n métodos puede verse en [1] y [27].
y s × t, respectivamente, es definido como la El teorema 6 permite construir matrices
matriz de orden (ms) × (nt) de Hadamard Hn de orden 2n que puede ser
  generado recursivamente definiendo:
a11 B a12 B · · · a1n B
 a21 B a22 B · · · a2n B 
  H0 = [+];
A ⊗ B =  .. .. ... ..  .
 . . .  · ¸
am1 B am2 B · · · amn B + +
H1 = ;
+ −
El producto de Kronecker es, por lo gene-
 
ral, no conmutativo, es decir, A ⊗ B 6= B ⊗ A. + + + +
Sin embargo es asociativo, (A ⊗ B) ⊗ C =  + − + − 
 ;
A ⊗ (B ⊗ C), y distributivo, (A + B) ⊗ C = H2 =  + + − − 
A⊗C +B⊗C. Se puede probar, además, que el + − − +
producto de Kronecker de dos matrices de Ha-
damard es otra vez una matriz de Hadamard.  
+ + + + + + + +
Otras propiedades del producto de Kronecker  + − + − + − + − 
 
son  + + − − + + − − 
 
 + − − + + − − + 
T T
1. (A ⊗ B) = A ⊗ B , T
H3 = 
 +
;

 + + + − − − − 
2. (A ⊗ B)(C ⊗ D) = (AC) ⊗ (BD),  + − + − − + − + 
 
 + + − − − − + + 
−1 −1 −1
3. (A ⊗ B) = A ⊗ B , + − − + − + + −

14
.. Lema 5 Si la matriz de Sylvester-Hadamard
. · ¸
Hn−1 Hn−1 Hn es dado por
Hn = , n ≥ 2.
Hn−1 −Hn−1
 
`0
Es decir, Hn es el producto de Kronecker,  `1 
 
Hn = H1 ⊗ Hn−1 . Hn =  .. 
 . 
Un tipo especial de matriz de Hadamard, `2n −1
llamada matriz de Sylvester-Hadamard, es im-
portante para nuestro estudio.
donde `i es una fila de Hn , entonces `i es la
Definición 9 La matriz de Sylvester- sucesión h (x) = hα , xi, α es definido como
i i i
Hadamard(o la matriz de Walsh-Hadamard) en la Definición 1.
de orden 2n es generado por relación recursiva
· ¸
Hn−1 Hn−1
Hn = , n = 1, 2, ...
Hn−1 −Hn−1 Prueba.
y H0 = 1. Por inducción en n. Para n = 1 se tiene
Ahora se puede expresar la transforma-
da de Walsh en términos de las matrices de · ¸
+ +
Sylvester-Hadamard como H1 = ;
+ −
W (f ) = f Hn ,
desde que (−1)u·v es la entrada en la posición `0 = (+ +) es la sucesión de h0, xi y `1 =
(u, v) ∈ Fn2 × Fn2 en la matriz Hn . Además se (+ −) la sucesión de h1, xi, donde x ∈ V1 .
tiene que Se supone que el lema es verdadero para n =
1
f = n W (f )Hn , 1, 2, ..., k − 1. Desde que Hk = H1 ⊗ Hk−1 , ca-
2 da fila de Hn puede ser expresada como δ × `
o, en la forma,
donde δ = (+ +) o (+ −), y ` es una fila de
1 X Hn−1 . Por la hipotesis inductiva, ` es la su-
f (u) = n (−1)u·v W (f )(v).
2 v∈ Fn cesión de una función, digamos h(s) = hα, xi,
2
donde α, x ∈ Fk−1 . Asi δ × ` es una sucesión
Similarmente, si η es una (1,-1)-sucesión en Fn2 , de hβ, yi, donde y ∈ Fn , β = (0 α) o (1 α) de
2
entonces su transformada de Walsh es definido acuerdo como ` = (+, +) o (+ −). Luego el
por lema es verdadero para n = k. ¤
Wη = ηHn . Ahora se prueba un lema que es muy útil
J. Seberry y X.-M. Zhang probaron en [23] para obtener resultados sobre la no linealidad
el siguiente resultado de una función Booleana.

15
Lema 6 Sean f y g funciones en Fn2 cuyas su- Teorema 8 La matriz Hn de Sylvester-
cesiones son ηf y ηg , respectivamente. Enton- Hadamard puede ser descompuesto como
ces se cumple
Hn = Mn(1) Mn(2) · · · Mn(n) ,
1 (i)
d(f, g) = 2n−1 − hηf , ηg i. donde Mn = I2n−i ⊗ H1 ⊗ I2i−1 y Im es la
2
matriz identidad de orden m × m.
Prueba. Como ejemplo se tiene las siguientes ma-
X X trices
hηf , ηg i = 1− 1  
f (x)=g(x) f (x)6=g(x) 1 1 0 0
X  1 −1 0 0 
M2 =  
(1)
= 2n − 2 1  0 0 1 1 ;
f (x)6=g(x)
n
0 0 1 −1
= 2 − 2d(f, g). ¤  
1 0 1 0
El siguiente resultado da una cota superior  0 1 0 1 
M2 =  
(2)
n
para la no linealidad de una función f ∈ F2 . La  1 0 −1 0  .
prueba del teorema puede verse en [4] o [23]. 0 1 0 −1
Es importante notar que
Teorema 7 La no linealidad Nf satisface
(1) (2) (2) (1)
n
M2 M2 = M2 M2 .
Nf ≤ 2n−1 − 2 2
−1
Más generalmente, se verifica
para cualquier función Booleana f ∈ Fn2 . Mn(i) Mn(j) = Mn(j) Mn(i) ,
para todo i, j.
7.4 La transformada
rápida de Walsh
8 Conclusiones
El cálculo de la transformada de Walsh
requiere aproximadamente 22n operacio- El estudio de las funciones Boolenas,
nes(adiciones y sustracciones). Existe, sin em- mediante la transformada de Walsh, permi-
bargo, una manera más rápida de calcular los te obtener información de las propiedades
coeficientes de Walsh usando la transformada criptógraficas de estas funciones. Esto se de-
rápida de Walsh, que es una versión discreta be gracias a que el espectro de Walsh es único
de la transformada rápida de Fourier [4]. El y diferente para cada función y, de ese modo,
método que permite calcular los coeficientes se puede caracterizar y hacer eficiente la bus-
de la función signo fˆ, usando solamente n2n quedad de funciones Booleanas con parámetros
operaciones, se basa en el siguiente criptográficos deseables.

16
Referencias [9] N. Koblitz, Algebraic Aspects of Cryp-
tography, Algorithms and Computation
[1] S.S. Again, Hadamard Matrices and in Mathematics, Vol. 3, Springer, Berlin,
Their Applications, LNM Vol 1168, 1998.
Springer-Verlag, Berlin, 1985.
[10] S. Lang, Algebra, Graduate Texts in
[2] F. L. Bauer, Decrypted Secred, Fourth Mathematics, Vol. 211, Revised Third
Edition, Springer-Verlag, Berlin, 2007. Edition, Springer, New York, 2002.
[3] A. Canteaut, C. Carlet, [11] O.A.Logachev,
P.Charpin, C. Fontaine, Charac- V.V.Yashchenko,.M.P. Denisen-
teristics and Correlation-Immunity oh ko, Local Affinity of Boolean Mappingsin
Highly Nolinear Boolean functions, Ad- Boolean Functions in Cryptology and
vances in Cryptology-EUROCRYPT Information Segurity, B. Preneel. O.A.
2000, LNCS, Springer-Verlag, Berlin, Logachev(Eds.), IOS Press, Amsterdam,
2000, p. 507-522. 2008, p.148-172.
[4] T.W.Cusick, P.Stănică, Cryptograp-
[12] S. Maity, T. Johansson, Construc-
hic Boolean Functions and Applications,
ción of Cryptographically Important Boo-
Academic Press, New York, 2009.
lean Functions, Progress in Cryptology-
[5] H. Delfs, H. Knebl, Introduction to INDOCRYPT 2002, LNCS Vol. 2551,
Cryptography, Second Edition, Springer- Springer Verlag, Berlin, 2002, p. 234-245.
Verlag, Heidelberg, 2007
[13] W. Millan, A. Clark, E. Daw-
[6] X. Gourdon, Algèbre, Les maths en tête, son, Boolean Functions Desing Using Hi-
Ellipses, 1996. ll Climbing Methods, Information Security
and Privacy, LNCS Vol. 1587, Springer
[7] K.C.Gupta, P. Sarkar, Construc- Verlag, Berlin, 1999, p.1-11.
cion of Perfect Nonlinear and Maxima-
lly Nonlinear Multi-output Boolean Func- [14] J. Pieprzyk, G. Finkelstein. To-
tion Satisfying Higher Order Stric Ava- wards effective nonlinear cryptosystem de-
lanche Criteria, Progress in Cryptology- sign.IEEE Proceedings (Part E), 135:325-
INDOCRYPT 2003, LNCS Vol. 2904, 335, 1988.
Springer Verlag, Berlin, 2003, p. 107-120.
[15] P. Porwik, Walsh Coefficients Distribu-
[8] W. Hamming, Coding and Information tion for some types of Boolean functions,
Theory, Second Edition, Prentice-Hall, Institute of Informatics, Silesian Univer-
New Jersey, 1986. sity, Poland, preprint, 2009.

17
[16] B. Preneel, O.A. Logachev (Eds.), [24] T. Siegenthaler, Correlation-
Open Problems in Boolean Function immunity of nonlinear combinig functions
Theory. The Cryptographer’s View, in for cryptographic applications, IEEE
Boolean Functions in Cryptology and In- Transactions on Information Theory
formation Segurity, IOS Press, Amster- IT-30(5), 1984, p.776-779.
dam, 2008, p.343-372.
[25] J.Talbot, D. Welsh, Complexity
[17] F. Rodrı́guez Henrı́quez, De la and Cryptography, Cambridge University
búsqueda de funciones Boolenas con bue- Press, New York, 2006.
nas propiedades criptográficas, Cinvestav,
Abril-Junio, 2007, p. 50-57. [26] R. Togneri, C.J.S de Silva, Fun-
damentals of Information Theory and
[18] S. Roman, Advanced Linear Algebra,
Coding Desing, Discrete Mathematics
GTM, Vol. 135, Third Edition, Springer,
and Its Applications, Chapman and Ha-
New York, 2008.
ll/CRC, Boca Raton, 2006.
[19] O.S. Rothaus, On bent functions, Jour-
nal of Combinatorial Theory, Series A, [27] J.H. Van Lint, Introduction to Coding
20:300-305, 1976. Theory, GTM Vol. 86, Springer-Verlag,
Third Edition, New York, 1991.
[20] B. Roy, A. Nayak, Cryptographic Al-
gorithms, in Handbook of Applied Algo- [28] J.H. Van Lint, G. van der Geer,
rithms, A. Nayak, I. Stojmenovic, (Eds.), Introduction to Coding Theory and Alge-
Wiley-Interscience, New Jersey, 2008, p. braic Geometry, Birkhäuser Verlag, Basel,
373-405. 1988.
[21] A. Salomaa, Puclic-Key Cryptography,
[29] W. Wesley Petersen, E.J. Wel-
Second,Elarged Edition, Springer-Verlag,
don, Jr.Error-Correcting Codes, The
Berlin, 1996.
MIT Press, Second Edition,1996.
[22] D. Salomon, Coding for Data and Com-
puter Communications, Springer, New [30] F. Zhang, Matrix Theory,Universitext,
York, 2005. Springer-Velag, New York, 1999.

[23] J. Seberry, X-M. Zhang, Highly Non- [31] Y. Zheng, X-M. Zhang, On Balan-
linear 0-1 Balanced Boolean Functions Sa- ced Nonlinear Boolean Functionsin Boo-
tisfying Stric Avalanche Criterion, Ad- lean Functions in Cryptology and Infor-
vances in Cryptology-AUSCRYPT 1992, mation Segurity, B. Preneel. O.A. Loga-
LNCS Vol. 718, Springer Verlag, Berlin, chev(Eds.), IOS Press, Amsterdam, 2008,
1993, p.145-175. p. 243-282.

18

You might also like