You are on page 1of 68

Códigos y Criptografía

TEMA 1. TEORÍA DE CÓDIGOS.
Introducción
Definición: Consideremos un conjunto finito A={a
1
, a
2
, ... a
q
}, al que denominaremos
alfabeto, a sus elementos, a
1
, a
2
, ... a
q
, les llamaremos letras o símbolos. Las
sucesiones finitas de elementos de A se llaman palabras.
A a
Palabra a a a
j
p
i
i i i

→ ...
2 1
La palabra a
i1
a
i2
...a
in
se dice que tiene longitud n o bien que es una n-palabra.
Una palabra de longitud n se puede considerar como un elemento del producto
cartesiano de A por si mismo n eces, es decir, de!
"l producto cartesiano est# formado por todas las n$tuplas de A!
} % & ...... {'
1
A a a a A
i n
n
∈ ·
"sto es igual que una palabra, s(lo cambia la notaci(n.
"l conjunto de todas las palabras sobre el alfabeto A se denotar# como A) 'con
independencia de la longitud de las palabras&.
.......} 2 , 1 {
.....} 2 , 1 , * {
)
·
·
·
+

+
Z
N
A A
Z n
n

Definición: Un c(digo sobre el alfabeto A es un subconjunto C de A),
) A C ⊆

'conjunto formado por palabras del alfabeto&.
A los elementos del c(digo C se les llama palabras de código.
"l n+mero de elementos del c(digo C, que normalmente ser# finito, se denota por ,C, -
se denomina tama.o del c(digo.
/i C es un c(digo sobre A - A tiene q elementos ',A,=q& entonces se dice que C es un
c(digo q$ario. "l ejemplo m#s normal de alfabeto usado en teor0a de c(digos es
A = 1
2
= {*,1}- tendremos as0 c(digos binarios.
"jemplo de c(digo binario!
C = {*1**,**1*,*111}
Tema 1 Teoría de Códigos
1
    
n
n
!A A!A A .... ·
Códigos y Criptografía
Definición: /i C es un c(digo cu-as palabras tienen todas la misma longitud n,
decimos que C es un c(digo de longit"d fija o un c(digo de blo#"es - a n se le llama
longitud del c(digo C.
"l c(digo C anterior es un c(digo de bloques de longitud 2.
C = {*11, 1*11, 1*}  3o es un c(digo de bloques 'no podemos 4ablar de la longitud
del c(digo&
/i C es un c(digo de longitud n - tama.o m se dice que C es un 'n,m&$c(digo.
C = {*1**,**1*,*111} '2,5& c(digo
6ado un alfabeto / al que denominaremos alfabeto f"ente - dado un c(digo C sobre el
alfabeto A, se llama funci(n de codificaci(n a una aplicaci(n bi-ectia f!
& ' &... ' & ' ...
& '
!
2 1 2 1 n n
! f ! f ! f ! ! !
! f $ !
C $ f

→ ∈

/ es el alfabeto en el cual est# la informaci(n que queremos codificar. Una aplicaci(n
bi-ectia entre 2 conjuntos es una aplicaci(n in-ectia 'elementos diferentes tienen
im#genes diferentes& - sobre-ectia 'los elementos del conjunto C son im#genes de
alg+n elemento de /, en este caso de 1 -a que la aplicaci(n es in-ectia&. A eces f no
ser# una aplicaci(n bi-ectia7 si f no fuese in-ectia 4abr0a arios s0mbolos del
alfabeto fuente que se codificar0an de la misma forma, lo que 4ar0a la decodificaci(n
mu- dif0cil. Cuando f es bi-ectia 4ablamos de c(digos descifrables.
"n muc4as ocasiones se le llama c(digo a la funci(n de codificaci(n7 pero nosotros le
llamamos c(digo al conjunto C 'imagen de f&.
"jemplo!
***111 *1****1**1
*111 & '
*1** & '
**1* & '
} *111 , **1* , *1** { } , , {
} , , {

· →
· →
· →
· ÷→ ÷ ·
·
babc
c f c
b f b
a f a
C c b a $
c b a $
f
"jemplos de c(digos!
Tema 1 Teoría de Códigos
2
Códigos y Criptografía
• 8oliio 'a.o 2*9 a.C.& o c(digo de fuego griego.
} :2 .... 2: , 22 , 25 , 22 , 21 , 1: , 12 , 15 , 12 , 11 { !
} : , 2 , 5 , 2 , 1 { !
} ,... , {
·
·
· →
C
A
$ Alfabeto ω β α
:: no se inclu-e -a que el alfabeto A tiene 22 letras. Un alfabeto A de longitud q tiene
q
n
palabras de longitud n 'q
n
= ,A
n
, &
:2 & '
.
.
12 & '
11 & '
!
· →
· →
· →

ω ω
β β
α α
f
f
f
C $ f $ea
"ste es un '2,22& c(digo. "ste c(digo persigue claridad, facilidad de transmisi(n de
mensajes a distancia. "ste c(digo no permite detectar -%o corregir errores. /e piensa
que este c(digo se usaba para ocultar la informaci(n. "n criptograf0a no se 4abla de
c(digo sino de cifras o criptosistemas. "ste c(digo se denomina cifra de 8oliio.
6amero de 8oliio!
1 2 5 2 :
1 α β
2
5
2
:
ω
f'α) = 11 f'β)=12 .......
• C(digo ;orse. /e usa para transmisiones telegr#ficas. /e usa para codificar un
mensaje fuente en lenguaje natural.
/ = {a, b, c ......<}
A = {., =, }
/e usan 5 s0mbolos! punto, ra-a - espacio.
Tema 1 Teoría de Códigos
5
Códigos y Criptografía
.. = = & '
= .. = & '
= . & '
= & '
. & '
!
·
·
¹
¹
¹
)
¹
·
·
·

% f
! f
ingl&s en frec"entes m's (etras
a f
t f
e f
A $ f

"ste c(digo no es de longitud fija. Las letras m#s frecuentes se codifican con palabras
cortas, mientras que las letras menos usadas se codifican con palabras m#s largas7 esto
se usa para conseguir m#s eficiencia, cuanto m#s frecuentes sean las letras m#s cortas
son las palabras del c(digo.
Los espacios se usan para separar palabras '> espacios& o letras entre palabras '5
espacios&. "ste c(digo no permite corregir -%o detectar errores - no tiene fines
criptogr#ficos.
• C(digo A/C?? 'American /tandard Code for ?nformation ?nterc4ange&. "ste
c(digo es usado por los ordenadores para representar los caracteres alfanum@ricos
- caracteres especiales. "l A/C?? est#ndar usa palabras de A bits!
C = {*******, ******1, .......1111111}
2
A
= 129 palabras
"l c(digo A/C?? eBtendido usa palabras de 9 bits!
CC= {********, ......11111111}
2
9
= 2:>
"sta eBtensi(n permite codificar m#s s0mbolos.
**1*****  "spacio
Al c(digo A/C?? de A bits se le a.ade un bit de paridad para que el n+mero de 1 de la
palabra sea par!
1 ******1
* *******
    
    
"ste es el c(digo A/C?? est#ndar con control de paridad. "l c(digo A/C?? est#ndar no
detecta ni corrige errores, si cambia un bit de la palabra @sta se confunde con otra
palabra del c(digo. Al a.adir el bit de paridad si se cambia un bit la palabra que se
Tema 1 Teoría de Códigos
2
Códigos y Criptografía
obtiene no es #lida, -a que el n+mero de 1 pasa a ser impar con lo que se detecta el
error. "ste c(digo s(lo detecta errores, no puedo saber cu#l fue la palabra que se eni(.
"l A/C?? con control de paridad es un '9,129& c(digo, mientras que el A/C?? est#ndar
es un 'A,129& c(digo. "l c(digo A/C?? eBtendido es un '9,2:>& c(digo.
"l c(digo A/C?? no es mu- eficiente -a que es de longitud fija - usa el mismo n+mero
de bits para codificar caracteres frecuentes - poco frecuentes. "n este c(digo no 4ace
falta separar las palabras -a que cada palabra tiene un n+mero fijo de bits.
La entaja del A/C?? con bit de paridad sobre el A/C?? est#ndar es que permite
detectar errores - se puede pedir repetir la transmisi(n 4asta que @sta sea correcta7 el
inconeniente es que es menos eficiente -a que para transmitir la misma informaci(n
usa palabras de 9 bits en lugar de palabras de A bits.
8ara detectar - corregir errores a los c(digos se les a.ade redundancia con lo que se
pierde eficiencia. Los lenguajes naturales tienen una gran cantidad de redundancia, lo
que permite entender una conersaci(n telef(nica a pesar de que 4a-a errores en la
transmisi(n. Los c(digos detectores de errores funcionan de tal forma que cuando se
produ<ca un error, la palabra resultante no sea una palabra del c(digo - de tal forma
que la palabra real sea la m#s pr(Bima a la palabra recibida.
"l lenguaje natural tiene muc4a redundancia7 por ejemplo, el castellano tiene 95:**
palabras - con 2A
2
palabras podr0amos codificar todas ellas, una posible codificaci(n!
aaaa, aaab .....<<<-, <<<<, - asignar0amos un significado a cada palabra de este c(digo,
pero si se cometiese un error -a tendr0amos otra palabra del lenguaje - no podr0amos
saber cu#l es la palabra eniada.
"sto no ocurre en el lenguaje natural. /4annon estudi( la redundancia del idioma
ingl@s - lleg( a la conclusi(n de que la redundancia del ingl@s es del A:D. /i se
4ubiese dise.ado el ingl@s para minimi<ar la redundancia se reducir0an los teBtos en la
2E parte. /i en un teBto en ingl@s, la probabilidad de eliminar una letra es de F el teBto
no ser# reconocible7 por el contrario si la probabilidad de eliminar una letra es de G el
teBto ser# reconocible.
Códigos Detectores de Errores: Ejem!os
/e intenta buscar una transmisi(n precisa entre dos puntos. "stos c(digos se usan
cuando se reali<a una transmisi(n por un canal ruidoso. Un canal es el medio f0sico
por el cual se reali<a la transmisi(n7 un canal ruidoso es un canal que est# sujeto a
perturbaciones - que genera alteraciones en el mensaje 'ejemplos de canales!
atm(sfera, l0nea telef(nica....&. Los c(digos detectores de errores se usan para
recuperar la informaci(n que se eni( incorrectamente. Un ejemplo de esto se usa en
los C6, para que la informaci(n se mantenga a pesar de que el C6 est@ ra-ado.
Tema 1 Teoría de Códigos
:
Códigos y Criptografía
"n la teor0a de la informaci(n, desde el punto de ista de la eficiencia, nos centramos
en la codificaci(n pero a4ora nos centraremos en los errores que se producen en el
canal. La codificaci(n - decodificaci(n deben ser f#ciles - r#pidas7 la transmisi(n a
tra@s del canal debe ser r#pida7 debemos maBimi<ar la cantidad de informaci(n
transmitida por unidad de tiempo - debemos detectar - corregir errores, esta +ltima
caracter0stica entra en conflicto con las anteriores caracter0sticas -a que 4ace que
aumente el tama.o de lo que se transmite. "l c(digo debe ser lo m#s eficiente posible
- debe permitir detectar - corregir errores.
"l canal acepta s0mbolos de un alfabeto finito A={a
1
, a
2
, ... a
q
} que llamaremos
alfabeto del canal 'ejemplo! A = {*, 1}&. C(mo sabemos si un canal es mu- ruidoso o
poco ruidoso7 esto se sabe si conocemos cu#l es la probabilidad de que si se emite un
s0mbolo se reciba otro s0mbolo!
8'a
j
recibido,a
i
eniado& 'probabilidad de que si se 4a eniado a
i
se reciba a
j
&. Cuando
este conjunto de probabilidades se conoce para todos los alores de i - j conocemos las
caracter0sticas del canal.
"l canal perfecto ser0a aquel en el que!
ij i j
a a P δ · & , '
pero esto no eBiste en la pr#ctica. A estas probabilidades se les llama probabilidades
del canal o probabilidades de transición
Definición: Un canal es un alfabeto 'de canal& A={a
1
, a
2
, ... a
q
} junto con un conjunto
de probabilidades de transici(n 8'a
j
recibido,a
i
eniado& que satisfacen!

·
·
#
j 1
i j
1 eniado& a , recibido 8'a
es decir, siempre se recibe un car#cter del alfabeto. Una palabra de c(digo de longitud
n correspondiente al c(digo del alfabeto del canal da una palabra recibida de longitud
n que no tiene por qu@ coincidir con la eniada 'ni ser una palabra de c(digo, -a que
puede ser una palabra del alfabeto pero no del c(digo&.
Tema 1 Teoría de Códigos
>
" s q u e m a d e u n a t r a n s m i s i ( n !
H r i g e n C o d i f i c a d o r C a n a l 6 e c o d i f i c a d o r 6 e s t i n o
I u i d o
Códigos y Criptografía
3o eBiste dificultad para identificar el comien<o de la 1E palabra eniada. /i usamos
un c(digo de bloques sabemos donde empie<a - acaba cada palabra.
"l ruido se distribu-e aleatoriamente7 la probabilidad de que un s0mbolo sea cambiado
por otro en la transmisi(n es la misma para todos los s0mbolos. La transmisi(n de un
s0mbolo no est# influenciada por la transmisi(n del s0mbolo precedente ni de los
anteriores, es decir, el canal es un canal sin memoria. "l error en la transmisi(n de un
s0mbolo no afecta a la transmisi(n de los siguientes s0mbolos.
alfabeto del Palabra A ! ! !
código de Palabra C c c c
en)iado c recibido ! P en)iado c recibido ! P sim&trico canal
n
n
n
n
i
i i
→ ∈ ·
→ ∈ ·
· ⇔

·
...
...
& , ' & , '
1
1
1
Cada suceso es independiente del anterior. Jodos los sucesos son independientes.
"l canal que usaremos m#s a menudo es el canal binario sim@trico 'binar- simetric
c4annel  K/C&. "l alfabeto del canal es A={*,1}.
1 * ≤ ≤ p
1$p  probabilidad del canal
p  probabilidad del cruce
p  probabilidad de que un * sea recibido como un 1
1$p  probabilidad de que un * sea recibido como un *
p = *  Canal perfecto
p = 1  /iempre se comete error '"ste caso se conierte en perfecto inirtiendo el
s0mbolo recibido&.
"n un canal sim@trico eBiste la misma probabilidad de que un s0mbolo se reciba
incorrectamente - adem#s si un s0mbolo se recibe incorrectamente 4a- la misma
probabilidad de que se reciba cualquier otro s0mbolo.
Tema 1 Teoría de Códigos
A
1 $ p
1 $ p
p
p
Códigos y Criptografía
/i
⇒ ≤ ≤ 1 2 % 1 p
/e puede conertir el canal de tal forma que
2 % 1 * ≤ ≤ p

simplemente cambiando los s0mbolos recibidos. p = L es el caso m#s desfaorable. "n
la pr#ctica los canales tienen una alta fiabilidad. /upondremos que trabajamos con un
K/C que cumple
2 % 1 * ≤ ≤ p
.
/upongamos que queremos detectar errores7 debemos dise.ar un c(digo de tal forma
que si a una palabra del c(digo le cambiamos un +nico s0mbolo la palabra resultante
no sea una palabra del c(digo para as0 poder saber que se 4a producido un error. /i
adem#s queremos corregir errores, la idea es parecida, para 4acer la correcci(n 4a-
que saber cu#l es la palabra eniada. La idea b#sica es comparar la palabra recibida
con todas las palabras de c(digo - asignarle la palabra que difiera en menos s0mbolos.
"jemplo!
C = {**, *1, 1*, 11} =
2
2
Z
1
2
= {*, 1}
"ste c(digo no serir0a para detectar errores.
/i se producen errores las palabras que se obtienen son palabras del c(digo. 8ara
detectar errores 4a- que a.adir redundancia. /e modifica el c(digo para conseguir que
las palabras del c(digo se pare<can menos entre s0. La idea m#s sencilla es repetir la
palabra!
C
1
= {******, *1*1*1, 1*1*1*, 111111}
Aumento la longitud de las palabras. /i a4ora recibo 111*1* eo que no es una palabra
#lida del c(digo - as0 s@ que se 4a cometido un error. Comparo esta palabra con las
palabras del c(digo - eo en cu#ntos s0mbolos se diferencia de las palabras del c(digo.
Meo que la palabra m#s pr(Bima es la 1*1*1* -a que s(lo cambia un s0mbolo -
podr0amos asignarle esta palabra. "ste c(digo tiene la propiedad de que si al transmitir
una palabra se comete un +nico error siempre podemos recuperar la palabra
originalmente transmitida -a que dista uno de una palabra - m#s de uno del resto de
palabras. /e dice que este c(digo corrige un error. "sto se logra a costa de aumentar la
longitud del c(digo, necesitamos el triple de tiempo - espacio para transmitir la misma
informaci(n 'disminu-e la eficiencia del c(digo&. "ste c(digo se denomina c(digo de
repetici(n. /i nos conformamos con que s(lo se detecte un error podr0amos usar este
c(digo!
C
2
= {***, *11, 1*1, 11*}
A.adimos un bit de paridad. /i a alguna palabra le cambiamos un +nico s0mbolo la
palabra obtenida no es una palabra del c(digo. "ste c(digo no permite corregir errores7
si se recibe 1** podr0a 4aberse eniado ***, 1*1 o 11* 4abiendo cometido un error,
Tema 1 Teoría de Códigos
9
" n i a d o I e c i b i d o
* 1
1 1
* *
/ o n p a l a b r a s d e l c ( d i g o
Códigos y Criptografía
pero no podemos saber qu@ es lo que realmente se 4a transmitido. /e debe requerir una
nuea transmisi(n de la palabra. La eficiencia 4a disminuido con respecto a C pero no
tanto como con C
1
.
Clases *esid"ales +ód"lo n:
1 = {*, 1, $1, 2, $2, .....}
/ea
2 , ≥ ∈ n Z n
. 6ados a, b Z ∈ se dice que a es congruente con b m(dulo n,
a ≡ b 'mod n&

n , a$b 'n diide a a$b&

∃ N ∈ 1 % a$b = Nn
{'a,b& % a ≡ b 'mod n&}

1 B 1
La relaci(n de congruencia m(dulo n es una relaci(n de equialencia, pues es!
$ IefleBia, a ≡ a 'mod n& Z a∈ ∀
$ /im@trica a ≡ b 'mod n&

b ≡ a 'mod n&
Z b a ∈ ∀,
$ Jransitia a ≡ b 'mod n&, b ≡ c 'mod n&

a ≡ c 'mod n&
Z c b a ∈ ∀ , ,
La relaci(n de equialencia permite definir las clases de equialencia a ∈ 1. La clase
de equialencia de a se define como aquellos n+meros relacionados con a!
a ∈ 1, a ={b Z ∈ % a ≡ b 'mod n&}

1
"l conjunto de todas las clases de equialencia forman una partici(n de 1 ' 1 es la
uni(n disjunta de todas las clases&. Al conjunto de todas las clases de equialencia se
le denomina conjunto cociente 'sus elementos son clases&.
} % { Z a a
Z n
Z
∈ ·

8ropiedades!
/ean a, b ∈ 1, las siguientes condiciones son equialentes!
i& a ≡ b 'mod n&
ii&
,n a b Z , + · ∈ ∃ %
iii& a - b tienen el mismo resto al diidir por n
6iisi(n entera! a,n ∈ 1 a= nq O r n r ≤ ≤ * , r = a 'mod n&, el resto o residuo es
+nico.
} % { } % { &} 'mod % { n por di)idir al resto mismo el tienen b y a Z b Z , ,n a n b a Z b a ∈ · ∈ + · ≡ ∈ ·
PCu#ntas clases de equialencia mod n 4a-Q Cada elemento est# en la misma clase de
equialencia que su resto al diidir por n7 el n+mero de clases es el n+mero de posibles
restos al diidir por n 'n clases&.
Tema 1 Teoría de Códigos
R
Códigos y Criptografía
} 1 ...... 1 , * { − ·

n
Z n
Z
y ! y !
* *!*
y ! y !
* *!*
S & , '
& , '
S

÷→ ÷
+ →
÷→ ÷
+
Un anillo 'I,O,S& es un conjunto I junto con dos operaciones binarias O - S que
cumplen estas propiedades!
$ I con respecto a la suma es un grupo abeliano! O es asociatia, tiene elemento
neutro '*&, todo elemento de I tiene sim@trico '$B& ''I,O& es grupo& - es
conmutatia ''I,O& es un grupo abeliano&.
$ S es asociatia - tiene elemento neutro '1&.
$ S es distributia con respecto a O, es decir!
o 'B O -& S < = B S < O - S <
o B S '- O <& = B S - O B S <
* % y ! ∈ ∀ , ,
"l anillo I se dice conmutatio cuando S es conmutatia.
* ! ! ! !
* y ! ! y y !
! ! ! ! * ! * !
* ! ! ! !
* % y ! % y ! % y !
∈ ∀ · ·
∈ ∀ + · +
· + − · − + ∈ − ∃ ∈ ∀
∈ ∀ · + · +
∈ ∀ + + · + +
S 1 1 S
,
* & ' & ' % ,
* *
, , & ' & '
Los anillos usuales son '1,O,S&7 'I,O,S&7 'C,O,S& - 'T,O,S&.
Definición: Un c"erpo es una anillo tal que todo elemento no nulo tiene inerso.
'1,O,S& no es un cuerpo pero 'I,O,S&7 'C,O,S& - 'T,O,S& son cuerpos conmutatios.
} 1 ,.... 1 , * {
, & 'mod
− ·
− ⇔ ≡
n
nZ
Z
b a n n b a
"n
nZ
Z
se definen dos operaciones!
Tema 1 Teoría de Códigos
1*
Códigos y Criptografía
* 12 2 S 5
1 A 2 5
} : , 2 , 5 , 2 , 1 , * {
>
S ! S
!
,
· ·
· · +
·
·
+ · +

Z
Z
b a b a
b a b a
nZ
Z
b a
'
nZ
Z
,O,S& es un anillo conmutatio. "l opuesto de 2 es 2 ' * > 2 2 · · + &
Los alfabetos que usaremos son conjuntos de clases residuales.
8ara cada
& 2 ' ≥ ∈ n Z n
sea
1
n
!={*,1,2.....n$1}
/i para cada entero a ∈ 1 llamamos a'mod n& al resto de diidir a por n, la aplicaci(n
definida as0!
& 'mod & ' n a a f a
Z
nZ
Z
n
f
· →
÷→ ÷
es una aplicaci(n bi-ectia. Ambos conjuntos tienen n elementos, as0 para er que f es
bi-ectia basta con er que sea in-ectia.
/ean b a n b a n b n a b f a f
nZ
Z
b a · ⇔ ≡ ⇔ · ⇔ · ∈ & 'mod & 'mod & 'mod & ' & ' ,
As0 la aplicaci(n es in-ectia, -a que si dos elementos tienen la misma imagen
entonces son el mismo elemento.
6efinimos en 1
n
las siguientes operaciones
n
Z y ! ∈ ∀,
!
B O - != 'B O -& 'mod n&
B S - != 'B S -& 'mod n&
'1
n
, O , S& es un anillo conmutatio. f es un isomorfismo de anillos, es una aplicaci(n
entre 2 anillos que consera las operaciones!
f'aOb& = f'a& O f'b&
f'aSb& = f'a& S f'b&
Los 2 anillos son isomorfos, tienen las mismas propiedades. "stos 2 anillos se pueden
identificar.
Tema 1 Teoría de Códigos
11
Códigos y Criptografía
1
>
= {*,1,2,5,2,:,>}
:O2=1 5S:=5 :O5=2
PCu#ndo es 1
n
un cuerpoQ Un cuerpo es un anillo en el que todo elemento diferente de
* tiene inerso para el producto.
1
2
= {*,1} es un cuerpo. U1=1 '1 O 1 = *&.
1
5
= {*,1,2} es un cuerpo.
O * 1 2
* * 1 2
1 1 2 *
2 2 * 1
$1 = 2  "l opuesto del 1 '1 O '$1& = *7 1 O 2 = *&
1
2
= {*,1,2,5} no es un cuerpo -a que 2 no tiene inerso para el producto. 2 S 2 = *, 2
es un diisor de *, un anillo con diisores de * no puede ser un cuerpo.
& * ' min de di)isores tiene no -ntero io Do C"erpo
⇐/

Un diisor de * no puede tener inerso para la multiplicaci(n.
1
:
= {*,1,2,5,2} es un cuerpo. 2 S 5 = 1, 2 S 2 =1.
1
>
no es un cuerpo, 1
A
es un cuerpo...
1
n
es un cuerpo si n es primo.
Z b a ∈ ,
d,a, d,b
dC,a, dC,b ⇒dC,d si d es el m#Bimo com+n diisor de a - b - se denota d = mcd 'a,b& o
d = 'a,b&.

∏ ∏
·
≤ ≤ ≤ ≤
·
· ·
,
i
l e
i
, i
l
i
, i
e
i
i i
i i
p b a mcd
p b p a
1
& , min'
1 1
& , '
"sto tiene un inconeniente -a que se necesita descomponer los n+meros como
producto de n+meros primos, lo cual es infactible computacionalmente.
Meremos a4ora un algoritmo que nos permite 4allar el mcd de 2 n+meros, el algoritmo
de "uclides, usa una sucesi(n de diisiones enteras.
Proposición: /ean a,b ∈ 1, entonces Vd , a , d , bW

Vd , b, d , a 'mod n&W
Proposición: : /ean a,b ∈ 1, entonces mcd 'a,b& = mcd 'b,a'mod b&. "sto es una
consecuencia directa de la anterior propiedad.
Tema 1 Teoría de Códigos
12
Códigos y Criptografía
a X b  /e reduce el c#lculo al 4allar el mcd -a que a'mod b& es menor que b.
/ean a,b ∈ 1
O

r
$1
= a
r
*
= b
a = q
1
b O r
1
r
$1
= q
1
r
*
O r
1
r
*
= q
2
r
1
O r
2
r
1
= q
5
r
2
O r
5
.
.
.
r
N$5
= q
N$1
r
N$2
O r
N$1
r
N$2
= q
N
r
N$1
O r
N
r
N$1
= q
NO1
r
N
r
5
Y r
2
Y r
1
Y r
*

mcd 'a,b& = mcd 'b,r
1
& = mcd 'r
1
,r
2
& Z = mcd 'r
i
,r
iO1
& Z.
"ste proceso no continua de forma indefinida, se alcan<ar# un resto cero7 supongamos
que r
NO1
= *. "ste resto * se obtiene en un n+mero peque.o de pasos.
mcd 'a,b& = mcd 'r
N
,*& = r
N
r
NO1
= * ⇒mcd 'a,b& = r
N
"jemplo
1 2 2
92 >* 22 12
22 1" *
mcd '92,>*& = 12
1
n
= {*, 1, 2 Z.n$1}
Proposición: /ean a,b ∈ 1, entonces eBisten enteros u, ∈ 1 % mcd 'a,b& = ua O b
mcd 'a,b& = r
N
= r
N$2
U q
N
r
N$1
= r
N$2
U q
N
'r
N$5
Uq
N$1
r
N$2
& = Z.. = ua O b
Proposición: 1
n
es cuerpo ⇔n es primo
6emostraci(n!
[ [⇒/upongamos que n no es primo, entonces n = rs, r,s X 1. r,s ∈1
n
, rs
= * ∈ 1
n
⇒r - s son diisores de * ⇒ r - s no tienen inerso para el producto.
Tema 1 Teoría de Códigos
15
Códigos y Criptografía
[ [⇐ /upongamos que n es primo - sea a ∈ 1
n
, a ≠ *. mcd 'a,n& = 1

∃ u, ∈ 1 % 1 = ua O n

1 'mod n& = ua 'mod n& O n 'mod n&

1 = ua 'mod n&

ua = 1∈ 1
n
"jemplo!
R ∈ 1
25
2 1 1 2
25 R : 2 1
: 2 1 *
1 = : U 2 = : U 'R U:& = 2S: U R = 2S '25 U 2SR& U R = 2S25 U :SR
1 = $:SR 'mod 25&
"n 1
25
R S '$:& = 1 ∈ 1
25
$: = 19
$: = 25S1 O19
1 19
25 :


R S 19 = 1 ∈ 1
25
"n Jeor0a de C(digos trabajaremos con 1
p
cuerpo, es decir p primo. 1
p
no son los
+nicos cuerpos finitos que 4a-. /i q = p
r
con p primo entonces eBiste un '+nico& cuerpo
finito que tiene q elementos '\
q
o ]\'q&&. \
2
es cuerpo pero 1
2
no lo es.
"n la pr#ctica usaremos 1
2
= {*, 1}
O * 1
* * 1
1 1 *
S * 1
* * *
1 * 1
A!ic#ción:
Meremos el c(digo que se utili<a para generar la letra del 3?\. /e toma el 63? que
tiene 9 d0gitos 'n = n+mero de 63?& - se calcula el resto de diidir n por 25!
r = n 'mod 25&
Tema 1 Teoría de Códigos
12
Códigos y Criptografía
"sto da la letra
[ , , , , , , , , , , , , , , , , , , , , , , [
22 2 1 *
- . C ( / 0 1 $ Z 2 N 3 4 D P 5 6 + 7 A 8 * T
n O letra que acupa el lugar r.
Definición: /ea C un 'n,m&$c(digo q$ario ',A, = q, siendo A el alfabeto&. /e define la
tasa de informaci(n 'o de transmisi(n& de C como!
m
n
*
#
log
1
·
"n el caso binario tenemos!
m
n
*
2
log
1
·
"sta definici(n trata de dar la relaci(n que 4a- entre los s0mbolos del c(digo dedicados
a la informaci(n - los s0mbolos dedicados a la redundancia 'detectar -%o corregir
errores&.
"jemplo!
C = {**, *1, 1*, 11}
m
m
·
2
log
2

1 2 log
2
1
2
· · *
'n,m& $ c(digo
. . , , dado n "n para m de m'!imo 0alor n longit"d de palabras de n9mero # A
A C
n n
n
→ ·

"ste c(digo no corrige ni detecta errores. Jodos los s0mbolos est#n dedicados a la
transmisi(n de informaci(n - as0 este c(digo tiene la m#Bima tasa de transmisi(n.
log
q
m ≤ n
8ara corregir un error podemos a.adir un bit de paridad.
CC = {***, *11, 1*1, 11*}
5
2
2 log
5
1
2
· · *
La tasa de informaci(n disminu-e, a.adimos un bit para detectar errores pero no
transmite informaci(n. /e puede er esto como el cociente entre el n+mero de
s0mbolos dedicados a la informaci(n - el n+mero total de s0mbolos.
6ado I no podemos determinar si el c(digo permite detectar -%o corregir errores.
CCC = {******, *1*1*1, 1*1*1*, 111111}
Tema 1 Teoría de Códigos
1:
Códigos y Criptografía
5
1
2 log
>
1
2
· · *
Conociendo I sabemos la eficiencia del c(digo. Los c(digos m#s eficientes tienen
I = 1.
Dist#nci# $#mming % Descodi&ic#ción or Dist#nci# M'nim#
C

A
n
u  ^
6onde u es la palabra transmitida - ^ es la palabra recibida. 8ara descodificar se usa
una regla de decisi(n que es una aplicaci(n de A
n
en C!
ación Descodific " : f :
C A
f n
⇒ · →
÷→ ÷
& '
Lo que se recibe puede no ser una palabra del c(digo 'se consera la longitud de la
palabra&. "sta regla de decisi(n me da palabras del c(digo. /i f'^& = u descodifico ^
como u. /i ^ -a es una palabra del c(digo entonces f'^& = ^.
/upongamos que tenemos una regla de decisi(n
C A f
n
→ !
que erifica!
8 '^ recibido , f'^& eniado& =
C )∈
maB
8 '^ recibido , eniado&
"sto quiere decir que f'^& tiene la propiedad de que no 4a- ninguna otra palabra de
c(digo que sea m#s probable que 4a-a sido eniada. /i esto se cumple se dice que f es
una regla de decisi(n de probabilidad m#Bima. "n la pr#ctica no se sigue este camino.
K/C
/i usamos un K/C no conocemos el alor de 1$p. 3o se calculan probabilidades, se e
cu#l es la palabra de c(digo m#s pr(Bima a la palabra recibida7 esto coincide, para un
K/C, con la descodificaci(n de probabilidad m#Bima.
Proposición: 6ado un K/C con
2 % 1 * ≤ ≤ p
la regla de decisi(n de probabilidad
m#Bima consiste en elegir la palabra de c(digo que difiera de la palabra recibida en el
n+mero m0nimo de s0mbolos posibles.
Tema 1 Teoría de Códigos
1>
1 $ p
1 $ p
p
p
Códigos y Criptografía
La probabilidad de que una palabra tenga N errores en N posiciones dadas es p
N
'1$p&
N
.
/i eniamos - la palabra recibida ^ difiere de en N lugares entonces la
probabilidad 8 ' ^ recibido , eniado& = p
N
'1$p&
N
. "sta probabilidad aumenta al
aumentar N7 debemos 4acer N lo ma-or posible 'distancia m0nima&, A partir de a4ora
no trataremos con probabilidades si no con la distancia m0nima.
8uede ocurrir que 4a-a arias palabras a distancia m0nima ';L6&. /e dice que la
descodificaci(n es completa si s(lo 4a- una palabra posible con distancia m0nima - se
dice que la descodificaci(n es incompleta cuando 4a- m#s de una posible palabra con
distancia m0nima - se produce un error.
Definición: /ea A un alfabeto - u,^ ∈ A
n
. /e define la distancia _amming d'u,^&
como el n+mero de posiciones en las que difieren - ^.
& , ' & , ' : " d : "
* Z !A A
d n n

⊆ ÷→ ÷
"sta aplicaci(n es una m@trica!
$ "s definida positia! d'u,^& ≥* - d'u,^& = * ⇔u = ^
n
A : " ∈ ∀,
$ "s sim@trica! d'u,^& = d'^,u&
n
A : " ∈ ∀,
$ 6esigualdad triangular! d 'u,& ≤ d 'u,^& O d '^,&
n
A : ) " ∈ ∀ , ,
La bola con centro en un elemento u - radio 1 es u, todos los puntos son abiertos '

topolog0a abierta&.
Definición: /e llama distancia m0nima 'o distancia& de un c(digo C a!
} , , % & , ' min{ & ' ) " C ) " ) " d C d ≠ ∈ ·
Definición: Un c(digo C es t$detector 'de errores&, t
+
∈Z
, si cuando el n+mero de
errores cometidos al transmitir una palabra es ma-or o igual que 1 - menor o igual que
t, entonces la palabra resultante no es una palabra del c(digo. C se dice que es
eBactamente t$detector cuando es t$detector pero no es 'tO1&$detector.
Proposición: Un c(digo C es eBactamente t$detector si - s(lo si d'C& = tO1.
Definición: Un c(digo C es t$corrector de errores si la descodificaci(n permite corregir
todos los errores de tama.o t o menor en una palabra de c(digo, suponiendo que
cuando 4a- arias palabras de c(digo equidistantes de la palabra recibida el proceso de
descodificaci(n declara un error - el proceso no se completa. Un c(digo C se dice que
es eBactamente t$corrector cuando es t$corrector pero no es 'tO1&$corrector.
"rror de tama.o t! "rror en el cual el n+mero de errores es t.
Proposición: Un c(digo C es eBactamente t$corrector si - s(lo si d'C& = 2t O 1 o 2t O
2.
Tema 1 Teoría de Códigos
1A
Códigos y Criptografía
6emostraci(n!
[ [⇐ /upongamos que d'C& = 2t O 1 o 2t O 2 - que la palabra recibida ^
difiere de la palabra eniada en a lo sumo t posiciones, es decir, d',^& ≤ t.
/upongamos que u ∈ C tal que d'u,^& ≤ t - u ≠ . "ntonces d'u,& ≤ d'u,^& O
d''^,& ≤ t O t ≤ 2t, contradicci(n -a que d'C& = 2t O 1 o 2t O 2, as0 no puede
4aber 2 palabras de c(digo distintas cu-a distancia es menor que la distancia
m0nima del c(digo. As0 llego a que cualquier palabra de c(digo diferente de dista
de ^ m#s que t.
Meamos a4ora que C es t$corrector - no 'tO1&$corrector suponiendo que
d'C& = 2t O 1 o 2t O 2
d'C& = 2t O1
∃ u, ∈ C % d'u,& = 2t O1. /upongamos que se transmite ^ - que se cambian
tO1 s0mbolos correspondientes a tO1 posiciones de entre las 2tO1 en que difieren u -
por los correspondientes s0mbolos de la palabra u. Memos un ejemplo!
1 111 1 1* *
11**111*
·
·
)
"
t = 1
2t O1 = 5
*1**1111 11**111*
2
· ÷→ ÷ · : "
d'u,^& = 2 pero d'^,& = 1
"ntonces la palabra recibida ^ dista tO1 de u - dista t de , luego el c(digo no
corrige tO1 errores.
d'C& = 2t O 2  Hcurre lo mismo
d'C& = 2t O 2 = 2'tO1&  C es eBactamente t$corrector.
d'C& = 2t  C es eBactamente 't$1&$corrector.
[ [⇒/upongamos que d'C& ≤ 2t - por lo tanto no es t $corrector.
"ntonces si el c(digo es t Ucorrector esto no puede ocurrir - por tanto si C es t$
corrector ⇒d'C& ≥2t O 1. /i d'C& ≥2t O 5 = 2'tO1& O 1 ⇒C ser0a eBactamente
'tO1&$corrector 'Contradicci(n&. As0 d'C& = 2t O 1 o 2t O 2.
Definición: Un c(digo de longitud n, tama.o m - distancia d se dice que es un
'n,m,d& U c(digo.
"jemplos!
• C(digo de repetici(n binario de longitud n!
Tema 1 Teoría de Códigos
19
Códigos y Criptografía
{ * .... ** ,
  
n
1 .... 111
}  'n, 2, n&$c(digo
"ste c(digo corrige
1
]
1

¸

2
1 n
errores.
• "l ;ariner R '1RAR& tom( fotos en blanco - negro de ;arte. Las im#genes eran de
>**B>** - con >2 nieles de gris. /e us( un c(digo binario de tama.o >2. /e us(
un '52, >2, 1>&$c(digo 'c(digo de Ieed$;uller&. "ste era un c(digo A$corrector.
1>
5
52
>2 log
2
· · *
• "l Mo-ager '1RAR$1R91& tom( fotos en color de `+piter - /aturno de 2*R> colores.
/e us( un '22, 2*R>, 9&$c(digo 'C(digo de ]ola-&. "ste era un c(digo 5$corrector.
2
1
22
12
22
2*R> log
2
· · · *
Códigos (er&ectos
Definición: /ea A un alfabeto, ,A, = q, ∈ A
n
- r ∈ I, r ≥ *. La esfera de radio r -
centro es!
} & , ' % { & , ' r : ) d A : r ) $
n
#
≤ ∈ ·
'Kola cerrada de centro - radio r&.
"l olumen de /
q
',r& es ,/
q
',r&, - est# dado por!

·

,
_

¸
¸
·
r
,
,
#
#
,
n
r n 0
*
& 1 ' & , '
"l olumen de la esfera de radio r es independiente del centro.
M
q
'n,r& = 1 O n'q$1& O

,
_

¸
¸
2
n
'q$1&
2
O ....

,
_

¸
¸
r
n
'q$1&
r

1  palabras a distancia *
Tema 1 Teoría de Códigos
1R
Códigos y Criptografía
n'q$1&  palabras que distan 1

,
_

¸
¸
2
n
 8arejas de elementos
'q$1&
2
 8osibles posiciones para el resto de s0mbolos
"jemplo!
A = {*, 1}
n = 5
1 * *
1 1 *
* 1 1
1 1 1
1 * 1
* * 1
* * * * 1 *
"sfera de radio 1 centrada en 111 = {1*1, 111, 11*, *11}
Definición: /ea C

A
n
. "l radio de empaquetamiento de C es el ma-or entero r tal
que todas las esferas de radio r '/
q
',r&, ∈ C& son disjuntas.
"sto siempre eBiste -a que todas las esferas de radio * son disjuntas.
Definición: "l radio de recubrimiento es el menor entero s tal que la uni(n de todas las
esferas de radio s es A
n
.

C )
n
#
A s ) $

· & , '
r = pr'C&
s = cr'C&
Proposición: Un c(digo C es t$corrector si - s(lo si las esferas de radio t /
q
',t&,
∈ C, son disjuntos. C es eBactamente t$corrector si - s(lo si pr'C& = t. "l radio de
empaquetamiento de un 'n,m,d&$c(digo es!
1
]
1

¸

·
2
1
& '
d
C pr
Tema 1 Teoría de Códigos
2*
Códigos y Criptografía
"jemplo!
d'C& = 2
2
1
Las palabras intermedias no son palabras del c(digo. La distancia m0nima entre dos
palabras es 2.
Las esferas de radio 1 son disjuntas  "ste c(digo corrige 1 error
Las esferas de radio 2 no son disjuntas, tienen un punto com+n
d'C& = 5
"ste c(digo corrige 1 error.
Definición: Un c(digo C

A
n
se dice perfecto cuando cr'C& = pr'C&, es decir, cuando
eBiste un entero r tal que /
q
',r&, ∈ C, son disjuntas - recubren A
n
. "n este caso las
esferas de radio r forman una partici(n de A
n
.
"jemplo!
_
2
'5& '_amming&  "s un 'A,1>,5&$c(digo binario
"ste es un c(digo 1$corrector
d = 5 7 t = 1 = pr'_
2
'5&&
m = , _
2
'5&, = 1>
Meamos si este c(digo es perfecto.
Tema 1 Teoría de Códigos
21
Códigos y Criptografía
,A
n
, = , ,
A
2
Z = 2
A
= 129
_a- que er que las esferas de radio 1 recubren
A
2
Z . _a- que er que la uni(n de
todas las esferas tiene 129 elementos.
M
2
'A,1& = ,/
2
',1&, = 1 OA = 9
_a- 1> esferas  Jienen 9S1> palabras =129
"l c(digo es perfecto.
Proposición ;Condición de empa#"etamiento de esferas<: /ea C un 'n,m,d&$c(digo q$
ario. C es perfecto si - s(lo si d = 2t O 1 es impar - adem#s nSM
q
'n,t& = q
n
, es decir!

·

,
_

¸
¸
·
t
,
,
n
#
,
n
#
m
*
& 1 '
6emostraci(n!
[ [⇒/i la distancia m0nima fuese par, d= 2t O 2 4abr0a palabras que no
estar0an en una esfera de radio t=1, para d = 2 'Mer 1E imagen de la p#gina anterior&
. "l radio t no ser0a el radio de recubrimiento7 t O 1 puede que sea el radio de
recubrimiento pero -a no es el radio de empaquetamiento.
C perfecto, d = 2t O 1, pr'C& = cr'C& = t. {/
q
',t& % ∈ C} es una partici(n de A
n
.
q
n
= ,A
n
, = mSM
q
'n,t& 'm  n+mero de esferas&
[ [⇐ C es un 'n,m,2tO1&$c(digo que cumple mSM
q
'n,t& = q
n
. "l n+mero de
esferas por el olumen de las esferas es q
n


La uni(n de todas las esferas de
radio t contiene a A
n
. Las esferas de radio t son disjuntas

"l c(digo es perfecto.
'n,m,d& = 'R*,2
A9
,:&  3o corresponde a ning+n c(digo perfecto. _a- algunos
par#metros que corresponden a m#s de un c(digo distinto.
'n,m,d&$c(digo q$ario!
n
m
C *
#
log
& ' ·
La eficiencia - la capacidad de corregir errores son incompatibles, para corregir
errores las palabras deben ser largas, con lo que se reduce la eficiencia. /e buscan
c(digos (ptimos que combinen estas dos propiedades.
Tema 1 Teoría de Códigos
22
Códigos y Criptografía
Definición: La tasa de correcci(n de errores de un 'n,m,d&$c(digo C es!
n
d
C
1
]
1

¸

·
2
1
! & ' δ
"s el n+mero de errores que se corrigen en relaci(n a la longitud de las palabras.
"jemplo!
C ={ * .... ** ,
  
n
1 .... 111
}
I'C& =
n n
1 2 log
2
·
* & ' ·
∞ →
C *
(im
n
n = 2t O1
2
1
& '
1 2
& '
·
+
·
∞ →
C
t
t
C
(im
n
δ
δ
Cuanto ma-or sea la longitud del c(digo m#s aumenta la tasa de correcci(n de errores
'4asta el l0mite de *.:&. "ste c(digo es +til d.p. de la correcci(n de errores pero no
d.p. de la eficiencia.
m = 1!
I'C& = *  "ste c(digo tiene la m0nima tasa de transmisi(n -a que un c(digo de una
sola palabra no transmite informaci(n.
"n este caso no podemos 4ablar de una distancia m0nima, se suele tomar
& 'C δ
= 1 -a
que no puede 4aber errores debido a que s(lo 4a- una palabra.
'n,q
n
,1&$c(digo, C = A
n
',A, = q&
1
log
& ' · ·
n
#
C *
n
#
I es m#Bimo 'todos los s0mbolos transmiten informaci(n&.
* & ' · C δ
Tema 1 Teoría de Códigos
25
Códigos y Criptografía
3o se corrigen errores -a que todas las palabras de A
n
son palabras del c(digo.
"l problema de cu#les son los mejores c(digo a+n no est# resuelto.
La tasa de correcci(n de errores est# dada por d - n7 fijamos d - n - tratamos de
optimi<ar m para que el c(digo tenga I lo ma-or posible. /e definen unos n+meros!
A
q
'n,d& != maB {m % eBiste 'n,m,d&$c(digo q$ario}
Un 'n,A
q
'n,d&,d&$c(digo se dice que es un c(digo optimable.
8roblema principal de la teor0a de c(digos! 6eterminar el alor de A
q
'n,d&
A
q
'n,d& ≤ q
n$dO1
'Cota de /ingleton&
Cota de 8lotNin!
a& /i n es par entonces!
8ara n Y 2d, A
2
'n,d& ≤
1
]
1

¸

−n d
d
2
8ara n = 2d, A
2
'n,d& = 2d
b& /i n es impar entonces!
8ara n Y 2d O 1, A
2
'n,d&
1
]
1

¸

− +
+

n d
d
1 2
1
8ara n = 2d O 1, A
2
'2dO1,d& ≤ 2d O 2
/4annon! A ;at4ematica J4eor- of Communication
Jeorema del Canal Iuidoso! "ste teorema demuestra que eBisten buenos c(digos pero
no dice c(mo obtenerlos.
8ara un K/C con probabilidad de paso p la capacidad es!
& 1 ' log & 1 ' log 1 & '
2 2
p p p p p C − − + + ·
Consideremos un K/C con capacidad C'p&. /i I'C& Y C'p& entonces para cada ε X *
eBiste un 'n,m&$c(digo C cu-a tasa de transmisi(n es ma-or o igual que I - para el
cual 8'error de descodificaci(n& Y ε.
"jemplo!
K/C con p = *.*1
Tema 1 Teoría de Códigos
22
Códigos y Criptografía
C'p& = *.R1R 'casi R2D&
8odemos encontrar un c(digo con I = *.R1R - con probabilidad de error
arbitrariamente baja.
Códigos )ine#!es
Los c(digos lineales son espacios ectoriales sobre un cuerpo finito. Los alfabetos que
usaremos son cuerpos finitos 'a&.
1
p
= {*,1....p$1}
q = p
r
 p primo, \
q
cuerpo finito con q elementos.
"n particular si q = p 'primo&, entonces \
q
= \
p
= 1
p
.
\
2
= 1
2
= {*,1}
\
5
= {*,1,2}
\
:
= {*,1,2,5,2}
Definición: Un c(digo lineal de longitud n sobre a es un a$subespacio ectorial C de
a
n
a
n
= {'B
1
..B
n
& % B
1
,ZB
n
∈ a}
6ados 2 elementos de C su suma - su producto pertenece a C ' O - S son cerradas&.
C

a
n
, ,^ ∈ C, α,β ∈ Κ

α O β^ ∈ C
a = 1
2
C = {***,*1*}  C(digo Lineal
¹
¹
¹
'
¹
· +
· +
· +
*** *1* *1*
*1* *1* ***
*** *** ***
"n el caso binario la suma de dos palabras debe ser una palabra del c(digo.
C ) " C ) " ∈ + ⇒ ∈ ,
C = {*1*}  3o es un c(digo lineal, -a que no contiene a ***.
C = {***,*1*,11*}  3o es un c(digo lineal -a que 11* O *1* = 1**

C
Un c(digo lineal binario tiene un n+mero de palabras que es potencia de 2.
Un c(digo lineal C sobre a de longitud n - dimensi(n N se dice que es un Vn,NW$c(digo
'lineal&7 si la distancia es d, se dice que es un Vn,N,dW$c(digo.
PCu#l es el tama.o de un Vn,N,dW$c(digo q$arioQ
Tema 1 Teoría de Códigos
2:
Códigos y Criptografía
/i C es un Vn,NW$c(digo q$ario

C es isomorfo a a
N
'C≅ a
N
&
,C, = ,a
N
, = ,a,
N
= q
N
m = q
N
Un Vn,N,dW$c(digo q$ario es un 'n,q
N
,d&$c(digo q$ario.
∈C, C c(digo binario

O = 2 = *
*epaso de =lgebra (ineal:
M a$espacio ectorial 'M un "M sobre un cuerpo a&. 6ado un subconjunto /

M, el
subespacio de M generado por / es el menor subespacio de M que contiene a / - se
denota Y/X. /e erifica que!
} , % {
1
$ ) . ) $
i i
n
i
i i
∈ ∈ >· <

·
α α
/i Y/X = M entonces se dice que / es un conjunto generador de M.
} , % {
1
$ ) . ) 0
i i
n
i
i i
∈ ∈ ·

·
α α
/

M, / se dice que es linealmente independiente cuando!
n i $ ) . )
i
n
i
i i i i
.... 1 , * , , *
1
· ∀ · ⇒ ∈ ∈ ·

·
α α α
/

M, / = {
1
, Z.
n
}. /e dice que / es una base de M cuando / es conjunto generador
de M - / es L?.
/ es base ⇔

·
· ∈ ∃ ∈ ∀
n
i
i i n
) ) . 0 )
1
1
*
% ,.... , α α α
∑ ∑
· ·
· ∀ · ⇒ · ·
n
i
i i
n
i
i o i i
n i ) ) )
1 1
.... 1 C, C α α α α
Proposición: /e M un a$espacio ectorial - K

M'K un subconjunto de M&. Las
siguientes afirmaciones son equialentes!
i& K es una base.
Tema 1 Teoría de Códigos
2>
Códigos y Criptografía
ii& K es un conjunto L? maBimal de M.
iii& K es un conjunto generador minimal de M.
Conjunto L? maBimal  Conjunto L? tal que cualquier subconjunto de M que lo
contenga propiamente no es L?.
Conjunto generador minimal  Conjunto generador tal que ning+n subconjunto
propio de K es conjunto generador.
Corolario: /ea M un a$espacio ectorial. Jodo conjunto generador de M contiene una
base - todo conjunto L? de M est# contenido en una base.
Corolario: Jodo a$espacio ectorial M tiene una base. Adem#s todas las bases de M
tienen la misma cardinalidad 'n+mero de elementos& que en nuestro caso es siempre
finita - que se llama dimensi(n de M, dim M.
Proposición: dim M = N

M≅ a
N
. Jodos los "M de la misma dimensi(n son
isomorfos. Un isomorfismo es una aplicaci(n bi-ectia - lineal 'consera las
operaciones&.
6emostraci(n!
[ [⇒dim M = N

M tiene una base K = {
1
, .....
N
}

·
∈ · → · ∈
÷→ ÷
,
i
,
, i i
, f
. ) f ) ) 0 )
. 0
1
1
& ,..... ' & ' , α α α
C

a
n
dim C ≤dim a
n
= n
Vn,N,dW$c(digo lineal
N ≤ n
N = * ⇒C = {**Z.*}
N = n ⇒C = a
n
Definición: /ea L una sucesi(n 'puede 4aber t@rminos iguales& finita de ectores de
a
n
, '
1
....
N
&. /e llaman operaciones elementales sobre '
1
,....
N
& a las siguientes!
i& e
'p,q&
! ?ntercambiar
p
-
q
'
p



q
&
ii& e
λ'p&
! Ieempla<ar el ector
p
por el ector λ
p
, donde λ∈ Κ, λ≠ *
'
p


λ
p
&.
iii& e
'p&Oλ(q&
! Ieempla<ar un ector
p
de la sucesi(n por
p
O λ
q
, con λ∈ Κ, λ
≠ * '
p

p

q
&.
Tema 1 Teoría de Códigos
2A
Códigos y Criptografía
/i e denota una operaci(n elemental de las anteriores, llamaremos e'L& a la sucesi(n
finita de ectores obtenida a partir de L mediante la aplicaci(n de e.
Proposición: /ea L una sucesi(n finita de ectores de a
n
- e una operaci(n elemental
sobre L. "ntonces se erifica!
i& YLX = Ye'L&X
ii& L es L?

e'L& es L?
6emostraci(n!
i& Jodo elemento de e'L& es una CL de los elementos de L - iceersa, as0 el
espacio que generan es el mismo.
ii& Consecuencia de i&.
/i aplicamos una opraci(n elemental - luego su inersa obtenemos la sucesi(n L.
1
1 1
& ' & '
1
& ' & '
& '
1
& '
& , '
1
& , '
1
· ·
·
·
·
− −


+



ee e e
e e
e e
e e
# p # p
p
p
# p # p
λ λ
λ
λ
Una sucesion finita de ectores de a
n
es una matri< de N filas - n columnas.
L = '
1
,......
N
& sucesi(n finita de ectores de a
n
⇔;atrices ;
NBn
'a&

1
= '
11
,....
1n
&

2
= '
21
,Z
2n
&
.
.
.

N
= '
N1
,Z
Nn
&
"sto se puede er as0!
& '
. . .
. .
. . .
. .
. . .
1
1 11
. +
) )
) )
,!n
,n ,
n

,
_

¸
¸
Tema 1 Teoría de Códigos
29
Códigos y Criptografía
Las operaciones elementales se aplicar#n a las filas de la matri<. Mamos a transformar
una matri< dada en otra que nos sea m#s +til para trabajar.
Definición: Una sucesi(n finita
1
,....
N
∈a
n
se dice que es escalonada cuando, si se
considera la 1E componente no nula de cada ector todas las componentes no
posteriores de los ectores siguientes son cero - adem#s todos los ectores * de la
sucesi(n est#n al final, es decir,
p
= *

pO1
= ...=
N
= *.
"jemplo!
'5, :, *, 1, 2, 2, 2&
'*, *, 5, 1, *, 2, 2&
'*, *, *, *, :, 2, 1&
'*, *, *, *, *, 2, 5&
'*, *, *, *, *, *, 1&
'*, *, *, *, *, *, *&
'*, *, *, *, *, *, *&

Proposición: /i L = '
1
, ....
N
& es una sucesi(n escalonada de ectores de a
n
, entonces
los ectores no nulos de L forman una base de YLX.
Una sucesi(n escalonada es L?.
Proposición: /ea L un conjunto finito de ectores de a
n
, entonces L se puede
transformar en una sucesi(n escalonada por medio de un n+mero finito de operaciones
elementales. La sucesi(n as0 obtenida 'descartando los ectores nulos si los 4ubiera& es
una base de YLX.
/i a.ado n$N ectores de forma que la sucesi(n resultante sea escalonada obtengo una
base de a
n
.
"jemplo!
& '
1 * 2 1 * 1 2
1 2 1 * 2 2 1
2 1 1 * 1 2 2
1 2 * 2 1 2 1
2 1 1 * 2 * *
5 5 :
Z +
!
·

,
_

¸
¸
1
5
= {*, 1, 2}
Mamos a transformar esta matri< en escalonada mediante operaciones elementales.
Tema 1 Teoría de Códigos
2R
Códigos y Criptografía

,
_

¸
¸
÷ ÷ ÷ → ÷

,
_

¸
¸
÷ ÷ → ÷

,
_

¸
¸
÷ ÷ ÷ → ÷

,
_

¸
¸
÷ ÷→ ÷

,
_

¸
¸





1 * * * * * *
2 1 2 1 * * *
2 1 1 * 2 * *
* * 1 2 2 1 *
1 2 * 2 1 2 1
2 2 2 * 1 * *
* * 1 1 1 * *
2 1 1 * 2 * *
* * 1 2 2 1 *
1 2 * 2 1 2 1
2 2 2 * 1 * *
* * 1 1 1 * *
* * 1 2 2 1 *
2 1 1 * 2 * *
1 2 * 2 1 2 1
1 * 2 1 * 1 2
1 2 1 * 2 2 1
2 1 1 * 1 2 2
2 1 1 * 2 * *
1 2 * 2 1 2 1
1 * 2 1 * 1 2
1 2 1 * 2 2 1
2 1 1 * 1 2 2
1 2 * 2 1 2 1
2 1 1 * 2 * *
& 5 ' 2 & : '
& 5 ' 2 & 2 '
& 5 , 2 ' & 1 ' 2 & : '
& 1 ' & 2 '
& 1 ' 2 & 5 '
& 2 , 1 '
e
e
e e
e
e
e
"l c(digo generado por los : primeros ectores est# formado por estos : ectores. Los
primeros ectores -a forman una base pero en general no suceder# esto. "sta matri<
tiene rango :.
C = Y1*11*1, *11***, 11*1*1, **1*1*X
>
2
Z ⊆
"n primer lugar debemos encontrar una base de C.

,
_

¸
¸
÷ ÷ → ÷

,
_

¸
¸
÷ ÷ → ÷

,
_

¸
¸
+
+
* * * * * *
* 1 * 1 * *
* * * 1 1 *
1 * 1 1 * 1
* 1 * 1 * *
* * * 1 1 *
* * * 1 1 *
1 * 1 1 * 1
* 1 * 1 * *
1 * 1 * 1 1
* * * 1 1 *
1 * 1 1 * 1
& 2 , 5 '
& 2 ' & 5 '
& 1 ' & 5 '
e
e
e
Una base de C, K ={1*11*1, *11***, **1*1*}
C = Y1*11*1,*11***, **1*1*X
Mamos a er a4ora c(mo es el c(digo eBpl0citamente.
C = Yu
1
, u
2
, u
5
X
C = {u
1
, u
2
, u
5
, *, u
1
Ou
2
, u
1
Ou
5
, u
2
Ou
5
, u
1
Ou
2
Ou
5
}
C = {******, 1*11*1, *11***, **1*1*,11*1*1, 1**111, *1**1*,111111}
q
N
= 2
5
dim C = 5
C = Y*121, 21*1X
2
5
Z ⊆
Tema 1 Teoría de Códigos
5*
Códigos y Criptografía

,
_

¸
¸
1 2 1 *
1 * 1 2
/on L?
1
5
= {*, 1, 2}
Jama.o del c(digo = q
N
= 5
2
= R
C = {****, *121, 21*1, 12*2, *212, 2222, 1*2*, 2*1*, 1111}
C = Y1****11, *1**1*1, **1*11*, ***1111X
A
2
Z ⊆
VA,2W$ c(digo '_amming&
2
2
= 1> palabras
PC(mo 4allar la distancia m0nimaQ
"n general, para un c(digo arbitrario se toma todo el c(digo - se an comparando las
palabras para er cu#l es la distancia m0nima7 si el c(digo tiene tama.o m deber0amos
calcular

,
_

¸
¸
2
m
distancias, n+mero que puede ser grande 'm=1**** 

,
_

¸
¸
2
m
=
2RRR:***&
La distancia m0nima es la distancia m0nima entre dos palabras del c(digo que sean
distintas.
Definición: /ea C un c(digo 'no necesariamente lineal& - ∈ C una palabra del
c(digo. /e define el peso de como el n+mero ^'& de s0mbolos no nulos de .
= 1**1* ⇒^'& = 2
Proposición: /ea C un c(digo lineal - u, ∈ C. "ntonces se erifica!
• d'u,& = ^'u$&
• ^'u& = d'u,*&
"l c(digo debe ser lineal -a que u$ debe pertenecer al c(digo.
Definición: /ea C un c(digo. /e llama peso de C 'o peso m0nimo de C& a!
} * , % & ' min{ ! & ' ≠ ∈ · ) C ) ) : C :
Proposición: /i C es un c(digo lineal entonces d'C& = ^'C&.
6emostraci(n!
/ean u, ∈ C tales que d'u,& = d'C&
^'C& ≤^ 'u$& ≠ *
^'u$& = d'u,& = d'C&
As0 ! ^'C& ≤ d'C&
/ea u una palabra distinta de cero de peso m0nimo, es decir, ^'u& = ^'C&
Tema 1 Teoría de Códigos
51
Códigos y Criptografía
d'C& ≤ d'u,*& = ^'u& = ^'C&
As0! d'C& ≤ ^'C&
`untando las dos desigualdades obtenemos! d'C& = ^'C&.
8ara obtener la distancia m0nima s(lo tengo que recorrer m$1 palabra del c(digo -
calcular sus pesos, con lo que el n+mero de operaciones se reduce.
"l peso m0nimo no tiene por qu@ coincidir con el peso m0nimo de los elementos de la
base.
M#trices Gener#trices % M#trices de Contro!
Definición: /ea C un Vn,NW$c(digo lineal sobre un cuerpo a 'C

a
n
&. Una matri<
generatri< de C es una matri< de ;
NBn
'a& cu-as filas forman una base de C.
La matri< generatri< no es +nica -a que 4a- muc4as bases.
C = Y1*11*1, *11***, 11*1*1, **1*1*X es un V>,5W$c(digo

,
_

¸
¸
· ∈

,
_

¸
¸
·
* 1 * 1 * *
1 * 1 1 * 1
* * * 1 1 *
C & '
* 1 * 1 * *
* * * 1 1 *
1 * 1 1 * 1
2 > 5
7 Z + 7
!
/iempre se cumple que N ≤ n.
8ara que una matri< sea generatri< sus filas deben ser una base del c(digo, deben ser
un conjunto L?. La matri< debe tener rango N '= n+mero de filas&.
Proposición: /i ] ∈ ;
NBn
'a& con N ≤ n, ] es matri< generatri< de un c(digo lineal
sobre a 'Vn,NW$c(digo& si - s(lo si rg']& = ρ']& = N.
Proposición: /ea C un Vn,NW$c(digo lineal sobre a - ] una matri< generatri< de C.
"ntonces C = { B] % B ∈a
N
} - la aplicaci(n!
!7 !
C .
f ,

÷→ ÷
es un isomorfismo de N$espacios ectoriales.
B ∈ a
N
, B ∈ ;
1BN
'a&
] ∈ ;
NBn
'a&
B] ∈ ;
1Bn
'a& = a
n
/e multiplica la primera componente de B por la primera fila de ] - as0 sucesiamente,
- al final se 4ace una suma componente a componente.
Tema 1 Teoría de Códigos
52
Códigos y Criptografía
& 1 1 1 ' 5 & * * 1 ' 2 & 1 * * ' 1
1 1 1
* * 1
1 * *
& 5 2 1 ' + + ·

,
_

¸
¸
] ∈ ;
NBn
'a&7 ρ']& = N = ρ'f& = dim'?m f&7 ?m f = C
8 0
f
÷→ ÷
dim M = dim Ner f O dim ?m f
N = dim Ner f O N ⇒ dim Ner f = * ⇒f es in-ectia
M
f ?m ≅
?nteresa encontrar matrices generatrices lo m#s sencillas posibles para que la
descodificaci(n sea sencilla. Meamos c(mo conseguir matrices generadoras lo m#s
sencillas posibles.
Definición: /ea C un 'n,m,d&$c(digo q$ario sobre un alfabeto A. Consideramos los dos
tipos de operaciones siguientes!
1$ /ea σ una permutaci(n del conjunto de 0ndices {1, 2, .... n}. "s una aplicaci(n
bi-ectia de un conjunto en si mismo. "jemplo!

,
_

¸
¸
·

,
_

¸
¸
·
2 : 1 2 5
: 2 5 2 1
& : ' & 2 ' & 5 ' & 2 ' & 1 '
: 2 5 2 1
σ σ σ σ σ
σ
8ara cada palabra de c(digo u = u
1
u
2
...u
n
, u
i
∈ A, se sustitu-e u por la palabra u
σ'1&
u
σ'2&
.... u
σ'n&
'permutaci(n posicional&.
2$ /ea para cada 0ndide i ∈ {1, 2, ....n}, Π
i
! A  A una permutaci(n. /e sustitu-e
cada palabra del c(digo u = u
1
u
2
...u
n
por u
1
u
2
... Π
i
'u
i
&... u
n
'permutaci(n de
s0mbolos&."jemplo!
i = 5
2 2
5
Z Z ÷ → ÷

Π
5
= '1 *&  Cada elemento a al siguiente - el +ltimo a al primero.
1*11*  1**1*
Definición: "l c(digo CC es equialente al c(digo C cuando CC se obtiene a partir de C
mediante una sucesi(n finita de operaciones de los 2 tipos anteriores.
"jemplo!
Tema 1 Teoría de Códigos
55
Códigos y Criptografía
C = {1*121, 2112*, **221, 1*12*, *1212}
:
5
Z ⊆
σ ∈ /
:
σ = '1 5& '2 :&
1  5 2  :
5  1 :  2
CC= {11121, 1b221, 21*2*, 1*12*, 22*11}
A4ora aplico!

1
& '* 2 1& en la posici(n 1

4
& '* 1& en la posici(n 2
Aplico Π
1
!
CCC = { *112*, **221, 11*2*, **12*, 12*11}
Aplico Π
2
!
CCCC = {*112*, **221, 11*2*, **12*, 12**1}
"sta relaci(n es una relaci(n de equialencia, es decir, cumple las propiedades
refleBia, sim@trica - transitia.
"stas operaciones conseran todos loas par#metros del c(digo 'longitud, tama.o -
distancia entre palabras&. 6os c(digos equialentes tienen los mismos par#metros - la
misma distancia m0nima, con lo que tienen la misma capacidad de corregir errores.
Proposición: /ea C un c(digo de longitud n sobre el alfabeto A - u ∈ A
n
. "ntonces
eBiste un c(digo CC equialente a C - tal que u ∈ CC.
6emostraci(n!
/ea ∈ C. ;ediante a lo sumo n permutaciones de s0mbolos se pasa de a u.
"ntonces el c(digo CC obtenido a partir de esas permutaciones es equialente a C -
tenemos la propiedad de que u ∈ CC.
Definición: Una matri< generatri< ] de un Vn,NW$c(digo se dice normali<ada o est#ndar
'o est#ndar por la i<quierda& cuando es de la forma siguiente!
& , ' A > 7
,
·
donde ?
N
es la matri< identidad de ;
N
'a& 'matrices cuadradas N B N&. Adem#s si un
c(digo C tiene una matri< generatri< est#ndar se dice que C es un c(digo sistem#tico.
"jemplo!
Tema 1 Teoría de Códigos
52
Códigos y Criptografía
V:,5W$c(digo
] =

,
_

¸
¸
5: 52
2: 22
1: 12
1 * *
* 1 *
* * 1
a a
a a
a a
A  N filas - n$N columnas
A ∈ ;
NB'n$N&
'a&
n = N, a
n
= C
Vn,nW$c(digo
] =

,
_

¸
¸
1 . . . *
. . .
. * .
* 1 *
* . . * 1
Un c(digo de este tipo es el c(digo A/C?? est#ndar.
"l c(digo A/C?? con bit de paridad es un '9,129,2&$c(digo7 es un c(digo lineal -a que
si sumamos 2 palabras con un n+mero par de unos obtenemos una palabra con un
n+mero par de unos. "s un V9,AW$c(digo.

,
_

¸
¸
A >
1
1
1
1
1
1 *
. .
. .
* . * 1 *
* . . * 1
A
        
Meamos a4ora un ejemplo en 1
5
!

,
_

¸
¸
* 1 2
1 2 1

 3o es un c(digo sistem#tico. ca que la matri< de 2B2 tiene rango 1
'1S1 $ 2S2 = *&
Las primeras N columnas de la matri< deben formar una matri< NBN de rango N para
que el c(digo sea sistem#tico -a que as0 podemos transformar esta matri< NBN en la
matri< identidad aplicando operaciones elementales.
Proposición: /e erifican las siguiente propiedades!
i& Jodo c(digo lineal es equialente a un c(digo sistem#tico.
Tema 1 Teoría de Códigos
5:
Códigos y Criptografía
ii& Un c(digo sistem#tico posee una +nica matri< generatri< est#ndar.
iii& /i C es un Vn,NW$c(digo sistem#tico entonces para cada u = u
1
u
2
...u
n


a
N
eBiste una +nica palabra de c(digo c
u

C de la forma c
u
= u
1
u
2
...u
N
B
NO1
...B
n.
Jomamos todo a
N
- le a.adimos n$N s0mbolos de tal forma que el c(digo
siga siendo un "M. Las N primeras componentes se llaman s0mbolos de
informaci(n - las n$N siguientes se llaman s0mbolos de control o s0mbolos
de redundancia.
C(digo A/C?? con bit de paridad  Las A primeras posiciones no corrigen errores,
forman todo
A
2
Z , luego se a.ade un s0mbolo de control para permitir la detecci(n
de errores.
6emostraci(n!
i& /upongamos que el primer coeficiente no nulo de la fila i est# en la
columna j
i
'i ≤j
i
&. /ean i
1
....i
r
las filas de la matri< escalonada tales que
,
i ,
j i ≠

'N = 1....r&. Consideremos la permutaci(n posicional de la palabras
de C! 'i
r
j
r
& 'i
r$1
j
r$1
& .... 'i
1
j
1
&, todas estas trasposiciones son disjuntas -
forman una permutaci(n 'la trasposici(n situada m#s a la derec4a es la que
se aplica primero&. "jemplo!

,
_

¸
¸
2 1 * * * * * * *
1 2 1 * * * * * *
2 1 1 2 * 1 1 * *
1 1 2 1 2 * 1 2 1
j
2
= 5, j
5
= A, j
2
= 9
Aplicamos la permutaci(n '2 9& '5 A& '2 5&
CCes equialente a C.

,
_

¸
¸
!
!
! !
! ! !
1
. . *
. .
1
1
;atri< generatri< de CC, el primer bloque es de
tama.o NBN - el segundo bloque es de tama.o NB'n$N&. Aplicando
operaciones elementales por columnas esta matri< se reduce a una matri<
generatri< est#ndar.
ii& /ean ] - ]C matrices generatrices est#ndar de C - sean a
i
a
i
C las filas
i$@sima de ] - ]C. Como ambas matrices generan el mismo c(digo las filas
de ] se pueden poner como CL de las filas de ]C. a
i
tiene un 1 en la
posici(n i, a
i
deber ser igual a a
i
C, -a que si a
i
lo pusi@semos como CL de
las filas de ]C en esta CL s(lo interendr0a la fila a
i
C -a que si no la matri<
fila a
i
tendr0a unos en una posici(n distinta de la i.
iii& 1
5
, V:,5W$c(digo. C = { ....} *1* , **2 , **1 , *** , aparecen todas las
posibles palabras de
5
5
Z
- 4a- una +nica palabra que comien<a por esos
Tema 1 Teoría de Códigos
5>
Códigos y Criptografía
s0mbolos. u = u
1
....u
N
∈ a
N
, sea ] una matri< generatri< est#ndar con filas
a
1
,...a
N
∈ a
n
. 'u
1
....u
N
&] = u
1
a
1
O u
2
a
2
O ....u
N
a
N
= u
1
u
2
...u
N
B
NO1
....B
n
.

& ... * ..... * * 1 '
1
! ! ! a
,
·
. La palabra empie<a por los s0mbolos u
i
debido
a que la matri< es est#ndar - luego aparecen otros elementos. Jodas las
palabras del c(digo se obtienen as0. "l c(digo A/C?? con un bit de paridad
es un c(digo sistem#tico -a que se coge todo
A
2
Z - se le a.ade un bit de
redundancia.
/ea C el c(digo ternario de matri< generatri<!

,
_

¸
¸
·
1 2 1 1 *
1 1 1 * 1
* * 2 2 1
7
"ncontrar un c(digo sistem#tico que sea equialente a C - una matri< generatri< de
dic4o c(digo.

,
_

¸
¸
÷ ÷ → ÷

,
_

¸
¸
÷ ÷ → ÷

,
_

¸
¸
− −
* 1 2 * *
1 1 2 1 *
* * 2 2 1
1 2 1 1 *
1 1 2 1 *
* * 2 2 1
1 2 1 1 *
1 1 1 * 1
* * 2 2 1
& 2 ' & 5 ' & 1 ' & 2 '
e e
"sta matri< es una matri< generatri< del mismo c(digo -a que s(lo 4emos reali<ado
operaciones elementales. "l c(digo C -a es sistem#tico, amos a 4allar la matri<
est#ndar. La matri< 5B5 tiene rango 5. 8ara que la matri< NBN escalonada tenga rango N
los elementos de la diagonal deben ser distintos de cero.

,
_

¸
¸
÷ ÷ ÷ → ÷

,
_

¸
¸
÷ ÷ ÷ → ÷

,
_

¸
¸
÷ ÷→ ÷

,
_

¸
¸



* 2 1 * *
1 * * 1 *
1 2 * * 1
* 2 1 * *
1 * * 1 *
* * 2 2 1
* 2 1 * *
1 1 2 1 *
* * 2 2 1
* 1 2 * *
1 1 2 1 *
* * 2 2 1
& 2 ' 2 & 1 '
& 5 ' 2 & 1 '
& 5 ' 2 & 2 ' & 5 ' 2
e
e
e e
_acer lo mismo con un c(digo C cu-a matri< generatri< es!
& '
* 1 2 1 1
1 1 2 * 1
* * 2 2 1
5 : 5
Z + 7
!

,
_

¸
¸
·

,
_

¸
¸
÷ ÷ → ÷

,
_

¸
¸
÷ ÷ → ÷

,
_

¸
¸
− −

1 2 * * *
1 1 * 1 *
* * 2 2 1
* 1 * 2 *
1 1 * 1 *
* * 2 2 1
* 1 2 1 1
1 1 2 * 1
* * 2 2 1
& 2 ' & 5 ' & 1 ' & 5 '
& 1 ' & 2 '
e e
e
"l rango de la matri< 5B5 no es 5. "sta matri< no se puede reducir mediante
operaciones elementales a la matri< identidad -a que @sta tiene rango 5.

,
_

¸
¸
÷ ÷ ÷ → ÷

,
_

¸
¸
÷ ÷ → ÷

,
_

¸
¸
÷ ÷ → ÷

,
_

¸
¸
− − ↔
* 2 1 * *
* 2 * 1 *
2 2 * * 1
* 2 1 * *
* 2 * 1 *
2 * * 2 1
* 2 1 * *
* 1 1 1 *
2 * * 2 1
1 2 * * *
1 1 * 1 *
* * 2 2 1
& 2 ' 2 & 1 ' & 5 ' & 2 ' : 5
e e c c
Tema 1 Teoría de Códigos
5A
Códigos y Criptografía
CC es equialente a C. "l c(digo CC se obtiene a partir de C permutando las posiciones
5 - :. Htra matri< generatri< de CC ser0a!

,
_

¸
¸
2 1 * 1 1
2 1 1 * 1
2 * * 2 1
6iferencia entre la descodificaci(n de fuente - la descodificaci(n de canal!
La descodificaci(n de canal consiste en, al usar un c(digo detector de errores, recibir
las palabras transmitidas - si @stas no son palabras del c(digo por alg+n m@todo
sustituir la palabra recibida por una palabra del c(digo. La descodificaci(n de la fuente
consiste en tomar la informaci(n - pasarla a su formato original.
"n el caso de los c(digos lineales la codificaci(n - descodificaci(n de fuente es
bastante eficiente.
/ea ] la matri< generatri< de un Vn,NW$c(digo C sobre a.
!7 !
C .
7 ,

÷→ ÷
"sta aplicaci(n es un isomorfismo de "M. 8ara codificar se codifica por bloques7 se
constru-e la fuente como elementos de a
N
- aplicando el isomorfismo pasamos al
c(digo C.
La descodificaci(n de fuente consiste en una e< que se 4a recibido B] recuperar B7
esto se 4ace resoliendo un sistema de ecuaciones lineales.

,
_

¸
¸
·
,n ,
n
a a
a a
7
. .
.
.
. .
1
1 11
B = 'B
1,
.....,B
N
&
& ..... ,....., ..... , ..... ' & ,....., '
1 1 2 1 12 1 1 11 1 , ,n n , , , , n
! a ! a ! a ! a ! a ! a " " !7 + + + + · ·
a
11
B
1
O ZZO a
N1
B
N
= u
1
.
.
a
1n
B
1
O .......O a
Nn
B
N
= u
n
"ste sistema tiene rango N, entonces tiene soluci(n +nica. _a- N ecuaciones L?, con lo
que podemos eliminar n$N ecuaciones. "l n+mero de inc(gnitas es igual al rango del
sistema, la soluci(n es +nica.
Tema 1 Teoría de Códigos
59
Códigos y Criptografía
_a- un caso en el que esto es mu- sencillo. /i C es un c(digo sistem#tico!
u = u
1
....u
N

a
N

u

u] = u
1
....u
N
B
NO1
....B
n
& , ' A > 7
,
·
As0 las descodificaci(n es triial, basta con truncar las palabras tomando los N
primeros s0mbolos.
Definición: /ea C un Vn,NW. "l c(digo dual 'c(digo ortogonal& de C es el espacio
ectorial ortogonal de C con respecto al producto escalar ordinario de a
n
, es decir!
n n
. C y y ! . ! C ⊆ ∈ ∀ · ∈ ·

} , * S % { !
Proposición: /i C es un Vn,NW$c(digo entonces C

es un Vn,n$NW$codigo.
/ea u
1
...u
N
∈ a
n
una base de C, entonces
} .... 1 , * S % { , i " ! . ! C
i
n
· · ∈ ·

.
/i u
i
= 'u
i1
,....u
in
& ∀i = 1...N, entonces C

es la soluci(n del sistema 4omog@neo.
u
11
B
1
O ZZO u
1n
B
n
= *
.
.
u
N1
B
1
O .......O u
Nn
B
n
= *
Jengo n inc(gnitas - el sistema tiene rango N. La soluci(n es un eM de rango n$N.
Propiedades:
i& /i C - 6 son c(digos lineales tales que C

6, entonces 6


C

.
ii& /i ] es una matri< generatri< de C entonces C

= {B ∈ a
n
% B]
t
= *}.
iii& C
⊥ ⊥
= C.
6emostraci(n!
i& dim C

= n U dim C7 dim C
⊥ ⊥
= n U dim C

= n U 'n U dim C& = dim C
C

C
⊥ ⊥
, pero dim C
⊥ ⊥
= dim C ⇒C
⊥ ⊥
= C
"jemplo!
C = Y*11*, 12*1X
2
5
Z ⊂

,
_

¸
¸
·
1 * 2 1
* 1 1 *
7
B
2
O B
5
= *
B
1
O 2B
2
OB
2
= *
Tema 1 Teoría de Códigos
5R
Códigos y Criptografía
dim C

= 2 U2 = 2
B
5
= α
B
2
= β
B
2
= $ α
B
1
= 2α $ β
α · * β · 1  '$1,*,*,1&
α · 1 β · *  '2,$1,1,*&

,
_

¸
¸


·
* 1 1 2
1 * * 1
C 7
es una matri< generatri< del c(digo C

Definición: /e llama matri< de control 'parit-$c4ecN matriB& de C a cualquier matri<
generatri< de C

. /i _ es una matri< de control de C entonces!
} * % { · ∈ ·
t n
!/ . ! C
/i C es un Vn,NW$c(digo - _ es una matri< de control de C, _ ∈ ;
'n$N&Bn
'a&
C∩ C

= * cuando trabajamos con el cuerpo de los n+meros reales, pero para otros
cuerpos esto no tiene por qu@ ser cierto 'cuerpos finitos, cuerpo de los n+meros
complejos&.
Definición: Un c(digo lineal C se dice autodual cuando coincide con su dual.
"jemplo!
C = Y11**,**11X
Comprobar que C = C

.
B
1
O B
2
= *
B
5
O B
2
= *
B
2
= α
B
5
= β
B
1
= $α
B
5
= $β
α · 1 β · *  '11**&
α · * β · 1  '**11&
Tema 1 Teoría de Códigos
2*
Códigos y Criptografía
C = C

Algunos libros dan esta definici(n de matri< de control!
8 es una matri< de control de C cuando u ∈ C ⇔ u8
t
= *
Aqu0 no se eBige que la matri< genere C

.
"l c#lculo de la matri< de control en la pr#ctica se 4ace de forma diferente a la que
4emos 4ec4o.
Proposición: /ea C un c(digo lineal sistem#tico que tiene una matri< generatri<
est#ndar ] = '?
N
, A&. "ntonces 8 = 'A
t
, $?
n$N
& es una matri< de control de C.
6emostraci(n!
/i demostramos que las filas de 8 son ectores de C

- adem#s que son L?, entonces
tendremos n$N ectores L? de C

que tiene dimensi(n n$N, as0 forman una
base de C

Las filas generan un subespacio de dimensi(n n$N de C

-
como dim C

= n$N se tiene que las filas son una base de C

, es decir, 8 es
una matri< de control de C.
/e tiene que ]8
t
= * - por tanto las filas de 8 pertenecen a C

. "l rango de 8 es n$N,
luego sus n$N filas son L?.
Definición: /e dice que la matri< de control 8 del c(digo C es una matri< de control
est#ndar cuando es de la forma 8 = 'K , ?
n$N
&
/i C es un c(digo binario sistem#tico con matri< generatri< ] = '?
N
, A& entonces la
matri< 8 = 'A
t
, ?
n$N
& es una matri< de control est#ndar de C '$1 = 1&.
] = '?
N
, A&
"l sistema que 4abr0a que resoler para obtener C

ser0a!
B
1
O a
1NO1
B
NO1
O .....O a
1n
B
n
= *
B
2
O a
2NO1
B
NO1
O Z..O a
2n
B
n
= *
.
.
B
N
O a
NNO1
B
NO1
O Z..O a
Nn
B
n
= *
Jomamos n$N par#metros 'B
NO1
...B
n
&. Hbtenemos una base.
/ea C el c(digo binario de matri< generatri<!

,
_

¸
¸
·
1 1 1 1 * * *
* 1 1 * 1 * *
1 * 1 * * 1 *
1 1 * * * * 1
7
C = _
2
'5& 'C(digo de _amming&
Tema 1 Teoría de Códigos
21
Códigos y Criptografía
_allar una matri< de control de C.
8 = 'A
t
, $?
n$N
&
]= '?
2
, A&

,
_

¸
¸
·
1 1 1
* 1 1
1 * 1
1 1 *
A

,
_

¸
¸
·
1 * * 1 * 1 1
* 1 * 1 1 * 1
* * 1 1 1 1 *
P
Caracter0sticas de las matrices generatrices - las matrices de control!
La entaja de la matri< generatri< es que a partir de ella es m#s f#cil obtener las
palabras del c(digo 'CL de sus filas&.
8ara el c#lculo de la distancia m0nima es mejor tener la matri< de control. A partir de
la matri< generatri< no se conoce ning+n m@todo directo para obtener ^'C&, en cambio
a partir de la matri< de control s0.
Proposición: /ea 8 una matri< de control de un Vn,N,dW$c(digo lineal. "ntonces la
distancia m0nima d es el menor entero positio r para el cual eBisten r columnas
linealmente dependientes en la matri< 8.
6emostraci(n!
/ean p
1
....p
n
las columnas de 8. /ea B = B
1
....B
n
∈ a
n
. B ∈ C ⇔B8
t
= *
B8
t
= B
1
S'1E fila de 8
t
& O B
2
S'2E fila de 8
t
& O ..... B
n
S'nE fila de 8
t
& = B
1
p
1
O ... B
n
p
n
B ∈ C ⇔ B
1
p
1
O ... B
n
p
n
= *
/i B es una palabra de peso m0nimo el n+mero de coeficientes no nulos es el menor de
entre todas las palabras del c(digo. "l peso m0nimo es el n+mero m0nimo de columnas
L6 'cada palabra me da un CL de las columnas de la matri<&.
"jemplo!
_
2
'5&

,
_

¸
¸
·
1 * * 1 * 1 1
* 1 * 1 1 * 1
* * 1 1 1 1 *
P
PCu#l es el m0nimo n+mero de columnas linealmente dependientesQ
Tema 1 Teoría de Códigos
22
Códigos y Criptografía
rg 8 = 5

"l n+mero m#Bimo de columnas L? es 5, as0 2 columnas son L6, la
distancia m0nima es menor o igual que 2.
P8uede 4aber 5 columnas L6Q
La 5E columna es la suma de las dos primeras7 as0 d ≤ 5, 4e encontrado 5 columnas
L6.
d ≠ 1 -a que s(lo el ector * puede formar por s0 solo un conjunto L6.
3o 4a- 2 columnas L6 -a que una deber0a ser m+ltiplo de la otra, pero en este caso
esto implicar0a que fuesen iguales. Llegamos a que d = 5.
/ea C el V1*,9W$c(digo sobre 1
11
con matri< de control!

,
_

¸
¸
·
1* R 9 A > : 2 5 2 1
1 1 1 1 1 1 1 1 1 1
/
_allar la distancia m0nima de C.
Cualquier columna es L? -a que no 4a- ninguna columna que sea *. 3o 4a- 2
columnas que sean L6 -a que una deber0a ser m+ltiplo de la otra - como la 1E
componente es 1, la 2E componente deber0a ser igual7 as0 d'C& ≥ 5. 5 columnas
cualesquiera deben ser L6 -a que rg'_& = 27 as0 d'C& = 5.
Los c(digos lineales tienen un m@todo de descodificaci(n 'de canal& mu- bueno.
/ea C un Vn,NW$c(digo lineal - _ una matri< de control de C, _ ∈ ;
'n$N&Bn
'a&. La
matri< _ define una aplicaci(n lineal!
& & ' '
t t
t
, n ? n
/! !
!/ !
. .


÷→ ÷

La aplicaci(n se puede dar de cualquiera de estas dos formas.
_ = '4&
ee
 Las columnas de _ son las im#genes de los ectores de la base de a
n
mediante 4.
Definición: /upongamos que se transmite la palabra B ∈ C

a
n
- que la palabra
recibida es - ∈ a
n
. "ntonces a la diferencia ε = - U B ∈ a
n
se le llama palabra de
error.
PC(mo se puede determinar ε a partir de 4Q
B ∈ a
n
7 B ∈ C ⇔ B_
t
= *
"sto es lo mismo que decir que!
C = Ner 4 = {B ∈ a
n
% 4'B& = *}
Tema 1 Teoría de Códigos
25
Códigos y Criptografía
"ntonces se erifica que 4'-& = 4'B O ε& = 4'B& O 4'ε& = 4'ε&
t
, n ? n
!/ !
. .

÷→ ÷

Ner 4 = C
a
n
%C = {B O C % B ∈ a
n
}  "M de a
n
m(dulo subespacio C
B O C = {B O u % u ∈ C}

a
n
4 define una relaci(n de equialencia en a
n
!
B, - ∈ a
n
7 B d
4
- ⇔ 4'B& = 4'-& ⇔ 4'B U -& = * ⇔ B U C ∈ aer 4 = C
La clase de equialencia de B ∈ a
n
es BOC. "l conjunto cociente asociado a la
relaci(n de equialencia es!
a
n
%C = {B O C % B ∈ a
n
}
Las clases {B O C % B ∈ a
n
} 'el conjunto cociente& constitu-en una partici(n de a
n
.
a
n
es la uni(n disjunta de las clases de BOC con B ∈ a
n
.
a
n
%C es un a$espacio ectorial con operaciones!
1& 'BOC& O '-OC& != BO-OC
n
. y ! ∈ ∀,
2& a'BOC& != aBOC
n n
. ! . a ∈ ∀ ∈ ∀ ,
/i BOC ∈ a
n
%C entonces
" ! "
C ! C
+ →
+ →
es una bi-ecci(n entre C - BOC, luego ,BOC, = ,C, ∀B∈ a
n
.
"l c(digo es la clase del *.
,a, = q, ,a
n
, = q
n
, ,BOC, = ,C, = q
N
"l n+mero de clases es!
q
n
%q
N
= q
n$N
, ,a
n
%C, = q
n$N
8 0
f
÷→ ÷
M%aer f ≅ ?m f
a
n
%C ≅ a
n$N
4'-& = 4'ε&
Tema 1 Teoría de Códigos
22
Códigos y Criptografía
Definición: /ea C un Vn,NW$c(digo con matri< de control _. 6ado B ∈ a
n
se llama
s0ndrome de B a la palabra 4'B& = B_
t
∈ a
n$N
. B ∈ C si - s(lo si el s0ndrome de B es *.
Proposición: /ea C un Vn,NW$c(digo lineal con matri< de control _. "ntonces si
B,- ∈ a
n
, B e - tienen el mismo s0ndrome si - s(lo si pertenecen a la misma clase del
espacio cociente a
n
%C.
La descodificaci(n por distancia m0nima consiste en buscar ela palabra ε de peso
m0nimo entre todas las que tienen el mismo s0ndrome que la palabra recibida -f - a
continuaci(n calcular B = - $ ε.
-s#"ema:
$ /e calcula el s0ndrome de la palabra recibida -, 4'-& = -_
t
.
$ /e determina la clase lateral asociada a este s0ndrome, -OC.
$ /e busca en esta clase la palabra de peso m0nimo ε.
$ /e calcula B = -$ε.
/i C es un c(digo t$corrector - en la transmisi(n se 4an cometido t o menos errores
entonces en la clase -OC 4a- una +nica palabra de peso menor o igual que - que es la
palabra de error ε.
6escodificaci(n por s0ndrome!
Construimos la tabla est#ndar!
/ea C un Vn,NW$c(digo de tama.o m'=q
N
&, C

a
n
& ' . .
. . . . .
. . . . .
& '
& '
* & * ' * . . *
2
1 5 5 1 5 5
2 2 2 1 2 2
1
, n , n , n , n , n
# #
m
# # #
m
m
, n
m
" ? C " c " c " "
" ? C " c " c " "
" ? C " c " c " "
. ? C c c
− − − − −
+ + +
+ + +
+ + +
∈ · +

/ea u
2
una palabra de a
n
$C de peso minimal. La 2E fila est# formada por las palabras
de u
2
OC. /ea u
5
una palabra de a
n
$C que no pertenece a u
2
OC de peso minimal.
,a
n
%C, = q
n$N
Iepetimos esto q
n$N
eces. a
n
es la uni(n disjunta de las clase uOC.
Las palabras de la 1E columna de la tabla est#ndar se llaman l0deres de clase - tienen
peso minimal dentro de la clase.
/i C es t$corrector, cualquier palabra de a
n
de peso menor o igual que t es l0der de
clase.
Tema 1 Teoría de Códigos
2:
Códigos y Criptografía
"n el caso binario el c#lculo del s0ndrome se reali<a tomando la matri< de control7 nos
fijamos en las componentes no nulas de la palabra recibida - sumamos las columnas
de la matri< de control que ocupan las posiciones no nulas de la palabra recibida.
"jemplo!
/ea C el c(digo con matri< de control!

,
_

¸
¸
·
1 * * 1 1
* 1 * * 1
* * 1 1 *
/
Construir la tabla est#ndar - descodificar las palabras recibidas! 111*1, **11* -
*11*1.
"n primer lugar amos a determinar una matri< generatri< para 4allar las palabras del
c(digo. C es un V:,2W$c(digo. /i calculo la matri< de control del c(digo dual obtengo
una matri< generatri< del dual del dual, que es el c(digo C. _ es una matri< de control
est#ndar as0 el c(digo es sistem#tico.
_ = 'K,?
5
&  ] = '?
2
,K
t
&

,
_

¸
¸
·
1 * 1 1 *
1 1 * * 1
7
La distancia m0nima es el n+mero m0nimo de columnas L6 de la matri< de control.
rg'_& = 5  2 columnas ser#n L6
3o 4a- ninguna columna que sea *, as0 d X 1. 2 columnas L6, en el caso binario,
ser0an iguales, como no 4a- 2 columnas iguales d X 2. _a- 5 columnas L6 '1E = 2E O
:E&, as0 d = 5.
"l c(digo es 1$corrector.
Mamos a construir la tabla est#ndar.
111 *1*1* 11**1 **111 1*1**
11* **11* 1*1*1 *1*11 11***
**1 11111 *11** 1**1* ****1
*1* 111** *1111 1***1 ***1*
1** 11*1* *1**1 1*111 **1**
1*1 1*11* **1*1 11*11 *1***
*11 *111* 111*1 ***11 1****
*** 1111* *11*1 1**11 *****
$indromes (íderes
"n un c(digo t$corrector todas las palabras de peso menor o igual que t an a ser
l0deres de clase.
Tema 1 Teoría de Códigos
2>
Códigos y Criptografía
A4ora debo tomar la palabra de peso 2 que no 4a-amos puesto '4asta la >E fila&.
8onemos una palabra de peso 2 - obtenemos su s0ndrome, si @ste -a 4a salido es que la
palabra -a 4a salido - debemos coger otra palabra.
- = *11*1
4'-& = *11*1 _
t
= ***
*11*1 ∈ C 'aer 4 = C&
3o puede 4aber ocurrido un error -a que se 4a recibido una palabra del c(digo7
tampoco se pueden 4aber cometido 2 errores, pero si se pudieron cometer 5 errores.
- = *11*1  B = *11*1
- = 111*1
4'-& = **1 '- ∉ C&
Kuscamos el l0der de clase de este s0ndrome.
B = - O 1**** = *11*1
"sta es la +nica palabra que podemos obtener si se 4a producido un +nico error. /i
4ubiesen ocurrido 2 errores la palabra real podr0a ser otra pero este c(digo s(lo corrige
un error. "sta palabra es la palabra de c(digo que aparece en la columna de la palabra
en la tabla.
- = **11*  4'-& =11*
"l l0der de clase es 11***, que tiene peso 2, as0 se 4an cometido al menos 2 errores,
como el c(digo es 1$corrector no amos a tener la seguridad de 4acer la
descodificaci(n correcta.
6escodificar0amos como!
B = - $ ε = 1111*
/e 4an cometido 2 errores - la palabra recibida podr0a 4aber sido *****. /i se 4an
cometido 2 errores cualquiera de estas dos palabras podr0a 4aber sido transmitida.
"ste m@todo tiene un inconeniente -a que la tabla est#ndar puede ser grande, por
ejemplo, en un c(digo binario de longitud 1** en la tabla 4abr0a que poner 21**
palabras 'sin contar s0ndromes&. "sto 4ace que para c(digos de estos tama.os la tabla
sea inabordable7 por eso en estos casos se utili<ar0a una tabla reducida con 2 columnas,
la columna de los l0deres de clase - la de los s0ndromes. Jendr0amos esto!
. .
. .
. 1
**** *
peso
$índrome (íderes
Tema 1 Teoría de Códigos
2A
Códigos y Criptografía
"n primer lugar amos poniendo las palabras de peso uno - su s0ndrome. Al acabar
con las palabras de peso uno pasamos a las de peso 2. "sta tabla es muc4o m#s
reducida. "jemplo!
V1**,>*W$c(digo, n$N = 2*, tenemos 2
2*
l0deres de clase - sus correspondientes
s0ndromes. Contando las 2 columnas! 2S2
2*
= 2
21
. "ste m@todo de descodificaci(n ale
para cualquier c(digo. "Bisten c(digos que tienen m@todos de descodificaci(n
espec0ficos.
"l problema principal en el caso de los c(digos lineales es dada la longitud n - la
distancia m0nima d encontrar la dimensi(n m#Bima N para la cual eBiste un
Vn,N,dW$c(digo lineal.
"ste problema es demasiado dif0cil, entonces se plantea otro m#s f#cil7 fijadas la
longitud - la dimensi(n cu#l es la m#Bima distancia d posible. La cota de /ingleton
nos da esto.
Proposición: /i C es un Vn,N,dW$c(digo lineal entonces d ≤ n$NO1
6emostraci(n!
Jodo c(digo lineal sabemos que es equialente a un c(digo lineal sistem#tico - la
equialencia de c(digos consera los par#metros de los c(digos. Hbtenemos un c(digo
sistem#tico equialente a C, con lo que tendr# sus mismos par#metros. 8odemos
suponer que C es sistem#tico!
] = '?
N
,A& A ∈ ;
NB'n$N&
'a&
d ≤ peso m#Bimo de cualquier fila de la matri< generatri< '= peso m#Bimo de las filas
de ]&
A lo sumo en cada fila de ] tenemos n$NO1 d0gitos distintos de cero. "ntonces a lo
sumo el peso de las filas de ] es n$NO1. "ntonces d ≤ n$NO1. "sta cota se puede
alcan<ar.
Definición: Un Vn,N,dW$c(digo lineal C se dice que es un c(digo ;6/ 'maBimun
distance separable code& cuando d = n$NO1.
6emostrar que eBisten c(digos q$arios ;6/ de tipo Vn,n,1W, Vn,1,nW - Vn,n$1,2W. "stos
c(digos se llaman c(digos ;6/ triiales.
q = 2, C =
n
Z
2

Vn,n,1W$c(digo
C
1
= Y11...1X
C
1
= {**....*,11....1}

Vn,1,nW$c(digo


1
C Vn,n$1,2W$c(digo
Tema 1 Teoría de Códigos
29
Códigos y Criptografía
'11....1& es una matri< generatri< de C
1
,

1
C tiene como matri< de control

,
_

¸
¸

    
1
1 . . . 1 , 1
n
.
] = '?
N
,A&

_ = 'A
t
,?
n$N
&

1
C tiene como matri< generatri< 'matri< de control de C
1
de 1B'n$1&& a!

,
_

¸
¸
1 * . . * 1
* . . .
. . . .
. 1 * 1
* . . * 1 1
_a- que er que la distancia m0nima es 2!

1
C

_ = '1,11....1&
2 columnas son L6

d = 2

"s un c(digo ;6/
Códigos Eseci#!es: Códigos de $#mming* de Go!#% % de Reed+Mu!!er
Códigos de $#mming:
"stos fueron los primeros c(digos interesantes que aparecieron. \ueron descubiertos
independientemente por I. _amming '1R:*& - ;. ]ola- '1R2R&. "stos c(digos tienen
un procedimiento de descodificaci(n especial.
Tema 1 Teoría de Códigos
2R
Códigos y Criptografía
Jenemos un Vn,NW$c(digo lineal7 su distancia m0nima es el m0nimo n+mero de
columnas L6 de una matri< de control. /ea d la distancia m0nima entonces si tomamos
d$1 columnas cualesquiera de cualquier matri< de control a a ser L?, pero 4a- un
grupo de d columnas L6.
Mamos a construir un Vn,N,5W$c(digo lineal. Construimos este c(digo de tal forma que
su matri< de control tenga 2 columnas cualesquiera L? - con 5 columnas L6, -
cogiendo el m#Bimo n+mero de columnas posible.
"l c(digo de _amming q$ario de orden r 'r ∈ 1, r ≥ 2& a a ser un c(digo q$ario
H
q
'r& que tiene una matri< de control _
q
'r& con r = n U N filas - con el m#Bimo
n+mero posible de columnas 'siendo d = 5&. Las columnas de _
q
'r& son ectores de
r
#
5
.
2 ectores deber se L? ⇒Los subespacios que generan son distintos'las 2 rectas que
generan deben ser diferentes&.
Considero todas las rectas de
r
#
5
que son de la forma YX,
r
#
5 ∈
.
Jomemos un ector no nulo en cada recta YX
r
#
5 ⊆
7 2 de estos ectores son L? -
siempre puedo coger 5 que son L6.

r
#
5 )
r
#
) 5

− > < · − }& * { ' } * {
"sta uni(n es disjunta.
} % {
1 , } * { ,
1 , } * { ,
#
r r
#
5 ) )
# )
# 5
∈ >· <
− − > <
− · −
α α
"l n+mero de rectas es
1
1


#
#
r
.
La matri< de control de H
q
'r& es una matri< que tiene r filas - n =
1
1


#
#
r
columnas, -
el c(digo H
q
'r& es un Vn,N,5W$c(digo donde N = n U r. "sta matri< se llama matri< de
_amming - no es +nica.
Consideremos los elementos de _
q
'r& como n+meros en el sistema de numeraci(n de
base q. "legimos los que son distintos de cero - que tienen d0gitos m#s significatio
igual a 1. "ntonces las columnas de _
q
'r& son estos n+meros escritos en orden
creciente.
H
2
'5&

,
_

¸
¸
·
1 * 1 * 1 * 1
1 1 * * 1 1 *
1 1 1 1 * * *
& 5 '
2
/
r = 5. Las columnas son n+meros de 5 d0gitos binarios.
Tema 1 Teoría de Códigos
:*
Códigos y Criptografía
n =
A
1 2
1 2
1
1
5
·


·


#
#
r
d = 5
"l tomar el d0gito m#s significatio igual a 1 implica que cogemos un +nico punto en
cada recta.

,
_

¸
¸
·
2 1 * 2 1 * 2 1 * 2 1 * 1
2 2 2 1 1 1 * * * 1 1 1 *
1 1 1 1 1 1 1 1 1 * * * *
& 5 '
5
/
Las columnas est#n ordenadas en orden creciente.
n = 15
1 5
1 5
5
·


/i pusi@semos la columna
2
*
*
ser0a m+ltiplo de
1
*
*
- as0 d = 2 'coger0amos 2 ectores
en la misma recta&.

,
_

¸
¸
·
2 5 2 1 * 2 5 2 1 * 2 5 2 1 * 2 5 2 1 * 2 5 2 1 * 2 5 2 1 * 1
2 2 2 2 2 5 5 5 5 5 2 2 2 2 2 1 1 1 1 1 * * * * * 1 1 1 1 1 *
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 * * * * * *
& 5 '
:
/

51
2
122
1 :
1 :
5
· ·


· n
r = 5 = n U N

N = 29
m = q
N
= q
n$r
"stos fueron los primeros c(digos correctores de errores. "n el caso binario la matri<
de control est# formada por todos los n+meros binarios menos el cero.
Proposición: Los c(digos de _amming son c(digos perfectos.

1
]
1

¸

·
· −

,
_

¸
¸
2
1
*
& 1 ' S
d
i
n i
# #
i
n
m
6emostraci(n!
1
2
5
2
1
·
1
]
1

¸

·
1
]
1

¸

·
d
t
m = q
n$r
Tema 1 Teoría de Códigos
:1
Códigos y Criptografía
q
n$r
S '1 O n S 'q U 1&& = q
n
Mamos a er la descodificaci(n de los c(digos de _amming.
Proposición: /i una palabra B ∈ H
2
'r& sufre un +nico error resultando la palabra -
entonces el s0ndrome de -,
r t
r
Z r y/ y ?
2
& ' & ' ∈ · , es la representaci(n binaria de la
posici(n del error de la palabra recibida.
6emostraci(n!
/upongamos que el error se 4a cometido en la posici(n i, es decir, - = B O e
i
, con

* ... * 1 * ... **
i
i
e ·
la palabra de error. "ntonces!
4'-& = 4'BOe
i
& = 4'B& O 4'e
i
& = 4'e
i
& = e
i
& '
2
r /
t
= columna i$@sima de _
2
'r&
La columna i$@sima es la representaci(n binaria del n+mero i, i es la posici(n del error.
Conocido u se corrige el error calculando B = - $ e
i
, cambiando el i$@simo bit de -.
VA,2,5W$c(digo
/upongamos que se recibe la palabra - = 11*111*
( ) ( ) * * 1
1 1 1
* 1 1
1 * 1
* * 1
1 1 *
* 1 *
1 * *
* 1 1 1 * 1 1 & 11*111* ' ·

,
_

¸
¸
· ?

1** = 2

"l error se 4a cometido en la posici(n 2.
La palabra de error es e
2
= ' ***1***&. La palabra emitida es B = - U e
2
= 11**11*

A este m@todo de descodificaci(n se le llama descodificaci(n de _amming.
Proposición: /upongamos que una palabra B ∈ H
q
'r& sufre un +nico error, resultando
la palabra recibida -. /ea 4'-& ∈ a
r
el s0ndrome de la palabra recibida - α ∈ a el
s0mbolo m#s significatio de 4'-&. /i la columna de _
q
'r& que contiene a α
$1
4'-& es la
columna i$@sima entonces la palabra de error es

& * .... * * .... ** '
i
i
e α α ·
- se erifica
que B = - $ αe
i
.
6emostraci(n!
/upongamos que el error se 4a cometido en la posici(n i$@sima de modo que
- = B O αe
i
, con
* , ≠ ∈ α α .
. "ntonces!
Tema 1 Teoría de Códigos
:2
Códigos y Criptografía
4'-& = 4'αe
i
& =
& 'r / e
t
# i
α
= αSi$@sima columna de _
q
'r&.
"jemplo!
H
5
'5& - supongamos que se recibe la palabra - = 11*11122112*1. 6escodificar esta
palabra.
( ) ( )
5
5
1 * 2
2 2 1
1 2 1
* 2 1
2 1 1
1 1 1
* 1 1
2 * 1
1 * 1
* * 1
2 1 *
1 1 *
* 1 *
1 * *
1 * 2 1 1 2 2 1 1 1 * 1 1 & ' Z y ? ∈ ·

,
_

¸
¸
·
4'-& no es una columna de _
5
'5&.
'2*1& = 2 S '1*2&
'1*2& es la AE columna de _
5
'5&, luego la palabra de error es
αSe
A
= 2S'******1******&. La palabra emitida es B = - U 2e
A
= 11*111*2112*1

Códigos de Go!#%:
"l c(digo de ]ola- binario g
22
!
"l c(digo g
22
es el c(digo lineal binario de matri< generatri< ] = '?
12
,A& ∈ ;
12B22
'1
2
&,
donde!
Tema 1 Teoría de Códigos
:5
Códigos y Criptografía

,
_

¸
¸
·
1 * * * 1 1 1 * 1 1 * 1
* * * 1 1 1 * 1 1 * 1 1
* * 1 1 1 * 1 1 * 1 * 1
* 1 1 1 * 1 1 * 1 * * 1
1 1 1 * 1 1 * 1 * * * 1
1 1 * 1 1 * 1 * * * 1 1
1 * 1 1 * 1 * * * 1 1 1
* 1 1 * 1 * * * 1 1 1 1
1 1 * 1 * * * 1 1 1 * 1
1 * 1 * * * 1 1 1 * 1 1
* 1 * * * 1 1 1 * 1 1 1
1 1 1 1 1 1 1 1 1 1 1 *
A
A partir de la 5E fila las filas se obtienen despla<ando la fila anterior una posici(n a la
i<quierda.
Mamos a calcular la distancia m0nima de este c(digo.
Proposición: g
22
es un c(digo autodual!

·
22 22
g g
6emostraci(n!
"s f#cil er que las filas de ] son ortogonales entre s0 'inclu-endo una fila consigo
misma&. La 1E fila de ] tiene peso 12 - las restantes tienen peso 9. Jodas las filas
tienen peso par, as0 todas las filas son autoortogonales. /e tiene que si r - s son filas de
] entonces r S s = *. "sto quiere decir que todas las filas de ] pertenecen tambi@n al
c(digo dual

22
g . /i todas las filas de ] pertenecen a

22
g entonces el propio
22
g

est# contenido en

22
g '


22 22
g g &. 8ara er que son iguales 4a- que calcular sus
dimensiones.
dim
22
g = 12
dim

22
g = n U N = 22 U 12 = 12
As0

·
22 22
g g
Proposición: La matri< 'A,?
12
& es una matri< generatri< de g
22.
6emostraci(n!
La matri< 'A,?
12
& es una matri< de control de g
22
, es decir una matri< generatri< de
22 22
g g ·

Cuando un c(digo es autodual la matri< generatri< - la matri< de control son la misma
cosa.
Proposición: /i C es un c(digo binario - u, ∈C, entonces!
Tema 1 Teoría de Códigos
:2
Códigos y Criptografía
& ' 2 & ' & ' & ' ) " : ) : " : ) " : ∩ − + · +
donde
& ,..... , ' !
2 2 1 1 n n
) " ) " ) " ) " · ∩
siendo u = 'u
1
,...u
n
& - = '
1
,...
n
&
6emostraci(n!
= 1*111**1*1*11
u = 11*1*1111***1
O u = *11*111*11*1*
^'u∩ & = n+mero de posiciones en las que ambas palabras tienen un 1
Proposición: "l peso de cada palabra de g
22
es diisible por 2.
6emostraci(n!
Kasta demostrar que la suma de dos filas cualesquiera de la matri< ] es diisible por 2.
/ean u - dos filas de ]. "ntonces por la f(rmula anterior!
& ' 2 & ' & ' & ' ) " : ) : " : ) " : ∩ − + · +
^'u& - ^'& son m+ltiplos de 2 -a que alen 9 o 12. _a- que er que el peso de la
intersecci(n es m+ltiplo de 2.
& ' S 2 & 2 'mod * & '
& 2 'mod * S
& 2 'mod S & '
) " : ) " :
) "
) " ) " :
∩ ⇒ ≡ ∩ ⇒
¹
)
¹

≡ ∩
es m+ltiplo de 2
"l peso m0nimo de g
22
es m+ltiplo de 2 - como ] tiene filas de peso 9 el peso m0nimo
ser# 2 u 9.
Proposición: g
22
no tiene palabras de peso 2.
6emostraci(n!
/ea u ∈ g
22
una palabra de peso 2. Consideremos u como la -uBtaposici(n de sus
mitades i<quierda - derec4a, ambas de longitud 12.
& , ' d i " ·
/ean ]
1
= '?
12
,A& - ]
2
'A,?
12
&, ambas son matrices generatrices de g
22
. la palabra i es una
CL de las filas de ?
12
- como u ≠ * se tiene que ^'i& ≥ 1.
Usando el mismo ra<onamiento para d con la matri< ]
2
emos que ^'d& ≥ 1.
/i ^'i& = 1 entonces u es una fila de ]
1
- ninguna de ellas tiene peso 2, luego ^'i& ≥
2
Tema 1 Teoría de Códigos
::
Códigos y Criptografía
"l mismo ra<onamiento muestra que ^'d& ≥ 2.
"ntonces tiene que ser ^'i& = ^'d& = 2.
^'i& = 2

u es la suma de 2 filas de ]
1
pero ninguna de estas sumas puede tener
peso 2.
g
22
es un V22,12,9W$c(digo. "ste c(digo se us( para transmitir im#genes de `+piter -
/aturno 'Mo-ager 1RAR$1R91&.
m = 2
12
= 2*R>
'1R>9 Mera 8ress& Cualquier V22,12,9W$c(digo lineal binario es equialente por
m+ltiplos escalares 'en la matri< generatri< se pueden multiplicar las columnas por un
escalar& al c(digo g
22
.
'1RA: 6elsorte$]oet4ols& Los c(digos de ]ola- son los +nicos c(digos lineales con
estos par#metros. Cualquier '22,2
12
,9&$c(digo binario es equialente por m+ltiplos
escalares a g
22
.
"l C(digo de ]ola- binario g
25
!
/e obtiene a partir de g
22
pinc4ando una componente a g
22
'usualmente se elimina el
+ltimo s0mbolo de todas las palabras&.
n = 25, m = 2
12
La distancia m0nima o es la misma o disminu-e una unidad. "n este caso al pinc4ar la
+ltima columna de la matri< de control de g
22
la +ltima fila tienen peso A, as0 d = A. g
25
es un V25,12,AW$c(digo. g
25
es perfecto. g
22
se obtiene a partir de g
25
a.adi@ndole un bit
de paridad.
Los C(digos de ]ola- Jernarios!
g
12
tiene por matri< generatri< ] = '?
>
,K& donde

,
_

¸
¸
·
* 1 2 2 1 1
1 * 1 2 2 1
2 1 * 1 2 1
2 2 1 * 1 1
1 2 2 1 * 1
1 1 1 1 1 *
3
Tema 1 Teoría de Códigos
:>
Códigos y Criptografía
A partir de la 5E fila una fila se obtiene a partir de la anterior despla<#ndola una
posici(n 4acia la derec4a.
Propiedades:
i& g
12
es autodual.
ii& K es sim@trica.
iii& ]
12
es un V12,>,>W$c(digo.
i& "l c(digo ternario g
11
obtenido pinc4ando g
12
es un V11,>,:W$c(digo
perfecto.
Códigos de ,ordstrom+Ro-inson:
/on c(digos no lineales - tienen la propiedad de que tienen una distancia m0nima
ma-or que cualquier c(digo lineal que tenga el mismo tama.o - la misma longitud.
Códigos de Reed+Mu!!er:
"stos c(digos son f#ciles de descodificar.
Definición: Una funci(n de Koole de m ariables es una aplicaci(n
2 2
! Z Z f
m
→ .
Las funciones de boole se suelen representar dando su tabla de erdad.
m = 5
"ntero
Kinario
* 1 2 5 2 : > A
B
1
* * * * 1 1 1 1
B
2
* * 1 1 * * 1 1
B
5
* 1 * 1 * 1 * 1
\'B
1
,B
2
,B
5
& * 1 1 1 * 1 1 *
8ara dar la funci(n booleana me basta quedarme con la +ltima fila -a que me describe
completamente la funci(n 'si asumo que siempre tengo el mismo orden&.
"Biste una correspondencia biun0oca entre funciones de boole de m ariables -
palabras binarias de longitud 2
m
.
2
2
2
! Z Z f →
1*111*1**1***11*
f'111*& = 1
f'*1*1& = *
Tema 1 Teoría de Códigos
:A
Códigos y Criptografía
B
m
= {funciones de Koole de m ariables}
,B
m
, =
m
2
2
→ n+mero de palabras binarias de longitud m
"n B
m
se define una suma!
f, g ∈ B
m
, 'f O g&'B
1
,Z.B
m
& ! = f'B
1
,Z.B
m
& O g'B
1
,Z.B
m
&
'B
m
,O& es un grupo abeliano.
eo eBclusiof 'Bor&
'f O g&'B
1
,Z.B
m
& = 1

f'B
1
,Z.B
m
& = 1 o g'B
1
,Z.B
m
& = 1 pero no ambos son 1.
6efinimos una multiplicaci(n escalar!
α ∈ 1
2
, f ∈ B
m
, 'αf& 'B
1
,Z.B
m
& ! = α'f'B
1
,Z.B
m
&&
B
m
es un 1
2
$espacio ectorial.
6ados f, g ∈ B
m
, 'f S g&'B
1
,Z.B
m
& ! = f'B
1
,Z.B
m
& S g'B
1
,Z.B
m
&
/ea K
m
! = {\'B
1
,....B
m
& =
} ..... & '
2 1
1
& ... '
1 ∑
∈ ·
m
m
m
Z " " "
"
m
"
! ! " a
, con a'u& ∈ 1
2
.
A los elementos de este conjunto se les llaman polinomios de Koole.
,K
m
, =
m
2
2
PCu#ntos monomios 4a- de grado N! , " " ! !
m
"
m
"
m
· + +.... % ...
1 1
1
Q
_a-

,
_

¸
¸
,
m
monomios de grado N en m ariables.
m m
m
m m m m
2 & 1 1 ' .....
2 1 *
· + ·

,
_

¸
¸
+

,
_

¸
¸
+

,
_

¸
¸
+

,
_

¸
¸
, estos son todos los posibles monomio de m
ariables.
Proposición: La aplicaci(n!
K
m
→ B
m
\

f
Tema 1 Teoría de Códigos
:9
Códigos y Criptografía
que a cada polinomio de Koole \'B
1
,....B
m
& le 4ace corresponder la funci(n de Koole
f'B
1
,...B
m
& dada por f'B
1
,...B
m
& = \'B
1
,....B
m
& es un isomorfismo de 1
2
$espacios
ectoriales.
6emostraci(n!
Kasta demostrar que toda funci(n de Koole de m ariables est# inducida por un
polinomio de Koole de m ariables -a que los 2 conjuntos tienen el mismo n+mero de
elementos, as0 si la aplicaci(n es sobre-ectia es bi-ectia.
_a- que demostrar que toda funci(n de Koole f'B
1
,....B
m
& ∈ B
m
est# inducida por un
polinomio de Koole. Usamos inducci(n en m.
m = 1
Las funciones de Koole de 1 ariable son **, 11, *1, 1*.
**

*
11

1
*1

B
1
1*

1 O B
1
Jodas las funciones de 1 ariable est#n inducidas por polinomios.
/upongamos que se erifica para m$1 ariables - sea f'B
1
,....B
m
& ∈ B
m
f'B
1
,....B
m
& = f'*,B
2
,ZB
m
& O Π
1
'B
1
,ZB
m
&Vf'1,B
2
,...B
m
& U f'*,B
2
,...B
m
&W
donde Π
1
'B
1
,ZB
m
& = B
1
, es decir
f'B
1
,....B
m
& = f'*,B
2
,ZB
m
& O B
1
'B
1
,ZB
m
&Vf'1,B
2
,...B
m
& U f'*,B
2
,...B
m
&W
6efinimos funciones de Koole de m$1 ariables!
f
*
'B
2
,...B
m
& ! = f'*,B
2
,ZB
m
&
f
1
'B
2
,...B
m
& ! = f'1,B
2
,ZB
m
&
8or la 4ip(tesis de inducci(n eBisten polinomios de Koole \
*
'B
2
,...B
m
& - \
1
'B
2
,...B
m
&
tales que!
\
*
'B
2
,...B
m
& = f
*
'B
2
,...B
m
& = f'*,B
2
,ZB
m
&
\
1
'B
2
,...B
m
& = f
1
'B
2
,...B
m
& = f'1,B
2
,ZB
m
&
La funci(n Π
1
'B
1
,ZB
m
& est# inducida por el polinomio ]'B
1
,...B
m
& = B
1
. "ntonces el
polinomio
\'B
1
,...B
m
& = \
*
'B
2
,ZB
m
& O B
1
V\
1
'B
2
,...B
m
& U \
*
'B
2
,...B
m
&W
induce la funci(n f'B
1
,...B
m
&.
Tema 1 Teoría de Códigos
:R
Códigos y Criptografía
$/ea f la funci(n de Koole dada por!
*11***11
_allar el polinomio de Koole que la induce.
1 1 * * * 1 1 * & ' , , '
1 * 1 * 1 * 1 *
1 1 * * 1 1 * *
1 1 1 1 * * * *
5 2 1
5
2
1
! ! ! f
!
!
!
* 1 1 * & , , * '
1 * 1 *
1 1 * *
5 2
5
2
! ! f
!
!
1 1 * * & , , 1 '
1 * 1 *
1 1 * *
5 2
5
2
! ! f
!
!
f'B
1
,...B
m
& = f'*,B
2
,ZB
m
& O B
1
Vf'1,B
2
,ZB
m
& U f'*,B
2
,...B
m
&W
*11***11 = *11* O B
1
V**11 $ *11*W = *11* O B
1
'*1*1& = *1 O B
2
V1* $ *1W O B
1
V*1 O
B
2
V*1 $ *1WW = *1 O B
2
'11& O B
1
'*1& = V* O B
5
'1 U *&W O B
2
V1 O B
5
'1 U 1&W O B
1
V* O
B
5
'1 U *&W = B
5
O B
2
O B
1
B
5
$_allar los polinomios de Koole que inducen las funciones!
a& **1*1**1
b& *1**1*111*1***1*
a& **1*1**1 = **1* O B
1
'1*11& = B
2
'1*& O B
1
V1* O B
2
'*1&W = B
2
V1 O B
5
W O B
1
V1 O B
5
O B
2
B
5
W = B
2
O B
2
B
5
O B
1
O B
1
B
5
O B
1
B
2
B
5

b& *1**1*111*1***1* = *1**1*11 O B
1
'111*1*11& = *1** O B
2
'1111& O B
1
V111*
O B
2
'*1*1&W = *1 O B
5
'*1& O B
2
'11& O B
1
V11 O B
5
'*1& O B
2
V*1 OB
5
'*1&WW = B
2
O
B
5
B
2
O B
2
O B
1
V1 O B
2
B
5
O B
2
B
2
O B
2
B
5
B
2
W = B
2
O B
5
B
2
O B
2
O B
1
O B
1
B
2
B
5
O B
1
B
2
B
2
OB
1
B
2
B
5
B
2
÷ → ←
d 2
2
m
Z B
m

m
3 ÷ → ←
d
Definición: /ea m un entero positio m r ≤ ≤ * . /e define el c(digo de Ieed$;uller
I'r,m&, de longitud 2
m
- orden r como el conjunto de las palabras binarias de
m
Z
2
2
asociadas a polinomios de Koole de K
m
que tienen grado menor o igual que r.
Tema 1 Teoría de Códigos
>*
Códigos y Criptografía
I'r,m& es un c(digo lineal
K
m
'r&

I'r,m&
K
m
'r&  polinomios de Koole de m ariables de grado menor o igual que r
"jemplos!
I'*,m&
1 ...
* *
1
·
m
! !
* S
* ...
* *
1
·
m
! !
1 S
1 ...
* *
1
·
m
! !
I'*,m& = {

m
2
* ... *
,

m
2
1 ... 1
} = Iep'
m
2
&


m
Z
2
2
I'm,m& =
m
Z
2
2
I'1,5&
Los polinomios de Koole de 5 ariables - grado menor o igual que 1 son de la forma!
5 5 2 2 1 1 *
1 S ! ! ! α α α α + + +
con α
i
∈ 1
2
i = *...5
Los 2 monomios forman una base del espacio de los polinomios. La palabra de I'1,5&
correspondiente a este polinomio ser#!
& *1*1*1*1 ' & **11**11 ' & ****1111 ' & 11111111 '
5 2 1 *
α α α α + + +
Las palabras entre par@ntesis son los polinomios que corresponden a los polinomios de
Koole de 2 ariables.
1 1 1 1 * * * *
1 * 1 * 1 * 1 *
1 1 * * 1 1 * *
1 1 1 1 * * * *
1
5
2
1
!
!
!
!
8olinomios de 5 ariables de grado menor
o igual que 1
8olinomio
* ********
Tema 1 Teoría de Códigos
>1
Códigos y Criptografía
B
1
****1111
B
2
**11**11
B
5
*1*1*1*1
B
1
OB
2
**1111**
B
1
OB
5
*1*11*1*
B
2
OB
5
*11**11*
B
1
OB
2
OB
5
*11*1**1
1 11111111
1OB
1
1111****
1OB
2
11**11**
1OB
5
1*1*1*1*
1OB
1
OB
2
11****11
1OB
1
OB
5
1*1**1*1
1OB
2
OB
5
1**11**1
1OB
1
OB
2
OB
5
1**1*11*
"Bcepto la palabra 1 - la * todas las palabras tienen 2 unos - 2 ceros. "l peso m0nimo
es 2, as0 este c(digo tiene distancia m0nima 2.
Proposición: /ea \'B
1
...B
m
& = B
m
O p'B
1
...B
m$1
& donde p'B
1
...B
m$1
& es un polinomio de
Koole. "ntonces la funci(n de Koole inducida por \ toma los alores * - 1 el mismo
n+mero de eces, es decir, 2
m$1
eces.
2 2
! Z Z 5
m

6emostraci(n!
'B
1
,...B
m$1
,B
m
&
m
Z
2

'B
1
,...B
m$1
,*&
'B
1
,...B
m$1
,1&
Jodos los elementos de
m
Z
2
los puedo obtener a partir de los de
1
2
− m
Z a.adiendo al
final un 1 o un *.
/i p'B
1
...B
m$1
& = *!
\'B
1
...B
m$1
,1& = 1 O * = 1
\'B
1
...B
m$1
,*& = * O * = *

/i p'B
1
...B
m$1
& = 1!
\'B
1
...B
m$1
,1& = 1 O 1 = *
\'B
1
...B
m$1
,*& = 1 O * = 1
La mitad toma el alor 1 - la otra mitad el alor *.
Proposición: Jodas las palabras de I'1,m& tienen peso m0nimo 2
m$1
, eBcepto la palabra
**...* - la palabra 11...1. "n consecuencia la distancia m0nima de I'1,m& es 2
m$1
.
Tema 1 Teoría de Códigos
>2
Códigos y Criptografía
6emostraci(n!
I'1,m& est# formado por palabras que a eBcepci(n de *...* - 1...1 est#n inducidas por
polinomios de Koole de la forma B
t
O p'B
1
...B
t$1
B
tO1
...B
m
&. "stas palabras tienen 2
m$1
ceros - 2
m$1
unos.
"n los c(digos de Ieed$;uller m no es el tama.o del c(digo si no el n+mero de
ariables del polinomio de Koole que le corresponde.
Proposición: "l c(digo de Ieed$;uller I'r,m& tiene longitud 2
m
- dimensi(n!

,
_

¸
¸
+

,
_

¸
¸
+

,
_

¸
¸
+ ·
r
m m m
, ...
2 1
1
Ls tasa del c(digo es!
m
,
*
2
·
6emostraci(n!
"l c(digo es isomorfo a los polinomios de Koole de grado menor o igual que r, que
tiene como base los monomios de grado menor o igual que r. "l n+mero de polinomios
de grado menor o igual que r es!

,
_

¸
¸
+

,
_

¸
¸
+

,
_

¸
¸
+ ·
r
m m m
, ...
2 1
1
Jama.o = 2
N
n = longitud del c(digo
m
,
,
n
*
2
2 log
2
· ·
$6eterminar cu#les de las siguientes palabras pertenecen al c(digo I'2,2&
a& 11*1 111* ***1 1**1
b& **11 *1*1 **11 1*1*
"ste c(digo tiene longitud 1>.6ebemos er que los polinomios de Koole que inducen
estas palabras tienen grado menor o igual que 2.
Tema 1 Teoría de Códigos
>5
Códigos y Criptografía
a& 11*1111* O B
1
'11***111& = 11*1 O B
2
'**11& O B
1
'11** O B
2
'1*11&& = 11 O
B
5
'1*& O B
2
'B
5
'11&& O B
1
'11 O B
5
'11& O B
2
'1* O B
5
'*1&&& = 1 O B
5
'1 O B
2
& O B
2
B
5
O B
1
'1 O B
5
O B
2
'1 O B
2
O B
5
B
2
&& = 1 OB
5
O B
5
B
2
O B
2
B
5
O B
1
B
5
OB
1
B
2
O B
1
B
2
B
2
O B
1
B
2
O B
1
B
2
B
5
B
2
"ste polinomio de Koole tiene grado 2. La palabra no pertenece a I'2,2&
b& **11*1*1 O B
1
'**111*1*& = **11 O B
2
'*11*& O B
1
'B
2
'1111&& = B
5
'11& O B
2
'*1 O
B
5
'11&& O B
1
B
2
'11& = B
5
O B
2
B
2
O B
5
B
2
O B
1
B
2
"sta palabra pertenece a I'2,2&
Definición: /ea C
1
un 'n,m
1
,d
1
&$c(digo lineal - C
2
un 'n,m
2
,d
2
&$c(digo lineal sobre un
cuerpo a. /e define un c(digo lineal sobre a!
} , % & ' { !
2 1 2 1
C ) C " ) " " C C ∈ ∈ + · ⊕
donde u'uO& es la -uBtaposici(n de las palabras u - uO.
n
n
. C
. C


2
1
n
. C C
2
2 1
⊆ ⊕ , luego
2 1
C C ⊕ es un c(digo de longitud 2n.
u'uO& O uC'uCOC& = 'uOuC&'uOuCOOC&
2 1
C C ⊕ ∈
α'u'uO&& = αu'αuOα&
2 1
C C ⊕ ∈
Proposición:
2 1
C C ⊕
es un '2n,m
1
m
2
,dC&$c(digo con dC= min{2d
1
,d
2
}
6emostraci(n!
/ea B
1
= u
1
'u
1
O
1
& - B
2
= u
2
'u
2
O
2
&7 u
1
,u
2
∈ C
1
,
1
,
2
∈ C
2
.
/i
1
=
2
entonces d'B
1
,B
2
& = ^''u
1
$u
2
&'u
1
$u
2
&& = 2^'u
1
$u
2
& = 2d'u
1
,u
2
& ≥ 2d
1
/i
1

2
entonces d'B
1
,B
2
& = ^'u
1
$u
2
&O ^''u
1
$u
2
& O '
1
$
2
&& ≥ ^'
1
$
2
& = d'
1
,
2
& ≥ d
2
d'B
1
,B
2
& ≥ min{2d
1
,d
2
}
_a- que er que se cumple la igualdad eligiendo las palabras conenientemente.
/i min{2d
1
,d
2
} = 2d
1
. Jomamos u
1
,u
2
∈ C
1
% d'u
1
,u
2
& = d
1
- tomamos B
1
= u
1
'u
1
O&,
B
2
= u
2
'u
2
O& con ∈ C
2
, entonces d'B
1
,B
2
& = 2d
1
.
/i min{2d
1
,d
2
} = 2d
2
. Jomamos
1
,
2
∈ C
2
% d'u
1
,u
2
& = d
2
- tomamos B
1
= u'uO
1
&,
B
2
= u'uO
2
& con u ∈ C
1
, entonces d'B
1
,B
2
& = ^'
1
$
2
& = d'
1
,
2
& = d
2
Tema 1 Teoría de Códigos
>2
Códigos y Criptografía
Proposición: /ea * Y r Y m. /e erifica que I'r,m& = I'r,m$1& ⊕ I'r$1,m$1&
6emostraci(n!
Mamos a demostrar que I'r,m& ⊆ I'r,m$1& ⊕ I'r$1,m$1&
/ea B ∈ I'r,m& dada por el polinomio de Koole \'B
1
...B
m
& de grado menor o igual que
r.
\'B
1
...B
m
& = B
1
]'B
2
ZB
m
& O _'B
2
ZB
m
&, donde ]'B
2
ZB
m
& tiene grado menor o igual que
r$1 - _'B
2
ZB
m
& tiene grado menor o igual que r.
/ea B
]
la palabra binaria correspondiente a ], B
]
∈ I'r$1,m$1&. /ea B
_
la palabra
binaria correspondiente a _, B
_
∈ I'r,m$1&
B
1
] ↔ *B
]
_ ↔ B
_
B
_
B = B
\
= *B
]
O B
_
B
_
= B
_
'B
_
O B
]
&
8ara er que se cumple la igualdad 4a- que er que los dos espacios tienen la misma
dimensi(n.

,
_

¸
¸
+

,
_

¸
¸
+

,
_

¸
¸
+ · ·
r
m m m
, m r * ...
2 1
1 & , ' dim
/e erifica que

,
_

¸
¸


+

,
_

¸
¸ −
·

,
_

¸
¸
1
1 1
r
m
r
m
r
m
, * Y r Y m
dim 'I,m& = N =

,
_

¸
¸


+

,
_

¸
¸ −
+

,
_

¸
¸ −
+

,
_

¸
¸ −
+

,
_

¸
¸ −
+
1
1 1
...
1
1
*
1
1
1
1
r
m
r
m m m m
=
1
]
1

¸

,
_

¸
¸


+

,
_

¸
¸ −
+ +
1
]
1

¸

,
_

¸
¸ −
+

,
_

¸
¸ −
+ ·
1
1
...
1
1
1
1
...
1
1
1
r
m m
r
m m
=dim I'r,m$1& O dim I'r$1,m$1& =
= dim VI'r,m$1& ⊕ I'r$1,m$1&W
Corolario: "l c(digo de Ieed$;uller I'm$1,m& est# formado por todas las palabras
binarias de longitud 2
m
- peso par. 8or tanto si r Y m I'r,m& s(lo contiene palabras de
peso par.
6emostraci(n!
I'*,1& = {**, 11} s(lo tiene palabras de peso par.
/upongamos que I'm$2,m$1& s(lo tiene palabras de peso par
& 1 , 2 ' & 2 , 2 ' & 1 , 1 ' & , 1 '
1
2
2
− − ⊕ · − − ⊕ − − · −

m m * Z m m * m m * m m *
m
espacio el Todo
      
B ∈ I'm$1,m&
B = -'-O<& = -- O *<
Tema 1 Teoría de Códigos
>:
Códigos y Criptografía
--
1
2
2


m
Z < ∈ I'm$2,m$1&
- siempre tiene peso par
^'*<& = ^'<&, < ∈ I'm$2,m$1& tiene peso par por 4ip(tesis de inducci(n.
^'B& = ^'--& O ^'*<& U 2^'--∩*<& es par
/ea 8 ={palabras de longitud 2
m
- peso par} ⊆
m
Z
2
2
8 es un subespacio ectorial de
m
Z
2
2
dim 8 Q
{'1*...*1&, '*1*...*1&, '**1*...*&, ...'**...*11&}
"ste conjunto es una base de 8. "ste conjunto es L? -a que es un conjunto escalonado.
8 tiene 2
m
U 1 ectores
dim 8 = 2
m
U 1
I'm$1,m& ⊆ 8
dim I'm$1,m& =

,
_

¸
¸

+

,
_

¸
¸
+

,
_

¸
¸
+
1
...
2 1
1
m
m m m
= '1O1&
m
U 1 = 2
m
U 1
"n la eBpresi(n faltar0a el t@rmino
1 ·

,
_

¸
¸
m
m
para poder aplicar la f(rmula del binomio.
dim 8 = dim 'I'm$1,m& ⇒ 8 = I'm$1,m&
r Y m ⇒ I'r,m& ⊆ I'm$1,m&
"jemplo!
I'2,5& est# formado por las palabras binarias de longitud 9 - peso par. Una matri<
generatri< es!

,
_

¸
¸
·
1 1 * * * * * *
1 * 1 * * * * *
1 * * 1 * * * *
1 * * * 1 * * *
1 * * * * 1 * *
1 * * * * * 1 *
1 * * * * * * 1
7
"sta es la matri< generatri< del c(digo A/C?? con paridad.
Proposición: I'r,m& tiene distancia m0nima 2
m$r
por tanto tiene par#metros!
1
]
1

¸

,
_

¸
¸
+

,
_

¸
¸
+
−r m m
r
m m
2 , ....
1
1 , 2
Tema 1 Teoría de Códigos
>>
Códigos y Criptografía
6emostraci(n!
I'm,m& =
m
Z
2
2
, 1 = 2
*
= 2
m$m
d'I'1,2&& = d'I'1,1& ⊕ I'*,1&& = min{2S1,2} = 2 = 2
2$1
/upongamos que * Y r Y m
/upongamos que se erifica para m$1
I'r,m& = I'r,m$1& ⊕ I'r$1,m$1&
d'I,m& = min{2Sd'I'r,m$1&&,d'I'r$1,m$1&&} = min{ 2S2
m$1$r
,2
m$r
} = 2
m$r
I'r,m& es un 1
]
1

¸

,
_

¸
¸
+

,
_

¸
¸
+
−r m m
r
m m
2 , ....
1
1 , 2
$c(digo
;ariner 2 '1R>:&
22 fotos de ;arte de 2** B 2** de >2 nieles
2
>
nieles →
>
2
Z ={******,...,111111}
9 S 1%5 bits%s, 1 foto ≈ 9 4oras
;ariner R '1R>R$1RA1&
A** B 952 = :9229* piBels, >2 nieles
p = *.*: , 1$p = *.R:, '*.R:&
>
≈ *.A2
AproBimadamente el 2>D de la imagen ser0a err(nea.
/e meten aproBimadamente 5* bits de redundancia.
/i tomamos un c(digo de repetici(n tenemos d = : - el c(digo corregir0a 2 errores.
8robabilidad de error = 1D
/in correcci(n de errores 4abr0a unos 1:**** piBels err(neos por foto. Con el c(digo
de repetici(n tendr0a :9** piBels err(neos por foto. /e us( I'1,:&, que es un V52,>,1>W$
c(digo, en este caso p = *.*17 con este c(digo 4abr0a unos :9 piBels err(neos por foto.
1>2** bits%s
Tema 1 Teoría de Códigos
>A
Códigos y Criptografía
A** B 952 B 52bits%piBel = 19>5>9** bits
1 imagen ≈ 11:*** s ≈ 52 4oras
Tema 1 Teoría de Códigos
>9