Está en la página 1de 12

Tipos de criptografa: simtrica, asimtrica e hibrida

Tras haber hablado de los primeros mtodos de criptografa de la historiatoca adentrarse en los
mtodos criptogrficos modernos como la criptografa simtrica, asimtrica, hbrida
(obviamente una mezcla de las anteriores) y por ltimo las funciones de resumen o hash (que
no cumplen estrictamente la funcin de confidencialidad para la que est destinada la
criptografa, ya que es un cifrado irreversible).
Criptografa simtrica
La criptografa simtrica solo utiliza una clave para cifrar y descifrar el mensaje, que tiene que
conocer el emisor y el receptor previamente y este es el punto dbil del sistema, la
comunicacin de las claves entre ambos sujetos, ya que resulta ms fcil interceptar una clave
que se ha transmitido sin seguridad (dicindola en alto, mandndola por correo electrnico u
ordinario o haciendo una llamada telefnica).

Tericamente debera de ser ms fcil conocer la clave interceptndola que probndola una por
una por fuerza bruta, teniendo en cuenta que la seguridad de un mensaje cifrado debe recaer
sobre la clave y nunca sobre el algoritmo (por lo que sera una tarea eterna reventar la clave,
como coment en un ejemplo de ataque por fuerza bruta).

Para poner un ejemplo la mquina Enigma (que era una maquina de cifrado electromecnica
que generaba abecedarios segn la posicin de unos rodillos que podran tener distintas
ordenes y posiciones) usaba un mtodo simtrico con un algoritmo que dependa de una clave
(que ms que clave parece un ritual) que est formada por: los rotores o rodillos que usaba, su
orden y la posicin de cada anillo, siendo esto lo ms bsico.
La mquina Enigma contaba tambin con un libro de claves que contena la clave del da y
hacia un poco ms difcil encontrar la clave, pero no es una clave lo suficientemente segura
como para que no se pudiese reventar, sobretodo cuando los ingleses gracias a los polacos
consiguieron el algoritmo, por este motivo la mayora de los das conseguan la clave.
Y otro inconveniente que tiene este sistema es que si quieres tener un contenido totalmente
confidencial con 10 personas tienes que aprenderte o apuntarte (siendo esta forma menos
segura) las 10 claves para cada persona.

Criptografa asimtrica
La criptografa asimtrica se basa en el uso de dos claves: la pblica (que se podr difundir
sin ningn problema a todas las personas que necesiten mandarte algo cifrado) y la
privada (que no debe de ser revelada nunca).

Sabiendo lo anterior, si queremos que tres compaeros de trabajo nos manden un archivo
cifrado debemos de mandarle nuestra clave pblica (que est vinculada a la privada) y nos
podrn mandar de forma confidencial ese archivo que solo nosotros podremos descifrar con la
clave privada.
Puede parecer a simple vista un sistema un poco cojo ya que podramos pensar que sabiendo
la clave pblica podramos deducir la privada, pero este tipo de sistemas criptogrficos usa
algoritmos bastante complejos que generan a partir de la frase de paso (la contrasea) la clave
privada y pblica que pueden tener perfectamente un tamao de 2048bits (probablemente
imposible de reventar).
Como os habris dado cuenta solo cifra una persona (con la clave pblica) y la otra se limita a
mirar el contenido, por lo que la forma correcta de tener una comunicacin bidireccional sera
realizando este mismo proceso con dos pares de claves, o una por cada comunicador.
Otro propsito de este sistema es tambin el de poder firmar documentos, certificando que el
emisor es quien dice ser, firmando con la clave privada y verificando la identidad con la pblica.
Nota: todo esto puede parecer lioso (y lo es) pero hablar de como poner en prctica esto
con GnuPG (una herramienta de cifrado libre muy usada para este propsito) y ser ms fcil
de comprender.

Diferencias entre criptografa simtrica y asimtrica


Para empezar, la criptografa simtrica es ms insegura ya que el hecho de pasar la clave es
una gran vulnerabilidad, pero se puede cifrar y descifrar en menor tiempo del que tarda la

