Está en la página 1de 12

Anexo IX

Sistemas criptogrficos simtricos

lvaro Gmez Vieites

CONTENIDO

PRINCIPALES SISTEMAS CRIPTOGRFICOS SIMTRICOS .................................................... 1


DES (Data Encryption Standard) .......................................................................... 1
DES Mltiple ......................................................................................................... 2
IDEA (International Data Encryption Algorithm)................................................. 3
Blowfish................................................................................................................. 3
Skipjack ................................................................................................................. 3
CAST ..................................................................................................................... 4
RC2 ........................................................................................................................ 4
RC4 ........................................................................................................................ 4
RC5 ........................................................................................................................ 4
GOST ..................................................................................................................... 4
AES (Advanced Encryption Standard) .................................................................. 4
MODOS DE UTILIZACIN DE LOS ALGORITMOS SIMTRICOS ............................................. 5
ECB (Electronic Code Book)................................................................................. 5
CBC (Cipher Block Chaining)............................................................................... 6
CFB (Cipher Feedback)......................................................................................... 7
OFB (Output Feedback)......................................................................................... 8

ANEXO IX

SISTEMAS CRIPTOGRFICOS
SIMTRICOS
PRINCIPALES SISTEMAS CRIPTOGRFICOS
SIMTRICOS
DES (Data Encryption Standard)
Se trata del algoritmo simtrico ms extendido a nivel mundial, diseado por
la NSA (National Security Agency) en colaboracin con IBM a mediados de los aos
setenta para las comunicaciones seguras del gobierno de los Estados Unidos.
Este algoritmo se comenz a desarrollar a finales de 1960 por la empresa
IBM, dentro de un proyecto de investigacin denominado LUCIFER y cuyo objetivo
era desarrollar un algoritmo de encriptacin comercial basado en tcnicas de cifrado
en bloque. En noviembre de 1976 el DES, tambin conocido como DEA (Data
Encryption Algorithm), fue adoptado como un estndar federal y autorizado para su
utilizacin en comunicaciones del gobierno de Estados Unidos.
La descripcin oficial del estndar fue publicada el 15 de enero de 1977
(estndar FIPS1 46), tras su revisin por parte de la NSA (Agencia de Seguridad
Nacional de Estados Unidos), que introdujo algunos cambios en el algoritmo para que

Federal Information Processing Standard.

ENCICLOPEDIA DE LA SEGURIDAD INFORMTICA

RA-MA

no fuera tan robusto desde el punto de vista computacional, reduciendo el tamao de la


clave.
Hasta su aparicin no exista un estndar oficial y reconocido, por lo que cada
fabricante venda sus equipos y programas basados en algoritmos propietarios, sin que
el cliente pudiera comprobar su robustez y seguridad
DES fue aprobado posteriormente por la ANSI (American National Standards
Institute) como un estndar para el sector privado en 1981 (estndar ANSI X3.92), con
la denominacin de DEA (Data Encryption Algorithm).
El algoritmo DES emplea bloques de 64 bits, que se codifican mediante claves
de 56 bits que gobiernan mltiples operaciones de transposicin y sustitucin. Estas
operaciones se realizan en 16 rondas, utilizando bloques de transposicin y bloques de
sustitucin:
Bloques de transposicin: tambin conocidas como cajas P, se
encargan de la difusin de los bits del bloque que se est
encriptando en cada ronda aplicando distintas funciones de
permutacin.
Bloques de sustitucin: tambin conocidas como cajas S, se
encargan de aadir confusin al bloque de bits que se est
encriptando en cada ronda del algoritmo.
Actualmente DES ya no se considera un algoritmo seguro, debido al avance
experimentado por la capacidad de clculo de los ordenadores. De hecho, se puede
romper la clave en un tiempo relativamente corto (en apenas un par de das)
construyendo un equipo mediante circuitos programables (Field Programmable Gate
Array, FPGA) de bajo coste. As, en septiembre de 1998 un juzgado de Alemania
declaraba DES desfasado e inseguro para aplicaciones financieras en ese pas.

