Documente Academic
Documente Profesional
Documente Cultură
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.
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):
Ciframos la clave que hemos usado para encriptar el archivo con la clave pblica del
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.
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.
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.
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:
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
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.
ECC (Elliptical Curve Cryptography) Es un algoritmo que se utiliza poco, pero tiene
importancia cuando es necesario encriptar grandes volmenes de informacin.
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).
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.