criptografa asimtrica, que es el principal inconveniente y es la razn por la que existe la


criptografa hbrida.

Criptografa hbrida
Este sistema es la unin de las ventajas de los dos anteriores, debemos de partir que el
problema de ambos sistemas criptogrficos es que el simtrico es inseguro y el asimtrico es
lento.
El proceso para usar un sistema criptogrfico hbrido es el siguiente (para enviar un archivo):

Generar una clave pblica y otra privada (en el receptor).

Cifrar un archivo de forma sncrona.

El receptor nos enva su clave pblica.

Ciframos la clave que hemos usado para encriptar el archivo con la clave pblica del
receptor.

Enviamos el archivo cifrado (sncronamente) y la clave del archivo cifrada


(asncronamente y solo puede ver el receptor).

Resumen
Estos son los mtodos criptogrficos modernos que usamos comnmente, aunque las
aplicaciones nos abstraigan de todo esto, pero podemos hacerlo de forma manual si se diera el
caso de que necesitamos mandar ciertos contenidos y queremos que tengan la
confidencialidad adecuada.
ALGORITMOS DE ENCRIPTACIN SIMTRICA Y ASIMTRICA
0ENCRIPTACIN SIMTRICA

El cifrado mediante clave simtrica significa que dos o ms usuarios, tienen una nica clave
secreta, esta clave ser la que cifrar y descifrar la informacin transmitida a travs del canal
inseguro.
Es decir, la clave secreta la debe tener los dos usuarios, y con dicha clave, el usuario A cifrar
la informacin, la mandar a travs del canal inseguro, y a continuacin el usuario B descifrar
esa informacin con la MISMA clave que ha usado el usuario A.
Para que un algoritmo de clave simtrica sea fiable debe cumplir:
Una vez que el mensaje es cifrado, no se puede obtener la clave de cifrado/descifrado ni
tampoco

el

texto

en

claro.

Si conocemos el texto en claro y el cifrado, se debe tardar ms y gastar ms dinero en


obtener la clave, que el posible valor derivado de la informacin sustrada (texto en claro).
Debemos tener en cuenta que los algoritmos criptogrficos son pblicos, por lo que su fortaleza
debe depender de su complejidad interna y de la longitud de la clave empleada para evitar los
ataques de fuerza bruta.
La seguridad en clave simtrica reside en la propia clave secreta, y por tanto el principal
problema es la distribucin de esta clave a los distintos usuarios para cifrar y descifrar la
informacin. La misin del emisor y receptor es mantener la clave en secreto. Si cae en manos
equivocadas ya no podramos considerar que la comunicacin es segura y deberamos generar
una nueva clave.

Otro problema reside en que las claves secretas a guardar es proporcional al nmero de
canales seguros que deseamos mantener. Esto no es un problema en s, pero debemos
administrar bien las llaves para no equivocarnos. Este problema no se va a presentar en los
algoritmos asimtricos porque cada usuario tiene una pareja de claves, una pblica y la otra
privada, independientemente del nmero de canales seguros que queramos establecer.
nicamente debe proteger la clave privada.
La principal ventaja de los algoritmos simtricos es la velocidad de los algoritmos, y son muy
usados para el cifrado de grandes cantidades de datos.
ALGUNOS ALGORITMOS DE CLAVE SIMTRICA
DES (DATA ENCRYPTION STANDARD):
Su arquitectura est basada en un sistema monoalfabtico, donde un algoritmo de cifrado
aplica sucesivas permutaciones y sustituciones al texto en claro. En un primer momento la
informacin de 64bits se somete a una permutacin inicial, y a continuacin se somete a una
permutacin con entrada de 8 bits, y otra de sustitucin de entrada de 5 bits, todo ello
constituido a travs de un proceso con 16 etapas de cifrado.
El algoritmo DES usa una clave simtrica de 64bits, los 56 primeros bits son empleados para el
cifrado, y los 8 bits restantes se usan para comprobacin de errores durante el proceso. La
clave efectiva es de 56 bits, por tanto, tenemos 2 combinaciones posibles, por lo que la
fuerza bruta se hace casi imposible.
Ventajas:
Es uno de los sistemas ms empleados y extendidos, por tanto es de los ms probados.
Implementacin sencilla y rpida.
Inconvenientes:
No se permite una clave de longitud variable, es decir, no se puede aumentar para tener una
mayor