DES Mltiple
Este algoritmo consiste en la aplicacin del algoritmo DES en varias etapas al
mensaje original, empleando distintas claves en cada etapa, para mejorar de esta forma
su robustez. Se trata, por lo tanto, de una combinacin de cifradores en bloque.
El ms conocido es el Triple-DES, en el que se aplica el algoritmo DES tres
veces: se codifica con la clave K1, se decodifica con la clave K2 y se vuelve a
codificar con la clave K1, tal y como se representa en las siguientes figuras:

RA-MA

Mensaje
original

ANEXO IX: SISTEMAS CRIPTOGRFICOS SIMTRICOS

Encrip.

K1

Desencr.

K2

Encrip.

Mensaje
encriptado

K1

Figura 1: Encriptacin con Triple-DES


Mensaje
original

Desencr.

K1

Encrip.

K2

Desencr.

Mensaje
encriptado

K1

Figura 2: Desencriptacin con Triple-DES

IDEA (International Data Encryption Algorithm)


Algoritmo desarrollado en Suiza (en el Instituto Federal Suizo de Tecnologa,
Swiss Federal Institute of Technology) a principios de los aos noventa, fruto del
trabajo de los investigadores Xuejia Lai y James Massey. Este algoritmo, que destaca
por ser muy rpido, realiza sus operaciones en 8 rondas, emplea claves de 128 bits y
trabaja con bloques de 64 bits, siendo bastante resistente a las tcnicas de
criptoanlisis lineal y diferencial.

Blowfish
Algoritmo desarrollado por el experto en seguridad Bruce Schneier en 1993.
Se trata de un algoritmo de cifrado que trabaja con bloques de 64 bits y que realiza 16
rondas, consistente cada una de ellas en una permutacin dependiente de la clave y
una sustitucin dependiente de la clave y de los datos, empleando claves variables de
hasta 448 bits.
Ha sido optimizado para poder ser ejecutado en procesadores de 32 bits y
resulta bastante ms rpido que el DES, por lo que ha sido elegido por bastantes
empresas en los ltimos aos.

Skipjack
Algoritmo desarrollado por la NSA para el gobierno de Estados Unidos,
dentro del proyecto del polmico chip cifrador Clipper.
Se trata de un algoritmo clasificado como secreto, que trabaja con bloques de
64 bits, claves de 80 bits y que realiza sus operaciones en 32 rondas.

ENCICLOPEDIA DE LA SEGURIDAD INFORMTICA

RA-MA

CAST
Algoritmo que realiza sus operaciones en 8 rondas sobre bloques de 64 bits y
emplea claves de 40 a 64 bits. Debe su nombre a sus inventores: Carlisle, Adams,
Stafford y Tavares.

RC2
Desarrollado por la empresa RSA Labs como un algoritmo de cifrado
simtrico que trabaja con bloques de 64 bits y claves de tamao variable, diseado
para operar con los mismos modos de trabajo que el DES, pero siendo el doble de
rpido.

RC4
Algoritmo desarrollado por la empresa RSA Labs y presentado en diciembre
de 1994, fue diseado para el cifrado en flujo y permite trabajar con claves de tamao
variable.

RC5
Se trata de un algoritmo propuesto por RSA Labs como una mejora del RC4,
para incrementar su robustez y ofrecer una mayor eficiencia computacional. Se trata,
por lo tanto, de un rpido sistema de cifrado en bloque, que se basa en la realizacin
de varias rotaciones dependientes de los datos (entre 0 y 255 rondas), trabajando sobre
bloques de tamao de 32, 64 o 128 bits, y claves de tamao variable (entre 0 y 2.048
bits).

GOST
Este algoritmo es un estndar desarrollado por el gobierno de la antigua URSS
como respuesta al algoritmo norteamericano DES. GOST realiza sus operaciones en
32 rondas y emplea claves de 256 bits.

AES (Advanced Encryption Standard)


Algoritmo conocido como Rijndael y diseado por los belgas Vicent Rijmen
y Joan Daemen. Result el ganador de un concurso convocado por el NIST (National
Institute of Standards Technology) para la eleccin de un algoritmo sustituto del DES,
concurso al que se presentaron 15 algoritmos candidatos. AES fue adoptado como
estndar FIPS 197 (Federal Information Processing Standard) en noviembre de 2002.
Se trata de un algoritmo de cifrado en bloque, que utiliza bloques de 128 bits y
claves variables de longitudes de entre 128 y 256 bits, con varios modos de operacin.

