Documentos de Académico
Documentos de Profesional
Documentos de Cultura
y Códigos Detectores-Correctores de
Errores
H. Tapia-Recillas
Departamento de Matemáticas
Universidad Autónoma Metropolitana-I
09340 México, D.F., MEXICO
(htr@xanum.uam.mx)
1 Introducción
En diversos cursos en las carreras de Ingenierı́a, Computación, Fı́sica, Quı́mi-
ca, Economı́a, Matemáticas, etc., se encuentra el concepto de función en
varios contextos. En muchos casos estas funciones toman valores en (el
campo de) los números reales (IR), por ejemplo las funciones reales de una
variable real, f : IR −→ IR; funciones de varias variables reales con valores
en los números reales, f : IRn −→ IR, donde IRn es el espacio cartesiano
de dimensión n sobre los números reales; o de manera mas general fun-
ciones vectoriales sobre los reales, f : IRn −→ IRm . En cursos posteriores se
estudian, por ejemplo funciones de variable compleja, sobre grupos y otras
estructuras tales como variedades (topológicas, complejas, algebraicas, difer-
enciables, etc.). Tanto los números reales, los números complejos como las
variedades mencionadas anteriormente son, en general, conjuntos cuya car-
1
dinalidad no es finita.
2 El espacio IFn2
Al conjunto de los números binarios, también llamados bits, denotado por
IF2 = {0, 1}, se le puede dotar de dos operaciones, la suma (⊕) y el producto
(∗) definidos en las siguientes tablas:
⊕ 0 1 ∗ 0 1
0 0 1 0 0 0
1 1 0 1 0 1
2
un entero positivo y IRn es el producto cartesiano de IR consigo mismo n
veces, se puede definir en IRn una operación de suma (de vectores) en la
forma natural: coordenada a coordenada. También, si α ∈ IR (un escalar) y
x ∈ IRn , se define αx multiplicando cada coordenada de x por α (producto
por escalares). Con estas dos operaciones el conjunto IRn adquiere la estruc-
tura de espacio lineal (vectorial) sobre el campo de los números reales, cuya
dimensión es n.
En forma similar se procede en el caso de los números binarios: si n es
un entero positivo, sea
a ⊕ b = (a1 ⊕ b1 , ..., an ⊕ bn )
αa = (α ∗ a1 , ..., α ∗ an )
Es fácil ver que una base (natural) del IF2 -espacio lineal IFn2 es:
3 Funciones Booleanas
Si se procediera, como en el caso de funciones reales de variable real, a estu-
diar funciones f : IF2 −→ IF2 , es fácil ver que no existen muchas de ellas, ya
que la cardinalidad de IF2 es 2 (¿cuáles son tales funciones?), por consigu-
iente su estudio no es muy interesante. Esto nos conduce a la siguiente:
3
Definición 1 Si n es un entero positivo, una función booleana es simple-
mente:
f : IFn2 −→ IF2
A(x1 , ..., xn ) = a0 + a1 x1 + · · · + an xn ,
f (x1 , x2 ) = 1 + x1 + x1 x2 .
f (x1 , x2 , x3 , x4 , x5 ) = 1 + x1 x5 + x2 x4 + x1 x3 x5
4
A modo de ilustración consideremos la función f : IF22 −→ IF2 dada
por f (x1 , x2 ) = 1 + x1 x2 . Como IF22 = {(0, 0), (1, 0), (0, 1), (1, 1)}, la
función f se identifica con el vector:
5
4.1 Funciones booleanas y Criptografı́a
La criptografı́a, cuyo significado proviene del griego krypto, (esconder) y
graphein, (escritura), se ha empleado desde hace mucho tiempo, por ejem-
plo, se sabe que Julio César enviaba mensajes cifrados ([7], [20]). Uno de
los principales objetivos de la criptografı́a es la comunicación segura entre
entidades que usan canales convencionales (inseguros y ruidosos) tales como
el teléfono, fax, satélite, internet, etc., de tal manera que entidades no au-
torizadas no puedan conocer el contenido de la información original. Una de
las principales aplicaciones de la criptografı́a ha estado relacionada con cues-
tiones bélicas, pero con el desarrollo de la computación y la introducción de
la criptografı́a de llave pública ([3]), su enfoque y aplicación ha cambiado en
las últimas décadas. Las aplicaciones mas importantes de la criptografı́a mo-
derna se encuentran en el comercio, banca, y correo electrónico, declaración
de impuestos, firma y factura digital, tarjetas inteligentes, entre otras.
Actualmente los sistemas criptográficos (cifrado) se dividen en dos grandes
grupos: los sistemas de llave privada y los de llave pública. Entre los mas
conocidos en el primer grupo se encuentran los cifrados en “cascada” (stream
ciphers) ([11]), el Data Encryption Standard (DES) ([2]) y el Advance En-
cryption Standard (AES) ([4]) estos últimos son cifrado de bloques. En
el segundo grupo se incluye el sistema RSA ([17]) y el basado en curvas
elı́pticas ([8], [11], [19], [21]) también ambos cifrados de bloques.
6
tienen como argumento (input) n bits x1 , ..., xn producidos por n LFSR’s y
cuyo valor (output) s = f (x1 , ..., xn ) es uno de los elementos de la sucesión
que se desea generar. Este proceso se repite hasta obtener una sucesión de
la longitud deseada que se usa como la llave para cifrar.
7
lineal C de IFn2 de dimensión k que tiene palabras (vectores) de distancia de
Hamming al origen igual a d. Los códigos lineales no sólo se pueden definir
sobre el campo de los números binarios, sino también sobre cualquier campo
finito y una amplia clase de anillos finitos, la cual incluye a los de Galois y
de cadena, entre otros ([22], [14]). Por supuesto, desde un punto de vista
práctico, los códigos binarios son los mas importantes.
Una clase de códigos lineales con varias aplicaciones, entre las cuales
se incluyen CD’s y DVD’s, es la de los códigos de Reed-Solomon (y sus
variantes) ([10], [6]). Otra clase de códigos lineales que han sido usados por
naves espaciales para enviar información, en particular imágenes, de cuerpos
celestes, es la de los códigos de Reed-Muller. En la literatura se encuentran
varias definiciones de estos códigos (todas equivalentes), y una de ellas está
dada en términos de funciones booleanas:
Cabe mencionar que el código RM (1, 5) fue usado en 1972 para transmi-
tir imágenes de Marte por la nave espacial Mariner 9. El lector interesado
en profundizar en el estudio de los códigos de Reed-Muller, o en general los
códigos lineales puede consultar por ejemplo [10], [6] y [15].
Referencias
[1] Carlet, C. On cryptographic complexity of Boolean functions. Procced-
ings of the Sixth Conference on Finite Fields with Application to Coding
8
Theory, Cryptography and Realted Areas, Springer Verlag, G.L. Mullen,
H. Stichtenoth and H. Tapia-Recillas, Eds., pp. 53-69, 2002.
[2] Data Encryption Standard. FIPS Publ. 46-I. National Bureau of Stan-
dards, Washington, D.C., 1987.
[5] Hamming, R. Error detecting and error correcting codes. Bell Syst. Tech.
J. 29, pp. 147-160, 1950.
[11] Menezes, A.J., van Oorschot, P.C. and Vanstone, S. Handbook of Ap-
plied Cryptography, CRC Press, N.Y., 1997.
9
[16] Roman, S. Coding and Information Theory, GTM, 134, Springer-
Verlag, 1992.
[17] Rivest, R., Shamir, A. and Adleman, L.N. A method for obtaining
digital signature and public-key cryptosystems, Communications of the
ACM, 21, pp. 120-126, 1978.
[19] Schneider, B. Applied Cryptography, John Wiley & Sons, New York,
1996.
[20] Singh, S. The code book, Anchor Books, Random House, Inc., 1999.
[21] Stinson, D.R. Cryptography: Theory and Practice, CRC Press, 1995.
10