seguridad.

Es vulnerable al criptoanlisis diferencial (2 posibilidades) siempre que se conozco un


nmero

suficiente

de

textos

en

claro

cifrados.

La longitud de clave de 56 bits es demasiado corta, y por tanto vulnerable. Actualmente DES
ya no es un estndar, debido a que en 1999 fue roto por un ordenador.

3DES (TRIPLE DATA ENCRYPTION STANDARD)


Se basa en aplicar el algoritmo DES tres veces, la clave tiene una longitud de 128 bits. Si se
cifra el mismo bloque de datos dos veces con dos llaves diferentes (de 64 bits), aumenta el
tamao de la clave.
El 3DES parte de una llave de 128 bits, que es divida en dos llaves, A y B.
Al recibir los datos, aplicamos el algoritmo DES con la llave A, a continuacin se repite con la
llave B y luego otra vez con la llave A (de nuevo).
3DES aumenta de forma significativa la seguridad del sistema de DES, pero requiere ms
recursos del ordenador.
Existe una variante del 3DES, conocida como DES-EDE3, con tres claves diferentes y una
longitud de 192bits, consiguiendo un sistema mucho ms robusto.

RC4
RC4 es un algoritmo de cifrado de flujo diseado por Ron Rivest para RSA Data Security. Es un
algoritmo de tamao de clave variable con operaciones a nivel de byte. Es un algoritmo de
ejecucin rpida en software. El algoritmo se emplea para encriptacin de ficheros y para
encriptar la comunicacin en protocolos como el SSL (TLS).
RC5
Se aplican operaciones XOR sobre los datos, pudiendo ser de 32, 64 o 128 bits. Permite
diferentes longitudes de clave, y un nmero variable de iteraciones (la seguridad del cifrado
aumenta exponencialmente cuanto mayor nmero de iteraciones), tambin funciona como un
generador de nmero aleatorios, sumndoles a los bloques de texto rotados mediante la XOR.
SKIPJACK
Es uncifrado simtrico que usa bloques de 64 bits y una clave de 80 bits. Es un algoritmo de
alto riesgo. Fue desarrollado por la SNA inicialmente para los chips Clipeper y Capstone.
Chip Clipper: Conocido como MUK-78T, de diseo antimanipulaciones (tamper-proof) del tipo
VLSI, pensado para encriptar mensajes de voz.
Cada chip tiene una clave especial que no se usa para los mensajes, sino para encriptar una
copia de la clave que el usuario utiliza para sus mensajes.

Chip Capstone: Conocido como MYK-80 es un chip VLSI que implementa el ESS (Escrowed
Encryption System) e incorpora las siguientes funciones:

Uso del algoritmo Skipjack

Un algoritmo de intercambio de claves publicas (KEA)

Un algoritmo de firma digital (DSA)

El algoritmo de hash seguro (SHA)

Un algoritmo de uso comn de tipo exponencial

Un algoritmo de generacin de nmeros aleatorios que utiliza una fuente pura de ruidos.
IDEA (INTERNATIONAL DATA ENCRIPTIN ALGORITHM)