RA-MA

ANEXO IX: SISTEMAS CRIPTOGRFICOS SIMTRICOS

MODOS DE UTILIZACIN DE LOS ALGORITMOS


SIMTRICOS
Se han propuesto varios modos de utilizacin de los algoritmos simtricos:
ECB (Electronic Code Book).
CBC (Cipher Block Chaining).
OFB (Output Feedback).
CFB (Cipher Feedback).
Cada modo combina las tcnicas bsicas de encriptacin con otras posibles
operaciones o algn tipo de retroalimentacin (feedback). La eleccin de uno u otro
modo se realiza en base al nivel de seguridad requerido frente al criptoanlisis, las
caractersticas del mensaje a encriptar (se trata de un fichero de datos de un ordenador,
de una comunicacin en tiempo real), la eficiencia computacional requerida o la
robustez frente a la propagacin de errores.
Seguidamente se detallan las caractersticas de cada uno de estos modos de
utilizacin:

ECB (Electronic Code Book)


El modo ECB, cuyo nombre podra ser traducido por Libro de Cdigos
Electrnico, es el modo de operacin ms bsico de un sistema criptogrfico
simtrico: un bloque de texto en claro es encriptado mediante la clave y convertido en
un bloque de texto cifrado, de forma independiente al resto de los bloques de texto en
claro del mensaje.
De esta forma, un determinado bloque de texto en claro genera siempre el
mismo bloque de texto cifrado, por lo que se podra generar un libro de cdigos (de
ah el nombre que recibe este modo de operacin) con cada uno de los posibles
bloques de texto en claro y sus correspondientes bloques de texto cifrado. No obstante,
con bloques de 64 bits, el libro de cdigos tendra 264 entradas, cuyos valores
dependeran adems de la clave elegida, es decir, para cada clave se tendra que
generar un libro de cdigos distinto.
Como principal ventaja de este modo de operacin destaca su facilidad de
implementacin, ya que permite encriptar y desencriptar cada uno de los bloques de
texto de forma independiente. Esta caracterstica resulta de inters en el acceso a
ficheros o bases de datos en los que cada registro est compuesto por uno o varios
bloques de texto, que podran ser tratados de forma independiente. Adems, el proceso
de encriptacin/desencriptacin podra ser acelerado recurriendo a varios procesadores
o tarjetas criptogrficas en paralelo.

ENCICLOPEDIA DE LA SEGURIDAD INFORMTICA

RA-MA

Sin embargo, podemos sealar dos inconvenientes de este modo de operacin:


En primer lugar, un criptoanalista podra obtener varias parejas de bloques de texto
cifrado y de texto clave, para comenzar de este modo un anlisis y tratar de obtener la
clave utilizada por el sistema criptogrfico.
Por otra parte, se trata de un modo de operacin vulnerable frente a ataques de
repeticin (replay attacks), consistentes en el reenvo de textos cifrados por un
atacante, sin necesidad de conocer ni siquiera la clave o el algoritmo utilizado. Como
posible solucin para evitar este tipo de ataques se podra aadir un sello temporal
(timestamp) a cada bloque de texto procesado por el sistema criptogrfico.

CBC (Cipher Block Chaining)


El modo CBC consiste en el encadenamiento de las operaciones de cifrado (de
hecho la traduccin de CBC sera encadenamiento de bloques de cifrado), de tal
forma que la encriptacin de un bloque depender del resultado de la encriptacin del
bloque anterior. Esta caracterstica tambin se aplica al proceso de desencriptacin.
En la siguiente figura se representa el funcionamiento del modo de operacin
CBC:

Bi-1

Bi (bloque

texto claro)

... Ci-2

...

Encrip.

Ci-1

Encrip.

Ci (bloque
texto cifrado)

K (clave)

Figura 3: Modo CBC (Cipher Block Chaining)


El sistema lleva a cabo una operacin XOR del nuevo bloque de texto en claro
Bi con el bloque de texto cifrado obtenido para el bloque anterior, y el bloque
resultante es encriptado con la clave. Con este esquema, la encriptacin de un bloque
de texto depende de la clave y del resultado de la encriptacin de todos los bloques
anteriores. As, un mismo bloque de texto puede dar lugar a distintos bloques de texto
cifrado, aunque no se cambie la clave del algoritmo, por lo que resulta un modo
mucho ms robusto al criptoanlisis.
Sin embargo, un determinado mensaje compuesto por varios bloques de texto
claro siempre producira la misma secuencia de bloques cifrados (mientras no se
produzca ningn cambio en el mensaje). Por este motivo, se utiliza un Vector de
Inicializacin (IV, Initialization Vector), que adopta un valor pseudoaleatorio (o el

RA-MA

ANEXO IX: SISTEMAS CRIPTOGRFICOS SIMTRICOS

valor de un sello temporal, por ejemplo) y que debe ser compartido entre los usuarios
del algoritmo, para que de este modo la secuencia obtenida de bloques cifrados sea
distinta aunque se repitan los mismos mensajes. El Vector de Inicializacin no tiene
por qu ser secreto, por lo que se podra transmitir en texto claro.
El principal problema del modo CBC es la propagacin de errores, ya que el
error en un determinado bloque afectar tambin al bloque que le siga en la secuencia.

CFB (Cipher Feedback)


Este modo de operacin (cuyo nombre se podra traducir por
Retroalimentacin del Cifrado) permite construir un sistema de cifrado en flujo
autosincronizante (self-synchronising stream cipher) en el que la secuencia de la
clave se obtiene a partir de la secuencia de bits encriptados, empleando un algoritmo
de cifrado en bloque como DES.
Para ello, los datos son encriptados en unidades ms pequeas que el tamao
de un bloque (por ejemplo, en 8 bits). Al igual que en el modo CBC, se utiliza un
Vector de Inicializacin (el cual tampoco tiene por qu ser mantenido en secreto) y los
bits encriptados se retroalimentan y se utilizan para modificar la secuencia de bits de
la clave, que ser aplicada a la secuencia de bits de informacin mediante una
operacin XOR, tal y como se representa en la siguiente figura:
Registro de
desplazamiento

K (clave
inicial)

Encriptacin

Ki (bits de la

secuencia utilizada
como clave)

Bi (bits de

texto en claro)

Ci (bits
de texto
cifrado)

Figura 4: Modo de operacin CFB (Cipher Feedback)


Tambin se ha propuesto la utilizacin de este modo de operacin del
algoritmo para la generacin de cdigos de autenticacin de mensajes (cdigos MAC).
Al igual que en CBC, el principal problema del modo CFB es la propagacin
de los errores, debido a la retroalimentacin de los bits de texto cifrado.

ENCICLOPEDIA DE LA SEGURIDAD INFORMTICA

RA-MA

OFB (Output Feedback)


El modo de operacin OFB (cuyo nombre podra ser traducido por
Retroalimentacin de la Salida) es un modo similar al CFB, por lo que tambin
puede ser utilizado para generar un sistema de cifrado en flujo a partir de un sistema
de cifrado en bloque.
En este caso, la secuencia de bits de la clave no depende de la secuencia de
bits de informacin, por lo que es necesario garantizar la sincronizacin entre la clave
del transmisor y la del receptor para poder desencriptar correctamente la secuencia de
bits del mensaje encriptado (synchronous stream cipher). Sin embargo, en este
modo se evita el problema de la propagacin de errores del modo CFB.
En la siguiente figura se representa el funcionamiento del modo de operacin
OFB:
Registro de
desplazamiento

K (clave
inicial)

Bi (bits de
texto en claro)

Encriptacin

Ki (bits de la
secuencia utilizada
como clave)
Ci (bits
de texto
cifrado)

Figura 5: Modo de operacin OFB (Output Feedback)


Cabe destacar la posible aplicacin de este modo de operacin del algoritmo
criptogrfico para la generacin de nmeros pseudoaleatorios.

También podría gustarte