Aplica una clave de 128 bits sin paridad a bloques de datos de 64 bits, y se usa tanto para
cifrar como para descifrar.
Se alteran los datos de entrada en una secuencia de iteraciones parametrizadas, con el
objetivo de producir bloques de salida de texto cifrado de 64 bits. IDEA combina operaciones
matemticas como XOR, sumas con acarreo de mdulo 2 y multiplicaciones de mdulo 2 +1,
sobre bloques de 16 bits.
Segn numerosos expertos criptogrficos, IDEA es el mejor algoritmo de cifrado de datos
existente en la actualidad ya que existen 2 claves privadas que probar mediante el ataque de
fuerza bruta.
AES (ADVANCED ENCRYPTION STANDARD)
Este algoritmo es el ms conocido entre los usuarios de routers, ya que WPA opera con AES
como mtodo de cifrado. Este cifrado puede implementar tanto en sistemas hardware como en
software. El sistema criptogrfico AES opera con bloques y claves de longitudes variable, hay
AES de 128bits, de 192 bits y de 256 bits.
El resultado intermedio del cifrado constituye una matriz de bytes de cuatro filas por cuatro
columnas. A esta matriz se le vuelve a aplicar una serie de bucles de cifrado basado en
operaciones matemticas (sustituciones no lineales de bytes, desplazamiento de filas de la
matriz, combinaciones de las columnas mediante multiplicaciones lgicas y sumas XOR en
base a claves intermedias).
CBC (Cipher-block chaining): a cada bloque de texto plano se le aplica la operacin XOR con
el bloque cifrado anterior antes de ser cifrado. De esta forma, cada bloque de texto cifrado

depende de todo el texto en claro procesado hasta este punto. Como no se dispone de un texto
cifrado con el que combinar el primer bloque, se usa un vector de inicializacin IV (nmero
aleatorio que puede ser pblicamente conocido). La desventaja es que el cifrado es de forma
secuencial y por tanto no puede ser paralelizado.
OFB (Output feedback): se generan bloques de flujo de claves, que son operados con XOR y
el texto en claro para obtener el texto cifrado. Al igual que con otras unidades de flujo de
cifrado, al intercambiar un bit en el texto cifrado produce texto cifrado con un bit intercambiado
en el texto plano en la misma ubicacin. Tambin se usa un vector de inicializacin para el
primer bloque.
CFB (Cipher feedback): se hace igual que en OFB, pero para producir el keystream cifra el
ltimo bloque de cifrado, en lugar del ltimo bloque del keystream como hace OFB. Un bit
errneo en el texto cifrado genera 1+64/m bloques de texto claro incorrectos (siendo m la
longitud del flujo en el que se divide el bloque). El cifrado no puede ser paralelizado, sin
embargo el descifrado s.
Hasta aqu hemos llegado con los algoritmos de cifrado de clave simtrica. Ya sabis sus
ventajas e inconvenientes, los tipos de cifrados que hay y los modos de cifrar la informacin.
ENCRIPTACIN ASIMTRICA

La criptografa asimtrica nos ofrece autenticidad, que consiste en:


Confidencialidad. Cifrando las comunicaciones.
No repudio. Mediante firma electrnica.
Integridad. El mensaje que recibimos es de quien dice ser y contiene lo que el remitente
escribi.
ALGUNOS USOS DE ESTE TIPO DE CRIPTOGRAFA.

1. Cifrado y descifrado de mensajes


2. Firmado y verificacin de mensajes.
3. Acceso seguro a servicios remotos.
4. Firmado de cdigo.
CMO FUNCIONA
Esta criptografa se basa en dos claves distintas (de ah el nombre de criptografa asimtrica).
Una de las claves se denomina pblica y la otra privada.
La clave pblica (como su nombre indica) puede hacerse pblica, por el contrario la
clave privadaslo es conocida por el propietario de la misma.
Cuando una persona quiere firmar digitalmente un mensaje usa su clave privada, de esta
forma cualquier persona que posea la clave pblica del remitente podr comprobar que el
mensaje ha sido firmado correctamente.
Para cifrar un mensaje se usa la clave pblica del destinatario, as cuando ste reciba el
mensaje podr usar su clave privada para descifrarlo y por tanto slo l puede ver el contenido
del mensaje.
LOS ALGORITMOS DE ENCRIPTACIN ASIMTRICA MS CONOCIDOS SON:

RSA (Rivest, Shamir, Adleman) Creado en 1978, hoy es el algoritmo de mayor uso en
encriptacin asimtrica. Tiene dificultades para encriptar grandes volmenes de informacin,
por lo que es usado por lo general en conjunto con algoritmos simtricos.

Diffie-Hellman (& Merkle) No es precisamente un algoritmo de encriptacin sino un


algoritmo para generar llaves pblicas y privadas en ambientes inseguros.

ECC (Elliptical Curve Cryptography) Es un algoritmo que se utiliza poco, pero tiene
importancia cuando es necesario encriptar grandes volmenes de informacin.

Algoritmos de autenticacin (o hash)Una funcin hash es mtodo para generar claves


o llaves que representen de manera casi unvoca a un documento o conjunto de datos. Es
una operacin matemtica que se realiza sobre este conjunto de datos de cualquier longitud,
y su salida es una huella digital, de tamao fijo e independiente de la dimensin del
documento original. El contenido es ilegible.

Es posible que existan huellas digitales iguales para objetos diferentes, porque una funcin
hash, en el caso del SHA-1 tiene 160bits, y los posibles objetos a resumir no tienen un tamao
lmite.
A partir de un hash o huella digital, no podemos recuperar el conjunto de datos originales. Los
ms conocidos son el MD5 y el SHA-1. Cifrar una huella digital se conoce como firma digital.
Requisitos que deben cumplir las funciones hash:

Imposibilidad

de

obtener

el

texto

original

partir

de

la

huella

digital.

Imposibilidad de encontrar un conjunto de datos diferentes que tengan la misma huella digital
(aunque como hemos visto anteriormente es posible que este requisito no se cumpla).
Poder transformar un texto de longitud variable en una huella de tamao fijo (como el SHA-1
que

es

de

160bits).

Facilidad de empleo e implementacin.


EJEMPLOS DE FUNCIONES HASH
MD4 : Es un algoritmo de resumen del mensaje (el cuarto en la serie) diseado por el profesor
Ronald Rivest del MIT. Implementa una funcin criptogrfica de hash para el uso en
comprobaciones de integridad de mensajes. La longitud del resumen es de 128 bits. El
algoritmo ha influenciado diseos posteriores, tales como el MD5, el SHA o el RIPEMD-160.
Ciertas debilidades en MD4 fueron demostradas por Den Boer y Bosselaers en un documento
publicado en 1991. Muchos de los diseos posteriores de resumen del mensaje basados en l
siguen siendo seguros, en el sentido que no se ha publicado ningn ataque eficaz contra ellos.
MD5: Es una funcin hash de 128 bits. Como todas las funciones hash, toma unos
determinados tamaos a la entrada, y salen con una longitud fija (128bits).
El algoritmo MD5 no sirve para cifrar un mensaje. La informacin original no se puede
recuperar ya que hay prdida de datos. MD5 es usado para firmas digitales como veremos
prximamente enREDESzone.net
SHA-1: Es parecido al famoso MD5, pero tiene un bloque de 160bits en lugar de los 128bits del
MD5. La funcin de compresin es ms compleja que la funcin de MD5. SHA-1 es ms lento
que MD5 porque el nmero de pasos son de 80 (64 en MD5) y porque tiene mayor longitud que
MD5 (160bits contra 128bits). Lo que convierte a SHA-1 ms robusto y seguro, totalmente apto
para VPNs por ejemplo.

SHA-2: Las principales diferencias con SHA-1 radica en en su diseo y que los rangos de
salida han sido incrementados y podemos encontrar:
SHA-224, SHA-256, SHA-384, y SHA-512
El ms seguro, es el que mayor salida de bits tiene, el SHA-512, que tiene 80 rondas (pasos),
como el SHA-1 pero se diferencia de ste en:
-Tamao

de

salida

512

por

los

160

de

SHA-1.

Tamao del bloque, tamao de la palabra y tamao interno que es el doble que SHA-1.
Como ocurre con todos los cifrados y hash, cuanto ms seguro, ms lento su procesamiento y
uso, debemos encontrar un equilibrio entre seguridad y velocidad.